diff --git a/Makefile b/Makefile
index af2ae6712..e3592cfea 100644
--- a/Makefile
+++ b/Makefile
@@ -20,9 +20,7 @@
 # from which we generated our po files.  We use it here so when we
 # test build, we're building with the .rst files that generated our
 # .po files.
-CPYTHON_CURRENT_COMMIT := 00ddc1fbd7296ffe066077194a895b175cca26de
-
-
+CPYTHON_CURRENT_COMMIT := 75ed2ce9e86a7f213fa54e6f8cbbb3ab6f25b5a2
 LANGUAGE := fr
 BRANCH := 3.10
 
diff --git a/c-api/bool.po b/c-api/bool.po
index ccb46536e..4394ddb71 100644
--- a/c-api/bool.po
+++ b/c-api/bool.po
@@ -5,14 +5,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-01-27 19:26+0100\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2021-10-27 19:19+0200\n"
+"Last-Translator: \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"
-"Last-Translator: \n"
 "X-Generator: Poedit 3.0\n"
 
 #: c-api/bool.rst:6
diff --git a/c-api/gcsupport.po b/c-api/gcsupport.po
index 7647b9fa7..16110f909 100644
--- a/c-api/gcsupport.po
+++ b/c-api/gcsupport.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-23 16:16+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -60,14 +60,31 @@ msgid ""
 "initialized, it must call :c:func:`PyObject_GC_Track`."
 msgstr ""
 
-#: c-api/gcsupport.rst:37
+#: c-api/gcsupport.rst:36
+msgid ""
+"Similarly, the deallocator for the object must conform to a similar pair of "
+"rules:"
+msgstr ""
+
+#: c-api/gcsupport.rst:39
+msgid ""
+"Before fields which refer to other containers are invalidated, :c:func:"
+"`PyObject_GC_UnTrack` must be called."
+msgstr ""
+
+#: c-api/gcsupport.rst:42
+msgid ""
+"The object's memory must be deallocated using :c:func:`PyObject_GC_Del`."
+msgstr ""
+
+#: c-api/gcsupport.rst:45
 msgid ""
 "If a type adds the Py_TPFLAGS_HAVE_GC, then it *must* implement at least a :"
 "c:member:`~PyTypeObject.tp_traverse` handler or explicitly use one from its "
 "subclass or subclasses."
 msgstr ""
 
-#: c-api/gcsupport.rst:41
+#: c-api/gcsupport.rst:49
 msgid ""
 "When calling :c:func:`PyType_Ready` or some of the APIs that indirectly call "
 "it like :c:func:`PyType_FromSpecWithBases` or :c:func:`PyType_FromSpec` the "
@@ -78,26 +95,26 @@ msgid ""
 "include the :const:`Py_TPFLAGS_HAVE_GC` flag."
 msgstr ""
 
-#: c-api/gcsupport.rst:51
+#: c-api/gcsupport.rst:59
 msgid ""
 "Analogous to :c:func:`PyObject_New` but for container objects with the :"
 "const:`Py_TPFLAGS_HAVE_GC` flag set."
 msgstr ""
 
-#: c-api/gcsupport.rst:57
+#: c-api/gcsupport.rst:65
 msgid ""
 "Analogous to :c:func:`PyObject_NewVar` but for container objects with the :"
 "const:`Py_TPFLAGS_HAVE_GC` flag set."
 msgstr ""
 
-#: c-api/gcsupport.rst:63
+#: c-api/gcsupport.rst:71
 msgid ""
 "Resize an object allocated by :c:func:`PyObject_NewVar`.  Returns the "
 "resized object or ``NULL`` on failure.  *op* must not be tracked by the "
 "collector yet."
 msgstr ""
 
-#: c-api/gcsupport.rst:69
+#: c-api/gcsupport.rst:77
 msgid ""
 "Adds the object *op* to the set of container objects tracked by the "
 "collector.  The collector can run at unexpected times so objects must be "
@@ -106,55 +123,38 @@ msgid ""
 "usually near the end of the constructor."
 msgstr ""
 
-#: c-api/gcsupport.rst:78
+#: c-api/gcsupport.rst:86
 msgid ""
 "Returns non-zero if the object implements the garbage collector protocol, "
 "otherwise returns 0."
 msgstr ""
 
-#: c-api/gcsupport.rst:81
+#: c-api/gcsupport.rst:89
 msgid ""
 "The object cannot be tracked by the garbage collector if this function "
 "returns 0."
 msgstr ""
 
-#: c-api/gcsupport.rst:86
+#: c-api/gcsupport.rst:94
 msgid ""
 "Returns 1 if the object type of *op* implements the GC protocol and *op* is "
 "being currently tracked by the garbage collector and 0 otherwise."
 msgstr ""
 
-#: c-api/gcsupport.rst:89
+#: c-api/gcsupport.rst:97
 msgid "This is analogous to the Python function :func:`gc.is_tracked`."
 msgstr ""
 
-#: c-api/gcsupport.rst:96
+#: c-api/gcsupport.rst:104
 msgid ""
 "Returns 1 if the object type of *op* implements the GC protocol and *op* has "
 "been already finalized by the garbage collector and 0 otherwise."
 msgstr ""
 
-#: c-api/gcsupport.rst:99
+#: c-api/gcsupport.rst:107
 msgid "This is analogous to the Python function :func:`gc.is_finalized`."
 msgstr ""
 
-#: c-api/gcsupport.rst:103
-msgid ""
-"Similarly, the deallocator for the object must conform to a similar pair of "
-"rules:"
-msgstr ""
-
-#: c-api/gcsupport.rst:106
-msgid ""
-"Before fields which refer to other containers are invalidated, :c:func:"
-"`PyObject_GC_UnTrack` must be called."
-msgstr ""
-
-#: c-api/gcsupport.rst:109
-msgid ""
-"The object's memory must be deallocated using :c:func:`PyObject_GC_Del`."
-msgstr ""
-
 #: c-api/gcsupport.rst:114
 msgid ""
 "Releases memory allocated to an object using :c:func:`PyObject_GC_New` or :c:"
diff --git a/c-api/typeobj.po b/c-api/typeobj.po
index 05771f566..f50d54b8a 100644
--- a/c-api/typeobj.po
+++ b/c-api/typeobj.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-23 16:16+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -1107,16 +1107,16 @@ msgid ""
 msgstr ""
 
 #: c-api/typeobj.rst:517 c-api/typeobj.rst:553 c-api/typeobj.rst:640
-#: c-api/typeobj.rst:730 c-api/typeobj.rst:766 c-api/typeobj.rst:808
-#: c-api/typeobj.rst:837 c-api/typeobj.rst:882 c-api/typeobj.rst:920
-#: c-api/typeobj.rst:967 c-api/typeobj.rst:1002 c-api/typeobj.rst:1050
-#: c-api/typeobj.rst:1070 c-api/typeobj.rst:1102 c-api/typeobj.rst:1172
-#: c-api/typeobj.rst:1206 c-api/typeobj.rst:1247 c-api/typeobj.rst:1331
-#: c-api/typeobj.rst:1457 c-api/typeobj.rst:1519 c-api/typeobj.rst:1555
-#: c-api/typeobj.rst:1584 c-api/typeobj.rst:1634 c-api/typeobj.rst:1678
-#: c-api/typeobj.rst:1769 c-api/typeobj.rst:1827 c-api/typeobj.rst:1881
-#: c-api/typeobj.rst:1909 c-api/typeobj.rst:1928 c-api/typeobj.rst:1952
-#: c-api/typeobj.rst:2007
+#: c-api/typeobj.rst:742 c-api/typeobj.rst:778 c-api/typeobj.rst:820
+#: c-api/typeobj.rst:849 c-api/typeobj.rst:894 c-api/typeobj.rst:932
+#: c-api/typeobj.rst:979 c-api/typeobj.rst:1014 c-api/typeobj.rst:1062
+#: c-api/typeobj.rst:1082 c-api/typeobj.rst:1114 c-api/typeobj.rst:1184
+#: c-api/typeobj.rst:1218 c-api/typeobj.rst:1259 c-api/typeobj.rst:1343
+#: c-api/typeobj.rst:1469 c-api/typeobj.rst:1531 c-api/typeobj.rst:1567
+#: c-api/typeobj.rst:1596 c-api/typeobj.rst:1646 c-api/typeobj.rst:1690
+#: c-api/typeobj.rst:1781 c-api/typeobj.rst:1839 c-api/typeobj.rst:1893
+#: c-api/typeobj.rst:1921 c-api/typeobj.rst:1940 c-api/typeobj.rst:1964
+#: c-api/typeobj.rst:2019
 msgid "**Inheritance:**"
 msgstr ""
 
@@ -1144,8 +1144,8 @@ msgid ""
 "will not change this field if it is non-zero."
 msgstr ""
 
-#: c-api/typeobj.rst:688 c-api/typeobj.rst:902 c-api/typeobj.rst:1521
-#: c-api/typeobj.rst:1662 c-api/typeobj.rst:1771 c-api/typeobj.rst:1992
+#: c-api/typeobj.rst:700 c-api/typeobj.rst:914 c-api/typeobj.rst:1533
+#: c-api/typeobj.rst:1674 c-api/typeobj.rst:1783 c-api/typeobj.rst:2004
 msgid "This field is inherited by subtypes."
 msgstr ""
 
@@ -1336,34 +1336,41 @@ msgstr ""
 
 #: c-api/typeobj.rst:671
 msgid ""
+"If the type supports garbage collection (has the :const:`Py_TPFLAGS_HAVE_GC` "
+"flag bit set), the destructor should call :c:func:`PyObject_GC_UnTrack` "
+"before clearing any member fields."
+msgstr ""
+
+#: c-api/typeobj.rst:683
+msgid ""
 "Finally, if the type is heap allocated (:const:`Py_TPFLAGS_HEAPTYPE`), the "
 "deallocator should decrement the reference count for its type object after "
 "calling the type deallocator. In order to avoid dangling pointers, the "
 "recommended way to achieve this is:"
 msgstr ""
 
-#: c-api/typeobj.rst:693
+#: c-api/typeobj.rst:705
 msgid ""
 "An optional offset to a per-instance function that implements calling the "
 "object using the :ref:`vectorcall protocol <vectorcall>`, a more efficient "
 "alternative of the simpler :c:member:`~PyTypeObject.tp_call`."
 msgstr ""
 
-#: c-api/typeobj.rst:698
+#: c-api/typeobj.rst:710
 msgid ""
 "This field is only used if the flag :const:`Py_TPFLAGS_HAVE_VECTORCALL` is "
 "set. If so, this must be a positive integer containing the offset in the "
 "instance of a :c:type:`vectorcallfunc` pointer."
 msgstr ""
 
-#: c-api/typeobj.rst:702
+#: c-api/typeobj.rst:714
 msgid ""
 "The *vectorcallfunc* pointer may be ``NULL``, in which case the instance "
 "behaves as if :const:`Py_TPFLAGS_HAVE_VECTORCALL` was not set: calling the "
 "instance falls back to :c:member:`~PyTypeObject.tp_call`."
 msgstr ""
 
-#: c-api/typeobj.rst:706
+#: c-api/typeobj.rst:718
 msgid ""
 "Any class that sets ``Py_TPFLAGS_HAVE_VECTORCALL`` must also set :c:member:"
 "`~PyTypeObject.tp_call` and make sure its behaviour is consistent with the "
@@ -1371,7 +1378,7 @@ msgid ""
 "`PyVectorcall_Call`."
 msgstr ""
 
-#: c-api/typeobj.rst:713
+#: c-api/typeobj.rst:725
 msgid ""
 "It is not recommended for :ref:`heap types <heap-types>` to implement the "
 "vectorcall protocol. When a user sets :attr:`__call__` in Python code, only "
@@ -1379,20 +1386,20 @@ msgid ""
 "function."
 msgstr ""
 
-#: c-api/typeobj.rst:720
+#: c-api/typeobj.rst:732
 msgid ""
 "The semantics of the ``tp_vectorcall_offset`` slot are provisional and "
 "expected to be finalized in Python 3.9. If you use vectorcall, plan for "
 "updating your code for Python 3.9."
 msgstr ""
 
-#: c-api/typeobj.rst:726
+#: c-api/typeobj.rst:738
 msgid ""
 "Before version 3.8, this slot was named ``tp_print``. In Python 2.x, it was "
 "used for printing to a file. In Python 3.0 to 3.7, it was unused."
 msgstr ""
 
-#: c-api/typeobj.rst:732
+#: c-api/typeobj.rst:744
 msgid ""
 "This field is always inherited. However, the :const:"
 "`Py_TPFLAGS_HAVE_VECTORCALL` flag is not always inherited. If it's not, then "
@@ -1401,11 +1408,11 @@ msgid ""
 "for :ref:`heap types <heap-types>` (including subclasses defined in Python)."
 msgstr ""
 
-#: c-api/typeobj.rst:743
+#: c-api/typeobj.rst:755
 msgid "An optional pointer to the get-attribute-string function."
 msgstr ""
 
-#: c-api/typeobj.rst:745
+#: c-api/typeobj.rst:757
 msgid ""
 "This field is deprecated.  When it is defined, it should point to a function "
 "that acts the same as the :c:member:`~PyTypeObject.tp_getattro` function, "
@@ -1413,11 +1420,11 @@ msgid ""
 "attribute name."
 msgstr ""
 
-#: c-api/typeobj.rst:943
+#: c-api/typeobj.rst:955
 msgid "Group: :attr:`tp_getattr`, :attr:`tp_getattro`"
 msgstr ""
 
-#: c-api/typeobj.rst:753
+#: c-api/typeobj.rst:765
 msgid ""
 "This field is inherited by subtypes together with :c:member:`~PyTypeObject."
 "tp_getattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` "
@@ -1426,12 +1433,12 @@ msgid ""
 "tp_getattro` are both ``NULL``."
 msgstr ""
 
-#: c-api/typeobj.rst:956
+#: c-api/typeobj.rst:968
 msgid ""
 "An optional pointer to the function for setting and deleting attributes."
 msgstr ""
 
-#: c-api/typeobj.rst:762
+#: c-api/typeobj.rst:774
 msgid ""
 "This field is deprecated.  When it is defined, it should point to a function "
 "that acts the same as the :c:member:`~PyTypeObject.tp_setattro` function, "
@@ -1439,11 +1446,11 @@ msgid ""
 "attribute name."
 msgstr ""
 
-#: c-api/typeobj.rst:969
+#: c-api/typeobj.rst:981
 msgid "Group: :attr:`tp_setattr`, :attr:`tp_setattro`"
 msgstr ""
 
-#: c-api/typeobj.rst:770
+#: c-api/typeobj.rst:782
 msgid ""
 "This field is inherited by subtypes together with :c:member:`~PyTypeObject."
 "tp_setattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` "
@@ -1452,34 +1459,34 @@ msgid ""
 "tp_setattro` are both ``NULL``."
 msgstr ""
 
-#: c-api/typeobj.rst:777
+#: c-api/typeobj.rst:789
 msgid ""
 "Pointer to an additional structure that contains fields relevant only to "
 "objects which implement :term:`awaitable` and :term:`asynchronous iterator` "
 "protocols at the C-level.  See :ref:`async-structs` for details."
 msgstr ""
 
-#: c-api/typeobj.rst:781
+#: c-api/typeobj.rst:793
 msgid "Formerly known as ``tp_compare`` and ``tp_reserved``."
 msgstr ""
 
-#: c-api/typeobj.rst:786
+#: c-api/typeobj.rst:798
 msgid ""
 "The :c:member:`~PyTypeObject.tp_as_async` field is not inherited, but the "
 "contained fields are inherited individually."
 msgstr ""
 
-#: c-api/typeobj.rst:794
+#: c-api/typeobj.rst:806
 msgid ""
 "An optional pointer to a function that implements the built-in function :"
 "func:`repr`."
 msgstr ""
 
-#: c-api/typeobj.rst:797
+#: c-api/typeobj.rst:809
 msgid "The signature is the same as for :c:func:`PyObject_Repr`::"
 msgstr ""
 
-#: c-api/typeobj.rst:801
+#: c-api/typeobj.rst:813
 msgid ""
 "The function must return a string or a Unicode object.  Ideally, this "
 "function should return a string that, when passed to :func:`eval`, given a "
@@ -1488,83 +1495,83 @@ msgid ""
 "``'>'`` from which both the type and the value of the object can be deduced."
 msgstr ""
 
-#: c-api/typeobj.rst:924 c-api/typeobj.rst:975 c-api/typeobj.rst:1466
-#: c-api/typeobj.rst:1639 c-api/typeobj.rst:1773 c-api/typeobj.rst:1833
-#: c-api/typeobj.rst:1885
+#: c-api/typeobj.rst:936 c-api/typeobj.rst:987 c-api/typeobj.rst:1478
+#: c-api/typeobj.rst:1651 c-api/typeobj.rst:1785 c-api/typeobj.rst:1845
+#: c-api/typeobj.rst:1897
 msgid "**Default:**"
 msgstr ""
 
-#: c-api/typeobj.rst:814
+#: c-api/typeobj.rst:826
 msgid ""
 "When this field is not set, a string of the form ``<%s object at %p>`` is "
 "returned, where ``%s`` is replaced by the type name, and ``%p`` by the "
 "object's memory address."
 msgstr ""
 
-#: c-api/typeobj.rst:821
+#: c-api/typeobj.rst:833
 msgid ""
 "Pointer to an additional structure that contains fields relevant only to "
 "objects which implement the number protocol.  These fields are documented "
 "in :ref:`number-structs`."
 msgstr ""
 
-#: c-api/typeobj.rst:827
+#: c-api/typeobj.rst:839
 msgid ""
 "The :c:member:`~PyTypeObject.tp_as_number` field is not inherited, but the "
 "contained fields are inherited individually."
 msgstr ""
 
-#: c-api/typeobj.rst:833
+#: c-api/typeobj.rst:845
 msgid ""
 "Pointer to an additional structure that contains fields relevant only to "
 "objects which implement the sequence protocol.  These fields are documented "
 "in :ref:`sequence-structs`."
 msgstr ""
 
-#: c-api/typeobj.rst:839
+#: c-api/typeobj.rst:851
 msgid ""
 "The :c:member:`~PyTypeObject.tp_as_sequence` field is not inherited, but the "
 "contained fields are inherited individually."
 msgstr ""
 
-#: c-api/typeobj.rst:845
+#: c-api/typeobj.rst:857
 msgid ""
 "Pointer to an additional structure that contains fields relevant only to "
 "objects which implement the mapping protocol.  These fields are documented "
 "in :ref:`mapping-structs`."
 msgstr ""
 
-#: c-api/typeobj.rst:851
+#: c-api/typeobj.rst:863
 msgid ""
 "The :c:member:`~PyTypeObject.tp_as_mapping` field is not inherited, but the "
 "contained fields are inherited individually."
 msgstr ""
 
-#: c-api/typeobj.rst:859
+#: c-api/typeobj.rst:871
 msgid ""
 "An optional pointer to a function that implements the built-in function :"
 "func:`hash`."
 msgstr ""
 
-#: c-api/typeobj.rst:862
+#: c-api/typeobj.rst:874
 msgid "The signature is the same as for :c:func:`PyObject_Hash`::"
 msgstr ""
 
-#: c-api/typeobj.rst:866
+#: c-api/typeobj.rst:878
 msgid ""
 "The value ``-1`` should not be returned as a normal return value; when an "
 "error occurs during the computation of the hash value, the function should "
 "set an exception and return ``-1``."
 msgstr ""
 
-#: c-api/typeobj.rst:870
+#: c-api/typeobj.rst:882
 msgid ""
 "When this field is not set (*and* :attr:`tp_richcompare` is not set), an "
 "attempt to take the hash of the object raises :exc:`TypeError`. This is the "
 "same as setting it to :c:func:`PyObject_HashNotImplemented`."
 msgstr ""
 
-#: c-api/typeobj.rst:874
+#: c-api/typeobj.rst:886
 msgid ""
 "This field can be set explicitly to :c:func:`PyObject_HashNotImplemented` to "
 "block inheritance of the hash method from a parent type. This is interpreted "
@@ -1575,11 +1582,11 @@ msgid ""
 "`PyObject_HashNotImplemented`."
 msgstr ""
 
-#: c-api/typeobj.rst:1459
+#: c-api/typeobj.rst:1471
 msgid "Group: :attr:`tp_hash`, :attr:`tp_richcompare`"
 msgstr ""
 
-#: c-api/typeobj.rst:886
+#: c-api/typeobj.rst:898
 msgid ""
 "This field is inherited by subtypes together with :c:member:`~PyTypeObject."
 "tp_richcompare`: a subtype inherits both of :c:member:`~PyTypeObject."
@@ -1588,14 +1595,14 @@ msgid ""
 "are both ``NULL``."
 msgstr ""
 
-#: c-api/typeobj.rst:894
+#: c-api/typeobj.rst:906
 msgid ""
 "An optional pointer to a function that implements calling the object.  This "
 "should be ``NULL`` if the object is not callable.  The signature is the same "
 "as for :c:func:`PyObject_Call`::"
 msgstr ""
 
-#: c-api/typeobj.rst:907
+#: c-api/typeobj.rst:919
 msgid ""
 "An optional pointer to a function that implements the built-in operation :"
 "func:`str`.  (Note that :class:`str` is a type now, and :func:`str` calls "
@@ -1604,11 +1611,11 @@ msgid ""
 "this handler.)"
 msgstr ""
 
-#: c-api/typeobj.rst:912
+#: c-api/typeobj.rst:924
 msgid "The signature is the same as for :c:func:`PyObject_Str`::"
 msgstr ""
 
-#: c-api/typeobj.rst:916
+#: c-api/typeobj.rst:928
 msgid ""
 "The function must return a string or a Unicode object.  It should be a "
 "\"friendly\" string representation of the object, as this is the "
@@ -1616,28 +1623,28 @@ msgid ""
 "function."
 msgstr ""
 
-#: c-api/typeobj.rst:926
+#: c-api/typeobj.rst:938
 msgid ""
 "When this field is not set, :c:func:`PyObject_Repr` is called to return a "
 "string representation."
 msgstr ""
 
-#: c-api/typeobj.rst:932
+#: c-api/typeobj.rst:944
 msgid "An optional pointer to the get-attribute function."
 msgstr ""
 
-#: c-api/typeobj.rst:934
+#: c-api/typeobj.rst:946
 msgid "The signature is the same as for :c:func:`PyObject_GetAttr`::"
 msgstr ""
 
-#: c-api/typeobj.rst:938
+#: c-api/typeobj.rst:950
 msgid ""
 "It is usually convenient to set this field to :c:func:"
 "`PyObject_GenericGetAttr`, which implements the normal way of looking for "
 "object attributes."
 msgstr ""
 
-#: c-api/typeobj.rst:945
+#: c-api/typeobj.rst:957
 msgid ""
 "This field is inherited by subtypes together with :c:member:`~PyTypeObject."
 "tp_getattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` "
@@ -1646,15 +1653,15 @@ msgid ""
 "tp_getattro` are both ``NULL``."
 msgstr ""
 
-#: c-api/typeobj.rst:951
+#: c-api/typeobj.rst:963
 msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericGetAttr`."
 msgstr ""
 
-#: c-api/typeobj.rst:958
+#: c-api/typeobj.rst:970
 msgid "The signature is the same as for :c:func:`PyObject_SetAttr`::"
 msgstr ""
 
-#: c-api/typeobj.rst:962
+#: c-api/typeobj.rst:974
 msgid ""
 "In addition, setting *value* to ``NULL`` to delete an attribute must be "
 "supported.  It is usually convenient to set this field to :c:func:"
@@ -1662,7 +1669,7 @@ msgid ""
 "attributes."
 msgstr ""
 
-#: c-api/typeobj.rst:971
+#: c-api/typeobj.rst:983
 msgid ""
 "This field is inherited by subtypes together with :c:member:`~PyTypeObject."
 "tp_setattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` "
@@ -1671,24 +1678,24 @@ msgid ""
 "tp_setattro` are both ``NULL``."
 msgstr ""
 
-#: c-api/typeobj.rst:977
+#: c-api/typeobj.rst:989
 msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericSetAttr`."
 msgstr ""
 
-#: c-api/typeobj.rst:982
+#: c-api/typeobj.rst:994
 msgid ""
 "Pointer to an additional structure that contains fields relevant only to "
 "objects which implement the buffer interface.  These fields are documented "
 "in :ref:`buffer-structs`."
 msgstr ""
 
-#: c-api/typeobj.rst:988
+#: c-api/typeobj.rst:1000
 msgid ""
 "The :c:member:`~PyTypeObject.tp_as_buffer` field is not inherited, but the "
 "contained fields are inherited individually."
 msgstr ""
 
-#: c-api/typeobj.rst:994
+#: c-api/typeobj.rst:1006
 msgid ""
 "This field is a bit mask of various flags.  Some flags indicate variant "
 "semantics for certain situations; others are used to indicate that certain "
@@ -1700,7 +1707,7 @@ msgid ""
 "accessed and must be considered to have a zero or ``NULL`` value instead."
 msgstr ""
 
-#: c-api/typeobj.rst:1004
+#: c-api/typeobj.rst:1016
 msgid ""
 "Inheritance of this field is complicated.  Most flag bits are inherited "
 "individually, i.e. if the base type has a flag bit set, the subtype inherits "
@@ -1715,17 +1722,17 @@ msgid ""
 "the subtype exist and have ``NULL`` values."
 msgstr ""
 
-#: c-api/typeobj.rst:1019
+#: c-api/typeobj.rst:1031
 msgid ""
 ":c:type:`PyBaseObject_Type` uses ``Py_TPFLAGS_DEFAULT | "
 "Py_TPFLAGS_BASETYPE``."
 msgstr ""
 
-#: c-api/typeobj.rst:1022
+#: c-api/typeobj.rst:1034
 msgid "**Bit Masks:**"
 msgstr ""
 
-#: c-api/typeobj.rst:1024
+#: c-api/typeobj.rst:1036
 msgid ""
 "The following bit masks are currently defined; these can be ORed together "
 "using the ``|`` operator to form the value of the :c:member:`~PyTypeObject."
@@ -1734,7 +1741,7 @@ msgid ""
 "zero."
 msgstr ""
 
-#: c-api/typeobj.rst:1031
+#: c-api/typeobj.rst:1043
 msgid ""
 "This bit is set when the type object itself is allocated on the heap, for "
 "example, types created dynamically using :c:func:`PyType_FromSpec`.  In this "
@@ -1745,30 +1752,30 @@ msgid ""
 "gets INCREF'ed or DECREF'ed)."
 msgstr ""
 
-#: c-api/typeobj.rst:1052 c-api/typeobj.rst:1072 c-api/typeobj.rst:1104
+#: c-api/typeobj.rst:1064 c-api/typeobj.rst:1084 c-api/typeobj.rst:1116
 msgid "???"
 msgstr ""
 
-#: c-api/typeobj.rst:1046
+#: c-api/typeobj.rst:1058
 msgid ""
 "This bit is set when the type can be used as the base type of another type.  "
 "If this bit is clear, the type cannot be subtyped (similar to a \"final\" "
 "class in Java)."
 msgstr ""
 
-#: c-api/typeobj.rst:1057
+#: c-api/typeobj.rst:1069
 msgid ""
 "This bit is set when the type object has been fully initialized by :c:func:"
 "`PyType_Ready`."
 msgstr ""
 
-#: c-api/typeobj.rst:1067
+#: c-api/typeobj.rst:1079
 msgid ""
 "This bit is set while :c:func:`PyType_Ready` is in the process of "
 "initializing the type object."
 msgstr ""
 
-#: c-api/typeobj.rst:1077
+#: c-api/typeobj.rst:1089
 msgid ""
 "This bit is set when the object supports garbage collection.  If this bit is "
 "set, instances must be created using :c:func:`PyObject_GC_New` and destroyed "
@@ -1778,12 +1785,12 @@ msgid ""
 "tp_clear` are present in the type object."
 msgstr ""
 
-#: c-api/typeobj.rst:1333 c-api/typeobj.rst:1400
+#: c-api/typeobj.rst:1345 c-api/typeobj.rst:1412
 msgid ""
 "Group: :const:`Py_TPFLAGS_HAVE_GC`, :attr:`tp_traverse`, :attr:`tp_clear`"
 msgstr ""
 
-#: c-api/typeobj.rst:1088
+#: c-api/typeobj.rst:1100
 msgid ""
 "The :const:`Py_TPFLAGS_HAVE_GC` flag bit is inherited together with the :"
 "attr:`tp_traverse` and :attr:`tp_clear` fields, i.e.  if the :const:"
@@ -1792,48 +1799,48 @@ msgid ""
 "``NULL`` values."
 msgstr ""
 
-#: c-api/typeobj.rst:1098
+#: c-api/typeobj.rst:1110
 msgid ""
 "This is a bitmask of all the bits that pertain to the existence of certain "
 "fields in the type object and its extension structures. Currently, it "
 "includes the following bits: :const:`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`."
 msgstr ""
 
-#: c-api/typeobj.rst:1109
+#: c-api/typeobj.rst:1121
 msgid "This bit indicates that objects behave like unbound methods."
 msgstr ""
 
-#: c-api/typeobj.rst:1111
+#: c-api/typeobj.rst:1123
 msgid "If this flag is set for ``type(meth)``, then:"
 msgstr ""
 
-#: c-api/typeobj.rst:1113
+#: c-api/typeobj.rst:1125
 msgid ""
 "``meth.__get__(obj, cls)(*args, **kwds)`` (with ``obj`` not None) must be "
 "equivalent to ``meth(obj, *args, **kwds)``."
 msgstr ""
 
-#: c-api/typeobj.rst:1116
+#: c-api/typeobj.rst:1128
 msgid ""
 "``meth.__get__(None, cls)(*args, **kwds)`` must be equivalent to "
 "``meth(*args, **kwds)``."
 msgstr ""
 
-#: c-api/typeobj.rst:1119
+#: c-api/typeobj.rst:1131
 msgid ""
 "This flag enables an optimization for typical method calls like ``obj."
 "meth()``: it avoids creating a temporary \"bound method\" object for ``obj."
 "meth``."
 msgstr ""
 
-#: c-api/typeobj.rst:1127
+#: c-api/typeobj.rst:1139
 msgid ""
 "This flag is never inherited by :ref:`heap types <heap-types>`. For "
 "extension types, it is inherited whenever :c:member:`~PyTypeObject."
 "tp_descr_get` is inherited."
 msgstr ""
 
-#: c-api/typeobj.rst:1144
+#: c-api/typeobj.rst:1156
 msgid ""
 "These flags are used by functions such as :c:func:`PyLong_Check` to quickly "
 "determine if a type is a subclass of a built-in type; such specific checks "
@@ -1843,68 +1850,68 @@ msgid ""
 "behave differently depending on what kind of check is used."
 msgstr ""
 
-#: c-api/typeobj.rst:1155
+#: c-api/typeobj.rst:1167
 msgid ""
 "This bit is set when the :c:member:`~PyTypeObject.tp_finalize` slot is "
 "present in the type structure."
 msgstr ""
 
-#: c-api/typeobj.rst:1160
+#: c-api/typeobj.rst:1172
 msgid ""
 "This flag isn't necessary anymore, as the interpreter assumes the :c:member:"
 "`~PyTypeObject.tp_finalize` slot is always present in the type structure."
 msgstr ""
 
-#: c-api/typeobj.rst:1168
+#: c-api/typeobj.rst:1180
 msgid ""
 "This bit is set when the class implements the :ref:`vectorcall protocol "
 "<vectorcall>`. See :c:member:`~PyTypeObject.tp_vectorcall_offset` for "
 "details."
 msgstr ""
 
-#: c-api/typeobj.rst:1174
+#: c-api/typeobj.rst:1186
 msgid ""
 "This bit is inherited for :ref:`static subtypes <static-types>` if :c:member:"
 "`~PyTypeObject.tp_call` is also inherited. :ref:`Heap types <heap-types>` do "
 "not inherit ``Py_TPFLAGS_HAVE_VECTORCALL``."
 msgstr ""
 
-#: c-api/typeobj.rst:1182
+#: c-api/typeobj.rst:1194
 msgid ""
 "This bit is set for type objects that are immutable: type attributes cannot "
 "be set nor deleted."
 msgstr ""
 
-#: c-api/typeobj.rst:1184
+#: c-api/typeobj.rst:1196
 msgid ""
 ":c:func:`PyType_Ready` automatically applies this flag to :ref:`static types "
 "<static-types>`."
 msgstr ""
 
-#: c-api/typeobj.rst:1208
+#: c-api/typeobj.rst:1220
 msgid "This flag is not inherited."
 msgstr ""
 
-#: c-api/typeobj.rst:1195
+#: c-api/typeobj.rst:1207
 msgid ""
 "Disallow creating instances of the type: set :c:member:`~PyTypeObject."
 "tp_new` to NULL and don't create the ``__new__`` key in the type dictionary."
 msgstr ""
 
-#: c-api/typeobj.rst:1199
+#: c-api/typeobj.rst:1211
 msgid ""
 "The flag must be set before creating the type, not after. For example, it "
 "must be set before :c:func:`PyType_Ready` is called on the type."
 msgstr ""
 
-#: c-api/typeobj.rst:1202
+#: c-api/typeobj.rst:1214
 msgid ""
 "The flag is set automatically on :ref:`static types <static-types>` if :c:"
 "member:`~PyTypeObject.tp_base` is NULL or ``&PyBaseObject_Type`` and :c:"
 "member:`~PyTypeObject.tp_new` is NULL."
 msgstr ""
 
-#: c-api/typeobj.rst:1215
+#: c-api/typeobj.rst:1227
 msgid ""
 "This bit indicates that instances of the class may match mapping patterns "
 "when used as the subject of a :keyword:`match` block. It is automatically "
@@ -1912,23 +1919,23 @@ msgid ""
 "unset when registering :class:`collections.abc.Sequence`."
 msgstr ""
 
-#: c-api/typeobj.rst:1244
+#: c-api/typeobj.rst:1256
 msgid ""
 ":const:`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` are mutually "
 "exclusive; it is an error enable both flags simultaneously."
 msgstr ""
 
-#: c-api/typeobj.rst:1227
+#: c-api/typeobj.rst:1239
 msgid ""
 "This flag is inherited by types that do not already set :const:"
 "`Py_TPFLAGS_SEQUENCE`."
 msgstr ""
 
-#: c-api/typeobj.rst:1252
+#: c-api/typeobj.rst:1264
 msgid ":pep:`634` -- Structural Pattern Matching: Specification"
 msgstr ""
 
-#: c-api/typeobj.rst:1237
+#: c-api/typeobj.rst:1249
 msgid ""
 "This bit indicates that instances of the class may match sequence patterns "
 "when used as the subject of a :keyword:`match` block. It is automatically "
@@ -1936,37 +1943,37 @@ msgid ""
 "unset when registering :class:`collections.abc.Mapping`."
 msgstr ""
 
-#: c-api/typeobj.rst:1249
+#: c-api/typeobj.rst:1261
 msgid ""
 "This flag is inherited by types that do not already set :const:"
 "`Py_TPFLAGS_MAPPING`."
 msgstr ""
 
-#: c-api/typeobj.rst:1259
+#: c-api/typeobj.rst:1271
 msgid ""
 "An optional pointer to a NUL-terminated C string giving the docstring for "
 "this type object.  This is exposed as the :attr:`__doc__` attribute on the "
 "type and instances of the type."
 msgstr ""
 
-#: c-api/typeobj.rst:1265
+#: c-api/typeobj.rst:1277
 msgid "This field is *not* inherited by subtypes."
 msgstr ""
 
-#: c-api/typeobj.rst:1270
+#: c-api/typeobj.rst:1282
 msgid ""
 "An optional pointer to a traversal function for the garbage collector.  This "
 "is only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set.  The "
 "signature is::"
 msgstr ""
 
-#: c-api/typeobj.rst:1395
+#: c-api/typeobj.rst:1407
 msgid ""
 "More information about Python's garbage collection scheme can be found in "
 "section :ref:`supporting-cycle-detection`."
 msgstr ""
 
-#: c-api/typeobj.rst:1278
+#: c-api/typeobj.rst:1290
 msgid ""
 "The :c:member:`~PyTypeObject.tp_traverse` pointer is used by the garbage "
 "collector to detect reference cycles. A typical implementation of a :c:"
@@ -1976,7 +1983,7 @@ msgid ""
 "`_thread` extension module::"
 msgstr ""
 
-#: c-api/typeobj.rst:1293
+#: c-api/typeobj.rst:1305
 msgid ""
 "Note that :c:func:`Py_VISIT` is called only on those members that can "
 "participate in reference cycles.  Although there is also a ``self->key`` "
@@ -1984,14 +1991,14 @@ msgid ""
 "part of a reference cycle."
 msgstr ""
 
-#: c-api/typeobj.rst:1297
+#: c-api/typeobj.rst:1309
 msgid ""
 "On the other hand, even if you know a member can never be part of a cycle, "
 "as a debugging aid you may want to visit it anyway just so the :mod:`gc` "
 "module's :func:`~gc.get_referents` function will include it."
 msgstr ""
 
-#: c-api/typeobj.rst:1302
+#: c-api/typeobj.rst:1314
 msgid ""
 "When implementing :c:member:`~PyTypeObject.tp_traverse`, only the members "
 "that the instance *owns* (by having :term:`strong references <strong "
@@ -2004,14 +2011,14 @@ msgid ""
 "it, as they are allowed to be removed even if the instance is still alive)."
 msgstr ""
 
-#: c-api/typeobj.rst:1313
+#: c-api/typeobj.rst:1325
 msgid ""
 "Note that :c:func:`Py_VISIT` requires the *visit* and *arg* parameters to :c:"
 "func:`local_traverse` to have these specific names; don't name them just "
 "anything."
 msgstr ""
 
-#: c-api/typeobj.rst:1317
+#: c-api/typeobj.rst:1329
 msgid ""
 "Instances of :ref:`heap-allocated types <heap-types>` hold a reference to "
 "their type. Their traversal function must therefore either visit :c:func:"
@@ -2020,14 +2027,14 @@ msgid ""
 "superclass). If they do not, the type object may not be garbage-collected."
 msgstr ""
 
-#: c-api/typeobj.rst:1326
+#: c-api/typeobj.rst:1338
 msgid ""
 "Heap-allocated types are expected to visit ``Py_TYPE(self)`` in "
 "``tp_traverse``.  In earlier versions of Python, due to `bug 40217 <https://"
 "bugs.python.org/issue40217>`_, doing this may lead to crashes in subclasses."
 msgstr ""
 
-#: c-api/typeobj.rst:1335
+#: c-api/typeobj.rst:1347
 msgid ""
 "This field is inherited by subtypes together with :c:member:`~PyTypeObject."
 "tp_clear` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:"
@@ -2035,14 +2042,14 @@ msgid ""
 "are all inherited from the base type if they are all zero in the subtype."
 msgstr ""
 
-#: c-api/typeobj.rst:1343
+#: c-api/typeobj.rst:1355
 msgid ""
 "An optional pointer to a clear function for the garbage collector. This is "
 "only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set.  The signature "
 "is::"
 msgstr ""
 
-#: c-api/typeobj.rst:1348
+#: c-api/typeobj.rst:1360
 msgid ""
 "The :c:member:`~PyTypeObject.tp_clear` member function is used to break "
 "reference cycles in cyclic garbage detected by the garbage collector.  Taken "
@@ -2057,7 +2064,7 @@ msgid ""
 "good reason to avoid implementing :c:member:`~PyTypeObject.tp_clear`."
 msgstr ""
 
-#: c-api/typeobj.rst:1358
+#: c-api/typeobj.rst:1370
 msgid ""
 "Implementations of :c:member:`~PyTypeObject.tp_clear` should drop the "
 "instance's references to those of its members that may be Python objects, "
@@ -2065,7 +2072,7 @@ msgid ""
 "example::"
 msgstr ""
 
-#: c-api/typeobj.rst:1372
+#: c-api/typeobj.rst:1384
 msgid ""
 "The :c:func:`Py_CLEAR` macro should be used, because clearing references is "
 "delicate:  the reference to the contained object must not be decremented "
@@ -2080,7 +2087,7 @@ msgid ""
 "in a safe order."
 msgstr ""
 
-#: c-api/typeobj.rst:1383
+#: c-api/typeobj.rst:1395
 msgid ""
 "Note that :c:member:`~PyTypeObject.tp_clear` is not *always* called before "
 "an instance is deallocated. For example, when reference counting is enough "
@@ -2088,7 +2095,7 @@ msgid ""
 "is not involved and :c:member:`~PyTypeObject.tp_dealloc` is called directly."
 msgstr ""
 
-#: c-api/typeobj.rst:1389
+#: c-api/typeobj.rst:1401
 msgid ""
 "Because the goal of :c:member:`~PyTypeObject.tp_clear` functions is to break "
 "reference cycles, it's not necessary to clear contained objects like Python "
@@ -2098,7 +2105,7 @@ msgid ""
 "invoke :c:member:`~PyTypeObject.tp_clear`."
 msgstr ""
 
-#: c-api/typeobj.rst:1402
+#: c-api/typeobj.rst:1414
 msgid ""
 "This field is inherited by subtypes together with :c:member:`~PyTypeObject."
 "tp_traverse` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:"
@@ -2106,18 +2113,18 @@ msgid ""
 "are all inherited from the base type if they are all zero in the subtype."
 msgstr ""
 
-#: c-api/typeobj.rst:1410
+#: c-api/typeobj.rst:1422
 msgid ""
 "An optional pointer to the rich comparison function, whose signature is::"
 msgstr ""
 
-#: c-api/typeobj.rst:1414
+#: c-api/typeobj.rst:1426
 msgid ""
 "The first parameter is guaranteed to be an instance of the type that is "
 "defined by :c:type:`PyTypeObject`."
 msgstr ""
 
-#: c-api/typeobj.rst:1417
+#: c-api/typeobj.rst:1429
 msgid ""
 "The function should return the result of the comparison (usually ``Py_True`` "
 "or ``Py_False``).  If the comparison is undefined, it must return "
@@ -2125,74 +2132,74 @@ msgid ""
 "set an exception condition."
 msgstr ""
 
-#: c-api/typeobj.rst:1422
+#: c-api/typeobj.rst:1434
 msgid ""
 "The following constants are defined to be used as the third argument for :c:"
 "member:`~PyTypeObject.tp_richcompare` and for :c:func:`PyObject_RichCompare`:"
 msgstr ""
 
-#: c-api/typeobj.rst:1426
+#: c-api/typeobj.rst:1438
 msgid "Constant"
 msgstr "Constante"
 
-#: c-api/typeobj.rst:1426
+#: c-api/typeobj.rst:1438
 msgid "Comparison"
 msgstr "Comparaison"
 
-#: c-api/typeobj.rst:1428
+#: c-api/typeobj.rst:1440
 msgid ":const:`Py_LT`"
 msgstr ""
 
-#: c-api/typeobj.rst:1428
+#: c-api/typeobj.rst:1440
 msgid "``<``"
 msgstr "``<``"
 
-#: c-api/typeobj.rst:1430
+#: c-api/typeobj.rst:1442
 msgid ":const:`Py_LE`"
 msgstr ""
 
-#: c-api/typeobj.rst:1430
+#: c-api/typeobj.rst:1442
 msgid "``<=``"
 msgstr "``<=``"
 
-#: c-api/typeobj.rst:1432
+#: c-api/typeobj.rst:1444
 msgid ":const:`Py_EQ`"
 msgstr ""
 
-#: c-api/typeobj.rst:1432
+#: c-api/typeobj.rst:1444
 msgid "``==``"
 msgstr "``==``"
 
-#: c-api/typeobj.rst:1434
+#: c-api/typeobj.rst:1446
 msgid ":const:`Py_NE`"
 msgstr ""
 
-#: c-api/typeobj.rst:1434
+#: c-api/typeobj.rst:1446
 msgid "``!=``"
 msgstr "``!=``"
 
-#: c-api/typeobj.rst:1436
+#: c-api/typeobj.rst:1448
 msgid ":const:`Py_GT`"
 msgstr ""
 
-#: c-api/typeobj.rst:1436
+#: c-api/typeobj.rst:1448
 msgid "``>``"
 msgstr "``>``"
 
-#: c-api/typeobj.rst:1438
+#: c-api/typeobj.rst:1450
 msgid ":const:`Py_GE`"
 msgstr ""
 
-#: c-api/typeobj.rst:1438
+#: c-api/typeobj.rst:1450
 msgid "``>=``"
 msgstr "``>=``"
 
-#: c-api/typeobj.rst:1441
+#: c-api/typeobj.rst:1453
 msgid ""
 "The following macro is defined to ease writing rich comparison functions:"
 msgstr ""
 
-#: c-api/typeobj.rst:1445
+#: c-api/typeobj.rst:1457
 msgid ""
 "Return ``Py_True`` or ``Py_False`` from the function, depending on the "
 "result of a comparison. VAL_A and VAL_B must be orderable by C comparison "
@@ -2200,15 +2207,15 @@ msgid ""
 "specifies the requested operation, as for :c:func:`PyObject_RichCompare`."
 msgstr ""
 
-#: c-api/typeobj.rst:1451
+#: c-api/typeobj.rst:1463
 msgid "The return value's reference count is properly incremented."
 msgstr ""
 
-#: c-api/typeobj.rst:1453
+#: c-api/typeobj.rst:1465
 msgid "On error, sets an exception and returns ``NULL`` from the function."
 msgstr ""
 
-#: c-api/typeobj.rst:1461
+#: c-api/typeobj.rst:1473
 msgid ""
 "This field is inherited by subtypes together with :c:member:`~PyTypeObject."
 "tp_hash`: a subtype inherits :c:member:`~PyTypeObject.tp_richcompare` and :c:"
@@ -2216,7 +2223,7 @@ msgid ""
 "tp_richcompare` and :c:member:`~PyTypeObject.tp_hash` are both ``NULL``."
 msgstr ""
 
-#: c-api/typeobj.rst:1468
+#: c-api/typeobj.rst:1480
 msgid ""
 ":c:type:`PyBaseObject_Type` provides a :attr:`tp_richcompare` "
 "implementation, which may be inherited.  However, if only :attr:`tp_hash` is "
@@ -2224,7 +2231,7 @@ msgid ""
 "will not be able to participate in any comparisons."
 msgstr ""
 
-#: c-api/typeobj.rst:1477
+#: c-api/typeobj.rst:1489
 msgid ""
 "If the instances of this type are weakly referenceable, this field is "
 "greater than zero and contains the offset in the instance structure of the "
@@ -2234,13 +2241,13 @@ msgid ""
 "`PyObject*` which is initialized to ``NULL``."
 msgstr ""
 
-#: c-api/typeobj.rst:1484
+#: c-api/typeobj.rst:1496
 msgid ""
 "Do not confuse this field with :c:member:`~PyTypeObject.tp_weaklist`; that "
 "is the list head for weak references to the type object itself."
 msgstr ""
 
-#: c-api/typeobj.rst:1489
+#: c-api/typeobj.rst:1501
 msgid ""
 "This field is inherited by subtypes, but see the rules listed below. A "
 "subtype may override this offset; this means that the subtype uses a "
@@ -2249,7 +2256,7 @@ msgid ""
 "not be a problem."
 msgstr ""
 
-#: c-api/typeobj.rst:1494
+#: c-api/typeobj.rst:1506
 msgid ""
 "When a type defined by a class statement has no :attr:`~object.__slots__` "
 "declaration, and none of its base types are weakly referenceable, the type "
@@ -2258,7 +2265,7 @@ msgid ""
 "tp_weaklistoffset` of that slot's offset."
 msgstr ""
 
-#: c-api/typeobj.rst:1499
+#: c-api/typeobj.rst:1511
 msgid ""
 "When a type's :attr:`__slots__` declaration contains a slot named :attr:"
 "`__weakref__`, that slot becomes the weak reference list head for instances "
@@ -2266,31 +2273,31 @@ msgid ""
 "`~PyTypeObject.tp_weaklistoffset`."
 msgstr ""
 
-#: c-api/typeobj.rst:1504
+#: c-api/typeobj.rst:1516
 msgid ""
 "When a type's :attr:`__slots__` declaration does not contain a slot named :"
 "attr:`__weakref__`, the type inherits its :c:member:`~PyTypeObject."
 "tp_weaklistoffset` from its base type."
 msgstr ""
 
-#: c-api/typeobj.rst:1511
+#: c-api/typeobj.rst:1523
 msgid ""
 "An optional pointer to a function that returns an iterator for the object.  "
 "Its presence normally signals that the instances of this type are iterable "
 "(although sequences may be iterable without this function)."
 msgstr ""
 
-#: c-api/typeobj.rst:1515
+#: c-api/typeobj.rst:1527
 msgid "This function has the same signature as :c:func:`PyObject_GetIter`::"
 msgstr ""
 
-#: c-api/typeobj.rst:1526
+#: c-api/typeobj.rst:1538
 msgid ""
 "An optional pointer to a function that returns the next item in an iterator. "
 "The signature is::"
 msgstr ""
 
-#: c-api/typeobj.rst:1531
+#: c-api/typeobj.rst:1543
 msgid ""
 "When the iterator is exhausted, it must return ``NULL``; a :exc:"
 "`StopIteration` exception may or may not be set.  When another error occurs, "
@@ -2298,74 +2305,74 @@ msgid ""
 "this type are iterators."
 msgstr ""
 
-#: c-api/typeobj.rst:1536
+#: c-api/typeobj.rst:1548
 msgid ""
 "Iterator types should also define the :c:member:`~PyTypeObject.tp_iter` "
 "function, and that function should return the iterator instance itself (not "
 "a new iterator instance)."
 msgstr ""
 
-#: c-api/typeobj.rst:1540
+#: c-api/typeobj.rst:1552
 msgid "This function has the same signature as :c:func:`PyIter_Next`."
 msgstr ""
 
-#: c-api/typeobj.rst:1549
+#: c-api/typeobj.rst:1561
 msgid ""
 "An optional pointer to a static ``NULL``-terminated array of :c:type:"
 "`PyMethodDef` structures, declaring regular methods of this type."
 msgstr ""
 
-#: c-api/typeobj.rst:1552
+#: c-api/typeobj.rst:1564
 msgid ""
 "For each entry in the array, an entry is added to the type's dictionary "
 "(see :c:member:`~PyTypeObject.tp_dict` below) containing a method descriptor."
 msgstr ""
 
-#: c-api/typeobj.rst:1557
+#: c-api/typeobj.rst:1569
 msgid ""
 "This field is not inherited by subtypes (methods are inherited through a "
 "different mechanism)."
 msgstr ""
 
-#: c-api/typeobj.rst:1563
+#: c-api/typeobj.rst:1575
 msgid ""
 "An optional pointer to a static ``NULL``-terminated array of :c:type:"
 "`PyMemberDef` structures, declaring regular data members (fields or slots) "
 "of instances of this type."
 msgstr ""
 
-#: c-api/typeobj.rst:1567
+#: c-api/typeobj.rst:1579
 msgid ""
 "For each entry in the array, an entry is added to the type's dictionary "
 "(see :c:member:`~PyTypeObject.tp_dict` below) containing a member descriptor."
 msgstr ""
 
-#: c-api/typeobj.rst:1572
+#: c-api/typeobj.rst:1584
 msgid ""
 "This field is not inherited by subtypes (members are inherited through a "
 "different mechanism)."
 msgstr ""
 
-#: c-api/typeobj.rst:1578
+#: c-api/typeobj.rst:1590
 msgid ""
 "An optional pointer to a static ``NULL``-terminated array of :c:type:"
 "`PyGetSetDef` structures, declaring computed attributes of instances of this "
 "type."
 msgstr ""
 
-#: c-api/typeobj.rst:1581
+#: c-api/typeobj.rst:1593
 msgid ""
 "For each entry in the array, an entry is added to the type's dictionary "
 "(see :c:member:`~PyTypeObject.tp_dict` below) containing a getset descriptor."
 msgstr ""
 
-#: c-api/typeobj.rst:1586
+#: c-api/typeobj.rst:1598
 msgid ""
 "This field is not inherited by subtypes (computed attributes are inherited "
 "through a different mechanism)."
 msgstr ""
 
-#: c-api/typeobj.rst:1592
+#: c-api/typeobj.rst:1604
 msgid ""
 "An optional pointer to a base type from which type properties are "
 "inherited.  At this level, only single inheritance is supported; multiple "
@@ -2373,7 +2380,7 @@ msgid ""
 "metatype."
 msgstr ""
 
-#: c-api/typeobj.rst:1600
+#: c-api/typeobj.rst:1612
 msgid ""
 "Slot initialization is subject to the rules of initializing globals. C99 "
 "requires the initializers to be \"address constants\".  Function designators "
@@ -2381,7 +2388,7 @@ msgid ""
 "valid C99 address constants."
 msgstr ""
 
-#: c-api/typeobj.rst:1605
+#: c-api/typeobj.rst:1617
 msgid ""
 "However, the unary '&' operator applied to a non-static variable like :c:"
 "func:`PyBaseObject_Type` is not required to produce an address constant.  "
@@ -2389,27 +2396,27 @@ msgid ""
 "strictly standard conforming in this particular behavior."
 msgstr ""
 
-#: c-api/typeobj.rst:1611
+#: c-api/typeobj.rst:1623
 msgid ""
 "Consequently, :c:member:`~PyTypeObject.tp_base` should be set in the "
 "extension module's init function."
 msgstr ""
 
-#: c-api/typeobj.rst:1616
+#: c-api/typeobj.rst:1628
 msgid "This field is not inherited by subtypes (obviously)."
 msgstr ""
 
-#: c-api/typeobj.rst:1620
+#: c-api/typeobj.rst:1632
 msgid ""
 "This field defaults to ``&PyBaseObject_Type`` (which to Python programmers "
 "is known as the type :class:`object`)."
 msgstr ""
 
-#: c-api/typeobj.rst:1626
+#: c-api/typeobj.rst:1638
 msgid "The type's dictionary is stored here by :c:func:`PyType_Ready`."
 msgstr ""
 
-#: c-api/typeobj.rst:1628
+#: c-api/typeobj.rst:1640
 msgid ""
 "This field should normally be initialized to ``NULL`` before PyType_Ready is "
 "called; it may also be initialized to a dictionary containing initial "
@@ -2418,43 +2425,43 @@ msgid ""
 "they don't correspond to overloaded operations (like :meth:`__add__`)."
 msgstr ""
 
-#: c-api/typeobj.rst:1636
+#: c-api/typeobj.rst:1648
 msgid ""
 "This field is not inherited by subtypes (though the attributes defined in "
 "here are inherited through a different mechanism)."
 msgstr ""
 
-#: c-api/typeobj.rst:1641
+#: c-api/typeobj.rst:1653
 msgid ""
 "If this field is ``NULL``, :c:func:`PyType_Ready` will assign a new "
 "dictionary to it."
 msgstr ""
 
-#: c-api/typeobj.rst:1646
+#: c-api/typeobj.rst:1658
 msgid ""
 "It is not safe to use :c:func:`PyDict_SetItem` on or otherwise modify :c:"
 "member:`~PyTypeObject.tp_dict` with the dictionary C-API."
 msgstr ""
 
-#: c-api/typeobj.rst:1652
+#: c-api/typeobj.rst:1664
 msgid "An optional pointer to a \"descriptor get\" function."
 msgstr ""
 
-#: c-api/typeobj.rst:1670 c-api/typeobj.rst:1782 c-api/typeobj.rst:1806
+#: c-api/typeobj.rst:1682 c-api/typeobj.rst:1794 c-api/typeobj.rst:1818
 msgid "The function signature is::"
 msgstr ""
 
-#: c-api/typeobj.rst:1667
+#: c-api/typeobj.rst:1679
 msgid ""
 "An optional pointer to a function for setting and deleting a descriptor's "
 "value."
 msgstr ""
 
-#: c-api/typeobj.rst:1674
+#: c-api/typeobj.rst:1686
 msgid "The *value* argument is set to ``NULL`` to delete the value."
 msgstr ""
 
-#: c-api/typeobj.rst:1685
+#: c-api/typeobj.rst:1697
 msgid ""
 "If the instances of this type have a dictionary containing instance "
 "variables, this field is non-zero and contains the offset in the instances "
@@ -2462,13 +2469,13 @@ msgid ""
 "func:`PyObject_GenericGetAttr`."
 msgstr ""
 
-#: c-api/typeobj.rst:1690
+#: c-api/typeobj.rst:1702
 msgid ""
 "Do not confuse this field with :c:member:`~PyTypeObject.tp_dict`; that is "
 "the dictionary for attributes of the type object itself."
 msgstr ""
 
-#: c-api/typeobj.rst:1693
+#: c-api/typeobj.rst:1705
 msgid ""
 "If the value of this field is greater than zero, it specifies the offset "
 "from the start of the instance structure.  If the value is less than zero, "
@@ -2484,13 +2491,13 @@ msgid ""
 "the very end of the structure."
 msgstr ""
 
-#: c-api/typeobj.rst:1705
+#: c-api/typeobj.rst:1717
 msgid ""
 "The real dictionary offset in an instance can be computed from a negative :c:"
 "member:`~PyTypeObject.tp_dictoffset` as follows::"
 msgstr ""
 
-#: c-api/typeobj.rst:1712
+#: c-api/typeobj.rst:1724
 msgid ""
 "where :c:member:`~PyTypeObject.tp_basicsize`, :c:member:`~PyTypeObject."
 "tp_itemsize` and :c:member:`~PyTypeObject.tp_dictoffset` are taken from the "
@@ -2500,7 +2507,7 @@ msgid ""
 "it is done for you by :c:func:`_PyObject_GetDictPtr`.)"
 msgstr ""
 
-#: c-api/typeobj.rst:1720
+#: c-api/typeobj.rst:1732
 msgid ""
 "This field is inherited by subtypes, but see the rules listed below. A "
 "subtype may override this offset; this means that the subtype instances "
@@ -2509,7 +2516,7 @@ msgid ""
 "should not be a problem."
 msgstr ""
 
-#: c-api/typeobj.rst:1725
+#: c-api/typeobj.rst:1737
 msgid ""
 "When a type defined by a class statement has no :attr:`~object.__slots__` "
 "declaration, and none of its base types has an instance variable dictionary, "
@@ -2517,14 +2524,14 @@ msgid ""
 "`~PyTypeObject.tp_dictoffset` is set to that slot's offset."
 msgstr ""
 
-#: c-api/typeobj.rst:1730
+#: c-api/typeobj.rst:1742
 msgid ""
 "When a type defined by a class statement has a :attr:`__slots__` "
 "declaration, the type inherits its :c:member:`~PyTypeObject.tp_dictoffset` "
 "from its base type."
 msgstr ""
 
-#: c-api/typeobj.rst:1733
+#: c-api/typeobj.rst:1745
 msgid ""
 "(Adding a slot named :attr:`~object.__dict__` to the :attr:`__slots__` "
 "declaration does not have the expected effect, it just causes confusion.  "
@@ -2532,17 +2539,17 @@ msgid ""
 "though.)"
 msgstr ""
 
-#: c-api/typeobj.rst:1739
+#: c-api/typeobj.rst:1751
 msgid ""
 "This slot has no default.  For :ref:`static types <static-types>`, if the "
 "field is ``NULL`` then no :attr:`__dict__` gets created for instances."
 msgstr ""
 
-#: c-api/typeobj.rst:1745
+#: c-api/typeobj.rst:1757
 msgid "An optional pointer to an instance initialization function."
 msgstr ""
 
-#: c-api/typeobj.rst:1747
+#: c-api/typeobj.rst:1759
 msgid ""
 "This function corresponds to the :meth:`__init__` method of classes.  Like :"
 "meth:`__init__`, it is possible to create an instance without calling :meth:"
@@ -2550,14 +2557,14 @@ msgid ""
 "meth:`__init__` method again."
 msgstr ""
 
-#: c-api/typeobj.rst:1756
+#: c-api/typeobj.rst:1768
 msgid ""
 "The self argument is the instance to be initialized; the *args* and *kwds* "
 "arguments represent positional and keyword arguments of the call to :meth:"
 "`__init__`."
 msgstr ""
 
-#: c-api/typeobj.rst:1760
+#: c-api/typeobj.rst:1772
 msgid ""
 "The :c:member:`~PyTypeObject.tp_init` function, if not ``NULL``, is called "
 "when an instance is created normally by calling its type, after the type's :"
@@ -2569,43 +2576,43 @@ msgid ""
 "subtype's :c:member:`~PyTypeObject.tp_init` is called."
 msgstr ""
 
-#: c-api/typeobj.rst:1767
+#: c-api/typeobj.rst:1779
 msgid "Returns ``0`` on success, ``-1`` and sets an exception on error."
 msgstr ""
 
-#: c-api/typeobj.rst:1775
+#: c-api/typeobj.rst:1787
 msgid ""
 "For :ref:`static types <static-types>` this field does not have a default."
 msgstr ""
 
-#: c-api/typeobj.rst:1780
+#: c-api/typeobj.rst:1792
 msgid "An optional pointer to an instance allocation function."
 msgstr ""
 
-#: c-api/typeobj.rst:1788
+#: c-api/typeobj.rst:1800
 msgid ""
 "This field is inherited by static subtypes, but not by dynamic subtypes "
 "(subtypes created by a class statement)."
 msgstr ""
 
-#: c-api/typeobj.rst:1793
+#: c-api/typeobj.rst:1805
 msgid ""
 "For dynamic subtypes, this field is always set to :c:func:"
 "`PyType_GenericAlloc`, to force a standard heap allocation strategy."
 msgstr ""
 
-#: c-api/typeobj.rst:1797
+#: c-api/typeobj.rst:1809
 msgid ""
 "For static subtypes, :c:type:`PyBaseObject_Type` uses :c:func:"
 "`PyType_GenericAlloc`.  That is the recommended value for all statically "
 "defined types."
 msgstr ""
 
-#: c-api/typeobj.rst:1804
+#: c-api/typeobj.rst:1816
 msgid "An optional pointer to an instance creation function."
 msgstr ""
 
-#: c-api/typeobj.rst:1810
+#: c-api/typeobj.rst:1822
 msgid ""
 "The *subtype* argument is the type of the object being created; the *args* "
 "and *kwds* arguments represent positional and keyword arguments of the call "
@@ -2614,7 +2621,7 @@ msgid ""
 "that type (but not an unrelated type)."
 msgstr ""
 
-#: c-api/typeobj.rst:1816
+#: c-api/typeobj.rst:1828
 msgid ""
 "The :c:member:`~PyTypeObject.tp_new` function should call ``subtype-"
 ">tp_alloc(subtype, nitems)`` to allocate space for the object, and then do "
@@ -2626,20 +2633,20 @@ msgid ""
 "be deferred to :c:member:`~PyTypeObject.tp_init`."
 msgstr ""
 
-#: c-api/typeobj.rst:1824
+#: c-api/typeobj.rst:1836
 msgid ""
 "Set the :const:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag to disallow creating "
 "instances of the type in Python."
 msgstr ""
 
-#: c-api/typeobj.rst:1829
+#: c-api/typeobj.rst:1841
 msgid ""
 "This field is inherited by subtypes, except it is not inherited by :ref:"
 "`static types <static-types>` whose :c:member:`~PyTypeObject.tp_base` is "
 "``NULL`` or ``&PyBaseObject_Type``."
 msgstr ""
 
-#: c-api/typeobj.rst:1835
+#: c-api/typeobj.rst:1847
 msgid ""
 "For :ref:`static types <static-types>` this field has no default. This means "
 "if the slot is defined as ``NULL``, the type cannot be called to create new "
@@ -2647,39 +2654,39 @@ msgid ""
 "factory function."
 msgstr ""
 
-#: c-api/typeobj.rst:1843
+#: c-api/typeobj.rst:1855
 msgid ""
 "An optional pointer to an instance deallocation function.  Its signature is::"
 msgstr ""
 
-#: c-api/typeobj.rst:1847
+#: c-api/typeobj.rst:1859
 msgid ""
 "An initializer that is compatible with this signature is :c:func:"
 "`PyObject_Free`."
 msgstr ""
 
-#: c-api/typeobj.rst:1851
+#: c-api/typeobj.rst:1863
 msgid ""
 "This field is inherited by static subtypes, but not by dynamic subtypes "
 "(subtypes created by a class statement)"
 msgstr ""
 
-#: c-api/typeobj.rst:1856
+#: c-api/typeobj.rst:1868
 msgid ""
 "In dynamic subtypes, this field is set to a deallocator suitable to match :c:"
 "func:`PyType_GenericAlloc` and the value of the :const:`Py_TPFLAGS_HAVE_GC` "
 "flag bit."
 msgstr ""
 
-#: c-api/typeobj.rst:1860
+#: c-api/typeobj.rst:1872
 msgid "For static subtypes, :c:type:`PyBaseObject_Type` uses PyObject_Del."
 msgstr ""
 
-#: c-api/typeobj.rst:1865
+#: c-api/typeobj.rst:1877
 msgid "An optional pointer to a function called by the garbage collector."
 msgstr ""
 
-#: c-api/typeobj.rst:1867
+#: c-api/typeobj.rst:1879
 msgid ""
 "The garbage collector needs to know whether a particular object is "
 "collectible or not.  Normally, it is sufficient to look at the object's "
@@ -2691,74 +2698,74 @@ msgid ""
 "instance. The signature is::"
 msgstr ""
 
-#: c-api/typeobj.rst:1877
+#: c-api/typeobj.rst:1889
 msgid ""
 "(The only example of this are types themselves.  The metatype, :c:data:"
 "`PyType_Type`, defines this function to distinguish between statically and :"
 "ref:`dynamically allocated types <heap-types>`.)"
 msgstr ""
 
-#: c-api/typeobj.rst:1887
+#: c-api/typeobj.rst:1899
 msgid ""
 "This slot has no default.  If this field is ``NULL``, :const:"
 "`Py_TPFLAGS_HAVE_GC` is used as the functional equivalent."
 msgstr ""
 
-#: c-api/typeobj.rst:1893
+#: c-api/typeobj.rst:1905
 msgid "Tuple of base types."
 msgstr ""
 
-#: c-api/typeobj.rst:1895
+#: c-api/typeobj.rst:1907
 msgid ""
 "This is set for types created by a class statement.  It should be ``NULL`` "
 "for statically defined types."
 msgstr ""
 
-#: c-api/typeobj.rst:1921 c-api/typeobj.rst:1940 c-api/typeobj.rst:1954
+#: c-api/typeobj.rst:1933 c-api/typeobj.rst:1952 c-api/typeobj.rst:1966
 msgid "This field is not inherited."
 msgstr ""
 
-#: c-api/typeobj.rst:1905
+#: c-api/typeobj.rst:1917
 msgid ""
 "Tuple containing the expanded set of base types, starting with the type "
 "itself and ending with :class:`object`, in Method Resolution Order."
 msgstr ""
 
-#: c-api/typeobj.rst:1911
+#: c-api/typeobj.rst:1923
 msgid ""
 "This field is not inherited; it is calculated fresh by :c:func:"
 "`PyType_Ready`."
 msgstr ""
 
-#: c-api/typeobj.rst:1917
+#: c-api/typeobj.rst:1929
 msgid "Unused.  Internal use only."
 msgstr ""
 
-#: c-api/typeobj.rst:1926
+#: c-api/typeobj.rst:1938
 msgid "List of weak references to subclasses.  Internal use only."
 msgstr ""
 
-#: c-api/typeobj.rst:1935
+#: c-api/typeobj.rst:1947
 msgid ""
 "Weak reference list head, for weak references to this type object.  Not "
 "inherited.  Internal use only."
 msgstr ""
 
-#: c-api/typeobj.rst:1945
+#: c-api/typeobj.rst:1957
 msgid ""
 "This field is deprecated.  Use :c:member:`~PyTypeObject.tp_finalize` instead."
 msgstr ""
 
-#: c-api/typeobj.rst:1950
+#: c-api/typeobj.rst:1962
 msgid "Used to index into the method cache.  Internal use only."
 msgstr ""
 
-#: c-api/typeobj.rst:1959
+#: c-api/typeobj.rst:1971
 msgid ""
 "An optional pointer to an instance finalization function.  Its signature is::"
 msgstr ""
 
-#: c-api/typeobj.rst:1963
+#: c-api/typeobj.rst:1975
 msgid ""
 "If :c:member:`~PyTypeObject.tp_finalize` is set, the interpreter calls it "
 "once when finalizing an instance.  It is called either from the garbage "
@@ -2768,24 +2775,24 @@ msgid ""
 "object in a sane state."
 msgstr ""
 
-#: c-api/typeobj.rst:1970
+#: c-api/typeobj.rst:1982
 msgid ""
 ":c:member:`~PyTypeObject.tp_finalize` should not mutate the current "
 "exception status; therefore, a recommended way to write a non-trivial "
 "finalizer is::"
 msgstr ""
 
-#: c-api/typeobj.rst:1987
+#: c-api/typeobj.rst:1999
 msgid ""
 "For this field to be taken into account (even through inheritance), you must "
 "also set the :const:`Py_TPFLAGS_HAVE_FINALIZE` flags bit."
 msgstr ""
 
-#: c-api/typeobj.rst:1996
+#: c-api/typeobj.rst:2008
 msgid "\"Safe object finalization\" (:pep:`442`)"
 msgstr ""
 
-#: c-api/typeobj.rst:2001
+#: c-api/typeobj.rst:2013
 msgid ""
 "Vectorcall function to use for calls of this type object. In other words, it "
 "is used to implement :ref:`vectorcall <vectorcall>` for ``type.__call__``. "
@@ -2793,15 +2800,15 @@ msgid ""
 "attr:`__new__` and :attr:`__init__` is used."
 msgstr ""
 
-#: c-api/typeobj.rst:2009
+#: c-api/typeobj.rst:2021
 msgid "This field is never inherited."
 msgstr ""
 
-#: c-api/typeobj.rst:2011
+#: c-api/typeobj.rst:2023
 msgid "(the field exists since 3.8 but it's only used since 3.9)"
 msgstr ""
 
-#: c-api/typeobj.rst:2014
+#: c-api/typeobj.rst:2026
 msgid ""
 "Also, note that, in a garbage collected Python, :c:member:`~PyTypeObject."
 "tp_dealloc` may be called from any Python thread, not just the thread which "
@@ -2814,53 +2821,53 @@ msgid ""
 "which called tp_dealloc will not violate any assumptions of the library."
 msgstr ""
 
-#: c-api/typeobj.rst:2028
+#: c-api/typeobj.rst:2040
 msgid "Static Types"
 msgstr ""
 
-#: c-api/typeobj.rst:2030
+#: c-api/typeobj.rst:2042
 msgid ""
 "Traditionally, types defined in C code are *static*, that is, a static :c:"
 "type:`PyTypeObject` structure is defined directly in code and initialized "
 "using :c:func:`PyType_Ready`."
 msgstr ""
 
-#: c-api/typeobj.rst:2034
+#: c-api/typeobj.rst:2046
 msgid ""
 "This results in types that are limited relative to types defined in Python:"
 msgstr ""
 
-#: c-api/typeobj.rst:2036
+#: c-api/typeobj.rst:2048
 msgid ""
 "Static types are limited to one base, i.e. they cannot use multiple "
 "inheritance."
 msgstr ""
 
-#: c-api/typeobj.rst:2038
+#: c-api/typeobj.rst:2050
 msgid ""
 "Static type objects (but not necessarily their instances) are immutable. It "
 "is not possible to add or modify the type object's attributes from Python."
 msgstr ""
 
-#: c-api/typeobj.rst:2040
+#: c-api/typeobj.rst:2052
 msgid ""
 "Static type objects are shared across :ref:`sub-interpreters <sub-"
 "interpreter-support>`, so they should not include any subinterpreter-"
 "specific state."
 msgstr ""
 
-#: c-api/typeobj.rst:2044
+#: c-api/typeobj.rst:2056
 msgid ""
 "Also, since :c:type:`PyTypeObject` is not part of the :ref:`stable ABI "
 "<stable>`, any extension modules using static types must be compiled for a "
 "specific Python minor version."
 msgstr ""
 
-#: c-api/typeobj.rst:2052
+#: c-api/typeobj.rst:2064
 msgid "Heap Types"
 msgstr ""
 
-#: c-api/typeobj.rst:2054
+#: c-api/typeobj.rst:2066
 msgid ""
 "An alternative to :ref:`static types <static-types>` is *heap-allocated "
 "types*, or *heap types* for short, which correspond closely to classes "
@@ -2868,29 +2875,29 @@ msgid ""
 "`Py_TPFLAGS_HEAPTYPE` flag set."
 msgstr ""
 
-#: c-api/typeobj.rst:2059
+#: c-api/typeobj.rst:2071
 msgid ""
 "This is done by filling a :c:type:`PyType_Spec` structure and calling :c:"
 "func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases`, or :c:func:"
 "`PyType_FromModuleAndSpec`."
 msgstr ""
 
-#: c-api/typeobj.rst:2067
+#: c-api/typeobj.rst:2079
 msgid "Number Object Structures"
 msgstr ""
 
-#: c-api/typeobj.rst:2074
+#: c-api/typeobj.rst:2086
 msgid ""
 "This structure holds pointers to the functions which an object uses to "
 "implement the number protocol.  Each function is used by the function of "
 "similar name documented in the :ref:`number` section."
 msgstr ""
 
-#: c-api/typeobj.rst:2404
+#: c-api/typeobj.rst:2416
 msgid "Here is the structure definition::"
 msgstr ""
 
-#: c-api/typeobj.rst:2127
+#: c-api/typeobj.rst:2139
 msgid ""
 "Binary and ternary functions must check the type of all their operands, and "
 "implement the necessary conversions (at least one of the operands is an "
@@ -2900,30 +2907,30 @@ msgid ""
 "and set an exception."
 msgstr ""
 
-#: c-api/typeobj.rst:2136
+#: c-api/typeobj.rst:2148
 msgid ""
 "The :c:data:`nb_reserved` field should always be ``NULL``.  It was "
 "previously called :c:data:`nb_long`, and was renamed in Python 3.0.1."
 msgstr ""
 
-#: c-api/typeobj.rst:2181
+#: c-api/typeobj.rst:2193
 msgid "Mapping Object Structures"
 msgstr ""
 
-#: c-api/typeobj.rst:2188
+#: c-api/typeobj.rst:2200
 msgid ""
 "This structure holds pointers to the functions which an object uses to "
 "implement the mapping protocol.  It has three members:"
 msgstr ""
 
-#: c-api/typeobj.rst:2193
+#: c-api/typeobj.rst:2205
 msgid ""
 "This function is used by :c:func:`PyMapping_Size` and :c:func:"
 "`PyObject_Size`, and has the same signature.  This slot may be set to "
 "``NULL`` if the object has no defined length."
 msgstr ""
 
-#: c-api/typeobj.rst:2199
+#: c-api/typeobj.rst:2211
 msgid ""
 "This function is used by :c:func:`PyObject_GetItem` and :c:func:"
 "`PySequence_GetSlice`, and has the same signature as :c:func:`!"
@@ -2931,7 +2938,7 @@ msgid ""
 "`PyMapping_Check` function to return ``1``, it can be ``NULL`` otherwise."
 msgstr ""
 
-#: c-api/typeobj.rst:2207
+#: c-api/typeobj.rst:2219
 msgid ""
 "This function is used by :c:func:`PyObject_SetItem`, :c:func:"
 "`PyObject_DelItem`, :c:func:`PyObject_SetSlice` and :c:func:"
@@ -2941,17 +2948,17 @@ msgid ""
 "deletion."
 msgstr ""
 
-#: c-api/typeobj.rst:2218
+#: c-api/typeobj.rst:2230
 msgid "Sequence Object Structures"
 msgstr ""
 
-#: c-api/typeobj.rst:2225
+#: c-api/typeobj.rst:2237
 msgid ""
 "This structure holds pointers to the functions which an object uses to "
 "implement the sequence protocol."
 msgstr ""
 
-#: c-api/typeobj.rst:2230
+#: c-api/typeobj.rst:2242
 msgid ""
 "This function is used by :c:func:`PySequence_Size` and :c:func:"
 "`PyObject_Size`, and has the same signature.  It is also used for handling "
@@ -2959,21 +2966,21 @@ msgid ""
 "member:`~PySequenceMethods.sq_ass_item` slots."
 msgstr ""
 
-#: c-api/typeobj.rst:2237
+#: c-api/typeobj.rst:2249
 msgid ""
 "This function is used by :c:func:`PySequence_Concat` and has the same "
 "signature.  It is also used by the ``+`` operator, after trying the numeric "
 "addition via the :c:member:`~PyNumberMethods.nb_add` slot."
 msgstr ""
 
-#: c-api/typeobj.rst:2243
+#: c-api/typeobj.rst:2255
 msgid ""
 "This function is used by :c:func:`PySequence_Repeat` and has the same "
 "signature.  It is also used by the ``*`` operator, after trying numeric "
 "multiplication via the :c:member:`~PyNumberMethods.nb_multiply` slot."
 msgstr ""
 
-#: c-api/typeobj.rst:2249
+#: c-api/typeobj.rst:2261
 msgid ""
 "This function is used by :c:func:`PySequence_GetItem` and has the same "
 "signature.  It is also used by :c:func:`PyObject_GetItem`, after trying the "
@@ -2982,7 +2989,7 @@ msgid ""
 "``1``, it can be ``NULL`` otherwise."
 msgstr ""
 
-#: c-api/typeobj.rst:2255
+#: c-api/typeobj.rst:2267
 msgid ""
 "Negative indexes are handled as follows: if the :attr:`sq_length` slot is "
 "filled, it is called and the sequence length is used to compute a positive "
@@ -2990,7 +2997,7 @@ msgid ""
 "the index is passed as is to the function."
 msgstr ""
 
-#: c-api/typeobj.rst:2262
+#: c-api/typeobj.rst:2274
 msgid ""
 "This function is used by :c:func:`PySequence_SetItem` and has the same "
 "signature.  It is also used by :c:func:`PyObject_SetItem` and :c:func:"
@@ -2999,14 +3006,14 @@ msgid ""
 "``NULL`` if the object does not support item assignment and deletion."
 msgstr ""
 
-#: c-api/typeobj.rst:2271
+#: c-api/typeobj.rst:2283
 msgid ""
 "This function may be used by :c:func:`PySequence_Contains` and has the same "
 "signature.  This slot may be left to ``NULL``, in this case :c:func:`!"
 "PySequence_Contains` simply traverses the sequence until it finds a match."
 msgstr ""
 
-#: c-api/typeobj.rst:2278
+#: c-api/typeobj.rst:2290
 msgid ""
 "This function is used by :c:func:`PySequence_InPlaceConcat` and has the same "
 "signature.  It should modify its first operand, and return it.  This slot "
@@ -3016,7 +3023,7 @@ msgid ""
 "c:member:`~PyNumberMethods.nb_inplace_add` slot."
 msgstr ""
 
-#: c-api/typeobj.rst:2287
+#: c-api/typeobj.rst:2299
 msgid ""
 "This function is used by :c:func:`PySequence_InPlaceRepeat` and has the same "
 "signature.  It should modify its first operand, and return it.  This slot "
@@ -3026,70 +3033,70 @@ msgid ""
 "via the :c:member:`~PyNumberMethods.nb_inplace_multiply` slot."
 msgstr ""
 
-#: c-api/typeobj.rst:2298
+#: c-api/typeobj.rst:2310
 msgid "Buffer Object Structures"
 msgstr ""
 
-#: c-api/typeobj.rst:2306
+#: c-api/typeobj.rst:2318
 msgid ""
 "This structure holds pointers to the functions required by the :ref:`Buffer "
 "protocol <bufferobjects>`. The protocol defines how an exporter object can "
 "expose its internal data to consumer objects."
 msgstr ""
 
-#: c-api/typeobj.rst:2361 c-api/typeobj.rst:2426 c-api/typeobj.rst:2446
+#: c-api/typeobj.rst:2373 c-api/typeobj.rst:2438 c-api/typeobj.rst:2458
 msgid "The signature of this function is::"
 msgstr ""
 
-#: c-api/typeobj.rst:2316
+#: c-api/typeobj.rst:2328
 msgid ""
 "Handle a request to *exporter* to fill in *view* as specified by *flags*. "
 "Except for point (3), an implementation of this function MUST take these "
 "steps:"
 msgstr ""
 
-#: c-api/typeobj.rst:2320
+#: c-api/typeobj.rst:2332
 msgid ""
 "Check if the request can be met. If not, raise :c:data:`PyExc_BufferError`, "
 "set :c:data:`view->obj` to ``NULL`` and return ``-1``."
 msgstr ""
 
-#: c-api/typeobj.rst:2323
+#: c-api/typeobj.rst:2335
 msgid "Fill in the requested fields."
 msgstr ""
 
-#: c-api/typeobj.rst:2325
+#: c-api/typeobj.rst:2337
 msgid "Increment an internal counter for the number of exports."
 msgstr ""
 
-#: c-api/typeobj.rst:2327
+#: c-api/typeobj.rst:2339
 msgid ""
 "Set :c:data:`view->obj` to *exporter* and increment :c:data:`view->obj`."
 msgstr ""
 
-#: c-api/typeobj.rst:2329
+#: c-api/typeobj.rst:2341
 msgid "Return ``0``."
 msgstr ""
 
-#: c-api/typeobj.rst:2331
+#: c-api/typeobj.rst:2343
 msgid ""
 "If *exporter* is part of a chain or tree of buffer providers, two main "
 "schemes can be used:"
 msgstr ""
 
-#: c-api/typeobj.rst:2334
+#: c-api/typeobj.rst:2346
 msgid ""
 "Re-export: Each member of the tree acts as the exporting object and sets :c:"
 "data:`view->obj` to a new reference to itself."
 msgstr ""
 
-#: c-api/typeobj.rst:2337
+#: c-api/typeobj.rst:2349
 msgid ""
 "Redirect: The buffer request is redirected to the root object of the tree. "
 "Here, :c:data:`view->obj` will be a new reference to the root object."
 msgstr ""
 
-#: c-api/typeobj.rst:2341
+#: c-api/typeobj.rst:2353
 msgid ""
 "The individual fields of *view* are described in section :ref:`Buffer "
 "structure <buffer-structure>`, the rules how an exporter must react to "
@@ -3097,7 +3104,7 @@ msgid ""
 "types>`."
 msgstr ""
 
-#: c-api/typeobj.rst:2346
+#: c-api/typeobj.rst:2358
 msgid ""
 "All memory pointed to in the :c:type:`Py_buffer` structure belongs to the "
 "exporter and must remain valid until there are no consumers left. :c:member:"
@@ -3106,19 +3113,19 @@ msgid ""
 "internal` are read-only for the consumer."
 msgstr ""
 
-#: c-api/typeobj.rst:2353
+#: c-api/typeobj.rst:2365
 msgid ""
 ":c:func:`PyBuffer_FillInfo` provides an easy way of exposing a simple bytes "
 "buffer while dealing correctly with all request types."
 msgstr ""
 
-#: c-api/typeobj.rst:2356
+#: c-api/typeobj.rst:2368
 msgid ""
 ":c:func:`PyObject_GetBuffer` is the interface for the consumer that wraps "
 "this function."
 msgstr ""
 
-#: c-api/typeobj.rst:2365
+#: c-api/typeobj.rst:2377
 msgid ""
 "Handle a request to release the resources of the buffer. If no resources "
 "need to be released, :c:member:`PyBufferProcs.bf_releasebuffer` may be "
@@ -3126,15 +3133,15 @@ msgid ""
 "these optional steps:"
 msgstr ""
 
-#: c-api/typeobj.rst:2370
+#: c-api/typeobj.rst:2382
 msgid "Decrement an internal counter for the number of exports."
 msgstr ""
 
-#: c-api/typeobj.rst:2372
+#: c-api/typeobj.rst:2384
 msgid "If the counter is ``0``, free all memory associated with *view*."
 msgstr ""
 
-#: c-api/typeobj.rst:2374
+#: c-api/typeobj.rst:2386
 msgid ""
 "The exporter MUST use the :c:member:`~Py_buffer.internal` field to keep "
 "track of buffer-specific resources. This field is guaranteed to remain "
@@ -3142,67 +3149,67 @@ msgid ""
 "*view* argument."
 msgstr ""
 
-#: c-api/typeobj.rst:2380
+#: c-api/typeobj.rst:2392
 msgid ""
 "This function MUST NOT decrement :c:data:`view->obj`, since that is done "
 "automatically in :c:func:`PyBuffer_Release` (this scheme is useful for "
 "breaking reference cycles)."
 msgstr ""
 
-#: c-api/typeobj.rst:2385
+#: c-api/typeobj.rst:2397
 msgid ""
 ":c:func:`PyBuffer_Release` is the interface for the consumer that wraps this "
 "function."
 msgstr ""
 
-#: c-api/typeobj.rst:2393
+#: c-api/typeobj.rst:2405
 msgid "Async Object Structures"
 msgstr ""
 
-#: c-api/typeobj.rst:2401
+#: c-api/typeobj.rst:2413
 msgid ""
 "This structure holds pointers to the functions required to implement :term:"
 "`awaitable` and :term:`asynchronous iterator` objects."
 msgstr ""
 
-#: c-api/typeobj.rst:2419
+#: c-api/typeobj.rst:2431
 msgid ""
 "The returned object must be an iterator, i.e. :c:func:`PyIter_Check` must "
 "return ``1`` for it."
 msgstr ""
 
-#: c-api/typeobj.rst:2422
+#: c-api/typeobj.rst:2434
 msgid ""
 "This slot may be set to ``NULL`` if an object is not an :term:`awaitable`."
 msgstr ""
 
-#: c-api/typeobj.rst:2430
+#: c-api/typeobj.rst:2442
 msgid ""
 "Must return an :term:`awaitable` object.  See :meth:`__anext__` for details."
 msgstr ""
 
-#: c-api/typeobj.rst:2432
+#: c-api/typeobj.rst:2444
 msgid ""
 "This slot may be set to ``NULL`` if an object does not implement "
 "asynchronous iteration protocol."
 msgstr ""
 
-#: c-api/typeobj.rst:2441
+#: c-api/typeobj.rst:2453
 msgid ""
 "Must return an :term:`awaitable` object.  See :meth:`__anext__` for details. "
 "This slot may be set to ``NULL``."
 msgstr ""
 
-#: c-api/typeobj.rst:2450
+#: c-api/typeobj.rst:2462
 msgid ""
 "See :c:func:`PyIter_Send` for details. This slot may be set to ``NULL``."
 msgstr ""
 
-#: c-api/typeobj.rst:2459
+#: c-api/typeobj.rst:2471
 msgid "Slot Type typedefs"
 msgstr ""
 
-#: c-api/typeobj.rst:2463
+#: c-api/typeobj.rst:2475
 msgid ""
 "The purpose of this function is to separate memory allocation from memory "
 "initialization.  It should return a pointer to a block of memory of adequate "
@@ -3216,80 +3223,80 @@ msgid ""
 "member:`~PyTypeObject.tp_basicsize`."
 msgstr ""
 
-#: c-api/typeobj.rst:2473
+#: c-api/typeobj.rst:2485
 msgid ""
 "This function should not do any other instance initialization, not even to "
 "allocate additional memory; that should be done by :c:member:`~PyTypeObject."
 "tp_new`."
 msgstr ""
 
-#: c-api/typeobj.rst:2480
+#: c-api/typeobj.rst:2492
 msgid "See :c:member:`~PyTypeObject.tp_free`."
 msgstr ""
 
-#: c-api/typeobj.rst:2484
+#: c-api/typeobj.rst:2496
 msgid "See :c:member:`~PyTypeObject.tp_new`."
 msgstr ""
 
-#: c-api/typeobj.rst:2488
+#: c-api/typeobj.rst:2500
 msgid "See :c:member:`~PyTypeObject.tp_init`."
 msgstr ""
 
-#: c-api/typeobj.rst:2492
+#: c-api/typeobj.rst:2504
 msgid "See :c:member:`~PyTypeObject.tp_repr`."
 msgstr ""
 
-#: c-api/typeobj.rst:2505
+#: c-api/typeobj.rst:2517
 msgid "Return the value of the named attribute for the object."
 msgstr ""
 
-#: c-api/typeobj.rst:2511
+#: c-api/typeobj.rst:2523
 msgid ""
 "Set the value of the named attribute for the object. The value argument is "
 "set to ``NULL`` to delete the attribute."
 msgstr ""
 
-#: c-api/typeobj.rst:2507
+#: c-api/typeobj.rst:2519
 msgid "See :c:member:`~PyTypeObject.tp_getattro`."
 msgstr ""
 
-#: c-api/typeobj.rst:2514
+#: c-api/typeobj.rst:2526
 msgid "See :c:member:`~PyTypeObject.tp_setattro`."
 msgstr ""
 
-#: c-api/typeobj.rst:2518
+#: c-api/typeobj.rst:2530
 msgid "See :c:member:`~PyTypeObject.tp_descrget`."
 msgstr ""
 
-#: c-api/typeobj.rst:2522
+#: c-api/typeobj.rst:2534
 msgid "See :c:member:`~PyTypeObject.tp_descrset`."
 msgstr ""
 
-#: c-api/typeobj.rst:2526
+#: c-api/typeobj.rst:2538
 msgid "See :c:member:`~PyTypeObject.tp_hash`."
 msgstr ""
 
-#: c-api/typeobj.rst:2530
+#: c-api/typeobj.rst:2542
 msgid "See :c:member:`~PyTypeObject.tp_richcompare`."
 msgstr ""
 
-#: c-api/typeobj.rst:2534
+#: c-api/typeobj.rst:2546
 msgid "See :c:member:`~PyTypeObject.tp_iter`."
 msgstr ""
 
-#: c-api/typeobj.rst:2538
+#: c-api/typeobj.rst:2550
 msgid "See :c:member:`~PyTypeObject.tp_iternext`."
 msgstr ""
 
-#: c-api/typeobj.rst:2552
+#: c-api/typeobj.rst:2564
 msgid "See :c:member:`~PyAsyncMethods.am_send`."
 msgstr ""
 
-#: c-api/typeobj.rst:2568
+#: c-api/typeobj.rst:2580
 msgid "Examples"
 msgstr "Exemples"
 
-#: c-api/typeobj.rst:2570
+#: c-api/typeobj.rst:2582
 msgid ""
 "The following are simple examples of Python type definitions.  They include "
 "common usage you may encounter.  Some demonstrate tricky corner cases.  For "
@@ -3297,33 +3304,33 @@ msgid ""
 "and :ref:`new-types-topics`."
 msgstr ""
 
-#: c-api/typeobj.rst:2575
+#: c-api/typeobj.rst:2587
 msgid "A basic :ref:`static type <static-types>`::"
 msgstr ""
 
-#: c-api/typeobj.rst:2592
+#: c-api/typeobj.rst:2604
 msgid ""
 "You may also find older code (especially in the CPython code base) with a "
 "more verbose initializer::"
 msgstr ""
 
-#: c-api/typeobj.rst:2636
+#: c-api/typeobj.rst:2648
 msgid "A type that supports weakrefs, instance dicts, and hashing::"
 msgstr ""
 
-#: c-api/typeobj.rst:2663
+#: c-api/typeobj.rst:2675
 msgid ""
 "A str subclass that cannot be subclassed and cannot be called to create "
 "instances (e.g. uses a separate factory func) using :c:data:"
 "`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag::"
 msgstr ""
 
-#: c-api/typeobj.rst:2682
+#: c-api/typeobj.rst:2694
 msgid ""
 "The simplest :ref:`static type <static-types>` with fixed-length instances::"
 msgstr ""
 
-#: c-api/typeobj.rst:2693
+#: c-api/typeobj.rst:2705
 msgid ""
 "The simplest :ref:`static type <static-types>` with variable-length "
 "instances::"
diff --git a/extending/newtypes.po b/extending/newtypes.po
index c478a12a3..55d9f74d6 100644
--- a/extending/newtypes.po
+++ b/extending/newtypes.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-23 16:16+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2021-02-07 20:03+0100\n"
 "Last-Translator: \n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -94,7 +94,13 @@ msgid ""
 "of this function::"
 msgstr ""
 
-#: extending/newtypes.rst:83
+#: extending/newtypes.rst:79
+msgid ""
+"If your type supports garbage collection, the destructor should call :c:func:"
+"`PyObject_GC_UnTrack` before clearing any member fields::"
+msgstr ""
+
+#: extending/newtypes.rst:95
 msgid ""
 "One important requirement of the deallocator function is that it leaves any "
 "pending exceptions alone.  This is important since deallocators are "
@@ -109,7 +115,7 @@ msgid ""
 "c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` functions::"
 msgstr ""
 
-#: extending/newtypes.rst:122
+#: extending/newtypes.rst:134
 msgid ""
 "There are limitations to what you can safely do in a deallocator function. "
 "First, if your type supports garbage collection (using :c:member:"
@@ -122,43 +128,43 @@ msgid ""
 "tp_dealloc` again, causing a double free and a crash."
 msgstr ""
 
-#: extending/newtypes.rst:131
+#: extending/newtypes.rst:143
 msgid ""
 "Starting with Python 3.4, it is recommended not to put any complex "
 "finalization code in :c:member:`~PyTypeObject.tp_dealloc`, and instead use "
 "the new :c:member:`~PyTypeObject.tp_finalize` type method."
 msgstr ""
 
-#: extending/newtypes.rst:136
+#: extending/newtypes.rst:148
 msgid ":pep:`442` explains the new finalization scheme."
 msgstr ":pep:`442` explique le nouveau schéma de finalisation."
 
-#: extending/newtypes.rst:143
+#: extending/newtypes.rst:155
 msgid "Object Presentation"
 msgstr "Présentation de l'objet"
 
-#: extending/newtypes.rst:145
+#: extending/newtypes.rst:157
 msgid ""
 "In Python, there are two ways to generate a textual representation of an "
 "object: the :func:`repr` function, and the :func:`str` function.  (The :func:"
 "`print` function just calls :func:`str`.)  These handlers are both optional."
 msgstr ""
 
-#: extending/newtypes.rst:154
+#: extending/newtypes.rst:166
 msgid ""
 "The :c:member:`~PyTypeObject.tp_repr` handler should return a string object "
 "containing a representation of the instance for which it is called.  Here is "
 "a simple example::"
 msgstr ""
 
-#: extending/newtypes.rst:165
+#: extending/newtypes.rst:177
 msgid ""
 "If no :c:member:`~PyTypeObject.tp_repr` handler is specified, the "
 "interpreter will supply a representation that uses the type's :c:member:"
 "`~PyTypeObject.tp_name` and a uniquely-identifying value for the object."
 msgstr ""
 
-#: extending/newtypes.rst:169
+#: extending/newtypes.rst:181
 msgid ""
 "The :c:member:`~PyTypeObject.tp_str` handler is to :func:`str` what the :c:"
 "member:`~PyTypeObject.tp_repr` handler described above is to :func:`repr`; "
@@ -169,15 +175,15 @@ msgid ""
 "the :c:member:`~PyTypeObject.tp_repr` handler is used instead."
 msgstr ""
 
-#: extending/newtypes.rst:176
+#: extending/newtypes.rst:188
 msgid "Here is a simple example::"
 msgstr "Voici un exemple simple ::"
 
-#: extending/newtypes.rst:188
+#: extending/newtypes.rst:200
 msgid "Attribute Management"
 msgstr "Gestion des attributs"
 
-#: extending/newtypes.rst:190
+#: extending/newtypes.rst:202
 msgid ""
 "For every object which can support attributes, the corresponding type must "
 "provide the functions that control how the attributes are resolved.  There "
@@ -187,7 +193,7 @@ msgid ""
 "handler is ``NULL``."
 msgstr ""
 
-#: extending/newtypes.rst:196
+#: extending/newtypes.rst:208
 msgid ""
 "Python supports two pairs of attribute handlers; a type that supports "
 "attributes only needs to implement the functions for one pair.  The "
@@ -196,7 +202,7 @@ msgid ""
 "use whichever pair makes more sense for the implementation's convenience. ::"
 msgstr ""
 
-#: extending/newtypes.rst:208
+#: extending/newtypes.rst:220
 msgid ""
 "If accessing attributes of an object is always a simple operation (this will "
 "be explained shortly), there are generic implementations which can be used "
@@ -207,17 +213,17 @@ msgid ""
 "mechanism that is available."
 msgstr ""
 
-#: extending/newtypes.rst:219
+#: extending/newtypes.rst:231
 msgid "Generic Attribute Management"
 msgstr "Gestion des attributs génériques"
 
-#: extending/newtypes.rst:221
+#: extending/newtypes.rst:233
 msgid ""
 "Most extension types only use *simple* attributes.  So, what makes the "
 "attributes simple?  There are only a couple of conditions that must be met:"
 msgstr ""
 
-#: extending/newtypes.rst:224
+#: extending/newtypes.rst:236
 msgid ""
 "The name of the attributes must be known when :c:func:`PyType_Ready` is "
 "called."
@@ -225,19 +231,19 @@ msgstr ""
 "Le nom des attributs doivent être déjà connus lorsqu'on lance :c:func:"
 "`PyType_Ready`."
 
-#: extending/newtypes.rst:227
+#: extending/newtypes.rst:239
 msgid ""
 "No special processing is needed to record that an attribute was looked up or "
 "set, nor do actions need to be taken based on the value."
 msgstr ""
 
-#: extending/newtypes.rst:230
+#: extending/newtypes.rst:242
 msgid ""
 "Note that this list does not place any restrictions on the values of the "
 "attributes, when the values are computed, or how relevant data is stored."
 msgstr ""
 
-#: extending/newtypes.rst:233
+#: extending/newtypes.rst:245
 msgid ""
 "When :c:func:`PyType_Ready` is called, it uses three tables referenced by "
 "the type object to create :term:`descriptor`\\s which are placed in the "
@@ -249,19 +255,19 @@ msgid ""
 "``NULL`` as well, allowing the base type to handle attributes."
 msgstr ""
 
-#: extending/newtypes.rst:241
+#: extending/newtypes.rst:253
 msgid "The tables are declared as three fields of the type object::"
 msgstr ""
 "Les tables sont déclarées sous la forme de trois champs de type objet ::"
 
-#: extending/newtypes.rst:247
+#: extending/newtypes.rst:259
 msgid ""
 "If :c:member:`~PyTypeObject.tp_methods` is not ``NULL``, it must refer to an "
 "array of :c:type:`PyMethodDef` structures.  Each entry in the table is an "
 "instance of this structure::"
 msgstr ""
 
-#: extending/newtypes.rst:258
+#: extending/newtypes.rst:270
 msgid ""
 "One entry should be defined for each method provided by the type; no entries "
 "are needed for methods inherited from a base type.  One additional entry is "
@@ -269,7 +275,7 @@ msgid ""
 "attr:`ml_name` field of the sentinel must be ``NULL``."
 msgstr ""
 
-#: extending/newtypes.rst:263
+#: extending/newtypes.rst:275
 msgid ""
 "The second table is used to define attributes which map directly to data "
 "stored in the instance.  A variety of primitive C types are supported, and "
@@ -277,7 +283,7 @@ msgid ""
 "defined as::"
 msgstr ""
 
-#: extending/newtypes.rst:275
+#: extending/newtypes.rst:287
 msgid ""
 "For each entry in the table, a :term:`descriptor` will be constructed and "
 "added to the type which will be able to extract a value from the instance "
@@ -288,40 +294,40 @@ msgid ""
 "accessed."
 msgstr ""
 
-#: extending/newtypes.rst:282
+#: extending/newtypes.rst:294
 msgid ""
 "The following flag constants are defined in :file:`structmember.h`; they may "
 "be combined using bitwise-OR."
 msgstr ""
 
-#: extending/newtypes.rst:286
+#: extending/newtypes.rst:298
 msgid "Constant"
 msgstr "Constante"
 
-#: extending/newtypes.rst:286
+#: extending/newtypes.rst:298
 msgid "Meaning"
 msgstr "Signification"
 
-#: extending/newtypes.rst:288
+#: extending/newtypes.rst:300
 msgid ":const:`READONLY`"
 msgstr ":const:`READONLY`"
 
-#: extending/newtypes.rst:288
+#: extending/newtypes.rst:300
 msgid "Never writable."
 msgstr "Jamais disponible en écriture."
 
-#: extending/newtypes.rst:290
+#: extending/newtypes.rst:302
 #, fuzzy
 msgid ":const:`PY_AUDIT_READ`"
 msgstr ":const:`READONLY`"
 
-#: extending/newtypes.rst:290
+#: extending/newtypes.rst:302
 msgid ""
 "Emit an ``object.__getattr__`` :ref:`audit events <audit-events>` before "
 "reading."
 msgstr ""
 
-#: extending/newtypes.rst:295
+#: extending/newtypes.rst:307
 msgid ""
 ":const:`RESTRICTED`, :const:`READ_RESTRICTED` and :const:`WRITE_RESTRICTED` "
 "are deprecated. However, :const:`READ_RESTRICTED` is an alias for :const:"
@@ -329,7 +335,7 @@ msgid ""
 "`READ_RESTRICTED` will also raise an audit event."
 msgstr ""
 
-#: extending/newtypes.rst:308
+#: extending/newtypes.rst:320
 msgid ""
 "An interesting advantage of using the :c:member:`~PyTypeObject.tp_members` "
 "table to build descriptors that are used at runtime is that any attribute "
@@ -346,17 +352,17 @@ msgstr ""
 "descripteur de l'objet de classe, et utiliser son attribut :attr:`__doc__` "
 "pour renvoyer le *docstring*."
 
-#: extending/newtypes.rst:314
+#: extending/newtypes.rst:326
 msgid ""
 "As with the :c:member:`~PyTypeObject.tp_methods` table, a sentinel entry "
 "with a :attr:`name` value of ``NULL`` is required."
 msgstr ""
 
-#: extending/newtypes.rst:328
+#: extending/newtypes.rst:340
 msgid "Type-specific Attribute Management"
 msgstr "Gestion des attributs de type spécifiques"
 
-#: extending/newtypes.rst:330
+#: extending/newtypes.rst:342
 msgid ""
 "For simplicity, only the :c:type:`char\\*` version will be demonstrated "
 "here; the type of the name parameter is the only difference between the :c:"
@@ -367,18 +373,18 @@ msgid ""
 "functionality, you'll understand what needs to be done."
 msgstr ""
 
-#: extending/newtypes.rst:338
+#: extending/newtypes.rst:350
 msgid ""
 "The :c:member:`~PyTypeObject.tp_getattr` handler is called when the object "
 "requires an attribute look-up.  It is called in the same situations where "
 "the :meth:`__getattr__` method of a class would be called."
 msgstr ""
 
-#: extending/newtypes.rst:342
+#: extending/newtypes.rst:354
 msgid "Here is an example::"
 msgstr "Voici un exemple ::"
 
-#: extending/newtypes.rst:358
+#: extending/newtypes.rst:370
 msgid ""
 "The :c:member:`~PyTypeObject.tp_setattr` handler is called when the :meth:"
 "`__setattr__` or :meth:`__delattr__` method of a class instance would be "
@@ -388,11 +394,11 @@ msgid ""
 "should be set to ``NULL``. ::"
 msgstr ""
 
-#: extending/newtypes.rst:372
+#: extending/newtypes.rst:384
 msgid "Object Comparison"
 msgstr "Comparaison des objets"
 
-#: extending/newtypes.rst:378
+#: extending/newtypes.rst:390
 msgid ""
 "The :c:member:`~PyTypeObject.tp_richcompare` handler is called when "
 "comparisons are needed.  It is analogous to the :ref:`rich comparison "
@@ -400,34 +406,34 @@ msgid ""
 "`PyObject_RichCompare` and :c:func:`PyObject_RichCompareBool`."
 msgstr ""
 
-#: extending/newtypes.rst:383
+#: extending/newtypes.rst:395
 msgid ""
 "This function is called with two Python objects and the operator as "
 "arguments, where the operator is one of ``Py_EQ``, ``Py_NE``, ``Py_LE``, "
-"``Py_GT``, ``Py_LT`` or ``Py_GT``.  It should compare the two objects with "
+"``Py_GE``, ``Py_LT`` or ``Py_GT``.  It should compare the two objects with "
 "respect to the specified operator and return ``Py_True`` or ``Py_False`` if "
 "the comparison is successful, ``Py_NotImplemented`` to indicate that "
 "comparison is not implemented and the other object's comparison method "
 "should be tried, or ``NULL`` if an exception was set."
 msgstr ""
 
-#: extending/newtypes.rst:391
+#: extending/newtypes.rst:403
 msgid ""
 "Here is a sample implementation, for a datatype that is considered equal if "
 "the size of an internal pointer is equal::"
 msgstr ""
 
-#: extending/newtypes.rst:421
+#: extending/newtypes.rst:433
 msgid "Abstract Protocol Support"
 msgstr "Support pour le protocole abstrait"
 
-#: extending/newtypes.rst:423
+#: extending/newtypes.rst:435
 msgid ""
 "Python supports a variety of *abstract* 'protocols;' the specific interfaces "
 "provided to use these interfaces are documented in :ref:`abstract`."
 msgstr ""
 
-#: extending/newtypes.rst:427
+#: extending/newtypes.rst:439
 msgid ""
 "A number of these abstract interfaces were defined early in the development "
 "of the Python implementation.  In particular, the number, mapping, and "
@@ -442,7 +448,7 @@ msgid ""
 "slot, but a slot may still be unfilled.) ::"
 msgstr ""
 
-#: extending/newtypes.rst:442
+#: extending/newtypes.rst:454
 msgid ""
 "If you wish your object to be able to act like a number, a sequence, or a "
 "mapping object, then you place the address of a structure that implements "
@@ -453,13 +459,13 @@ msgid ""
 "distribution. ::"
 msgstr ""
 
-#: extending/newtypes.rst:451
+#: extending/newtypes.rst:463
 msgid ""
 "This function, if you choose to provide it, should return a hash number for "
 "an instance of your data type. Here is a simple example::"
 msgstr ""
 
-#: extending/newtypes.rst:464
+#: extending/newtypes.rst:476
 msgid ""
 ":c:type:`Py_hash_t` is a signed integer type with a platform-varying width. "
 "Returning ``-1`` from :c:member:`~PyTypeObject.tp_hash` indicates an error, "
@@ -467,7 +473,7 @@ msgid ""
 "computation is successful, as seen above."
 msgstr ""
 
-#: extending/newtypes.rst:473
+#: extending/newtypes.rst:485
 msgid ""
 "This function is called when an instance of your data type is \"called\", "
 "for example, if ``obj1`` is an instance of your data type and the Python "
@@ -475,23 +481,23 @@ msgid ""
 "handler is invoked."
 msgstr ""
 
-#: extending/newtypes.rst:477
+#: extending/newtypes.rst:489
 msgid "This function takes three arguments:"
 msgstr "Cette fonction prend trois arguments :"
 
-#: extending/newtypes.rst:479
+#: extending/newtypes.rst:491
 msgid ""
 "*self* is the instance of the data type which is the subject of the call. If "
 "the call is ``obj1('hello')``, then *self* is ``obj1``."
 msgstr ""
 
-#: extending/newtypes.rst:482
+#: extending/newtypes.rst:494
 msgid ""
 "*args* is a tuple containing the arguments to the call.  You can use :c:func:"
 "`PyArg_ParseTuple` to extract the arguments."
 msgstr ""
 
-#: extending/newtypes.rst:485
+#: extending/newtypes.rst:497
 msgid ""
 "*kwds* is a dictionary of keyword arguments that were passed. If this is non-"
 "``NULL`` and you support keyword arguments, use :c:func:"
@@ -500,11 +506,11 @@ msgid ""
 "`TypeError` with a message saying that keyword arguments are not supported."
 msgstr ""
 
-#: extending/newtypes.rst:491
+#: extending/newtypes.rst:503
 msgid "Here is a toy ``tp_call`` implementation::"
 msgstr "Ceci est une implémentation ``tp_call`` très simple ::"
 
-#: extending/newtypes.rst:517
+#: extending/newtypes.rst:529
 msgid ""
 "These functions provide support for the iterator protocol.  Both handlers "
 "take exactly one parameter, the instance for which they are being called, "
@@ -515,7 +521,7 @@ msgid ""
 "__next__` method."
 msgstr ""
 
-#: extending/newtypes.rst:524
+#: extending/newtypes.rst:536
 msgid ""
 "Any :term:`iterable` object must implement the :c:member:`~PyTypeObject."
 "tp_iter` handler, which must return an :term:`iterator` object.  Here the "
@@ -526,7 +532,7 @@ msgstr ""
 "`iterator`.  Ici, les mêmes directives s'appliquent de la même façon que "
 "pour les classes *Python* :"
 
-#: extending/newtypes.rst:528
+#: extending/newtypes.rst:540
 msgid ""
 "For collections (such as lists and tuples) which can support multiple "
 "independent iterators, a new iterator should be created and returned by each "
@@ -536,7 +542,7 @@ msgstr ""
 "implémenter plusieurs itérateurs indépendants, un nouvel itérateur doit être "
 "créé et renvoyé par chaque appel de type :c:member:`~PyTypeObject.tp_iter`."
 
-#: extending/newtypes.rst:531
+#: extending/newtypes.rst:543
 msgid ""
 "Objects which can only be iterated over once (usually due to side effects of "
 "iteration, such as file objects) can implement :c:member:`~PyTypeObject."
@@ -544,7 +550,7 @@ msgid ""
 "therefore implement the :c:member:`~PyTypeObject.tp_iternext`  handler."
 msgstr ""
 
-#: extending/newtypes.rst:536
+#: extending/newtypes.rst:548
 msgid ""
 "Any :term:`iterator` object should implement both :c:member:`~PyTypeObject."
 "tp_iter` and :c:member:`~PyTypeObject.tp_iternext`.  An iterator's :c:member:"
@@ -559,11 +565,11 @@ msgid ""
 "``NULL``."
 msgstr ""
 
-#: extending/newtypes.rst:552
+#: extending/newtypes.rst:564
 msgid "Weak Reference Support"
 msgstr "Prise en charge de la référence faible"
 
-#: extending/newtypes.rst:554
+#: extending/newtypes.rst:566
 msgid ""
 "One of the goals of Python's weak reference implementation is to allow any "
 "type to participate in the weak reference mechanism without incurring the "
@@ -574,11 +580,11 @@ msgstr ""
 "faible sans avoir à supporter le surcoût de la performance critique des "
 "certains objets, tels que les nombres."
 
-#: extending/newtypes.rst:559
+#: extending/newtypes.rst:571
 msgid "Documentation for the :mod:`weakref` module."
 msgstr "Documentation pour le module :mod:`weakref`."
 
-#: extending/newtypes.rst:561
+#: extending/newtypes.rst:573
 msgid ""
 "For an object to be weakly referencable, the extension type must do two "
 "things:"
@@ -586,7 +592,7 @@ msgstr ""
 "Pour qu'un objet soit faiblement référençable, le type d'extension doit "
 "faire deux choses :"
 
-#: extending/newtypes.rst:563
+#: extending/newtypes.rst:575
 msgid ""
 "Include a :c:type:`PyObject\\*` field in the C object structure dedicated to "
 "the weak reference mechanism.  The object's constructor should leave it "
@@ -598,7 +604,7 @@ msgstr ""
 "la valeur ``NULL`` (ce qui est automatique lorsque l'on utilise le champ par "
 "défaut :c:member:`~PyTypeObject.tp_alloc`)."
 
-#: extending/newtypes.rst:568
+#: extending/newtypes.rst:580
 msgid ""
 "Set the :c:member:`~PyTypeObject.tp_weaklistoffset` type member to the "
 "offset of the aforementioned field in the C object structure, so that the "
@@ -609,7 +615,7 @@ msgstr ""
 "l'objet *C*, afin que l'interpréteur sache comment accéder à ce champ et le "
 "modifier."
 
-#: extending/newtypes.rst:572
+#: extending/newtypes.rst:584
 msgid ""
 "Concretely, here is how a trivial object structure would be augmented with "
 "the required field::"
@@ -617,12 +623,12 @@ msgstr ""
 "Concrètement, voici comment une structure d'objet simple serait complétée "
 "par le champ requis ::"
 
-#: extending/newtypes.rst:580
+#: extending/newtypes.rst:592
 msgid "And the corresponding member in the statically-declared type object::"
 msgstr ""
 "Et le membre correspondant dans l'objet de type déclaré statiquement ::"
 
-#: extending/newtypes.rst:588
+#: extending/newtypes.rst:600
 msgid ""
 "The only further addition is that ``tp_dealloc`` needs to clear any weak "
 "references (by calling :c:func:`PyObject_ClearWeakRefs`) if the field is non-"
@@ -632,11 +638,11 @@ msgstr ""
 "référence faible (en appelant :c:func:`PyObject_ClearWeakRefs`) si le champ "
 "est non ``NULL`` ::"
 
-#: extending/newtypes.rst:604
+#: extending/newtypes.rst:616
 msgid "More Suggestions"
 msgstr "Plus de suggestions"
 
-#: extending/newtypes.rst:606
+#: extending/newtypes.rst:618
 msgid ""
 "In order to learn how to implement any specific method for your new data "
 "type, get the :term:`CPython` source code.  Go to the :file:`Objects` "
@@ -651,7 +657,7 @@ msgstr ""
 "``tp_richcompare``). Vous trouverez des exemples de la fonction que vous "
 "voulez implémenter."
 
-#: extending/newtypes.rst:612
+#: extending/newtypes.rst:624
 msgid ""
 "When you need to verify that an object is a concrete instance of the type "
 "you are implementing, use the :c:func:`PyObject_TypeCheck` function.  A "
@@ -661,21 +667,21 @@ msgstr ""
 "du type que vous implémentez, utilisez la fonction :c:func:"
 "`PyObject_TypeCheck`. Voici un exemple de son utilisation ::"
 
-#: extending/newtypes.rst:623
+#: extending/newtypes.rst:635
 msgid "Download CPython source releases."
 msgstr "Télécharger les versions sources de *CPython*."
 
-#: extending/newtypes.rst:623
+#: extending/newtypes.rst:635
 msgid "https://www.python.org/downloads/source/"
 msgstr "https://www.python.org/downloads/source/"
 
-#: extending/newtypes.rst:625
+#: extending/newtypes.rst:637
 msgid ""
 "The CPython project on GitHub, where the CPython source code is developed."
 msgstr ""
 "Le projet *CPython* sur *GitHub*, où se trouve le code source *CPython*."
 
-#: extending/newtypes.rst:626
+#: extending/newtypes.rst:638
 msgid "https://github.com/python/cpython"
 msgstr "https://github.com/python/cpython"
 
diff --git a/faq/programming.po b/faq/programming.po
index 4fe631ff8..ffcc01d2e 100644
--- a/faq/programming.po
+++ b/faq/programming.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-21 15:04+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2021-10-23 00:13+0200\n"
 "Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -1823,9 +1823,10 @@ msgstr ""
 "trouvés en chemin ::"
 
 #: faq/programming.rst:1172
+#, fuzzy
 msgid ""
 "If all elements of the list may be used as set keys (i.e. they are all :term:"
-"`hashable`) this is often faster ::"
+"`hashable`) this is often faster ::"
 msgstr ""
 "Si tous les éléments de la liste peuvent être utilisés comme des clés de "
 "dictionnaire (c'est-à-dire, qu'elles sont toutes :term:`hachables "
diff --git a/howto/annotations.po b/howto/annotations.po
index 9e9c5668e..a9d7e5385 100644
--- a/howto/annotations.po
+++ b/howto/annotations.po
@@ -5,14 +5,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-23 16:16+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2021-10-17 14:16+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"
-"Last-Translator: ZepmanBC <zepman@gmail.com>\n"
 "X-Generator: Poedit 2.0.6\n"
 
 #: howto/annotations.rst:5
diff --git a/library/collections.po b/library/collections.po
index e8339f7cf..7e0550ae4 100644
--- a/library/collections.po
+++ b/library/collections.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-23 16:16+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2021-03-20 19:28+0100\n"
 "Last-Translator: Loc Cosnier <loc.cosnier@pm.me>\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -514,7 +514,7 @@ msgid ""
 msgstr ""
 
 #: library/collections.rst:345
-msgid "Rich comparison operations we were added"
+msgid "Rich comparison operations were added."
 msgstr ""
 
 #: library/collections.rst:348
diff --git a/library/enum.po b/library/enum.po
index b80a64dc6..d733bcdc2 100644
--- a/library/enum.po
+++ b/library/enum.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-21 15:04+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2019-12-11 11:26+0100\n"
 "Last-Translator: Antoine Wecxsteen\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -1280,9 +1280,10 @@ msgstr ""
 
 #: library/enum.rst:1128
 msgid ""
-"Private names will be normal attributes in Python 3.11 instead of either an "
-"error or a member (depending on if the name ends with an underscore). Using "
-"these names in 3.10 will issue a :exc:`DeprecationWarning`."
+":ref:`Private names <private-name-mangling>` will be normal attributes in "
+"Python 3.11 instead of either an error or a member (depending on if the name "
+"ends with an underscore). Using these names in 3.10 will issue a :exc:"
+"`DeprecationWarning`."
 msgstr ""
 
 #: library/enum.rst:1134
diff --git a/library/functions.po b/library/functions.po
index a010081ca..9592d9988 100644
--- a/library/functions.po
+++ b/library/functions.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-21 15:04+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2020-08-30 23:21+0200\n"
 "Last-Translator: Antoine Wecxsteen\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -1261,7 +1261,7 @@ msgid ""
 "as a suite of Python statements which is then executed (unless a syntax "
 "error occurs). [#]_ If it is a code object, it is simply executed.  In all "
 "cases, the code that's executed is expected to be valid as file input (see "
-"the section \"File input\" in the Reference Manual). Be aware that the :"
+"the section :ref:`file-input` in the Reference Manual). Be aware that the :"
 "keyword:`nonlocal`, :keyword:`yield`,  and :keyword:`return` statements may "
 "not be used outside of function definitions even within the context of code "
 "passed to the :func:`exec` function. The return value is ``None``."
@@ -2623,7 +2623,10 @@ msgid ""
 "operands, the result has the same type as the operands (after coercion) "
 "unless the second argument is negative; in that case, all arguments are "
 "converted to float and a float result is delivered.  For example, ``pow(10, "
-"2)`` returns ``100``, but ``pow(10, -2)`` returns ``0.01``."
+"2)`` returns ``100``, but ``pow(10, -2)`` returns ``0.01``.  For a negative "
+"base of type :class:`int` or :class:`float` and a non-integral exponent, a "
+"complex result is delivered.  For example, ``pow(-9, 0.5)`` returns a value "
+"close to ``3j``."
 msgstr ""
 "Les arguments doivent être de types numériques. Avec des opérandes de "
 "différents types, les mêmes règles de coercition que celles des opérateurs "
@@ -2633,7 +2636,7 @@ msgstr ""
 "convertis en ``float``, et le résultat sera un ``float`` aussi. Par exemple, "
 "``10**2`` donne ``100``, alors que ``10**-2`` donne ``0.01``."
 
-#: library/functions.rst:1362
+#: library/functions.rst:1365
 msgid ""
 "For :class:`int` operands *base* and *exp*, if *mod* is present, *mod* must "
 "also be of integer type and *mod* must be nonzero. If *mod* is present and "
@@ -2647,11 +2650,11 @@ msgstr ""
 "être premiers entre eux. Dans ce cas, ``pow(inv_base, -exp, mod)`` est "
 "renvoyé, où *inv_base* est un inverse de *base* modulo *mod*."
 
-#: library/functions.rst:1368
+#: library/functions.rst:1371
 msgid "Here's an example of computing an inverse for ``38`` modulo ``97``::"
 msgstr "Voici un exemple de calcul d'un inverse de ``38`` modulo ``97`` ::"
 
-#: library/functions.rst:1375
+#: library/functions.rst:1378
 msgid ""
 "For :class:`int` operands, the three-argument form of ``pow`` now allows the "
 "second argument to be negative, permitting computation of modular inverses."
@@ -2660,14 +2663,14 @@ msgstr ""
 "permet maintenant au deuxième argument d'être négatif, permettant le calcul "
 "des inverses modulaires."
 
-#: library/functions.rst:1380
+#: library/functions.rst:1383
 msgid ""
 "Allow keyword arguments.  Formerly, only positional arguments were supported."
 msgstr ""
 "Autorise les arguments par mots-clés. Auparavant, seuls les arguments "
 "positionnels étaient autorisés."
 
-#: library/functions.rst:1387
+#: library/functions.rst:1390
 #, fuzzy
 msgid ""
 "Print *objects* to the text stream *file*, separated by *sep* and followed "
@@ -2678,7 +2681,7 @@ msgstr ""
 "*end*. Les arguments *sep*, *end*, *file*, et *flush*, s'ils sont présents, "
 "doivent être nommés."
 
-#: library/functions.rst:1391
+#: library/functions.rst:1394
 msgid ""
 "All non-keyword arguments are converted to strings like :func:`str` does and "
 "written to the stream, separated by *sep* and followed by *end*.  Both *sep* "
@@ -2692,7 +2695,7 @@ msgstr ""
 "les valeurs par défaut. Si aucun *objects* n'est donné :func:`print` écris "
 "seulement *end*."
 
-#: library/functions.rst:1397
+#: library/functions.rst:1400
 msgid ""
 "The *file* argument must be an object with a ``write(string)`` method; if it "
 "is not present or ``None``, :data:`sys.stdout` will be used.  Since printed "
@@ -2705,7 +2708,7 @@ msgstr ""
 "peut pas être utilisé avec des fichiers ouverts en mode binaire. Pour ceux-"
 "ci utilisez plutôt ``file.write(...)``."
 
-#: library/functions.rst:1402
+#: library/functions.rst:1405
 #, fuzzy
 msgid ""
 "Whether the output is buffered is usually determined by *file*, but if the "
@@ -2714,15 +2717,15 @@ msgstr ""
 "Que la sortie utilise un *buffer* ou non est souvent décidé par *file*, mais "
 "si l'argument *flush* est vrai, le tampon du flux est vidé explicitement."
 
-#: library/functions.rst:1405
+#: library/functions.rst:1408
 msgid "Added the *flush* keyword argument."
 msgstr "ajout de l'argument nommé *flush*."
 
-#: library/functions.rst:1411
+#: library/functions.rst:1414
 msgid "Return a property attribute."
 msgstr "Renvoie un attribut propriété."
 
-#: library/functions.rst:1413
+#: library/functions.rst:1416
 msgid ""
 "*fget* is a function for getting an attribute value.  *fset* is a function "
 "for setting an attribute value. *fdel* is a function for deleting an "
@@ -2733,11 +2736,11 @@ msgstr ""
 "supprimer la valeur d'un attribut, et *doc* créé une *docstring* pour "
 "l'attribut."
 
-#: library/functions.rst:1417
+#: library/functions.rst:1420
 msgid "A typical use is to define a managed attribute ``x``::"
 msgstr "Une utilisation courante : définir un attribut managé ``x`` ::"
 
-#: library/functions.rst:1434
+#: library/functions.rst:1437
 #, fuzzy
 msgid ""
 "If *c* is an instance of *C*, ``c.x`` will invoke the getter, ``c.x = "
@@ -2747,7 +2750,7 @@ msgstr ""
 "anglais), ``c.x = value`` invoque le mutateur (*setter*), et ``del x`` le "
 "destructeur (*deleter*)."
 
-#: library/functions.rst:1437
+#: library/functions.rst:1440
 msgid ""
 "If given, *doc* will be the docstring of the property attribute. Otherwise, "
 "the property will copy *fget*'s docstring (if it exists).  This makes it "
@@ -2759,7 +2762,7 @@ msgstr ""
 "création de propriétés en lecture seule en utilisant simplement :func:"
 "`property` comme un :term:`décorateur <decorator>` ::"
 
-#: library/functions.rst:1450
+#: library/functions.rst:1453
 msgid ""
 "The ``@property`` decorator turns the :meth:`voltage` method into a \"getter"
 "\" for a read-only attribute with the same name, and it sets the docstring "
@@ -2769,7 +2772,7 @@ msgstr ""
 "*getter* d'un attribut du même nom, et donne *\"Get the current voltage\"* "
 "comme *docstring* de *voltage*."
 
-#: library/functions.rst:1454
+#: library/functions.rst:1457
 msgid ""
 "A property object has :attr:`~property.getter`, :attr:`~property.setter`, "
 "and :attr:`~property.deleter` methods usable as decorators that create a "
@@ -2781,7 +2784,7 @@ msgstr ""
 "une copie de la propriété avec les accesseurs correspondants définis par la "
 "fonction de décoration. C'est plus clair avec un exemple ::"
 
-#: library/functions.rst:1476
+#: library/functions.rst:1479
 msgid ""
 "This code is exactly equivalent to the first example.  Be sure to give the "
 "additional functions the same name as the original property (``x`` in this "
@@ -2791,7 +2794,7 @@ msgstr ""
 "donner aux fonctions additionnelles le même nom que la propriété (``x`` dans "
 "ce cas)."
 
-#: library/functions.rst:1480
+#: library/functions.rst:1483
 msgid ""
 "The returned property object also has the attributes ``fget``, ``fset``, and "
 "``fdel`` corresponding to the constructor arguments."
@@ -2799,11 +2802,11 @@ msgstr ""
 "L'objet propriété renvoyé à aussi les attributs ``fget``, ``fset`` et "
 "``fdel`` correspondants aux arguments du constructeur."
 
-#: library/functions.rst:1483
+#: library/functions.rst:1486
 msgid "The docstrings of property objects are now writeable."
 msgstr "Les *docstrings* des objets propriété peuvent maintenant être écrits."
 
-#: library/functions.rst:1492
+#: library/functions.rst:1495
 msgid ""
 "Rather than being a function, :class:`range` is actually an immutable "
 "sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`."
@@ -2812,7 +2815,7 @@ msgstr ""
 "type de séquence immuable, comme décrit dans :ref:`typesseq-range` et :ref:"
 "`typesseq`."
 
-#: library/functions.rst:1498
+#: library/functions.rst:1501
 #, fuzzy
 msgid ""
 "Return a string containing a printable representation of an object.  For "
@@ -2831,7 +2834,7 @@ msgstr ""
 "l'adresse de l'objet. Une classe peut contrôler ce que cette fonction "
 "renvoie pour ses instances en définissant une méthode :meth:`__repr__`."
 
-#: library/functions.rst:1509
+#: library/functions.rst:1512
 msgid ""
 "Return a reverse :term:`iterator`.  *seq* must be an object which has a :"
 "meth:`__reversed__` method or supports the sequence protocol (the :meth:"
@@ -2843,7 +2846,7 @@ msgstr ""
 "séquence (la méthode :meth:`__len__` et la méthode :meth:`__getitem__` avec "
 "des arguments entiers commençant à zéro)."
 
-#: library/functions.rst:1517
+#: library/functions.rst:1520
 msgid ""
 "Return *number* rounded to *ndigits* precision after the decimal point.  If "
 "*ndigits* is omitted or is ``None``, it returns the nearest integer to its "
@@ -2853,7 +2856,7 @@ msgstr ""
 "virgule. Si *ndigits* est omis (ou est ``None``), l'entier le plus proche "
 "est renvoyé."
 
-#: library/functions.rst:1521
+#: library/functions.rst:1524
 #, fuzzy
 msgid ""
 "For the built-in types supporting :func:`round`, values are rounded to the "
@@ -2872,7 +2875,7 @@ msgstr ""
 "zéro, ou négatif). La valeur renvoyée est un entier si *ndigits* n'est pas "
 "donné, (ou est ``None``). Sinon elle est du même type que *number*."
 
-#: library/functions.rst:1530
+#: library/functions.rst:1533
 msgid ""
 "For a general Python object ``number``, ``round`` delegates to ``number."
 "__round__``."
@@ -2880,7 +2883,7 @@ msgstr ""
 "Pour tout autre objet Python ``number``, ``round`` délègue à ``number."
 "__round__``."
 
-#: library/functions.rst:1535
+#: library/functions.rst:1538
 msgid ""
 "The behavior of :func:`round` for floats can be surprising: for example, "
 "``round(2.675, 2)`` gives ``2.67`` instead of the expected ``2.68``. This is "
@@ -2894,7 +2897,7 @@ msgstr ""
 "fractions de décimaux ne peuvent pas être représentés exactement en nombre a "
 "virgule flottante. Voir :ref:`tut-fp-issues` pour plus d'information."
 
-#: library/functions.rst:1546
+#: library/functions.rst:1549
 msgid ""
 "Return a new :class:`set` object, optionally with elements taken from "
 "*iterable*.  ``set`` is a built-in class.  See :class:`set` and :ref:`types-"
@@ -2904,7 +2907,7 @@ msgstr ""
 "d'*iterable*. ``set`` est une classe native. Voir :class:`set` et :ref:"
 "`types-set` pour la documentation de cette classe."
 
-#: library/functions.rst:1550
+#: library/functions.rst:1553
 msgid ""
 "For other containers see the built-in :class:`frozenset`, :class:`list`, :"
 "class:`tuple`, and :class:`dict` classes, as well as the :mod:`collections` "
@@ -2913,7 +2916,7 @@ msgstr ""
 "D'autres conteneurs existent, comme : :class:`frozenset`, :class:`list`, :"
 "class:`tuple`, et :class:`dict`, ainsi que le module :mod:`collections`."
 
-#: library/functions.rst:1557
+#: library/functions.rst:1560
 #, fuzzy
 msgid ""
 "This is the counterpart of :func:`getattr`.  The arguments are an object, a "
@@ -2928,14 +2931,14 @@ msgstr ""
 "si l'objet l'autorise. Par exemple, ``setattr(x, 'foobar', 123)`` équivaut à "
 "``x.foobar = 123``."
 
-#: library/functions.rst:1565
+#: library/functions.rst:1568
 msgid ""
 "Since :ref:`private name mangling <private-name-mangling>` happens at "
 "compilation time, one must manually mangle a private attribute's (attributes "
 "with two leading underscores) name in order to set it with :func:`setattr`."
 msgstr ""
 
-#: library/functions.rst:1574
+#: library/functions.rst:1577
 #, fuzzy
 msgid ""
 "Return a :term:`slice` object representing the set of indices specified by "
@@ -2960,16 +2963,16 @@ msgstr ""
 "Voir :func:`itertools.islice` pour une version alternative renvoyant un "
 "itérateur."
 
-#: library/functions.rst:1587
+#: library/functions.rst:1590
 msgid "Return a new sorted list from the items in *iterable*."
 msgstr "Renvoie une nouvelle liste triée depuis les éléments d'*iterable*."
 
-#: library/functions.rst:1589
+#: library/functions.rst:1592
 msgid ""
 "Has two optional arguments which must be specified as keyword arguments."
 msgstr "A deux arguments optionnels qui doivent être nommés."
 
-#: library/functions.rst:1591
+#: library/functions.rst:1594
 msgid ""
 "*key* specifies a function of one argument that is used to extract a "
 "comparison key from each element in *iterable* (for example, ``key=str."
@@ -2980,7 +2983,7 @@ msgstr ""
 "lower``). La valeur par défaut est ``None`` (compare les éléments "
 "directement)."
 
-#: library/functions.rst:1595
+#: library/functions.rst:1598
 msgid ""
 "*reverse* is a boolean value.  If set to ``True``, then the list elements "
 "are sorted as if each comparison were reversed."
@@ -2988,7 +2991,7 @@ msgstr ""
 "*reverse*, une valeur booléenne. Si elle est ``True``, la liste d'éléments "
 "est triée comme si toutes les comparaisons étaient inversées."
 
-#: library/functions.rst:1598
+#: library/functions.rst:1601
 msgid ""
 "Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a "
 "*key* function."
@@ -2996,7 +2999,7 @@ msgstr ""
 "Utilisez :func:`functools.cmp_to_key` pour convertir l'ancienne notation "
 "*cmp* en une fonction *key*."
 
-#: library/functions.rst:1601
+#: library/functions.rst:1604
 msgid ""
 "The built-in :func:`sorted` function is guaranteed to be stable. A sort is "
 "stable if it guarantees not to change the relative order of elements that "
@@ -3008,7 +3011,7 @@ msgstr ""
 "eux. C'est utile pour trier en plusieurs passes (par exemple par département "
 "puis par salaire)."
 
-#: library/functions.rst:1606
+#: library/functions.rst:1609
 msgid ""
 "The sort algorithm uses only ``<`` comparisons between items.  While "
 "defining an :meth:`~object.__lt__` method will suffice for sorting, :PEP:`8` "
@@ -3020,17 +3023,17 @@ msgid ""
 "method."
 msgstr ""
 
-#: library/functions.rst:1615
+#: library/functions.rst:1618
 msgid ""
 "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`."
 msgstr ""
 "Pour des exemples de tris et un bref tutoriel, consultez :ref:`sortinghowto`."
 
-#: library/functions.rst:1619
+#: library/functions.rst:1622
 msgid "Transform a method into a static method."
 msgstr "Transforme une méthode en méthode statique."
 
-#: library/functions.rst:1621
+#: library/functions.rst:1624
 msgid ""
 "A static method does not receive an implicit first argument. To declare a "
 "static method, use this idiom::"
@@ -3038,7 +3041,7 @@ msgstr ""
 "Une méthode statique ne reçoit pas de premier argument implicitement. Voilà "
 "comment déclarer une méthode statique ::"
 
-#: library/functions.rst:1628
+#: library/functions.rst:1631
 msgid ""
 "The ``@staticmethod`` form is a function :term:`decorator` -- see :ref:"
 "`function` for details."
@@ -3046,7 +3049,7 @@ msgstr ""
 "La forme ``@staticmethod`` est un :term:`décorateur <decorator>` de "
 "fonction. Consultez :ref:`function` pour plus de détails."
 
-#: library/functions.rst:1631
+#: library/functions.rst:1634
 #, fuzzy
 msgid ""
 "A static method can be called either on the class (such as ``C.f()``) or on "
@@ -3056,7 +3059,7 @@ msgstr ""
 "Une méthode statique peut être appelée sur une classe (par exemple, ``C."
 "f()``) comme sur une instance (par exemple, ``C().f()``)."
 
-#: library/functions.rst:1635
+#: library/functions.rst:1638
 #, fuzzy
 msgid ""
 "Static methods in Python are similar to those found in Java or C++. Also, "
@@ -3067,7 +3070,7 @@ msgstr ""
 "ou en C++. Consultez :func:`classmethod` pour une variante utile pour créer "
 "des constructeurs alternatifs."
 
-#: library/functions.rst:1639
+#: library/functions.rst:1642
 msgid ""
 "Like all decorators, it is also possible to call ``staticmethod`` as a "
 "regular function and do something with its result.  This is needed in some "
@@ -3081,26 +3084,26 @@ msgstr ""
 "depuis le corps d'une classe, et souhaiteriez éviter sa transformation en "
 "méthode d'instance. Pour ces cas, faites comme suit ::"
 
-#: library/functions.rst:1651
+#: library/functions.rst:1654
 msgid "For more information on static methods, see :ref:`types`."
 msgstr ""
 "Pour plus d'informations sur les méthodes statiques, consultez :ref:`types`."
 
-#: library/functions.rst:1653
+#: library/functions.rst:1656
 msgid ""
 "Static methods now inherit the method attributes (``__module__``, "
 "``__name__``, ``__qualname__``, ``__doc__`` and ``__annotations__``), have a "
 "new ``__wrapped__`` attribute, and are now callable as regular functions."
 msgstr ""
 
-#: library/functions.rst:1668
+#: library/functions.rst:1671
 msgid ""
 "Return a :class:`str` version of *object*.  See :func:`str` for details."
 msgstr ""
 "Renvoie une version d'*object* sous forme de :class:`str`. Voir :func:`str` "
 "pour plus de détails."
 
-#: library/functions.rst:1670
+#: library/functions.rst:1673
 msgid ""
 "``str`` is the built-in string :term:`class`.  For general information about "
 "strings, see :ref:`textseq`."
@@ -3108,7 +3111,7 @@ msgstr ""
 "``str`` est la :term:`classe <class>` native des chaînes de caractères. Pour "
 "des informations générales à propos des chaînes, consultez :ref:`textseq`."
 
-#: library/functions.rst:1676
+#: library/functions.rst:1679
 msgid ""
 "Sums *start* and the items of an *iterable* from left to right and returns "
 "the total.  The *iterable*'s items are normally numbers, and the start value "
@@ -3118,7 +3121,7 @@ msgstr ""
 "donne le total. Les éléments de l'*iterable* sont normalement des nombres, "
 "et la valeur de *start* ne peut pas être une chaîne de caractères."
 
-#: library/functions.rst:1680
+#: library/functions.rst:1683
 msgid ""
 "For some use cases, there are good alternatives to :func:`sum`. The "
 "preferred, fast way to concatenate a sequence of strings is by calling ``''."
@@ -3132,11 +3135,11 @@ msgstr ""
 "meilleure précision, voir :func:`math.fsum`. Pour concaténer une série "
 "d'itérables, utilisez plutôt :func:`itertools.chain`."
 
-#: library/functions.rst:1686
+#: library/functions.rst:1689
 msgid "The *start* parameter can be specified as a keyword argument."
 msgstr "le paramètre *start* peut être passé comme un argument nommé."
 
-#: library/functions.rst:1691
+#: library/functions.rst:1694
 msgid ""
 "Return a proxy object that delegates method calls to a parent or sibling "
 "class of *type*.  This is useful for accessing inherited methods that have "
@@ -3146,7 +3149,7 @@ msgstr ""
 "de méthode à une classe parente ou sœur de *type*. C'est utile pour accéder "
 "aux méthodes héritées qui ont été remplacées dans une classe."
 
-#: library/functions.rst:1695
+#: library/functions.rst:1698
 msgid ""
 "The *object-or-type* determines the :term:`method resolution order` to be "
 "searched.  The search starts from the class right after the *type*."
@@ -3155,7 +3158,7 @@ msgstr ""
 "<method resolution order>` est utilisé pour la recherche. La recherche "
 "commence à partir de la classe qui suit immédiatement le *type*."
 
-#: library/functions.rst:1699
+#: library/functions.rst:1702
 msgid ""
 "For example, if :attr:`~class.__mro__` of *object-or-type* is ``D -> B -> C -"
 "> A -> object`` and the value of *type* is ``B``, then :func:`super` "
@@ -3165,7 +3168,7 @@ msgstr ""
 "-> A -> object`` et la valeur de *type* est ``B``, alors :func:`super` "
 "recherche ``C -> A -> object``."
 
-#: library/functions.rst:1703
+#: library/functions.rst:1706
 msgid ""
 "The :attr:`~class.__mro__` attribute of the *object-or-type* lists the "
 "method resolution search order used by both :func:`getattr` and :func:"
@@ -3177,7 +3180,7 @@ msgstr ""
 "`super`. L'attribut est dynamique et peut changer lorsque la hiérarchie "
 "d'héritage est modifiée."
 
-#: library/functions.rst:1708
+#: library/functions.rst:1711
 msgid ""
 "If the second argument is omitted, the super object returned is unbound.  If "
 "the second argument is an object, ``isinstance(obj, type)`` must be true.  "
@@ -3189,7 +3192,7 @@ msgstr ""
 "le second argument est un type, ``issubclass(type2, type)`` doit être vrai "
 "(c'est utile pour les méthodes de classe)."
 
-#: library/functions.rst:1713
+#: library/functions.rst:1716
 msgid ""
 "There are two typical use cases for *super*.  In a class hierarchy with "
 "single inheritance, *super* can be used to refer to parent classes without "
@@ -3202,7 +3205,7 @@ msgstr ""
 "maintenable. Cet usage se rapproche de l'usage de *super* dans d'autres "
 "langages de programmation."
 
-#: library/functions.rst:1718
+#: library/functions.rst:1721
 #, fuzzy
 msgid ""
 "The second use case is to support cooperative multiple inheritance in a "
@@ -3226,12 +3229,12 @@ msgstr ""
 "dans la hiérarchie, et parce que l'ordre peut inclure des classes sœurs "
 "inconnues avant l'exécution)."
 
-#: library/functions.rst:1728
+#: library/functions.rst:1731
 msgid "For both use cases, a typical superclass call looks like this::"
 msgstr ""
 "Dans tous les cas, un appel typique à une classe parente ressemble à ::"
 
-#: library/functions.rst:1735
+#: library/functions.rst:1738
 msgid ""
 "In addition to method lookups, :func:`super` also works for attribute "
 "lookups.  One possible use case for this is calling :term:`descriptors "
@@ -3241,7 +3244,7 @@ msgstr ""
 "la recherche d'attributs. Un cas d'utilisation possible est l'appel d'un :"
 "term:`descripteur <descriptor>` d'une classe parente ou sœur."
 
-#: library/functions.rst:1739
+#: library/functions.rst:1742
 msgid ""
 "Note that :func:`super` is implemented as part of the binding process for "
 "explicit dotted attribute lookups such as ``super().__getitem__(name)``. It "
@@ -3258,7 +3261,7 @@ msgstr ""
 "n'est pas défini pour les recherches implicites via des instructions ou des "
 "opérateurs tels que ``super()[name]``."
 
-#: library/functions.rst:1746
+#: library/functions.rst:1749
 msgid ""
 "Also note that, aside from the zero argument form, :func:`super` is not "
 "limited to use inside methods.  The two argument form specifies the "
@@ -3275,7 +3278,7 @@ msgstr ""
 "propos de la classe en cours de définition, ainsi qu'accéder à l'instance "
 "courante pour les méthodes ordinaires."
 
-#: library/functions.rst:1753
+#: library/functions.rst:1756
 msgid ""
 "For practical suggestions on how to design cooperative classes using :func:"
 "`super`, see `guide to using super() <https://rhettinger.wordpress."
@@ -3285,7 +3288,7 @@ msgstr ""
 "utilisant :func:`super`, consultez `guide to using super() <http://"
 "rhettinger.wordpress.com/2011/05/26/super-considered-super/>`_."
 
-#: library/functions.rst:1762
+#: library/functions.rst:1765
 msgid ""
 "Rather than being a function, :class:`tuple` is actually an immutable "
 "sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`."
@@ -3293,7 +3296,7 @@ msgstr ""
 "Plutôt qu'être une fonction, :class:`tuple` est en fait un type de séquence "
 "immuable, comme documenté dans :ref:`typesseq-tuple` et :ref:`typesseq`."
 
-#: library/functions.rst:1771
+#: library/functions.rst:1774
 msgid ""
 "With one argument, return the type of an *object*.  The return value is a "
 "type object and generally the same object as returned by :attr:`object."
@@ -3303,7 +3306,7 @@ msgstr ""
 "objet type et généralement la même que la valeur de l'attribut :attr:`object."
 "__class__ <instance.__class__>`."
 
-#: library/functions.rst:1775
+#: library/functions.rst:1778
 msgid ""
 "The :func:`isinstance` built-in function is recommended for testing the type "
 "of an object, because it takes subclasses into account."
@@ -3311,7 +3314,7 @@ msgstr ""
 "La fonction native :func:`isinstance` est recommandée pour tester le type "
 "d'un objet, car elle prend en compte l'héritage."
 
-#: library/functions.rst:1779
+#: library/functions.rst:1782
 #, fuzzy
 msgid ""
 "With three arguments, return a new type object.  This is essentially a "
@@ -3334,11 +3337,11 @@ msgstr ""
 "exemple, les deux instructions suivantes créent deux instances identiques "
 "de :class:`type` :"
 
-#: library/functions.rst:1794
+#: library/functions.rst:1797
 msgid "See also :ref:`bltin-type-objects`."
 msgstr "Voir aussi :ref:`bltin-type-objects`."
 
-#: library/functions.rst:1796
+#: library/functions.rst:1799
 msgid ""
 "Keyword arguments provided to the three argument form are passed to the "
 "appropriate metaclass machinery (usually :meth:`~object.__init_subclass__`) "
@@ -3346,12 +3349,12 @@ msgid ""
 "would."
 msgstr ""
 
-#: library/functions.rst:1801
+#: library/functions.rst:1804
 #, fuzzy
 msgid "See also :ref:`class-customization`."
 msgstr "Voir aussi :ref:`typeiter`."
 
-#: library/functions.rst:1803
+#: library/functions.rst:1806
 msgid ""
 "Subclasses of :class:`type` which don't override ``type.__new__`` may no "
 "longer use the one-argument form to get the type of an object."
@@ -3360,7 +3363,7 @@ msgstr ""
 "ne doivent plus utiliser la forme à un argument pour récupérer le type d'un "
 "objet."
 
-#: library/functions.rst:1809
+#: library/functions.rst:1812
 msgid ""
 "Return the :attr:`~object.__dict__` attribute for a module, class, instance, "
 "or any other object with a :attr:`~object.__dict__` attribute."
@@ -3369,7 +3372,7 @@ msgstr ""
 "instance ou de n'importe quel objet avec un attribut :attr:`~object."
 "__dict__`."
 
-#: library/functions.rst:1812
+#: library/functions.rst:1815
 msgid ""
 "Objects such as modules and instances have an updateable :attr:`~object."
 "__dict__` attribute; however, other objects may have write restrictions on "
@@ -3382,7 +3385,7 @@ msgstr ""
 "exemple, les classes utilisent un :class:`types.MappingProxyType` pour "
 "éviter les modifications directes du dictionnaire)."
 
-#: library/functions.rst:1817
+#: library/functions.rst:1820
 msgid ""
 "Without an argument, :func:`vars` acts like :func:`locals`.  Note, the "
 "locals dictionary is only useful for reads since updates to the locals "
@@ -3392,45 +3395,45 @@ msgstr ""
 "dictionnaire des variables locales n'est utile qu'en lecture, car ses "
 "écritures sont ignorées."
 
-#: library/functions.rst:1821
+#: library/functions.rst:1824
 msgid ""
 "A :exc:`TypeError` exception is raised if an object is specified but it "
 "doesn't have a :attr:`~object.__dict__` attribute (for example, if its class "
 "defines the :attr:`~object.__slots__` attribute)."
 msgstr ""
 
-#: library/functions.rst:1827
+#: library/functions.rst:1830
 msgid ""
 "Iterate over several iterables in parallel, producing tuples with an item "
 "from each one."
 msgstr ""
 
-#: library/functions.rst:1830
+#: library/functions.rst:1833
 #, fuzzy
 msgid "Example::"
 msgstr "Exemples ::"
 
-#: library/functions.rst:1839
+#: library/functions.rst:1842
 msgid ""
 "More formally: :func:`zip` returns an iterator of tuples, where the *i*-th "
 "tuple contains the *i*-th element from each of the argument iterables."
 msgstr ""
 
-#: library/functions.rst:1842
+#: library/functions.rst:1845
 msgid ""
 "Another way to think of :func:`zip` is that it turns rows into columns, and "
 "columns into rows.  This is similar to `transposing a matrix <https://en."
 "wikipedia.org/wiki/Transpose>`_."
 msgstr ""
 
-#: library/functions.rst:1846
+#: library/functions.rst:1849
 msgid ""
 ":func:`zip` is lazy: The elements won't be processed until the iterable is "
 "iterated on, e.g. by a :keyword:`!for` loop or by wrapping in a :class:"
 "`list`."
 msgstr ""
 
-#: library/functions.rst:1850
+#: library/functions.rst:1853
 msgid ""
 "One thing to consider is that the iterables passed to :func:`zip` could have "
 "different lengths; sometimes by design, and sometimes because of a bug in "
@@ -3438,51 +3441,51 @@ msgid ""
 "approaches to dealing with this issue:"
 msgstr ""
 
-#: library/functions.rst:1855
+#: library/functions.rst:1858
 msgid ""
 "By default, :func:`zip` stops when the shortest iterable is exhausted. It "
 "will ignore the remaining items in the longer iterables, cutting off the "
 "result to the length of the shortest iterable::"
 msgstr ""
 
-#: library/functions.rst:1862
+#: library/functions.rst:1865
 msgid ""
 ":func:`zip` is often used in cases where the iterables are assumed to be of "
 "equal length.  In such cases, it's recommended to use the ``strict=True`` "
 "option. Its output is the same as regular :func:`zip`::"
 msgstr ""
 
-#: library/functions.rst:1869
+#: library/functions.rst:1872
 msgid ""
 "Unlike the default behavior, it checks that the lengths of iterables are "
 "identical, raising a :exc:`ValueError` if they aren't:"
 msgstr ""
 
-#: library/functions.rst:1877
+#: library/functions.rst:1880
 msgid ""
 "Without the ``strict=True`` argument, any bug that results in iterables of "
 "different lengths will be silenced, possibly manifesting as a hard-to-find "
 "bug in another part of the program."
 msgstr ""
 
-#: library/functions.rst:1881
+#: library/functions.rst:1884
 msgid ""
 "Shorter iterables can be padded with a constant value to make all the "
 "iterables have the same length.  This is done by :func:`itertools."
 "zip_longest`."
 msgstr ""
 
-#: library/functions.rst:1885
+#: library/functions.rst:1888
 msgid ""
 "Edge cases: With a single iterable argument, :func:`zip` returns an iterator "
 "of 1-tuples.  With no arguments, it returns an empty iterator."
 msgstr ""
 
-#: library/functions.rst:1888
+#: library/functions.rst:1891
 msgid "Tips and tricks:"
 msgstr ""
 
-#: library/functions.rst:1890
+#: library/functions.rst:1893
 #, fuzzy
 msgid ""
 "The left-to-right evaluation order of the iterables is guaranteed. This "
@@ -3498,7 +3501,7 @@ msgstr ""
 "l'itérateur. Cela a pour effet de diviser la séquence en morceaux de taille "
 "*n*."
 
-#: library/functions.rst:1896
+#: library/functions.rst:1899
 msgid ""
 ":func:`zip` in conjunction with the ``*`` operator can be used to unzip a "
 "list::"
@@ -3506,12 +3509,12 @@ msgstr ""
 ":func:`zip` peut être utilisée conjointement avec l'opérateur ``*`` pour "
 "dézipper une liste ::"
 
-#: library/functions.rst:1907
+#: library/functions.rst:1910
 #, fuzzy
 msgid "Added the ``strict`` argument."
 msgstr "ajout de l'argument nommé *flush*."
 
-#: library/functions.rst:1919
+#: library/functions.rst:1922
 msgid ""
 "This is an advanced function that is not needed in everyday Python "
 "programming, unlike :func:`importlib.import_module`."
@@ -3519,7 +3522,7 @@ msgstr ""
 "C'est une fonction avancée qui n'est pas fréquemment nécessaire, "
 "contrairement à :func:`importlib.import_module`."
 
-#: library/functions.rst:1922
+#: library/functions.rst:1925
 msgid ""
 "This function is invoked by the :keyword:`import` statement.  It can be "
 "replaced (by importing the :mod:`builtins` module and assigning to "
@@ -3539,7 +3542,7 @@ msgstr ""
 "à trouver l'implémentation par défaut. L'usage direct de :func:`__import__` "
 "est aussi déconseillé en faveur de :func:`importlib.import_module`."
 
-#: library/functions.rst:1931
+#: library/functions.rst:1934
 #, fuzzy
 msgid ""
 "The function imports the module *name*, potentially using the given "
@@ -3556,7 +3559,7 @@ msgstr ""
 "l'argument *locals* et n'utilise *globals* que pour déterminer le contexte "
 "du paquet de l'instruction :keyword:`import`."
 
-#: library/functions.rst:1938
+#: library/functions.rst:1941
 msgid ""
 "*level* specifies whether to use absolute or relative imports. ``0`` (the "
 "default) means only perform absolute imports.  Positive values for *level* "
@@ -3569,7 +3572,7 @@ msgstr ""
 "positive indique le nombre de dossiers parents relativement au dossier du "
 "module appelant :func:`__import__` (voir la :pep:`328`)."
 
-#: library/functions.rst:1944
+#: library/functions.rst:1947
 msgid ""
 "When the *name* variable is of the form ``package.module``, normally, the "
 "top-level package (the name up till the first dot) is returned, *not* the "
@@ -3581,7 +3584,7 @@ msgstr ""
 "et *pas* le module nommé par *name*. Cependant, lorsqu'un argument "
 "*fromlist* est fourni, le module nommé par *name* est renvoyé."
 
-#: library/functions.rst:1949
+#: library/functions.rst:1952
 msgid ""
 "For example, the statement ``import spam`` results in bytecode resembling "
 "the following code::"
@@ -3589,11 +3592,11 @@ msgstr ""
 "Par exemple, l'instruction ``import spam`` renvoie un code intermédiaire "
 "(*bytecode* en anglais) ressemblant au code suivant ::"
 
-#: library/functions.rst:1954
+#: library/functions.rst:1957
 msgid "The statement ``import spam.ham`` results in this call::"
 msgstr "L'instruction ``import spam.ham`` appelle ::"
 
-#: library/functions.rst:1958
+#: library/functions.rst:1961
 msgid ""
 "Note how :func:`__import__` returns the toplevel module here because this is "
 "the object that is bound to a name by the :keyword:`import` statement."
@@ -3601,7 +3604,7 @@ msgstr ""
 "Notez comment :func:`__import__` renvoie ici le module de plus haut niveau "
 "parce que c'est l'objet lié à un nom par l'instruction :keyword:`import`."
 
-#: library/functions.rst:1961
+#: library/functions.rst:1964
 msgid ""
 "On the other hand, the statement ``from spam.ham import eggs, sausage as "
 "saus`` results in ::"
@@ -3609,7 +3612,7 @@ msgstr ""
 "En revanche, l'instruction ``from spam.ham import eggs, sausage as saus`` "
 "donne ::"
 
-#: library/functions.rst:1968
+#: library/functions.rst:1971
 msgid ""
 "Here, the ``spam.ham`` module is returned from :func:`__import__`.  From "
 "this object, the names to import are retrieved and assigned to their "
@@ -3618,7 +3621,7 @@ msgstr ""
 "Ici le module ``spam.ham`` est renvoyé par :func:`__import__`. De cet objet, "
 "les noms à importer sont récupérés et assignés à leurs noms respectifs."
 
-#: library/functions.rst:1972
+#: library/functions.rst:1975
 msgid ""
 "If you simply want to import a module (potentially within a package) by "
 "name, use :func:`importlib.import_module`."
@@ -3626,7 +3629,7 @@ msgstr ""
 "Si vous voulez simplement importer un module (potentiellement dans un "
 "paquet) par son nom, utilisez :func:`importlib.import_module`."
 
-#: library/functions.rst:1975
+#: library/functions.rst:1978
 msgid ""
 "Negative values for *level* are no longer supported (which also changes the "
 "default value to 0)."
@@ -3634,7 +3637,7 @@ msgstr ""
 "les valeurs négatives pour *level* ne sont plus prises en charge (et sa "
 "valeur par défaut est 0)."
 
-#: library/functions.rst:1979
+#: library/functions.rst:1982
 msgid ""
 "When the command line options :option:`-E` or :option:`-I` are being used, "
 "the environment variable :envvar:`PYTHONCASEOK` is now ignored."
@@ -3642,11 +3645,11 @@ msgstr ""
 "quand les options :option:`-E` ou :option:`-I` sont précisées dans la ligne "
 "de commande, la variable d'environnement :envvar:`PYTHONCASEOK` est ignorée."
 
-#: library/functions.rst:1984
+#: library/functions.rst:1987
 msgid "Footnotes"
 msgstr "Notes"
 
-#: library/functions.rst:1985
+#: library/functions.rst:1988
 msgid ""
 "Note that the parser only accepts the Unix-style end of line convention. If "
 "you are reading the code from a file, make sure to use newline conversion "
diff --git a/library/importlib.metadata.po b/library/importlib.metadata.po
index b59777f8d..9adc3b3ca 100644
--- a/library/importlib.metadata.po
+++ b/library/importlib.metadata.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-21 15:04+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2019-09-04 11:42+0200\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -23,7 +23,7 @@ msgid "``importlib.metadata`` is no longer provisional."
 msgstr ""
 
 #: library/importlib.metadata.rst:14
-msgid "**Source code:** :source:`Lib/importlib/metadata.py`"
+msgid "**Source code:** :source:`Lib/importlib/metadata/__init__.py`"
 msgstr ""
 
 #: library/importlib.metadata.rst:16
diff --git a/library/importlib.po b/library/importlib.po
index 7d050d343..b23e3db14 100644
--- a/library/importlib.po
+++ b/library/importlib.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-23 16:16+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2018-07-04 11:26+0200\n"
 "Last-Translator: Julien Palard <julien@palard.fr>\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -431,8 +431,8 @@ msgid ""
 "Can use :meth:`find_spec` to provide functionality."
 msgstr ""
 
-#: library/importlib.rst:361 library/importlib.rst:1149
-#: library/importlib.rst:1206
+#: library/importlib.rst:361 library/importlib.rst:1189
+#: library/importlib.rst:1246
 msgid "Use :meth:`find_spec` instead."
 msgstr ""
 
@@ -510,7 +510,7 @@ msgid ""
 "definition for a loader."
 msgstr ""
 
-#: library/importlib.rst:870
+#: library/importlib.rst:910
 msgid ""
 "Loaders that wish to support resource reading should implement a "
 "``get_resource_reader(fullname)`` method as specified by :class:`importlib."
@@ -901,7 +901,7 @@ msgstr ""
 msgid "Use :meth:`Loader.exec_module` instead."
 msgstr ""
 
-#: library/importlib.rst:1351
+#: library/importlib.rst:1391
 msgid "Returns :attr:`path`."
 msgstr ""
 
@@ -1033,7 +1033,47 @@ msgid ""
 "directories and opening files."
 msgstr ""
 
-#: library/importlib.rst:821
+#: library/importlib.rst:820
+msgid "The base name of this object without any parent references."
+msgstr ""
+
+#: library/importlib.rst:824
+msgid "Yield Traversable objects in self."
+msgstr ""
+
+#: library/importlib.rst:828
+msgid "Return True if self is a directory."
+msgstr ""
+
+#: library/importlib.rst:832
+msgid "Return True if self is a file."
+msgstr ""
+
+#: library/importlib.rst:840
+msgid "Return Traversable child in self."
+msgstr ""
+
+#: library/importlib.rst:844
+msgid ""
+"*mode* may be 'r' or 'rb' to open as text or binary. Return a handle "
+"suitable for reading (same as :attr:`pathlib.Path.open`)."
+msgstr ""
+
+#: library/importlib.rst:847
+msgid ""
+"When opening as text, accepts encoding parameters such as those accepted by :"
+"attr:`io.TextIOWrapper`."
+msgstr ""
+
+#: library/importlib.rst:852
+msgid "Read contents of self as bytes."
+msgstr ""
+
+#: library/importlib.rst:856
+msgid "Read contents of self as text."
+msgstr ""
+
+#: library/importlib.rst:861
 msgid ""
 "An abstract base class for resource readers capable of serving the ``files`` "
 "interface. Subclasses ResourceReader and provides concrete implementations "
@@ -1041,21 +1081,21 @@ msgid ""
 "TraversableReader also supplies ResourceReader."
 msgstr ""
 
-#: library/importlib.rst:827
+#: library/importlib.rst:867
 msgid ""
 "Loaders that wish to support resource reading are expected to implement this "
 "interface."
 msgstr ""
 
-#: library/importlib.rst:834
+#: library/importlib.rst:874
 msgid ":mod:`importlib.resources` -- Resources"
 msgstr ""
 
-#: library/importlib.rst:839
+#: library/importlib.rst:879
 msgid "**Source code:** :source:`Lib/importlib/resources.py`"
 msgstr ""
 
-#: library/importlib.rst:845
+#: library/importlib.rst:885
 msgid ""
 "This module leverages Python's import system to provide access to "
 "*resources* within *packages*.  If you can import a package, you can access "
@@ -1063,7 +1103,7 @@ msgid ""
 "binary or text mode."
 msgstr ""
 
-#: library/importlib.rst:850
+#: library/importlib.rst:890
 msgid ""
 "Resources are roughly akin to files inside directories, though it's "
 "important to keep in mind that this is just a metaphor.  Resources and "
@@ -1071,7 +1111,7 @@ msgid ""
 "file system."
 msgstr ""
 
-#: library/importlib.rst:856
+#: library/importlib.rst:896
 msgid ""
 "This module provides functionality similar to `pkg_resources <https://"
 "setuptools.readthedocs.io/en/latest/pkg_resources.html>`_ `Basic Resource "
@@ -1081,7 +1121,7 @@ msgid ""
 "consistent semantics."
 msgstr ""
 
-#: library/importlib.rst:864
+#: library/importlib.rst:904
 msgid ""
 "The standalone backport of this module provides more information on `using "
 "importlib.resources <http://importlib-resources.readthedocs.io/en/latest/"
@@ -1089,11 +1129,11 @@ msgid ""
 "<http://importlib-resources.readthedocs.io/en/latest/migration.html>`_."
 msgstr ""
 
-#: library/importlib.rst:874
+#: library/importlib.rst:914
 msgid "The following types are defined."
 msgstr ""
 
-#: library/importlib.rst:878
+#: library/importlib.rst:918
 msgid ""
 "The ``Package`` type is defined as ``Union[str, ModuleType]``.  This means "
 "that where the function describes accepting a ``Package``, you can pass in "
@@ -1101,17 +1141,17 @@ msgid ""
 "``__spec__.submodule_search_locations`` that is not ``None``."
 msgstr ""
 
-#: library/importlib.rst:885
+#: library/importlib.rst:925
 msgid ""
 "This type describes the resource names passed into the various functions in "
 "this package.  This is defined as ``Union[str, os.PathLike]``."
 msgstr ""
 
-#: library/importlib.rst:889
+#: library/importlib.rst:929
 msgid "The following functions are available."
 msgstr ""
 
-#: library/importlib.rst:894
+#: library/importlib.rst:934
 msgid ""
 "Returns an :class:`importlib.resources.abc.Traversable` object representing "
 "the resource container for the package (think directory) and its resources "
@@ -1119,13 +1159,13 @@ msgid ""
 "subdirectories)."
 msgstr ""
 
-#: library/importlib.rst:1000
+#: library/importlib.rst:1040
 msgid ""
 "*package* is either a name or a module object which conforms to the "
 "``Package`` requirements."
 msgstr ""
 
-#: library/importlib.rst:906
+#: library/importlib.rst:946
 msgid ""
 "Given a :class:`importlib.resources.abc.Traversable` object representing a "
 "file, typically from :func:`importlib.resources.files`, return a context "
@@ -1133,23 +1173,23 @@ msgid ""
 "a :class:`pathlib.Path` object."
 msgstr ""
 
-#: library/importlib.rst:911
+#: library/importlib.rst:951
 msgid ""
 "Exiting the context manager cleans up any temporary file created when the "
 "resource was extracted from e.g. a zip file."
 msgstr ""
 
-#: library/importlib.rst:914
+#: library/importlib.rst:954
 msgid ""
 "Use ``as_file`` when the Traversable methods (``read_text``, etc) are "
 "insufficient and an actual file on the file system is required."
 msgstr ""
 
-#: library/importlib.rst:922
+#: library/importlib.rst:962
 msgid "Open for binary reading the *resource* within *package*."
 msgstr ""
 
-#: library/importlib.rst:924
+#: library/importlib.rst:964
 msgid ""
 "*package* is either a name or a module object which conforms to the "
 "``Package`` requirements.  *resource* is the name of the resource to open "
@@ -1158,13 +1198,13 @@ msgid ""
 "BinaryIO`` instance, a binary I/O stream open for reading."
 msgstr ""
 
-#: library/importlib.rst:933
+#: library/importlib.rst:973
 msgid ""
 "Open for text reading the *resource* within *package*.  By default, the "
 "resource is opened for reading as UTF-8."
 msgstr ""
 
-#: library/importlib.rst:936
+#: library/importlib.rst:976
 msgid ""
 "*package* is either a name or a module object which conforms to the "
 "``Package`` requirements.  *resource* is the name of the resource to open "
@@ -1173,18 +1213,18 @@ msgid ""
 "same meaning as with built-in :func:`open`."
 msgstr ""
 
-#: library/importlib.rst:942
+#: library/importlib.rst:982
 msgid ""
 "This function returns a ``typing.TextIO`` instance, a text I/O stream open "
 "for reading."
 msgstr ""
 
-#: library/importlib.rst:948
+#: library/importlib.rst:988
 msgid ""
 "Read and return the contents of the *resource* within *package* as ``bytes``."
 msgstr ""
 
-#: library/importlib.rst:951
+#: library/importlib.rst:991
 msgid ""
 "*package* is either a name or a module object which conforms to the "
 "``Package`` requirements.  *resource* is the name of the resource to open "
@@ -1193,13 +1233,13 @@ msgid ""
 "contents of the resource as :class:`bytes`."
 msgstr ""
 
-#: library/importlib.rst:960
+#: library/importlib.rst:1000
 msgid ""
 "Read and return the contents of *resource* within *package* as a ``str``. By "
 "default, the contents are read as strict UTF-8."
 msgstr ""
 
-#: library/importlib.rst:963
+#: library/importlib.rst:1003
 msgid ""
 "*package* is either a name or a module object which conforms to the "
 "``Package`` requirements.  *resource* is the name of the resource to open "
@@ -1209,20 +1249,20 @@ msgid ""
 "contents of the resource as :class:`str`."
 msgstr ""
 
-#: library/importlib.rst:973
+#: library/importlib.rst:1013
 msgid ""
 "Return the path to the *resource* as an actual file system path.  This "
 "function returns a context manager for use in a :keyword:`with` statement. "
 "The context manager provides a :class:`pathlib.Path` object."
 msgstr ""
 
-#: library/importlib.rst:977
+#: library/importlib.rst:1017
 msgid ""
 "Exiting the context manager cleans up any temporary file created when the "
 "resource needs to be extracted from e.g. a zip file."
 msgstr ""
 
-#: library/importlib.rst:980
+#: library/importlib.rst:1020
 msgid ""
 "*package* is either a name or a module object which conforms to the "
 "``Package`` requirements.  *resource* is the name of the resource to open "
@@ -1230,7 +1270,7 @@ msgid ""
 "resources (i.e. it cannot be a directory)."
 msgstr ""
 
-#: library/importlib.rst:988
+#: library/importlib.rst:1028
 msgid ""
 "Return ``True`` if there is a resource named *name* in the package, "
 "otherwise ``False``.  Remember that directories are *not* resources! "
@@ -1238,66 +1278,66 @@ msgid ""
 "``Package`` requirements."
 msgstr ""
 
-#: library/importlib.rst:996
+#: library/importlib.rst:1036
 msgid ""
 "Return an iterable over the named items within the package.  The iterable "
 "returns :class:`str` resources (e.g. files) and non-resources (e.g. "
 "directories).  The iterable does not recurse into subdirectories."
 msgstr ""
 
-#: library/importlib.rst:1005
+#: library/importlib.rst:1045
 msgid ":mod:`importlib.machinery` -- Importers and path hooks"
 msgstr ""
 
-#: library/importlib.rst:1010
+#: library/importlib.rst:1050
 msgid "**Source code:** :source:`Lib/importlib/machinery.py`"
 msgstr ""
 
-#: library/importlib.rst:1014
+#: library/importlib.rst:1054
 msgid ""
 "This module contains the various objects that help :keyword:`import` find "
 "and load modules."
 msgstr ""
 
-#: library/importlib.rst:1019
+#: library/importlib.rst:1059
 msgid ""
 "A list of strings representing the recognized file suffixes for source "
 "modules."
 msgstr ""
 
-#: library/importlib.rst:1026
+#: library/importlib.rst:1066
 msgid ""
 "A list of strings representing the file suffixes for non-optimized bytecode "
 "modules."
 msgstr ""
 
-#: library/importlib.rst:1041
+#: library/importlib.rst:1081
 msgid "Use :attr:`BYTECODE_SUFFIXES` instead."
 msgstr ""
 
-#: library/importlib.rst:1036
+#: library/importlib.rst:1076
 msgid ""
 "A list of strings representing the file suffixes for optimized bytecode "
 "modules."
 msgstr ""
 
-#: library/importlib.rst:1046
+#: library/importlib.rst:1086
 msgid ""
 "A list of strings representing the recognized file suffixes for bytecode "
 "modules (including the leading dot)."
 msgstr ""
 
-#: library/importlib.rst:1051
+#: library/importlib.rst:1091
 msgid "The value is no longer dependent on ``__debug__``."
 msgstr ""
 
-#: library/importlib.rst:1056
+#: library/importlib.rst:1096
 msgid ""
 "A list of strings representing the recognized file suffixes for extension "
 "modules."
 msgstr ""
 
-#: library/importlib.rst:1063
+#: library/importlib.rst:1103
 msgid ""
 "Returns a combined list of strings representing all file suffixes for "
 "modules recognized by the standard import machinery. This is a helper for "
@@ -1306,56 +1346,56 @@ msgid ""
 "`inspect.getmodulename`)."
 msgstr ""
 
-#: library/importlib.rst:1074
+#: library/importlib.rst:1114
 msgid ""
 "An :term:`importer` for built-in modules. All known built-in modules are "
 "listed in :data:`sys.builtin_module_names`. This class implements the :class:"
 "`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs."
 msgstr ""
 
-#: library/importlib.rst:1093 library/importlib.rst:1121
+#: library/importlib.rst:1133 library/importlib.rst:1161
 msgid ""
 "Only class methods are defined by this class to alleviate the need for "
 "instantiation."
 msgstr ""
 
-#: library/importlib.rst:1082
+#: library/importlib.rst:1122
 msgid ""
 "As part of :pep:`489`, the builtin importer now implements :meth:`Loader."
 "create_module` and :meth:`Loader.exec_module`"
 msgstr ""
 
-#: library/importlib.rst:1089
+#: library/importlib.rst:1129
 msgid ""
 "An :term:`importer` for frozen modules. This class implements the :class:"
 "`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs."
 msgstr ""
 
-#: library/importlib.rst:1096
+#: library/importlib.rst:1136
 msgid ""
 "Gained :meth:`~Loader.create_module` and :meth:`~Loader.exec_module` methods."
 msgstr ""
 
-#: library/importlib.rst:1103
+#: library/importlib.rst:1143
 msgid ""
 ":term:`Finder <finder>` for modules declared in the Windows registry.  This "
 "class implements the :class:`importlib.abc.MetaPathFinder` ABC."
 msgstr ""
 
-#: library/importlib.rst:1111
+#: library/importlib.rst:1151
 msgid ""
 "Use :mod:`site` configuration instead. Future versions of Python may not "
 "enable this finder by default."
 msgstr ""
 
-#: library/importlib.rst:1118
+#: library/importlib.rst:1158
 msgid ""
 "A :term:`Finder <finder>` for :data:`sys.path` and package ``__path__`` "
 "attributes. This class implements the :class:`importlib.abc.MetaPathFinder` "
 "ABC."
 msgstr ""
 
-#: library/importlib.rst:1126
+#: library/importlib.rst:1166
 msgid ""
 "Class method that attempts to find a :term:`spec <module spec>` for the "
 "module specified by *fullname* on :data:`sys.path` or, if defined, on "
@@ -1369,47 +1409,47 @@ msgid ""
 "cache and returned."
 msgstr ""
 
-#: library/importlib.rst:1140
+#: library/importlib.rst:1180
 msgid ""
 "If the current working directory -- represented by an empty string -- is no "
 "longer valid then ``None`` is returned but no value is cached in :data:`sys."
 "path_importer_cache`."
 msgstr ""
 
-#: library/importlib.rst:1147
+#: library/importlib.rst:1187
 msgid "A legacy wrapper around :meth:`find_spec`."
 msgstr ""
 
-#: library/importlib.rst:1154
+#: library/importlib.rst:1194
 msgid ""
 "Calls :meth:`importlib.abc.PathEntryFinder.invalidate_caches` on all finders "
 "stored in :data:`sys.path_importer_cache` that define the method. Otherwise "
 "entries in :data:`sys.path_importer_cache` set to ``None`` are deleted."
 msgstr ""
 
-#: library/importlib.rst:1159
+#: library/importlib.rst:1199
 msgid "Entries of ``None`` in :data:`sys.path_importer_cache` are deleted."
 msgstr ""
 
-#: library/importlib.rst:1162
+#: library/importlib.rst:1202
 msgid ""
 "Calls objects in :data:`sys.path_hooks` with the current working directory "
 "for ``''`` (i.e. the empty string)."
 msgstr ""
 
-#: library/importlib.rst:1169
+#: library/importlib.rst:1209
 msgid ""
 "A concrete implementation of :class:`importlib.abc.PathEntryFinder` which "
 "caches results from the file system."
 msgstr ""
 
-#: library/importlib.rst:1172
+#: library/importlib.rst:1212
 msgid ""
 "The *path* argument is the directory for which the finder is in charge of "
 "searching."
 msgstr ""
 
-#: library/importlib.rst:1175
+#: library/importlib.rst:1215
 msgid ""
 "The *loader_details* argument is a variable number of 2-item tuples each "
 "containing a loader and a sequence of file suffixes the loader recognizes. "
@@ -1417,7 +1457,7 @@ msgid ""
 "module's name and the path to the file found."
 msgstr ""
 
-#: library/importlib.rst:1180
+#: library/importlib.rst:1220
 msgid ""
 "The finder will cache the directory contents as necessary, making stat calls "
 "for each module search to verify the cache is not outdated. Because cache "
@@ -1430,152 +1470,152 @@ msgid ""
 "to call :func:`importlib.invalidate_caches`."
 msgstr ""
 
-#: library/importlib.rst:1194
+#: library/importlib.rst:1234
 msgid "The path the finder will search in."
 msgstr ""
 
-#: library/importlib.rst:1198
+#: library/importlib.rst:1238
 msgid "Attempt to find the spec to handle *fullname* within :attr:`path`."
 msgstr ""
 
-#: library/importlib.rst:1204
+#: library/importlib.rst:1244
 msgid "Attempt to find the loader to handle *fullname* within :attr:`path`."
 msgstr ""
 
-#: library/importlib.rst:1211
+#: library/importlib.rst:1251
 msgid "Clear out the internal cache."
 msgstr ""
 
-#: library/importlib.rst:1215
+#: library/importlib.rst:1255
 msgid ""
 "A class method which returns a closure for use on :attr:`sys.path_hooks`. An "
 "instance of :class:`FileFinder` is returned by the closure using the path "
 "argument given to the closure directly and *loader_details* indirectly."
 msgstr ""
 
-#: library/importlib.rst:1220
+#: library/importlib.rst:1260
 msgid ""
 "If the argument to the closure is not an existing directory, :exc:"
 "`ImportError` is raised."
 msgstr ""
 
-#: library/importlib.rst:1226
+#: library/importlib.rst:1266
 msgid ""
 "A concrete implementation of :class:`importlib.abc.SourceLoader` by "
 "subclassing :class:`importlib.abc.FileLoader` and providing some concrete "
 "implementations of other methods."
 msgstr ""
 
-#: library/importlib.rst:1234
+#: library/importlib.rst:1274
 msgid "The name of the module that this loader will handle."
 msgstr ""
 
-#: library/importlib.rst:1238
+#: library/importlib.rst:1278
 msgid "The path to the source file."
 msgstr ""
 
-#: library/importlib.rst:1242
+#: library/importlib.rst:1282
 msgid "Return ``True`` if :attr:`path` appears to be for a package."
 msgstr ""
 
-#: library/importlib.rst:1246
+#: library/importlib.rst:1286
 msgid ""
 "Concrete implementation of :meth:`importlib.abc.SourceLoader.path_stats`."
 msgstr ""
 
-#: library/importlib.rst:1250
+#: library/importlib.rst:1290
 msgid "Concrete implementation of :meth:`importlib.abc.SourceLoader.set_data`."
 msgstr ""
 
-#: library/importlib.rst:1297
+#: library/importlib.rst:1337
 msgid ""
 "Concrete implementation of :meth:`importlib.abc.Loader.load_module` where "
 "specifying the name of the module to load is optional."
 msgstr ""
 
-#: library/importlib.rst:1302
+#: library/importlib.rst:1342
 msgid "Use :meth:`importlib.abc.Loader.exec_module` instead."
 msgstr ""
 
-#: library/importlib.rst:1264
+#: library/importlib.rst:1304
 msgid ""
 "A concrete implementation of :class:`importlib.abc.FileLoader` which can "
 "import bytecode files (i.e. no source code files exist)."
 msgstr ""
 
-#: library/importlib.rst:1267
+#: library/importlib.rst:1307
 msgid ""
 "Please note that direct use of bytecode files (and thus not source code "
 "files) inhibits your modules from being usable by all Python implementations "
 "or new versions of Python which change the bytecode format."
 msgstr ""
 
-#: library/importlib.rst:1276
+#: library/importlib.rst:1316
 msgid "The name of the module the loader will handle."
 msgstr ""
 
-#: library/importlib.rst:1280
+#: library/importlib.rst:1320
 msgid "The path to the bytecode file."
 msgstr ""
 
-#: library/importlib.rst:1284
+#: library/importlib.rst:1324
 msgid "Determines if the module is a package based on :attr:`path`."
 msgstr ""
 
-#: library/importlib.rst:1288
+#: library/importlib.rst:1328
 msgid "Returns the code object for :attr:`name` created from :attr:`path`."
 msgstr ""
 
-#: library/importlib.rst:1292
+#: library/importlib.rst:1332
 msgid ""
 "Returns ``None`` as bytecode files have no source when this loader is used."
 msgstr ""
 
-#: library/importlib.rst:1307
+#: library/importlib.rst:1347
 msgid ""
 "A concrete implementation of :class:`importlib.abc.ExecutionLoader` for "
 "extension modules."
 msgstr ""
 
-#: library/importlib.rst:1310
+#: library/importlib.rst:1350
 msgid ""
 "The *fullname* argument specifies the name of the module the loader is to "
 "support. The *path* argument is the path to the extension module's file."
 msgstr ""
 
-#: library/importlib.rst:1317
+#: library/importlib.rst:1357
 msgid "Name of the module the loader supports."
 msgstr ""
 
-#: library/importlib.rst:1321
+#: library/importlib.rst:1361
 msgid "Path to the extension module."
 msgstr ""
 
-#: library/importlib.rst:1325
+#: library/importlib.rst:1365
 msgid ""
 "Creates the module object from the given specification in accordance with :"
 "pep:`489`."
 msgstr ""
 
-#: library/importlib.rst:1332
+#: library/importlib.rst:1372
 msgid "Initializes the given module object in accordance with :pep:`489`."
 msgstr ""
 
-#: library/importlib.rst:1338
+#: library/importlib.rst:1378
 msgid ""
 "Returns ``True`` if the file path points to a package's ``__init__`` module "
 "based on :attr:`EXTENSION_SUFFIXES`."
 msgstr ""
 
-#: library/importlib.rst:1343
+#: library/importlib.rst:1383
 msgid "Returns ``None`` as extension modules lack a code object."
 msgstr ""
 
-#: library/importlib.rst:1347
+#: library/importlib.rst:1387
 msgid "Returns ``None`` as extension modules do not have source code."
 msgstr ""
 
-#: library/importlib.rst:1358
+#: library/importlib.rst:1398
 msgid ""
 "A specification for a module's import-system-related state.  This is "
 "typically exposed as the module's ``__spec__`` attribute.  In the "
@@ -1588,29 +1628,29 @@ msgid ""
 "``__spec__.submodule_search_locations``."
 msgstr ""
 
-#: library/importlib.rst:1372
+#: library/importlib.rst:1412
 msgid "(``__name__``)"
 msgstr ""
 
-#: library/importlib.rst:1374
+#: library/importlib.rst:1414
 msgid "A string for the fully-qualified name of the module."
 msgstr ""
 
-#: library/importlib.rst:1378
+#: library/importlib.rst:1418
 msgid "(``__loader__``)"
 msgstr ""
 
-#: library/importlib.rst:1380
+#: library/importlib.rst:1420
 msgid ""
 "The :term:`Loader <loader>` that should be used when loading the module.  :"
 "term:`Finders <finder>` should always set this."
 msgstr ""
 
-#: library/importlib.rst:1385
+#: library/importlib.rst:1425
 msgid "(``__file__``)"
 msgstr ""
 
-#: library/importlib.rst:1387
+#: library/importlib.rst:1427
 msgid ""
 "Name of the place from which the module is loaded, e.g. \"builtin\" for "
 "built-in modules and the filename for modules loaded from source. Normally "
@@ -1618,67 +1658,67 @@ msgid ""
 "indicates it is unspecified (e.g. for namespace packages)."
 msgstr ""
 
-#: library/importlib.rst:1394
+#: library/importlib.rst:1434
 msgid "(``__path__``)"
 msgstr ""
 
-#: library/importlib.rst:1396
+#: library/importlib.rst:1436
 msgid ""
 "List of strings for where to find submodules, if a package (``None`` "
 "otherwise)."
 msgstr ""
 
-#: library/importlib.rst:1401
+#: library/importlib.rst:1441
 msgid ""
 "Container of extra module-specific data for use during loading (or ``None``)."
 msgstr ""
 
-#: library/importlib.rst:1406
+#: library/importlib.rst:1446
 msgid "(``__cached__``)"
 msgstr ""
 
-#: library/importlib.rst:1408
+#: library/importlib.rst:1448
 msgid "String for where the compiled module should be stored (or ``None``)."
 msgstr ""
 
-#: library/importlib.rst:1412
+#: library/importlib.rst:1452
 msgid "(``__package__``)"
 msgstr ""
 
-#: library/importlib.rst:1414
+#: library/importlib.rst:1454
 msgid ""
 "(Read-only) The fully-qualified name of the package under which the module "
 "should be loaded as a submodule (or the empty string for top-level modules). "
 "For packages, it is the same as :attr:`__name__`."
 msgstr ""
 
-#: library/importlib.rst:1420
+#: library/importlib.rst:1460
 msgid ""
 "Boolean indicating whether or not the module's \"origin\" attribute refers "
 "to a loadable location."
 msgstr ""
 
-#: library/importlib.rst:1424
+#: library/importlib.rst:1464
 msgid ":mod:`importlib.util` -- Utility code for importers"
 msgstr ""
 
-#: library/importlib.rst:1430
+#: library/importlib.rst:1470
 msgid "**Source code:** :source:`Lib/importlib/util.py`"
 msgstr ""
 
-#: library/importlib.rst:1434
+#: library/importlib.rst:1474
 msgid ""
 "This module contains the various objects that help in the construction of "
 "an :term:`importer`."
 msgstr ""
 
-#: library/importlib.rst:1439
+#: library/importlib.rst:1479
 msgid ""
 "The bytes which represent the bytecode version number. If you need help with "
 "loading/writing bytecode then consider :class:`importlib.abc.SourceLoader`."
 msgstr ""
 
-#: library/importlib.rst:1446
+#: library/importlib.rst:1486
 msgid ""
 "Return the :pep:`3147`/:pep:`488` path to the byte-compiled file associated "
 "with the source *path*.  For example, if *path* is ``/foo/bar/baz.py`` the "
@@ -1688,7 +1728,7 @@ msgid ""
 "`NotImplementedError` will be raised)."
 msgstr ""
 
-#: library/importlib.rst:1453
+#: library/importlib.rst:1493
 msgid ""
 "The *optimization* parameter is used to specify the optimization level of "
 "the bytecode file. An empty string represents no optimization, so ``/foo/bar/"
@@ -1701,7 +1741,7 @@ msgid ""
 "be alphanumeric, else :exc:`ValueError` is raised."
 msgstr ""
 
-#: library/importlib.rst:1463
+#: library/importlib.rst:1503
 msgid ""
 "The *debug_override* parameter is deprecated and can be used to override the "
 "system's value for ``__debug__``. A ``True`` value is the equivalent of "
@@ -1710,17 +1750,17 @@ msgid ""
 "are not ``None`` then :exc:`TypeError` is raised."
 msgstr ""
 
-#: library/importlib.rst:1471
+#: library/importlib.rst:1511
 msgid ""
 "The *optimization* parameter was added and the *debug_override* parameter "
 "was deprecated."
 msgstr ""
 
-#: library/importlib.rst:1491 library/importlib.rst:1640
+#: library/importlib.rst:1531 library/importlib.rst:1680
 msgid "Accepts a :term:`path-like object`."
 msgstr "Accepte un :term:`path-like object`."
 
-#: library/importlib.rst:1481
+#: library/importlib.rst:1521
 msgid ""
 "Given the *path* to a :pep:`3147` file name, return the associated source "
 "code file path.  For example, if *path* is ``/foo/bar/__pycache__/baz."
@@ -1730,25 +1770,25 @@ msgid ""
 "cache_tag` is not defined, :exc:`NotImplementedError` is raised."
 msgstr ""
 
-#: library/importlib.rst:1496
+#: library/importlib.rst:1536
 msgid ""
 "Decode the given bytes representing source code and return it as a string "
 "with universal newlines (as required by :meth:`importlib.abc.InspectLoader."
 "get_source`)."
 msgstr ""
 
-#: library/importlib.rst:1504
+#: library/importlib.rst:1544
 msgid "Resolve a relative module name to an absolute one."
 msgstr ""
 
-#: library/importlib.rst:1506
+#: library/importlib.rst:1546
 msgid ""
 "If  **name** has no leading dots, then **name** is simply returned. This "
 "allows for usage such as ``importlib.util.resolve_name('sys', __spec__."
 "parent)`` without doing a check to see if the **package** argument is needed."
 msgstr ""
 
-#: library/importlib.rst:1511
+#: library/importlib.rst:1551
 msgid ""
 ":exc:`ImportError` is raised if **name** is a relative module name but "
 "**package** is a false value (e.g. ``None`` or the empty string). :exc:"
@@ -1756,13 +1796,13 @@ msgid ""
 "package (e.g. requesting ``..bacon`` from within the ``spam`` package)."
 msgstr ""
 
-#: library/importlib.rst:1518
+#: library/importlib.rst:1558
 msgid ""
 "To improve consistency with import statements, raise :exc:`ImportError` "
 "instead of :exc:`ValueError` for invalid relative import attempts."
 msgstr ""
 
-#: library/importlib.rst:1525
+#: library/importlib.rst:1565
 msgid ""
 "Find the :term:`spec <module spec>` for a module, optionally relative to the "
 "specified **package** name. If the module is in :attr:`sys.modules`, then "
@@ -1772,30 +1812,30 @@ msgid ""
 "if no spec is found."
 msgstr ""
 
-#: library/importlib.rst:1532
+#: library/importlib.rst:1572
 msgid ""
 "If **name** is for a submodule (contains a dot), the parent module is "
 "automatically imported."
 msgstr ""
 
-#: library/importlib.rst:1535
+#: library/importlib.rst:1575
 msgid "**name** and **package** work the same as for :func:`import_module`."
 msgstr ""
 
-#: library/importlib.rst:1539
+#: library/importlib.rst:1579
 msgid ""
 "Raises :exc:`ModuleNotFoundError` instead of :exc:`AttributeError` if "
 "**package** is in fact not a package (i.e. lacks a :attr:`__path__` "
 "attribute)."
 msgstr ""
 
-#: library/importlib.rst:1546
+#: library/importlib.rst:1586
 msgid ""
 "Create a new module based on **spec** and :meth:`spec.loader.create_module "
 "<importlib.abc.Loader.create_module>`."
 msgstr ""
 
-#: library/importlib.rst:1549
+#: library/importlib.rst:1589
 msgid ""
 "If :meth:`spec.loader.create_module <importlib.abc.Loader.create_module>` "
 "does not return ``None``, then any pre-existing attributes will not be "
@@ -1803,14 +1843,14 @@ msgid ""
 "accessing **spec** or setting an attribute on the module."
 msgstr ""
 
-#: library/importlib.rst:1554
+#: library/importlib.rst:1594
 msgid ""
 "This function is preferred over using :class:`types.ModuleType` to create a "
 "new module as **spec** is used to set as many import-controlled attributes "
 "on the module as possible."
 msgstr ""
 
-#: library/importlib.rst:1562
+#: library/importlib.rst:1602
 msgid ""
 "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to handle "
 "selecting the proper module object to load with. The decorated method is "
@@ -1820,7 +1860,7 @@ msgid ""
 "work on static methods because of the assumption of two arguments."
 msgstr ""
 
-#: library/importlib.rst:1571
+#: library/importlib.rst:1611
 msgid ""
 "The decorated method will take in the **name** of the module to be loaded as "
 "expected for a :term:`loader`. If the module is not found in :data:`sys."
@@ -1830,7 +1870,7 @@ msgid ""
 "available). These attributes are set unconditionally to support reloading."
 msgstr ""
 
-#: library/importlib.rst:1579
+#: library/importlib.rst:1619
 msgid ""
 "If an exception is raised by the decorated method and a module was added to :"
 "data:`sys.modules`, then the module will be removed to prevent a partially "
@@ -1838,25 +1878,25 @@ msgid ""
 "was already in :data:`sys.modules` then it is left alone."
 msgstr ""
 
-#: library/importlib.rst:1584
+#: library/importlib.rst:1624
 msgid ""
 ":attr:`__loader__` and :attr:`__package__` are automatically set (when "
 "possible)."
 msgstr ""
 
-#: library/importlib.rst:1588
+#: library/importlib.rst:1628
 msgid ""
 "Set :attr:`__name__`, :attr:`__loader__` :attr:`__package__` unconditionally "
 "to support reloading."
 msgstr ""
 
-#: library/importlib.rst:1592
+#: library/importlib.rst:1632
 msgid ""
 "The import machinery now directly performs all the functionality provided by "
 "this function."
 msgstr ""
 
-#: library/importlib.rst:1598
+#: library/importlib.rst:1638
 msgid ""
 "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :"
 "attr:`__loader__` attribute on the returned module. If the attribute is "
@@ -1865,23 +1905,23 @@ msgid ""
 "`__loader__` should be set to."
 msgstr ""
 
-#: library/importlib.rst:1605
+#: library/importlib.rst:1645
 msgid ""
 "Set ``__loader__`` if set to ``None``, as if the attribute does not exist."
 msgstr ""
 
-#: library/importlib.rst:1618
+#: library/importlib.rst:1658
 msgid "The import machinery takes care of this automatically."
 msgstr ""
 
-#: library/importlib.rst:1614
+#: library/importlib.rst:1654
 msgid ""
 "A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :"
 "attr:`__package__` attribute on the returned module. If :attr:`__package__` "
 "is set and has a value other than ``None`` it will not be changed."
 msgstr ""
 
-#: library/importlib.rst:1623
+#: library/importlib.rst:1663
 msgid ""
 "A factory function for creating a :class:`~importlib.machinery.ModuleSpec` "
 "instance based on a loader.  The parameters have the same meaning as they do "
@@ -1890,7 +1930,7 @@ msgid ""
 "spec."
 msgstr ""
 
-#: library/importlib.rst:1633
+#: library/importlib.rst:1673
 msgid ""
 "A factory function for creating a :class:`~importlib.machinery.ModuleSpec` "
 "instance based on the path to a file.  Missing information will be filled in "
@@ -1898,20 +1938,20 @@ msgid ""
 "module will be file-based."
 msgstr ""
 
-#: library/importlib.rst:1645
+#: library/importlib.rst:1685
 msgid ""
 "Return the hash of *source_bytes* as bytes. A hash-based ``.pyc`` file "
 "embeds the :func:`source_hash` of the corresponding source file's contents "
 "in its header."
 msgstr ""
 
-#: library/importlib.rst:1653
+#: library/importlib.rst:1693
 msgid ""
 "A class which postpones the execution of the loader of a module until the "
 "module has an attribute accessed."
 msgstr ""
 
-#: library/importlib.rst:1656
+#: library/importlib.rst:1696
 msgid ""
 "This class **only** works with loaders that define :meth:`~importlib.abc."
 "Loader.exec_module` as control over what module type is used for the module "
@@ -1924,7 +1964,7 @@ msgid ""
 "raised if such a substitution is detected."
 msgstr ""
 
-#: library/importlib.rst:1667
+#: library/importlib.rst:1707
 msgid ""
 "For projects where startup time is critical, this class allows for "
 "potentially minimizing the cost of loading a module if it is never used. For "
@@ -1933,66 +1973,66 @@ msgid ""
 "postponed and thus occurring out of context."
 msgstr ""
 
-#: library/importlib.rst:1675
+#: library/importlib.rst:1715
 msgid ""
 "Began calling :meth:`~importlib.abc.Loader.create_module`, removing the "
 "compatibility warning for :class:`importlib.machinery.BuiltinImporter` and :"
 "class:`importlib.machinery.ExtensionFileLoader`."
 msgstr ""
 
-#: library/importlib.rst:1682
+#: library/importlib.rst:1722
 msgid ""
 "A static method which returns a callable that creates a lazy loader. This is "
 "meant to be used in situations where the loader is passed by class instead "
 "of by instance. ::"
 msgstr ""
 
-#: library/importlib.rst:1695
+#: library/importlib.rst:1735
 msgid "Examples"
 msgstr "Exemples"
 
-#: library/importlib.rst:1698
+#: library/importlib.rst:1738
 msgid "Importing programmatically"
 msgstr ""
 
-#: library/importlib.rst:1700
+#: library/importlib.rst:1740
 msgid ""
 "To programmatically import a module, use :func:`importlib.import_module`. ::"
 msgstr ""
 
-#: library/importlib.rst:1709
+#: library/importlib.rst:1749
 msgid "Checking if a module can be imported"
 msgstr ""
 
-#: library/importlib.rst:1711
+#: library/importlib.rst:1751
 msgid ""
 "If you need to find out if a module can be imported without actually doing "
 "the import, then you should use :func:`importlib.util.find_spec`. ::"
 msgstr ""
 
-#: library/importlib.rst:1734
+#: library/importlib.rst:1774
 msgid "Importing a source file directly"
 msgstr ""
 
-#: library/importlib.rst:1736
+#: library/importlib.rst:1776
 msgid ""
 "To import a Python source file directly, use the following recipe (Python "
 "3.5 and newer only)::"
 msgstr ""
 
-#: library/importlib.rst:1754
+#: library/importlib.rst:1794
 msgid "Implementing lazy imports"
 msgstr ""
 
-#: library/importlib.rst:1756
+#: library/importlib.rst:1796
 msgid "The example below shows how to implement lazy imports::"
 msgstr ""
 
-#: library/importlib.rst:1778
+#: library/importlib.rst:1818
 msgid "Setting up an importer"
 msgstr ""
 
-#: library/importlib.rst:1780
+#: library/importlib.rst:1820
 msgid ""
 "For deep customizations of import, you typically want to implement an :term:"
 "`importer`. This means managing both the :term:`finder` and :term:`loader` "
@@ -2006,11 +2046,11 @@ msgid ""
 "for the appropriate classes defined within this package)::"
 msgstr ""
 
-#: library/importlib.rst:1812
+#: library/importlib.rst:1852
 msgid "Approximating :func:`importlib.import_module`"
 msgstr ""
 
-#: library/importlib.rst:1814
+#: library/importlib.rst:1854
 msgid ""
 "Import itself is implemented in Python code, making it possible to expose "
 "most of the import machinery through importlib. The following helps "
diff --git a/library/multiprocessing.po b/library/multiprocessing.po
index ba46ae2d7..bc701357a 100644
--- a/library/multiprocessing.po
+++ b/library/multiprocessing.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-21 15:04+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2021-07-16 22:51+0200\n"
 "Last-Translator: Antoine Wecxsteen\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -3177,7 +3177,7 @@ msgstr ""
 "*processes* est le nombre de processus *workers* à utiliser. Si *processes* "
 "est ``None``, le nombre renvoyé par :func:`os.cpu_count` est utilisé."
 
-#: library/multiprocessing.rst:2133 library/multiprocessing.rst:2692
+#: library/multiprocessing.rst:2133 library/multiprocessing.rst:2693
 msgid ""
 "If *initializer* is not ``None`` then each worker process will call "
 "``initializer(*initargs)`` when it starts."
@@ -3957,33 +3957,35 @@ msgstr ""
 "journaliseur ne sera pas héritée."
 
 #: library/multiprocessing.rst:2640
+#, fuzzy
 msgid ""
 "This function performs a call to :func:`get_logger` but in addition to "
 "returning the logger created by get_logger, it adds a handler which sends "
 "output to :data:`sys.stderr` using format ``'[%(levelname)s/%(processName)s] "
-"%(message)s'``."
+"%(message)s'``. You can modify ``levelname`` of the logger by passing a "
+"``level`` argument."
 msgstr ""
 "Cette fonction effectue un appel à :func:`get_logger` mais en plus de "
 "renvoyer le journaliseur créé par *get_logger*, elle ajoute un gestionnaire "
 "qui envoie la sortie sur :data:`sys.stderr` en utilisant le format "
 "``'[%(levelname)s/%(processName)s] %(message)s'``."
 
-#: library/multiprocessing.rst:2645
+#: library/multiprocessing.rst:2646
 msgid "Below is an example session with logging turned on::"
 msgstr ""
 "L'exemple ci-dessous présente une session avec la journalisation activée ::"
 
-#: library/multiprocessing.rst:2660
+#: library/multiprocessing.rst:2661
 msgid "For a full table of logging levels, see the :mod:`logging` module."
 msgstr ""
 "Pour un tableau complet des niveaux de journalisation, voir le module :mod:"
 "`logging`."
 
-#: library/multiprocessing.rst:2664
+#: library/multiprocessing.rst:2665
 msgid "The :mod:`multiprocessing.dummy` module"
 msgstr "Le module :mod:`multiprocessing.dummy`"
 
-#: library/multiprocessing.rst:2669
+#: library/multiprocessing.rst:2670
 msgid ""
 ":mod:`multiprocessing.dummy` replicates the API of :mod:`multiprocessing` "
 "but is no more than a wrapper around the :mod:`threading` module."
@@ -3991,7 +3993,7 @@ msgstr ""
 ":mod:`multiprocessing.dummy` réplique toute l'API de :mod:`multiprocessing` "
 "mais n'est rien de plus qu'une interface autour du module :mod:`threading`."
 
-#: library/multiprocessing.rst:2674
+#: library/multiprocessing.rst:2675
 msgid ""
 "In particular, the ``Pool`` function provided by :mod:`multiprocessing."
 "dummy` returns an instance of :class:`ThreadPool`, which is a subclass of :"
@@ -4003,7 +4005,7 @@ msgstr ""
 "class:`Pool`. Elle a la même interface, mais elle utilise un pool de fils "
 "d'exécution plutôt qu'un pool de processus."
 
-#: library/multiprocessing.rst:2682
+#: library/multiprocessing.rst:2683
 msgid ""
 "A thread pool object which controls a pool of worker threads to which jobs "
 "can be submitted.  :class:`ThreadPool` instances are fully interface "
@@ -4019,7 +4021,7 @@ msgstr ""
 "avec un contexte, soit en appelant explicitement :meth:`~multiprocessing."
 "pool.Pool.close` et :meth:`~multiprocessing.pool.Pool.terminate`."
 
-#: library/multiprocessing.rst:2689
+#: library/multiprocessing.rst:2690
 msgid ""
 "*processes* is the number of worker threads to use.  If *processes* is "
 "``None`` then the number returned by :func:`os.cpu_count` is used."
@@ -4027,14 +4029,14 @@ msgstr ""
 "*processes* est le nombre de fils d'exécution à utiliser. Si *processes* est "
 "``None``, le nombre renvoyé par :func:`os.cpu_count` est utilisé."
 
-#: library/multiprocessing.rst:2695
+#: library/multiprocessing.rst:2696
 msgid ""
 "Unlike :class:`Pool`, *maxtasksperchild* and *context* cannot be provided."
 msgstr ""
 "À la différence de :class:`Pool`, *maxtasksperchild* et *context* ne peuvent "
 "pas être passés en arguments."
 
-#: library/multiprocessing.rst:2699
+#: library/multiprocessing.rst:2700
 msgid ""
 "A :class:`ThreadPool` shares the same interface as :class:`Pool`, which is "
 "designed around a pool of processes and predates the introduction of the :"
@@ -4051,7 +4053,7 @@ msgstr ""
 "représenter le statut de tâches asynchrones, :class:`AsyncResult`, qui n'est "
 "pas géré par les autres modules."
 
-#: library/multiprocessing.rst:2706
+#: library/multiprocessing.rst:2707
 msgid ""
 "Users should generally prefer to use :class:`concurrent.futures."
 "ThreadPoolExecutor`, which has a simpler interface that was designed around "
@@ -4065,11 +4067,11 @@ msgstr ""
 "`concurrent.futures.Future` qui sont compatibles avec de nombreux modules, "
 "dont :mod:`asyncio`."
 
-#: library/multiprocessing.rst:2716
+#: library/multiprocessing.rst:2717
 msgid "Programming guidelines"
 msgstr "Lignes directrices de programmation"
 
-#: library/multiprocessing.rst:2718
+#: library/multiprocessing.rst:2719
 msgid ""
 "There are certain guidelines and idioms which should be adhered to when "
 "using :mod:`multiprocessing`."
@@ -4077,19 +4079,19 @@ msgstr ""
 "Il y a certaines lignes directrices et idiomes à respecter pour utiliser :"
 "mod:`multiprocessing`."
 
-#: library/multiprocessing.rst:2723
+#: library/multiprocessing.rst:2724
 msgid "All start methods"
 msgstr "Toutes les méthodes de démarrage"
 
-#: library/multiprocessing.rst:2725
+#: library/multiprocessing.rst:2726
 msgid "The following applies to all start methods."
 msgstr "Les règles suivantes s'appliquent aux méthodes de démarrage."
 
-#: library/multiprocessing.rst:2727
+#: library/multiprocessing.rst:2728
 msgid "Avoid shared state"
 msgstr "Éviter les états partagés"
 
-#: library/multiprocessing.rst:2729
+#: library/multiprocessing.rst:2730
 msgid ""
 "As far as possible one should try to avoid shifting large amounts of data "
 "between processes."
@@ -4097,7 +4099,7 @@ msgstr ""
 "Autant que possible, il faut éviter de transférer de gros volumes de données "
 "entre les processus."
 
-#: library/multiprocessing.rst:2732
+#: library/multiprocessing.rst:2733
 msgid ""
 "It is probably best to stick to using queues or pipes for communication "
 "between processes rather than using the lower level synchronization "
@@ -4107,21 +4109,21 @@ msgstr ""
 "pour gérer la communication entre processus plutôt que d'utiliser des "
 "primitives de synchronisation plus bas-niveau."
 
-#: library/multiprocessing.rst:2736
+#: library/multiprocessing.rst:2737
 msgid "Picklability"
 msgstr "Sérialisation"
 
-#: library/multiprocessing.rst:2738
+#: library/multiprocessing.rst:2739
 msgid "Ensure that the arguments to the methods of proxies are picklable."
 msgstr ""
 "Assurez-vous que les arguments passés aux méthodes des mandataires soient "
 "sérialisables (*pickables*)."
 
-#: library/multiprocessing.rst:2740
+#: library/multiprocessing.rst:2741
 msgid "Thread safety of proxies"
 msgstr "Sûreté des mandataires à travers les fils d'exécution"
 
-#: library/multiprocessing.rst:2742
+#: library/multiprocessing.rst:2743
 msgid ""
 "Do not use a proxy object from more than one thread unless you protect it "
 "with a lock."
@@ -4129,18 +4131,18 @@ msgstr ""
 "N'utilisez pas d'objet mandataire depuis plus d'un fil d'exécution à moins "
 "que vous ne le protégiez avec un verrou."
 
-#: library/multiprocessing.rst:2745
+#: library/multiprocessing.rst:2746
 msgid ""
 "(There is never a problem with different processes using the *same* proxy.)"
 msgstr ""
 "Il n'y a jamais de problème à avoir plusieurs processus qui utilisent un "
 "*même* mandataire."
 
-#: library/multiprocessing.rst:2747
+#: library/multiprocessing.rst:2748
 msgid "Joining zombie processes"
 msgstr "Attendre les processus zombies"
 
-#: library/multiprocessing.rst:2749
+#: library/multiprocessing.rst:2750
 msgid ""
 "On Unix when a process finishes but has not been joined it becomes a zombie. "
 "There should never be very many because each time a new process starts (or :"
@@ -4159,11 +4161,11 @@ msgstr ""
 "processus. Toutefois, il est, en règle générale, conseillé d'attendre "
 "explicitement tous les processus que vous démarrez."
 
-#: library/multiprocessing.rst:2757
+#: library/multiprocessing.rst:2758
 msgid "Better to inherit than pickle/unpickle"
 msgstr "Mieux vaut hériter que sérialiser - désérialiser"
 
-#: library/multiprocessing.rst:2759
+#: library/multiprocessing.rst:2760
 msgid ""
 "When using the *spawn* or *forkserver* start methods many types from :mod:"
 "`multiprocessing` need to be picklable so that child processes can use "
@@ -4180,11 +4182,11 @@ msgstr ""
 "processus qui nécessite l'accès à une ressource partagée créée autre part "
 "qu'il en hérite depuis un de ses processus ancêtres."
 
-#: library/multiprocessing.rst:2767
+#: library/multiprocessing.rst:2768
 msgid "Avoid terminating processes"
 msgstr "Éviter de terminer les processus"
 
-#: library/multiprocessing.rst:2769
+#: library/multiprocessing.rst:2770
 msgid ""
 "Using the :meth:`Process.terminate <multiprocessing.Process.terminate>` "
 "method to stop a process is liable to cause any shared resources (such as "
@@ -4196,7 +4198,7 @@ msgstr ""
 "indisponible aux autres processus des ressources partagées (comme des "
 "verrous, sémaphores, tubes et files) actuellement utilisées par le processus."
 
-#: library/multiprocessing.rst:2775
+#: library/multiprocessing.rst:2776
 msgid ""
 "Therefore it is probably best to only consider using :meth:`Process."
 "terminate <multiprocessing.Process.terminate>` on processes which never use "
@@ -4206,11 +4208,11 @@ msgstr ""
 "<multiprocessing.Process.terminate>` que sur les processus qui n'utilisent "
 "jamais de ressources partagées."
 
-#: library/multiprocessing.rst:2779
+#: library/multiprocessing.rst:2780
 msgid "Joining processes that use queues"
 msgstr "Attendre les processus qui utilisent des files"
 
-#: library/multiprocessing.rst:2781
+#: library/multiprocessing.rst:2782
 msgid ""
 "Bear in mind that a process that has put items in a queue will wait before "
 "terminating until all the buffered items are fed by the \"feeder\" thread to "
@@ -4225,7 +4227,7 @@ msgstr ""
 "<multiprocessing.Queue.cancel_join_thread>` de la queue pour éviter ce "
 "comportement)."
 
-#: library/multiprocessing.rst:2787
+#: library/multiprocessing.rst:2788
 msgid ""
 "This means that whenever you use a queue you need to make sure that all "
 "items which have been put on the queue will eventually be removed before the "
@@ -4240,11 +4242,11 @@ msgstr ""
 "termineront. Souvenez-vous aussi que tous les processus non *daemons* sont "
 "attendus automatiquement."
 
-#: library/multiprocessing.rst:2793
+#: library/multiprocessing.rst:2794
 msgid "An example which will deadlock is the following::"
 msgstr "L'exemple suivant provoque un interblocage ::"
 
-#: library/multiprocessing.rst:2807
+#: library/multiprocessing.rst:2808
 msgid ""
 "A fix here would be to swap the last two lines (or simply remove the ``p."
 "join()`` line)."
@@ -4252,11 +4254,11 @@ msgstr ""
 "Une solution ici consiste à intervertir les deux dernières lignes (ou "
 "simplement à supprimer la ligne ``p.join()``)."
 
-#: library/multiprocessing.rst:2810
+#: library/multiprocessing.rst:2811
 msgid "Explicitly pass resources to child processes"
 msgstr "Passer explicitement les ressources aux processus fils"
 
-#: library/multiprocessing.rst:2812
+#: library/multiprocessing.rst:2813
 msgid ""
 "On Unix using the *fork* start method, a child process can make use of a "
 "shared resource created in a parent process using a global resource.  "
@@ -4268,7 +4270,7 @@ msgstr ""
 "utilisant une ressource globale. Cependant, il est préférable de passer "
 "l'objet en argument au constructeur du processus fils."
 
-#: library/multiprocessing.rst:2817
+#: library/multiprocessing.rst:2818
 msgid ""
 "Apart from making the code (potentially) compatible with Windows and the "
 "other start methods this also ensures that as long as the child process is "
@@ -4283,24 +4285,24 @@ msgstr ""
 "libérées quand l'objet est collecté par le ramasse-miettes du processus "
 "parent."
 
-#: library/multiprocessing.rst:2824
+#: library/multiprocessing.rst:2825
 msgid "So for instance ::"
 msgstr "Donc par exemple ::"
 
-#: library/multiprocessing.rst:2836
+#: library/multiprocessing.rst:2837
 msgid "should be rewritten as ::"
 msgstr "devrait être réécrit comme ::"
 
-#: library/multiprocessing.rst:2848
+#: library/multiprocessing.rst:2849
 msgid "Beware of replacing :data:`sys.stdin` with a \"file like object\""
 msgstr ""
 "Faire attention à remplacer :data:`sys.stdin` par un objet simili-fichier"
 
-#: library/multiprocessing.rst:2850
+#: library/multiprocessing.rst:2851
 msgid ":mod:`multiprocessing` originally unconditionally called::"
 msgstr "À l'origine, :mod:`multiprocessing` appelait inconditionnellement ::"
 
-#: library/multiprocessing.rst:2854
+#: library/multiprocessing.rst:2855
 msgid ""
 "in the :meth:`multiprocessing.Process._bootstrap` method --- this resulted "
 "in issues with processes-in-processes. This has been changed to::"
@@ -4308,7 +4310,7 @@ msgstr ""
 "dans la méthode :meth:`multiprocessing.Process._bootstrap` — cela provoquait "
 "des problèmes avec les processus imbriqués. Cela peut être changé en ::"
 
-#: library/multiprocessing.rst:2860
+#: library/multiprocessing.rst:2861
 msgid ""
 "Which solves the fundamental issue of processes colliding with each other "
 "resulting in a bad file descriptor error, but introduces a potential danger "
@@ -4325,7 +4327,7 @@ msgstr ""
 "peut amener les données à être transmises à l'objet à plusieurs reprises, "
 "résultant en une corruption."
 
-#: library/multiprocessing.rst:2867
+#: library/multiprocessing.rst:2868
 msgid ""
 "If you write a file-like object and implement your own caching, you can make "
 "it fork-safe by storing the pid whenever you append to the cache, and "
@@ -4336,28 +4338,28 @@ msgstr ""
 "que vous ajoutez des données au cache, et annulez le cache quand le *pid* "
 "change. Par exemple ::"
 
-#: library/multiprocessing.rst:2879
+#: library/multiprocessing.rst:2880
 msgid ""
 "For more information, see :issue:`5155`, :issue:`5313` and :issue:`5331`"
 msgstr ""
 "Pour plus d'informations, voir :issue:`5155`, :issue:`5313` et :issue:`5331`"
 
-#: library/multiprocessing.rst:2882
+#: library/multiprocessing.rst:2883
 msgid "The *spawn* and *forkserver* start methods"
 msgstr "Les méthodes de démarrage *spawn* et *forkserver*"
 
-#: library/multiprocessing.rst:2884
+#: library/multiprocessing.rst:2885
 msgid ""
 "There are a few extra restriction which don't apply to the *fork* start "
 "method."
 msgstr ""
 "Certaines restrictions ne s'appliquent pas à la méthode de démarrage *fork*."
 
-#: library/multiprocessing.rst:2887
+#: library/multiprocessing.rst:2888
 msgid "More picklability"
 msgstr "Contraintes supplémentaires sur la sérialisation"
 
-#: library/multiprocessing.rst:2889
+#: library/multiprocessing.rst:2890
 msgid ""
 "Ensure that all arguments to :meth:`Process.__init__` are picklable. Also, "
 "if you subclass :class:`~multiprocessing.Process` then make sure that "
@@ -4370,11 +4372,11 @@ msgstr ""
 "sérialisables quand la méthode :meth:`Process.start <multiprocessing.Process."
 "start>` est appelée."
 
-#: library/multiprocessing.rst:2894
+#: library/multiprocessing.rst:2895
 msgid "Global variables"
 msgstr "Variables globales"
 
-#: library/multiprocessing.rst:2896
+#: library/multiprocessing.rst:2897
 msgid ""
 "Bear in mind that if code run in a child process tries to access a global "
 "variable, then the value it sees (if any) may not be the same as the value "
@@ -4387,7 +4389,7 @@ msgstr ""
 "moment même où :meth:`Process.start <multiprocessing.Process.start>` est "
 "appelée."
 
-#: library/multiprocessing.rst:2901
+#: library/multiprocessing.rst:2902
 msgid ""
 "However, global variables which are just module level constants cause no "
 "problems."
@@ -4395,11 +4397,11 @@ msgstr ""
 "Cependant, les variables globales qui sont juste des constantes de modules "
 "ne posent pas de problèmes."
 
-#: library/multiprocessing.rst:2904
+#: library/multiprocessing.rst:2905
 msgid "Safe importing of main module"
 msgstr "Importation sécurisée du module principal"
 
-#: library/multiprocessing.rst:2906
+#: library/multiprocessing.rst:2907
 msgid ""
 "Make sure that the main module can be safely imported by a new Python "
 "interpreter without causing unintended side effects (such a starting a new "
@@ -4409,7 +4411,7 @@ msgstr ""
 "un nouvel interpréteur Python sans causer d'effets de bord inattendus (comme "
 "le démarrage d'un nouveau processus)."
 
-#: library/multiprocessing.rst:2910
+#: library/multiprocessing.rst:2911
 msgid ""
 "For example, using the *spawn* or *forkserver* start method running the "
 "following module would fail with a :exc:`RuntimeError`::"
@@ -4417,7 +4419,7 @@ msgstr ""
 "Par exemple, utiliser la méthode de démarrage *spawn* ou *forkserver* pour "
 "lancer le module suivant échouerait avec une :exc:`RuntimeError` ::"
 
-#: library/multiprocessing.rst:2922
+#: library/multiprocessing.rst:2923
 msgid ""
 "Instead one should protect the \"entry point\" of the program by using ``if "
 "__name__ == '__main__':`` as follows::"
@@ -4425,7 +4427,7 @@ msgstr ""
 "Vous devriez plutôt protéger le « point d'entrée » du programme en utilisant "
 "``if __name__ == '__main__':`` comme suit ::"
 
-#: library/multiprocessing.rst:2936
+#: library/multiprocessing.rst:2937
 msgid ""
 "(The ``freeze_support()`` line can be omitted if the program will be run "
 "normally instead of frozen.)"
@@ -4433,7 +4435,7 @@ msgstr ""
 "(La ligne ``freeze_support()`` peut être omise si le programme est "
 "uniquement lancé normalement et pas figé.)"
 
-#: library/multiprocessing.rst:2939
+#: library/multiprocessing.rst:2940
 msgid ""
 "This allows the newly spawned Python interpreter to safely import the module "
 "and then run the module's ``foo()`` function."
@@ -4441,7 +4443,7 @@ msgstr ""
 "Cela permet aux interpréteurs Python fraîchement instanciés d'importer en "
 "toute sécurité le module et d'exécution ensuite la fonction ``foo()``."
 
-#: library/multiprocessing.rst:2942
+#: library/multiprocessing.rst:2943
 msgid ""
 "Similar restrictions apply if a pool or manager is created in the main "
 "module."
@@ -4449,21 +4451,21 @@ msgstr ""
 "Des restrictions similaires s'appliquent si un pool ou un gestionnaire est "
 "créé dans le module principal."
 
-#: library/multiprocessing.rst:2949
+#: library/multiprocessing.rst:2950
 msgid "Examples"
 msgstr "Exemples"
 
-#: library/multiprocessing.rst:2951
+#: library/multiprocessing.rst:2952
 msgid "Demonstration of how to create and use customized managers and proxies:"
 msgstr ""
 "Démonstration de comment créer et utiliser des gestionnaires et mandataires "
 "personnalisés :"
 
-#: library/multiprocessing.rst:2957
+#: library/multiprocessing.rst:2958
 msgid "Using :class:`~multiprocessing.pool.Pool`:"
 msgstr "En utilisant :class:`~multiprocessing.pool.Pool` :"
 
-#: library/multiprocessing.rst:2963
+#: library/multiprocessing.rst:2964
 msgid ""
 "An example showing how to use queues to feed tasks to a collection of worker "
 "processes and collect the results:"
diff --git a/library/os.po b/library/os.po
index 1298deebe..3ef69fb85 100644
--- a/library/os.po
+++ b/library/os.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-23 16:16+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2021-09-07 13:39+0200\n"
 "Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -318,37 +318,39 @@ msgstr ""
 "Renvoie l'identifiant de fichier correspondant au terminal contrôlant le "
 "processus."
 
-#: library/os.rst:332 library/os.rst:350 library/os.rst:369 library/os.rst:412
-#: library/os.rst:460 library/os.rst:480 library/os.rst:500 library/os.rst:539
-#: library/os.rst:556 library/os.rst:576 library/os.rst:602 library/os.rst:619
-#: library/os.rst:634 library/os.rst:650 library/os.rst:867 library/os.rst:898
-#: library/os.rst:956 library/os.rst:989 library/os.rst:1184
-#: library/os.rst:1212 library/os.rst:1396 library/os.rst:1428
-#: library/os.rst:1488 library/os.rst:1505 library/os.rst:1789
-#: library/os.rst:1872 library/os.rst:1912 library/os.rst:1940
-#: library/os.rst:2150 library/os.rst:2205 library/os.rst:3036
-#: library/os.rst:3661 library/os.rst:3676 library/os.rst:3690
-#: library/os.rst:3704 library/os.rst:3719 library/os.rst:3734
-#: library/os.rst:3750 library/os.rst:3766 library/os.rst:3780
-#: library/os.rst:3856 library/os.rst:3884 library/os.rst:4048
-#: library/os.rst:4301 library/os.rst:4332 library/os.rst:4402
-#: library/os.rst:4454 library/os.rst:4484 library/os.rst:4507
-#: library/os.rst:4523 library/os.rst:4541 library/os.rst:4696
-#: library/os.rst:4726 library/os.rst:4745
+#: library/os.rst:333 library/os.rst:351 library/os.rst:370 library/os.rst:413
+#: library/os.rst:461 library/os.rst:481 library/os.rst:501 library/os.rst:540
+#: library/os.rst:557 library/os.rst:577 library/os.rst:603 library/os.rst:620
+#: library/os.rst:635 library/os.rst:651 library/os.rst:868 library/os.rst:899
+#: library/os.rst:957 library/os.rst:990 library/os.rst:1185
+#: library/os.rst:1213 library/os.rst:1397 library/os.rst:1429
+#: library/os.rst:1489 library/os.rst:1506 library/os.rst:1790
+#: library/os.rst:1873 library/os.rst:1913 library/os.rst:1941
+#: library/os.rst:2151 library/os.rst:2206 library/os.rst:3037
+#: library/os.rst:3662 library/os.rst:3677 library/os.rst:3691
+#: library/os.rst:3705 library/os.rst:3720 library/os.rst:3735
+#: library/os.rst:3751 library/os.rst:3767 library/os.rst:3781
+#: library/os.rst:3857 library/os.rst:3885 library/os.rst:4049
+#: library/os.rst:4302 library/os.rst:4333 library/os.rst:4403
+#: library/os.rst:4455 library/os.rst:4485 library/os.rst:4508
+#: library/os.rst:4524 library/os.rst:4542 library/os.rst:4697
+#: library/os.rst:4727 library/os.rst:4746
 msgid ":ref:`Availability <availability>`: Unix."
 msgstr ":ref:`Disponibilité <availability>` : Unix."
 
 #: library/os.rst:173
+#, fuzzy
 msgid ""
-"A :term:`mapping` object representing the string environment. For example, "
-"``environ['HOME']`` is the pathname of your home directory (on some "
-"platforms), and is equivalent to ``getenv(\"HOME\")`` in C."
+"A :term:`mapping` object where keys and values are strings that represent "
+"the process environment.  For example, ``environ['HOME']`` is the pathname "
+"of your home directory (on some platforms), and is equivalent to "
+"``getenv(\"HOME\")`` in C."
 msgstr ""
 "Objet :term:`mapping` représentant les variables d'environnement. Par "
 "exemple ``environ['HOME']`` est le chemin vers votre répertoire personnel "
 "(sur certaines plate-formes), et est équivalent à ``getenv(\"HOME\")`` en C."
 
-#: library/os.rst:177
+#: library/os.rst:178
 msgid ""
 "This mapping is captured the first time the :mod:`os` module is imported, "
 "typically during Python startup as part of processing :file:`site.py`.  "
@@ -361,7 +363,7 @@ msgstr ""
 "capture ne sont pas répercutés dans ``os.environ``, à part les modifications "
 "directes de ``os.environ``."
 
-#: library/os.rst:182
+#: library/os.rst:183
 #, fuzzy
 msgid ""
 "This mapping may be used to modify the environment as well as query the "
@@ -373,7 +375,7 @@ msgstr ""
 "l'interroger. :func:`putenv` sera appelée automatiquement quand le *mapping* "
 "sera modifié."
 
-#: library/os.rst:186
+#: library/os.rst:187
 msgid ""
 "On Unix, keys and values use :func:`sys.getfilesystemencoding` and "
 "``'surrogateescape'`` error handler. Use :data:`environb` if you would like "
@@ -383,7 +385,7 @@ msgstr ""
 "getfilesystemencoding` et le gestionnaire d'erreurs ``surrogateescape``. "
 "Utilisez :data:`environb` si vous désirez utiliser un encodage différent."
 
-#: library/os.rst:192
+#: library/os.rst:193
 msgid ""
 "Calling :func:`putenv` directly does not change ``os.environ``, so it's "
 "better to modify ``os.environ``."
@@ -391,7 +393,7 @@ msgstr ""
 "Appeler :func:`putenv` ne change pas directement ``os.environ``, donc il est "
 "préférable de modifier ``os.environ``."
 
-#: library/os.rst:197
+#: library/os.rst:198
 #, fuzzy
 msgid ""
 "On some platforms, including FreeBSD and macOS, setting ``environ`` may "
@@ -401,7 +403,7 @@ msgstr ""
 "assignations sur ``environ`` peut causer des fuites de mémoire. Referez-vous "
 "à la documentation système de :func:`putenv`."
 
-#: library/os.rst:201
+#: library/os.rst:202
 #, fuzzy
 msgid ""
 "You can delete items in this mapping to unset environment variables. :func:"
@@ -415,24 +417,25 @@ msgstr ""
 "quand un élément est supprimé de ``os.environ``, ou quand l'une des "
 "méthodes :meth:`pop` ou :meth:`clear` est appelée."
 
-#: library/os.rst:222
+#: library/os.rst:223
 msgid ""
 "Updated to support :pep:`584`'s merge (``|``) and update (``|=``) operators."
 msgstr ""
 
-#: library/os.rst:212
+#: library/os.rst:213
+#, fuzzy
 msgid ""
-"Bytes version of :data:`environ`: a :term:`mapping` object representing the "
-"environment as byte strings. :data:`environ` and :data:`environb` are "
-"synchronized (modify :data:`environb` updates :data:`environ`, and vice "
-"versa)."
+"Bytes version of :data:`environ`: a :term:`mapping` object where both keys "
+"and values are :class:`bytes` objects representing the process environment. :"
+"data:`environ` and :data:`environb` are synchronized (modifying :data:"
+"`environb` updates :data:`environ`, and vice versa)."
 msgstr ""
 "Version de :data:`environ` utilisant des *bytes* : un :term:`mapping` "
 "d'objets représentant l'environnement par des chaînes de *bytes*. :data:"
 "`environ` et :data:`environb` sont synchronisés (modifier :data:`environ` "
 "modifie :data:`environb`, et vice-versa)."
 
-#: library/os.rst:217
+#: library/os.rst:218
 msgid ""
 ":data:`environb` is only available if :data:`supports_bytes_environ` is "
 "``True``."
@@ -440,11 +443,11 @@ msgstr ""
 ":data:`environb` n'est disponible que si :data:`supports_bytes_environ` vaut "
 "``True``."
 
-#: library/os.rst:231
+#: library/os.rst:232
 msgid "These functions are described in :ref:`os-file-dir`."
 msgstr "Ces fonctions sont décrites dans le chapitre :ref:`os-file-dir`."
 
-#: library/os.rst:236
+#: library/os.rst:237
 #, fuzzy
 msgid ""
 "Encode :term:`path-like <path-like object>` *filename* to the :term:"
@@ -455,11 +458,11 @@ msgstr ""
 "``'surrogateescape'``, ou ``'strict'`` sous Windows ; renvoie un objet :"
 "class:`bytes` inchangé."
 
-#: library/os.rst:240
+#: library/os.rst:241
 msgid ":func:`fsdecode` is the reverse function."
 msgstr ":func:`fsdecode` est la fonction inverse."
 
-#: library/os.rst:259
+#: library/os.rst:260
 msgid ""
 "Support added to accept objects implementing the :class:`os.PathLike` "
 "interface."
@@ -467,7 +470,7 @@ msgstr ""
 "Ajout de la prise en charge des objets implémentant l'interface :class:`os."
 "PathLike`."
 
-#: library/os.rst:251
+#: library/os.rst:252
 #, fuzzy
 msgid ""
 "Decode the :term:`path-like <path-like object>` *filename* from the :term:"
@@ -478,16 +481,16 @@ msgstr ""
 "``'surrogateescape'``, ou ``'strict'`` sous Windows ; renvoie un objet :"
 "class:`str` inchangé."
 
-#: library/os.rst:255
+#: library/os.rst:256
 msgid ":func:`fsencode` is the reverse function."
 msgstr ":func:`fsencode` est la fonction inverse."
 
-#: library/os.rst:266
+#: library/os.rst:267
 msgid "Return the file system representation of the path."
 msgstr ""
 "Renvoie une représentation du chemin utilisable par le système de fichiers."
 
-#: library/os.rst:268
+#: library/os.rst:269
 msgid ""
 "If :class:`str` or :class:`bytes` is passed in, it is returned unchanged. "
 "Otherwise :meth:`~os.PathLike.__fspath__` is called and its value is "
@@ -499,7 +502,7 @@ msgstr ""
 "valeur renvoyée tant qu'elle est un objet :class:`str` ou :class:`bytes`. "
 "Dans tous les autres cas, une :exc:`TypeError` est levée."
 
-#: library/os.rst:278
+#: library/os.rst:279
 msgid ""
 "An :term:`abstract base class` for objects representing a file system path, "
 "e.g. :class:`pathlib.PurePath`."
@@ -508,12 +511,12 @@ msgstr ""
 "représentant un chemin du système de fichiers, comme :class:`pathlib."
 "PurePath`."
 
-#: library/os.rst:285
+#: library/os.rst:286
 msgid "Return the file system path representation of the object."
 msgstr ""
 "Renvoie une représentation de l'objet utilisable par le système de fichiers."
 
-#: library/os.rst:287
+#: library/os.rst:288
 msgid ""
 "The method should only return a :class:`str` or :class:`bytes` object, with "
 "the preference being for :class:`str`."
@@ -521,7 +524,7 @@ msgstr ""
 "La méthode ne devrait renvoyer que des objets :class:`str` ou :class:"
 "`bytes`, avec une préférence pour les :class:`str`."
 
-#: library/os.rst:293
+#: library/os.rst:294
 msgid ""
 "Return the value of the environment variable *key* if it exists, or "
 "*default* if it doesn't. *key*, *default* and the result are str."
@@ -530,7 +533,7 @@ msgstr ""
 "*default* si elle n'existe pas. *key*, *default*, et la valeur renvoyée sont "
 "des *str*."
 
-#: library/os.rst:296
+#: library/os.rst:297
 msgid ""
 "On Unix, keys and values are decoded with :func:`sys.getfilesystemencoding` "
 "and ``'surrogateescape'`` error handler. Use :func:`os.getenvb` if you would "
@@ -540,12 +543,12 @@ msgstr ""
 "getfilesystemencoding` et le gestionnaire d'erreurs ``surrogateescape``. "
 "Utilisez :func:`os.getenvb` si vous voulez utiliser un encodage différent."
 
-#: library/os.rst:300
+#: library/os.rst:301
 msgid ":ref:`Availability <availability>`: most flavors of Unix, Windows."
 msgstr ""
 ":ref:`Disponibilité <availability>` : la plupart des dérivés d'Unix, Windows."
 
-#: library/os.rst:305
+#: library/os.rst:306
 msgid ""
 "Return the value of the environment variable *key* if it exists, or "
 "*default* if it doesn't. *key*, *default* and the result are bytes."
@@ -554,7 +557,7 @@ msgstr ""
 "*default* si elle n'existe pas. *key*, *default*, et la valeur de retour "
 "sont des *bytes*."
 
-#: library/os.rst:308
+#: library/os.rst:309
 msgid ""
 ":func:`getenvb` is only available if :data:`supports_bytes_environ` is "
 "``True``."
@@ -562,11 +565,11 @@ msgstr ""
 ":func:`getenvb` n'est disponible que si :data:`supports_bytes_environ` vaut "
 "``True``."
 
-#: library/os.rst:312
+#: library/os.rst:313
 msgid ":ref:`Availability <availability>`: most flavors of Unix."
 msgstr ":ref:`Disponibilité <availability>` : la plupart des dérivés Unix."
 
-#: library/os.rst:318
+#: library/os.rst:319
 msgid ""
 "Returns the list of directories that will be searched for a named "
 "executable, similar to a shell, when launching a process. *env*, when "
@@ -579,7 +582,7 @@ msgstr ""
 "rechercher le PATH. Par défaut quand *env* est ``None``, :data:`environ` est "
 "utilisé."
 
-#: library/os.rst:329
+#: library/os.rst:330
 msgid ""
 "Return the effective group id of the current process.  This corresponds to "
 "the \"set id\" bit on the file being executed in the current process."
@@ -587,15 +590,15 @@ msgstr ""
 "Renvoie l'identifiant du groupe effectif du processus actuel. Ça correspond "
 "au bit \"*set id*\" du fichier qui s'exécute dans le processus actuel."
 
-#: library/os.rst:339
+#: library/os.rst:340
 msgid "Return the current process's effective user id."
 msgstr "Renvoie l'identifiant de l'utilisateur effectif du processus actuel."
 
-#: library/os.rst:348
+#: library/os.rst:349
 msgid "Return the real group id of the current process."
 msgstr "Renvoie l'identifiant de groupe réel du processus actuel."
 
-#: library/os.rst:355
+#: library/os.rst:356
 msgid ""
 "Return list of group ids that *user* belongs to. If *group* is not in the "
 "list, it is included; typically, *group* is specified as the group ID field "
@@ -605,14 +608,14 @@ msgstr ""
 "*group* n'est pas dans la liste, il y est inclus. Typiquement, *group* vaut "
 "le *group ID* de l'enregistrement *passwd* de *user*."
 
-#: library/os.rst:366
+#: library/os.rst:367
 msgid ""
 "Return list of supplemental group ids associated with the current process."
 msgstr ""
 "Renvoie une liste d'identifiants de groupes additionnels associés au "
 "processus actuel."
 
-#: library/os.rst:372
+#: library/os.rst:373
 #, fuzzy
 msgid ""
 "On macOS, :func:`getgroups` behavior differs somewhat from other Unix "
@@ -644,7 +647,7 @@ msgstr ""
 "valeur de la cible de déploiement, :const:`MACOSX_DEPLOYMENT_TARGET`, peut "
 "être obtenue par la fonction :func:`sysconfig.get_config_var`."
 
-#: library/os.rst:389
+#: library/os.rst:390
 msgid ""
 "Return the name of the user logged in on the controlling terminal of the "
 "process.  For most purposes, it is more useful to use :func:`getpass."
@@ -659,13 +662,13 @@ msgstr ""
 "l'utilisateur, et se replie finalement sur ``pwd.getpwduid(os.getuid())[0]`` "
 "pour avoir le nom lié à l'identifiant de l'utilisateur courant."
 
-#: library/os.rst:431 library/os.rst:943 library/os.rst:1567
-#: library/os.rst:2228 library/os.rst:3050 library/os.rst:4133
-#: library/os.rst:4238 library/os.rst:4262
+#: library/os.rst:432 library/os.rst:944 library/os.rst:1568
+#: library/os.rst:2229 library/os.rst:3051 library/os.rst:4134
+#: library/os.rst:4239 library/os.rst:4263
 msgid ":ref:`Availability <availability>`: Unix, Windows."
 msgstr ":ref:`Disponibilité <availability>` : Unix, Windows."
 
-#: library/os.rst:401
+#: library/os.rst:402
 msgid ""
 "Return the process group id of the process with process id *pid*. If *pid* "
 "is 0, the process group id of the current process is returned."
@@ -674,15 +677,15 @@ msgstr ""
 "*pid* vaut 0, l'identifiant de groupe de processus du processus actuel est "
 "renvoyé."
 
-#: library/os.rst:410
+#: library/os.rst:411
 msgid "Return the id of the current process group."
 msgstr "Renvoie l'identifiant du groupe de processus actuel."
 
-#: library/os.rst:419
+#: library/os.rst:420
 msgid "Return the current process id."
 msgstr "Renvoie l'identifiant du processus actuel."
 
-#: library/os.rst:426
+#: library/os.rst:427
 msgid ""
 "Return the parent's process id.  When the parent process has exited, on Unix "
 "the id returned is the one of the init process (1), on Windows it is still "
@@ -693,11 +696,11 @@ msgstr ""
 "Windows, c'est toujours le même id, qui peut déjà avoir été réutilisé par un "
 "autre processus."
 
-#: library/os.rst:432
+#: library/os.rst:433
 msgid "Added support for Windows."
 msgstr "Prise en charge sur Windows."
 
-#: library/os.rst:440
+#: library/os.rst:441
 msgid ""
 "Get program scheduling priority.  The value *which* is one of :const:"
 "`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and *who* is "
@@ -716,13 +719,13 @@ msgstr ""
 "processus appelant, le groupe de processus du processus appelant, ou "
 "l'identifiant d'utilisateur réel du processus appelant."
 
-#: library/os.rst:457
+#: library/os.rst:458
 msgid ""
 "Parameters for the :func:`getpriority` and :func:`setpriority` functions."
 msgstr ""
 "Paramètres pour les fonctions :func:`getpriority` et :func:`setpriority`."
 
-#: library/os.rst:466
+#: library/os.rst:467
 msgid ""
 "Return a tuple (ruid, euid, suid) denoting the current process's real, "
 "effective, and saved user ids."
@@ -730,7 +733,7 @@ msgstr ""
 "Renvoie un triplet (*ruid*, *euid*, *suid*) dénotant les identifiants de "
 "l'utilisateur réel, effectif et sauvé du processus actuel."
 
-#: library/os.rst:476
+#: library/os.rst:477
 msgid ""
 "Return a tuple (rgid, egid, sgid) denoting the current process's real, "
 "effective, and saved group ids."
@@ -738,11 +741,11 @@ msgstr ""
 "Renvoie un triplet (*rgid*, *egid*, *sgid*) dénotant les identifiants des "
 "groupes de processus réel effectif, et sauvé du processus actuel."
 
-#: library/os.rst:488
+#: library/os.rst:489
 msgid "Return the current process's real user id."
 msgstr "Renvoie l'identifiant réel du processus actuel."
 
-#: library/os.rst:495
+#: library/os.rst:496
 msgid ""
 "Call the system initgroups() to initialize the group access list with all of "
 "the groups of which the specified username is a member, plus the specified "
@@ -752,7 +755,7 @@ msgstr ""
 "groupes d'accès des groupes dont *username* est membre, plus le groupe "
 "spécifié par *gid*."
 
-#: library/os.rst:508
+#: library/os.rst:509
 msgid ""
 "Set the environment variable named *key* to the string *value*.  Such "
 "changes to the environment affect subprocesses started with :func:`os."
@@ -762,7 +765,7 @@ msgstr ""
 "De tels changements à l'environnement affectent les sous-processus lancés "
 "par :func:`os.system`, :func:`popen` ou :func:`fork` et :func:`execv`."
 
-#: library/os.rst:512
+#: library/os.rst:513
 #, fuzzy
 msgid ""
 "Assignments to items in ``os.environ`` are automatically translated into "
@@ -776,7 +779,7 @@ msgstr ""
 "environ`` à jour. Il est donc préférable d'assigner les éléments de ``os."
 "environ``."
 
-#: library/os.rst:519
+#: library/os.rst:520
 #, fuzzy
 msgid ""
 "On some platforms, including FreeBSD and macOS, setting ``environ`` may "
@@ -786,31 +789,31 @@ msgstr ""
 "assignations sur ``environ`` peut causer des fuites de mémoire. Referez-vous "
 "à la documentation système de :func:`putenv`."
 
-#: library/os.rst:522
+#: library/os.rst:523
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.putenv`` with arguments "
 "``key``, ``value``."
 msgstr ""
 
-#: library/os.rst:524
+#: library/os.rst:525
 #, fuzzy
 msgid "The function is now always available."
 msgstr "Cette fonction n'est pas disponible sur MacOS."
 
-#: library/os.rst:530
+#: library/os.rst:531
 msgid "Set the current process's effective group id."
 msgstr ""
 "Définit l'identifiant du groupe de processus effectif du processus actuel."
 
-#: library/os.rst:537
+#: library/os.rst:538
 msgid "Set the current process's effective user id."
 msgstr "Définit l'identifiant de l'utilisateur effectif du processus actuel."
 
-#: library/os.rst:544
+#: library/os.rst:545
 msgid "Set the current process' group id."
 msgstr "Définit l'identifiant du groupe de processus actuel."
 
-#: library/os.rst:551
+#: library/os.rst:552
 msgid ""
 "Set the list of supplemental group ids associated with the current process "
 "to *groups*. *groups* must be a sequence, and each element must be an "
@@ -822,7 +825,7 @@ msgstr ""
 "nombre entier identifiant un groupe. Cette opération est typiquement "
 "disponible uniquement pour le super utilisateur."
 
-#: library/os.rst:557
+#: library/os.rst:558
 #, fuzzy
 msgid ""
 "On macOS, the length of *groups* may not exceed the system-defined maximum "
@@ -836,7 +839,7 @@ msgstr ""
 "renvoie pas la même liste de groupes que celle définie par l'appel à "
 "*setgroups*."
 
-#: library/os.rst:564
+#: library/os.rst:565
 msgid ""
 "Call the system call :c:func:`setpgrp` or ``setpgrp(0, 0)`` depending on "
 "which version is implemented (if any).  See the Unix manual for the "
@@ -846,7 +849,7 @@ msgstr ""
 "version implémentée (s'il y en a une). Voir le manuel Unix pour la "
 "sémantique de l'opération."
 
-#: library/os.rst:572
+#: library/os.rst:573
 msgid ""
 "Call the system call :c:func:`setpgid` to set the process group id of the "
 "process with id *pid* to the process group with id *pgrp*.  See the Unix "
@@ -857,7 +860,7 @@ msgstr ""
 "groupe de processus d'identifiant *pgrp*. Voir le manuel Unix pour la "
 "sémantique."
 
-#: library/os.rst:583
+#: library/os.rst:584
 msgid ""
 "Set program scheduling priority. The value *which* is one of :const:"
 "`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and *who* is "
@@ -880,29 +883,29 @@ msgstr ""
 "entre ``-20`` et ``19``. La priorité par défaut est 0 ; les priorités plus "
 "faibles amènent à un ordonnancement plus favorable."
 
-#: library/os.rst:600
+#: library/os.rst:601
 msgid "Set the current process's real and effective group ids."
 msgstr ""
 "Définit l'identifiant des groupes réel et effectif du processus actuel."
 
-#: library/os.rst:607
+#: library/os.rst:608
 msgid "Set the current process's real, effective, and saved group ids."
 msgstr ""
 "Définit l'identifiant des groupes réel, effectif et sauvé du processus "
 "actuel."
 
-#: library/os.rst:616
+#: library/os.rst:617
 msgid "Set the current process's real, effective, and saved user ids."
 msgstr ""
 "Définit l'identifiant des utilisateurs réel, effectif et sauvé du processus "
 "actuel."
 
-#: library/os.rst:625
+#: library/os.rst:626
 msgid "Set the current process's real and effective user ids."
 msgstr ""
 "Définit l'identifiant des utilisateurs réel et effectif du processus actuel."
 
-#: library/os.rst:632
+#: library/os.rst:633
 msgid ""
 "Call the system call :c:func:`getsid`.  See the Unix manual for the "
 "semantics."
@@ -910,7 +913,7 @@ msgstr ""
 "Produit l'appel système :c:func:`getsid`. Voir le manuel Unix pour la "
 "sémantique."
 
-#: library/os.rst:639
+#: library/os.rst:640
 msgid ""
 "Call the system call :c:func:`setsid`.  See the Unix manual for the "
 "semantics."
@@ -918,11 +921,11 @@ msgstr ""
 "Produit l'appel système :c:func:`setsid`. Voir le manuel Unix pour la "
 "sémantique."
 
-#: library/os.rst:648
+#: library/os.rst:649
 msgid "Set the current process's user id."
 msgstr "Définit l'identifiant de l'utilisateur du processus actuel."
 
-#: library/os.rst:656
+#: library/os.rst:657
 msgid ""
 "Return the error message corresponding to the error code in *code*. On "
 "platforms where :c:func:`strerror` returns ``NULL`` when given an unknown "
@@ -932,7 +935,7 @@ msgstr ""
 "plate-formes où :c:func:`strerror` renvoie ``NULL`` quand un numéro d'erreur "
 "inconnu est donné, une :exc:`ValueError` est levée."
 
-#: library/os.rst:663
+#: library/os.rst:664
 msgid ""
 "``True`` if the native OS type of the environment is bytes (eg. ``False`` on "
 "Windows)."
@@ -940,11 +943,11 @@ msgstr ""
 "``True`` si le type natif de l'environnement du système d'exploitation est "
 "*bytes* (par exemple : ``False`` sur Windows)."
 
-#: library/os.rst:671
+#: library/os.rst:672
 msgid "Set the current numeric umask and return the previous umask."
 msgstr "Définit le *umask* actuel et renvoie la valeur précédente."
 
-#: library/os.rst:680
+#: library/os.rst:681
 msgid ""
 "Returns information identifying the current operating system. The return "
 "value is an object with five attributes:"
@@ -952,29 +955,29 @@ msgstr ""
 "Renvoie des informations identifiant le système d'exploitation actuel. La "
 "valeur de retour est un objet à cinq attributs :"
 
-#: library/os.rst:683
+#: library/os.rst:684
 msgid ":attr:`sysname` - operating system name"
 msgstr ":attr:`sysname` — nom du système d'exploitation"
 
-#: library/os.rst:684
+#: library/os.rst:685
 msgid ":attr:`nodename` - name of machine on network (implementation-defined)"
 msgstr ""
 ":attr:`nodename` — nom de la machine sur le réseau (dépendant de "
 "l'implémentation)"
 
-#: library/os.rst:685
+#: library/os.rst:686
 msgid ":attr:`release` - operating system release"
 msgstr ":attr:`release` — *release* du système d'exploitation"
 
-#: library/os.rst:686
+#: library/os.rst:687
 msgid ":attr:`version` - operating system version"
 msgstr ":attr:`version` — version du système d'exploitation"
 
-#: library/os.rst:687
+#: library/os.rst:688
 msgid ":attr:`machine` - hardware identifier"
 msgstr ":attr:`machine` — identifiant du matériel"
 
-#: library/os.rst:689
+#: library/os.rst:690
 msgid ""
 "For backwards compatibility, this object is also iterable, behaving like a "
 "five-tuple containing :attr:`sysname`, :attr:`nodename`, :attr:`release`, :"
@@ -984,7 +987,7 @@ msgstr ""
 "comme un quintuplet contenant :attr:`sysname`, :attr:`nodename`, :attr:"
 "`release`, :attr:`version`, et :attr:`machine` dans cet ordre."
 
-#: library/os.rst:694
+#: library/os.rst:695
 msgid ""
 "Some systems truncate :attr:`nodename` to 8 characters or to the leading "
 "component; a better way to get the hostname is :func:`socket.gethostname`  "
@@ -995,11 +998,11 @@ msgstr ""
 "func:`socket.gethostname` ou encore ``socket.gethostbyaddr(socket."
 "gethostname())``."
 
-#: library/os.rst:700
+#: library/os.rst:701
 msgid ":ref:`Availability <availability>`: recent flavors of Unix."
 msgstr ":ref:`Disponibilité <availability>` : dérivés récents de Unix."
 
-#: library/os.rst:4263
+#: library/os.rst:4264
 msgid ""
 "Return type changed from a tuple to a tuple-like object with named "
 "attributes."
@@ -1007,7 +1010,7 @@ msgstr ""
 "type de retour changé d'un quintuplet en un objet compatible avec le type "
 "*n*-uplet, avec des attributs nommés."
 
-#: library/os.rst:710
+#: library/os.rst:711
 msgid ""
 "Unset (delete) the environment variable named *key*. Such changes to the "
 "environment affect subprocesses started with :func:`os.system`, :func:"
@@ -1017,7 +1020,7 @@ msgstr ""
 "l'environnement affectent les sous-processus lancés avec :func:`os.system`, :"
 "func:`popen` ou :func:`fork` et :func:`execv`."
 
-#: library/os.rst:714
+#: library/os.rst:715
 #, fuzzy
 msgid ""
 "Deletion of items in ``os.environ`` is automatically translated into a "
@@ -1030,22 +1033,22 @@ msgstr ""
 "`unsetenv`, mais les appels à :func:`unsetenv` ne mettent pas ``os.environ`` "
 "à jour. Donc il est préférable de supprimer les éléments de ``os.environ``."
 
-#: library/os.rst:719
+#: library/os.rst:720
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.unsetenv`` with argument "
 "``key``."
 msgstr ""
 
-#: library/os.rst:721
+#: library/os.rst:722
 #, fuzzy
 msgid "The function is now always available and is also available on Windows."
 msgstr "Les constantes ci-dessus sont uniquement disponibles sur Windows."
 
-#: library/os.rst:728
+#: library/os.rst:729
 msgid "File Object Creation"
 msgstr "Création de fichiers objets"
 
-#: library/os.rst:730
+#: library/os.rst:731
 #, fuzzy
 msgid ""
 "These functions create new :term:`file objects <file object>`.  (See also :"
@@ -1054,7 +1057,7 @@ msgstr ""
 "Cette fonction crée de nouveaux :term:`fichiers objets <file object>`. (Voir "
 "aussi :func:`~os.open` pour ouvrir des descripteurs de fichiers)."
 
-#: library/os.rst:736
+#: library/os.rst:737
 msgid ""
 "Return an open file object connected to the file descriptor *fd*.  This is "
 "an alias of the :func:`open` built-in function and accepts the same "
@@ -1066,18 +1069,18 @@ msgstr ""
 "La seule différence est que le premier argument de :func:`fdopen` doit "
 "toujours être un entier."
 
-#: library/os.rst:745
+#: library/os.rst:746
 msgid "File Descriptor Operations"
 msgstr "Opérations sur les descripteurs de fichiers"
 
-#: library/os.rst:747
+#: library/os.rst:748
 msgid ""
 "These functions operate on I/O streams referenced using file descriptors."
 msgstr ""
 "Ces fonctions opèrent sur des flux d'entrées/sorties référencés par des "
 "descripteurs de fichiers."
 
-#: library/os.rst:749
+#: library/os.rst:750
 msgid ""
 "File descriptors are small integers corresponding to a file that has been "
 "opened by the current process.  For example, standard input is usually file "
@@ -1095,7 +1098,7 @@ msgstr ""
 "connecteurs (*socket* en anglais) et les tubes (*pipe* en anglais) sont "
 "également référencés par des descripteurs."
 
-#: library/os.rst:756
+#: library/os.rst:757
 msgid ""
 "The :meth:`~io.IOBase.fileno` method can be used to obtain the file "
 "descriptor associated with a :term:`file object` when required.  Note that "
@@ -1108,11 +1111,11 @@ msgstr ""
 "fichier objet, ignorant donc des aspects tels que la mise en tampon interne "
 "des données."
 
-#: library/os.rst:764
+#: library/os.rst:765
 msgid "Close file descriptor *fd*."
 msgstr "Ferme le descripteur de fichier *fd*."
 
-#: library/os.rst:768
+#: library/os.rst:769
 msgid ""
 "This function is intended for low-level I/O and must be applied to a file "
 "descriptor as returned by :func:`os.open` or :func:`pipe`.  To close a "
@@ -1125,7 +1128,7 @@ msgstr ""
 "la primitive :func:`open`, :func:`popen` ou :func:`fdopen`, il faut utiliser "
 "sa méthode :meth:`~io.IOBase.close`."
 
-#: library/os.rst:776
+#: library/os.rst:777
 msgid ""
 "Close all file descriptors from *fd_low* (inclusive) to *fd_high* "
 "(exclusive), ignoring errors. Equivalent to (but much faster than)::"
@@ -1134,7 +1137,7 @@ msgstr ""
 "*fd_high* (exclus), en ignorant les erreurs. Équivalent (mais beaucoup plus "
 "rapide) à ::"
 
-#: library/os.rst:788
+#: library/os.rst:789
 msgid ""
 "Copy *count* bytes from file descriptor *src*, starting from offset "
 "*offset_src*, to file descriptor *dst*, starting from offset *offset_dst*. "
@@ -1144,7 +1147,7 @@ msgid ""
 "attr:`~OSError.errno` set to :data:`errno.EXDEV`."
 msgstr ""
 
-#: library/os.rst:1443
+#: library/os.rst:1444
 msgid ""
 "This copy is done without the additional cost of transferring data from the "
 "kernel to user space and then back into the kernel. Additionally, some "
@@ -1152,19 +1155,19 @@ msgid ""
 "files are opened as binary."
 msgstr ""
 
-#: library/os.rst:800
+#: library/os.rst:801
 msgid ""
 "The return value is the amount of bytes copied. This could be less than the "
 "amount requested."
 msgstr ""
 
-#: library/os.rst:804
+#: library/os.rst:805
 msgid ""
 ":ref:`Availability <availability>`: Linux kernel >= 4.5 or glibc >= 2.27."
 msgstr ""
 ":ref:`Disponibilité <availability>`: noyaux Linux >= 4.5 ou glibc >= 2.27."
 
-#: library/os.rst:810
+#: library/os.rst:811
 msgid ""
 "Return a string describing the encoding of the device associated with *fd* "
 "if it is connected to a terminal; else return :const:`None`."
@@ -1172,17 +1175,17 @@ msgstr ""
 "Renvoie une chaîne de caractères décrivant l'encodage du périphérique "
 "associé à *fd* s'il est connecté à un terminal, sinon renvoie :const:`None`."
 
-#: library/os.rst:813
+#: library/os.rst:814
 msgid ""
 "On Unix, if the :ref:`Python UTF-8 Mode <utf8-mode>` is enabled, return "
 "``'UTF-8'`` rather than the device encoding."
 msgstr ""
 
-#: library/os.rst:816
+#: library/os.rst:817
 msgid "On Unix, the function now implements the Python UTF-8 Mode."
 msgstr ""
 
-#: library/os.rst:822
+#: library/os.rst:823
 msgid ""
 "Return a duplicate of file descriptor *fd*. The new file descriptor is :ref:"
 "`non-inheritable <fd_inheritance>`."
@@ -1190,7 +1193,7 @@ msgstr ""
 "Renvoie une copie du descripteur de fichier *fd*. Le nouveau descripteur de "
 "fichier est :ref:`non-héritable <fd_inheritance>`."
 
-#: library/os.rst:825
+#: library/os.rst:826
 msgid ""
 "On Windows, when duplicating a standard stream (0: stdin, 1: stdout, 2: "
 "stderr), the new file descriptor is :ref:`inheritable <fd_inheritance>`."
@@ -1199,11 +1202,11 @@ msgstr ""
 "2 : *stderr*), le nouveau descripteur de fichier est :ref:`héritable "
 "<fd_inheritance>`."
 
-#: library/os.rst:1031
+#: library/os.rst:1032
 msgid "The new file descriptor is now non-inheritable."
 msgstr "Le nouveau descripteur de fichier est maintenant non-héritable."
 
-#: library/os.rst:835
+#: library/os.rst:836
 msgid ""
 "Duplicate file descriptor *fd* to *fd2*, closing the latter first if "
 "necessary. Return *fd2*. The new file descriptor is :ref:`inheritable "
@@ -1215,16 +1218,16 @@ msgstr ""
 "ref:`héritable <fd_inheritance>` par défaut, ou non-héritable si "
 "*inheritable* vaut ``False``."
 
-#: library/os.rst:840
+#: library/os.rst:841
 msgid "Add the optional *inheritable* parameter."
 msgstr "Ajout du paramètre optionnel *inheritable*."
 
-#: library/os.rst:843
+#: library/os.rst:844
 msgid "Return *fd2* on success. Previously, ``None`` was always returned."
 msgstr ""
 "Renvoie *fd2* en cas de succès. Auparavant, ``None`` était toujours renvoyé."
 
-#: library/os.rst:849
+#: library/os.rst:850
 msgid ""
 "Change the mode of the file given by *fd* to the numeric *mode*.  See the "
 "docs for :func:`chmod` for possible values of *mode*.  As of Python 3.3, "
@@ -1234,13 +1237,13 @@ msgstr ""
 "la documentation de :func:`chmod` pour les valeurs possibles de *mode*. "
 "Depuis Python 3.3, c'est équivalent à ``os.chmod(fd, mode)``."
 
-#: library/os.rst:1833 library/os.rst:1924
+#: library/os.rst:1834 library/os.rst:1925
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.chmod`` with arguments "
 "``path``, ``mode``, ``dir_fd``."
 msgstr ""
 
-#: library/os.rst:860
+#: library/os.rst:861
 msgid ""
 "Change the owner and group id of the file given by *fd* to the numeric *uid* "
 "and *gid*.  To leave one of the ids unchanged, set it to -1.  See :func:"
@@ -1251,13 +1254,13 @@ msgstr ""
 "inchangés, mettez-le à ``-1``. Voir :func:`chown`. Depuis Python 3.3, c'est "
 "équivalent à ``os.chown(fd, uid, gid)``."
 
-#: library/os.rst:1855 library/os.rst:1937
+#: library/os.rst:1856 library/os.rst:1938
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.chown`` with arguments "
 "``path``, ``uid``, ``gid``, ``dir_fd``."
 msgstr ""
 
-#: library/os.rst:872
+#: library/os.rst:873
 msgid ""
 "Force write of file with filedescriptor *fd* to disk. Does not force update "
 "of metadata."
@@ -1265,11 +1268,11 @@ msgstr ""
 "Force l'écriture du fichier ayant le descripteur *fd* sur le disque. Ne "
 "force pas la mise à jour des méta-données."
 
-#: library/os.rst:878
+#: library/os.rst:879
 msgid "This function is not available on MacOS."
 msgstr "Cette fonction n'est pas disponible sur MacOS."
 
-#: library/os.rst:883
+#: library/os.rst:884
 msgid ""
 "Return system configuration information relevant to an open file. *name* "
 "specifies the configuration value to retrieve; it may be a string which is "
@@ -1289,7 +1292,7 @@ msgstr ""
 "sont pas inclues dans ce *mapping*, passer un entier pour *name* est "
 "également accepté."
 
-#: library/os.rst:2185
+#: library/os.rst:2186
 msgid ""
 "If *name* is a string and is not known, :exc:`ValueError` is raised.  If a "
 "specific value for *name* is not supported by the host system, even if it is "
@@ -1301,11 +1304,11 @@ msgstr ""
 "par le système hôte, même si elle est incluse dans ``pathconf_names``, une :"
 "exc:`OSError` est levée avec :const:`errno.EINVAL` pour code d'erreur."
 
-#: library/os.rst:896
+#: library/os.rst:897
 msgid "As of Python 3.3, this is equivalent to ``os.pathconf(fd, name)``."
 msgstr "Depuis Python 3.3, c'est équivalent à ``os.pathconf(fd, name)``."
 
-#: library/os.rst:903
+#: library/os.rst:904
 msgid ""
 "Get the status of the file descriptor *fd*. Return a :class:`stat_result` "
 "object."
@@ -1313,15 +1316,15 @@ msgstr ""
 "Récupère le statut du descripteur de fichier *fd*. Renvoie un objet :class:"
 "`stat_result`."
 
-#: library/os.rst:906
+#: library/os.rst:907
 msgid "As of Python 3.3, this is equivalent to ``os.stat(fd)``."
 msgstr "Depuis Python 3.3, c'est équivalent à ``os.stat(fd)``."
 
-#: library/os.rst:2021
+#: library/os.rst:2022
 msgid "The :func:`.stat` function."
 msgstr "La fonction :func:`.stat`."
 
-#: library/os.rst:915
+#: library/os.rst:916
 msgid ""
 "Return information about the filesystem containing the file associated with "
 "file descriptor *fd*, like :func:`statvfs`.  As of Python 3.3, this is "
@@ -1331,7 +1334,7 @@ msgstr ""
 "associé au descripteur *fd*, comme :func:`statvfs`. Depuis Python 3.3, c'est "
 "équivalent à ``os.statvfs(fd)``."
 
-#: library/os.rst:924
+#: library/os.rst:925
 msgid ""
 "Force write of file with filedescriptor *fd* to disk.  On Unix, this calls "
 "the native :c:func:`fsync` function; on Windows, the MS :c:func:`_commit` "
@@ -1341,7 +1344,7 @@ msgstr ""
 "Unix, cet appel appel la fonction native :c:func:`fsync`, sur Windows, la "
 "fonction MS :c:func:`_commit`."
 
-#: library/os.rst:927
+#: library/os.rst:928
 msgid ""
 "If you're starting with a buffered Python :term:`file object` *f*, first do "
 "``f.flush()``, and then do ``os.fsync(f.fileno())``, to ensure that all "
@@ -1352,7 +1355,7 @@ msgstr ""
 "fileno())`` pour être sûr que tous les tampons internes associés à *f* "
 "soient écrits sur le disque."
 
-#: library/os.rst:936
+#: library/os.rst:937
 msgid ""
 "Truncate the file corresponding to file descriptor *fd*, so that it is at "
 "most *length* bytes in size.  As of Python 3.3, this is equivalent to ``os."
@@ -1362,17 +1365,17 @@ msgstr ""
 "long de *length* *bytes*. Depuis Python 3.3, c'est équivalent à ``os."
 "truncate(fd, length)``."
 
-#: library/os.rst:940
+#: library/os.rst:941
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.truncate`` with arguments "
 "``fd``, ``length``."
 msgstr ""
 
-#: library/os.rst:3053
+#: library/os.rst:3054
 msgid "Added support for Windows"
 msgstr "Prise en charge de Windows"
 
-#: library/os.rst:950
+#: library/os.rst:951
 msgid ""
 "Get the blocking mode of the file descriptor: ``False`` if the :data:"
 "`O_NONBLOCK` flag is set, ``True`` if the flag is cleared."
@@ -1381,12 +1384,12 @@ msgstr ""
 "l'indicateur :data:`O_NONBLOCK` est mis, et ``True`` si l'indicateur est "
 "effacé."
 
-#: library/os.rst:953
+#: library/os.rst:954
 msgid "See also :func:`set_blocking` and :meth:`socket.socket.setblocking`."
 msgstr ""
 "Voir également :func:`set_blocking` et :meth:`socket.socket.setblocking`."
 
-#: library/os.rst:962
+#: library/os.rst:963
 msgid ""
 "Return ``True`` if the file descriptor *fd* is open and connected to a tty(-"
 "like) device, else ``False``."
@@ -1394,7 +1397,7 @@ msgstr ""
 "Renvoie ``True`` si le descripteur de fichier *fd* est ouvert et connecté à "
 "un périphérique TTY (ou compatible), sinon ``False``."
 
-#: library/os.rst:968
+#: library/os.rst:969
 msgid ""
 "Apply, test or remove a POSIX lock on an open file descriptor. *fd* is an "
 "open file descriptor. *cmd* specifies the command to use - one of :data:"
@@ -1407,17 +1410,17 @@ msgstr ""
 "`F_TLOCK`, :data:`F_ULOCK`, ou :data:`F_TEST`). *len* spécifie la section du "
 "fichier à verrouiller."
 
-#: library/os.rst:974
+#: library/os.rst:975
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.lockf`` with arguments "
 "``fd``, ``cmd``, ``len``."
 msgstr ""
 
-#: library/os.rst:986
+#: library/os.rst:987
 msgid "Flags that specify what action :func:`lockf` will take."
 msgstr "Indicateurs spécifiant quelle action :func:`lockf` va prendre."
 
-#: library/os.rst:995
+#: library/os.rst:996
 msgid ""
 "Set the current position of file descriptor *fd* to position *pos*, modified "
 "by *how*: :const:`SEEK_SET` or ``0`` to set the position relative to the "
@@ -1433,7 +1436,7 @@ msgstr ""
 "la placer par rapport à la fin du fichier. Renvoie la nouvelle position du "
 "curseur en bytes, à partir du début."
 
-#: library/os.rst:1006
+#: library/os.rst:1007
 msgid ""
 "Parameters to the :func:`lseek` function. Their values are 0, 1, and 2, "
 "respectively."
@@ -1441,7 +1444,7 @@ msgstr ""
 "Paramètres de la fonction :func:`lseek`. Leur valeur est respectivement 0, "
 "1, et 2."
 
-#: library/os.rst:1009
+#: library/os.rst:1010
 msgid ""
 "Some operating systems could support additional values, like :data:`os."
 "SEEK_HOLE` or :data:`os.SEEK_DATA`."
@@ -1449,7 +1452,7 @@ msgstr ""
 "Certains systèmes d'exploitation pourraient gérer des valeurs additionnelles "
 "telles que :data:`os.SEEK_HOLE` ou :data:`os.SEEK_DATA`."
 
-#: library/os.rst:1016
+#: library/os.rst:1017
 msgid ""
 "Open the file *path* and set various flags according to *flags* and possibly "
 "its mode according to *mode*.  When computing *mode*, the current umask "
@@ -1462,7 +1465,7 @@ msgstr ""
 "fichier nouvellement ouvert. Le nouveau descripteur de fichier est :ref:`non-"
 "héritable <fd_inheritance>`."
 
-#: library/os.rst:1021
+#: library/os.rst:1022
 msgid ""
 "For a description of the flag and mode values, see the C run-time "
 "documentation; flag constants (like :const:`O_RDONLY` and :const:`O_WRONLY`) "
@@ -1475,7 +1478,7 @@ msgstr ""
 "module :mod:`os`. En particulier, sur Windows, ajouter :const:`O_BINARY` est "
 "nécessaire pour ouvrir des fichiers en binaire."
 
-#: library/os.rst:1026
+#: library/os.rst:1027
 msgid ""
 "This function can support :ref:`paths relative to directory descriptors "
 "<dir_fd>` with the *dir_fd* parameter."
@@ -1483,13 +1486,13 @@ msgstr ""
 "Cette fonction prend en charge des :ref:`chemins relatifs à des descripteurs "
 "de répertoires <dir_fd>` avec le paramètre *dir_fd*."
 
-#: library/os.rst:1029
+#: library/os.rst:1030
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``open`` with arguments ``path``, "
 "``mode``, ``flags``."
 msgstr ""
 
-#: library/os.rst:1036
+#: library/os.rst:1037
 msgid ""
 "This function is intended for low-level I/O.  For normal usage, use the "
 "built-in function :func:`open`, which returns a :term:`file object` with :"
@@ -1502,11 +1505,11 @@ msgstr ""
 "Pour envelopper un descripteur de fichier dans un fichier objet, utilisez :"
 "func:`fdopen`."
 
-#: library/os.rst:2061 library/os.rst:2151 library/os.rst:2263
+#: library/os.rst:2062 library/os.rst:2152 library/os.rst:2264
 msgid "The *dir_fd* argument."
 msgstr "L'argument *dir_fd*."
 
-#: library/os.rst:1363 library/os.rst:4384
+#: library/os.rst:1364 library/os.rst:4385
 msgid ""
 "If the system call is interrupted and the signal handler does not raise an "
 "exception, the function now retries the system call instead of raising an :"
@@ -1516,15 +1519,15 @@ msgstr ""
 "aucune exception, la fonction réessaye l'appel système au lieu de lever une :"
 "exc:`InterruptedError` (voir la :pep:`475` à propos du raisonnement)."
 
-#: library/os.rst:1730 library/os.rst:1793 library/os.rst:1873
-#: library/os.rst:1928 library/os.rst:2000 library/os.rst:2064
-#: library/os.rst:2132 library/os.rst:2195 library/os.rst:2285
-#: library/os.rst:2644 library/os.rst:3056 library/os.rst:3112
-#: library/os.rst:3271 library/os.rst:3633 library/os.rst:4121
+#: library/os.rst:1731 library/os.rst:1794 library/os.rst:1874
+#: library/os.rst:1929 library/os.rst:2001 library/os.rst:2065
+#: library/os.rst:2133 library/os.rst:2196 library/os.rst:2286
+#: library/os.rst:2645 library/os.rst:3057 library/os.rst:3113
+#: library/os.rst:3272 library/os.rst:3634 library/os.rst:4122
 msgid "Accepts a :term:`path-like object`."
 msgstr "Accepte un :term:`path-like object`."
 
-#: library/os.rst:1052
+#: library/os.rst:1053
 msgid ""
 "The following constants are options for the *flags* parameter to the :func:"
 "`~os.open` function.  They can be combined using the bitwise OR operator ``|"
@@ -1540,34 +1543,34 @@ msgstr ""
 "consultez la page de manuel Unix :manpage:`open(2)` ou la `MSDN <https://"
 "msdn.microsoft.com/en-us/library/z0kc8e3z.aspx>`_ sur Windows."
 
-#: library/os.rst:1067
+#: library/os.rst:1068
 msgid "The above constants are available on Unix and Windows."
 msgstr "Les constantes ci-dessus sont disponibles sur Unix et Windows."
 
-#: library/os.rst:1078
+#: library/os.rst:1079
 msgid "The above constants are only available on Unix."
 msgstr "Les constantes ci-dessus sont uniquement disponibles sur Unix."
 
-#: library/os.rst:1080
+#: library/os.rst:1081
 msgid "Add :data:`O_CLOEXEC` constant."
 msgstr "Ajout de la constante :data:`O_CLOCEXEC`."
 
-#: library/os.rst:1091
+#: library/os.rst:1092
 msgid "The above constants are only available on Windows."
 msgstr "Les constantes ci-dessus sont uniquement disponibles sur Windows."
 
-#: library/os.rst:1098
+#: library/os.rst:1099
 #, fuzzy
 msgid "The above constants are only available on macOS."
 msgstr "Les constantes ci-dessus sont uniquement disponibles sur Unix."
 
-#: library/os.rst:1100
+#: library/os.rst:1101
 msgid ""
 "Add :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:`O_SYMLINK` and :data:"
 "`O_NOFOLLOW_ANY` constants."
 msgstr ""
 
-#: library/os.rst:1114
+#: library/os.rst:1115
 msgid ""
 "The above constants are extensions and not present if they are not defined "
 "by the C library."
@@ -1575,7 +1578,7 @@ msgstr ""
 "Les constantes ci-dessus sont des extensions et ne sont pas présentes si "
 "elles ne sont pas définies par la bibliothèque C."
 
-#: library/os.rst:1117
+#: library/os.rst:1118
 msgid ""
 "Add :data:`O_PATH` on systems that support it. Add :data:`O_TMPFILE`, only "
 "available on Linux Kernel 3.11   or newer."
@@ -1583,7 +1586,7 @@ msgstr ""
 "Ajout de :data:`O_PATH` sur les systèmes qui le gèrent. Ajout de :data:"
 "`O_TMPFILE`, uniquement disponible sur Linux Kernel 3.11 ou plus récent."
 
-#: library/os.rst:1127
+#: library/os.rst:1128
 msgid ""
 "Open a new pseudo-terminal pair. Return a pair of file descriptors "
 "``(master, slave)`` for the pty and the tty, respectively. The new file "
@@ -1596,15 +1599,15 @@ msgstr ""
 "<fd_inheritance>`. Pour une approche (légèrement) plus portable, utilisez le "
 "module :mod:`pty`."
 
-#: library/os.rst:1159 library/os.rst:3818
+#: library/os.rst:1160 library/os.rst:3819
 msgid ":ref:`Availability <availability>`: some flavors of Unix."
 msgstr ":ref:`Disponibilité <availability>` : certains dérivés Unix."
 
-#: library/os.rst:1146
+#: library/os.rst:1147
 msgid "The new file descriptors are now non-inheritable."
 msgstr "Les nouveaux descripteurs de fichiers sont maintenant non-héritables."
 
-#: library/os.rst:1140
+#: library/os.rst:1141
 msgid ""
 "Create a pipe.  Return a pair of file descriptors ``(r, w)`` usable for "
 "reading and writing, respectively. The new file descriptor is :ref:`non-"
@@ -1614,7 +1617,7 @@ msgstr ""
 "``(r, w)`` utilisables respectivement pour lire et pour écrire. Les nouveaux "
 "descripteurs de fichiers sont :ref:`non-héritables <fd_inheritance>`."
 
-#: library/os.rst:1152
+#: library/os.rst:1153
 msgid ""
 "Create a pipe with *flags* set atomically. *flags* can be constructed by "
 "ORing together one or more of these values: :data:`O_NONBLOCK`, :data:"
@@ -1626,7 +1629,7 @@ msgstr ""
 "`O_NONBLOCK`, :data:`O_CLOEXEC`. Renvoie une paire de descripteurs de "
 "fichiers ``(r, w)`` utilisables respectivement pour lire et pour écrire."
 
-#: library/os.rst:1165
+#: library/os.rst:1166
 msgid ""
 "Ensures that enough disk space is allocated for the file specified by *fd* "
 "starting from *offset* and continuing for *len* bytes."
@@ -1634,7 +1637,7 @@ msgstr ""
 "Assure que suffisamment d'espace sur le disque est alloué pour le fichier "
 "spécifié par *fd* partant de *offset* et continuant sur *len* bytes."
 
-#: library/os.rst:1175
+#: library/os.rst:1176
 msgid ""
 "Announces an intention to access data in a specific pattern thus allowing "
 "the kernel to make optimizations. The advice applies to the region of the "
@@ -1652,7 +1655,7 @@ msgstr ""
 "`POSIX_FADV_RANDOM`, :data:`POSIX_FADV_NOREUSE`, :data:"
 "`POSIX_FADV_WILLNEED`, ou :data:`POSIX_FADV_DONTNEED`."
 
-#: library/os.rst:1195
+#: library/os.rst:1196
 msgid ""
 "Flags that can be used in *advice* in :func:`posix_fadvise` that specify the "
 "access pattern that is likely to be used."
@@ -1661,7 +1664,7 @@ msgstr ""
 "`posix_fadvise` et qui spécifient le motif d'accès qui est censé être "
 "utilisé."
 
-#: library/os.rst:1205
+#: library/os.rst:1206
 msgid ""
 "Read at most *n* bytes from file descriptor *fd* at a position of *offset*, "
 "leaving the file offset unchanged."
@@ -1669,7 +1672,7 @@ msgstr ""
 "Lit au maximum *n* octets depuis le descripteur de fichier *fd* à la "
 "position *offset* sans modifier cette position."
 
-#: library/os.rst:1352
+#: library/os.rst:1353
 msgid ""
 "Return a bytestring containing the bytes read. If the end of the file "
 "referred to by *fd* has been reached, an empty bytes object is returned."
@@ -1677,7 +1680,7 @@ msgstr ""
 "Renvoie une chaîne d'octets contenant les octets lus, ou une chaîne d'octets "
 "vide si la fin du fichier pointé par *fd* est atteinte."
 
-#: library/os.rst:1218
+#: library/os.rst:1219
 msgid ""
 "Read from a file descriptor *fd* at a position of *offset* into mutable :"
 "term:`bytes-like objects <bytes-like object>` *buffers*, leaving the file "
@@ -1689,7 +1692,7 @@ msgstr ""
 "modifier la position dans le fichier. Les données sont transférées dans "
 "chaque tampon, jusqu'à ce qu'il soit plein, tour à tour."
 
-#: library/os.rst:1293
+#: library/os.rst:1294
 msgid ""
 "The flags argument contains a bitwise OR of zero or more of the following "
 "flags:"
@@ -1697,15 +1700,15 @@ msgstr ""
 "L'argument *flags* contient un OU logique bit-à-bit de zéro ou plusieurs des "
 "indicateurs suivants :"
 
-#: library/os.rst:1226
+#: library/os.rst:1227
 msgid ":data:`RWF_HIPRI`"
 msgstr ":data:`RWF_HIPRI`"
 
-#: library/os.rst:1227
+#: library/os.rst:1228
 msgid ":data:`RWF_NOWAIT`"
 msgstr ":data:`RWF_NOWAIT`"
 
-#: library/os.rst:1472
+#: library/os.rst:1473
 msgid ""
 "Return the total number of bytes actually read which can be less than the "
 "total capacity of all the objects."
@@ -1713,7 +1716,7 @@ msgstr ""
 "Renvoie le nombre total d'octets réellement lus, qui peut être inférieur à "
 "la capacité totale de tous les objets."
 
-#: library/os.rst:1302 library/os.rst:1537
+#: library/os.rst:1303 library/os.rst:1538
 msgid ""
 "The operating system may set a limit (:func:`sysconf` value "
 "``'SC_IOV_MAX'``) on the number of buffers that can be used."
@@ -1721,11 +1724,11 @@ msgstr ""
 "Le système d'exploitation peut définir une limite (valeur :func:`sysconf` "
 "``'SC_IOV_MAX'``) sur le nombre de mémoires tampons pouvant être utilisées."
 
-#: library/os.rst:1235
+#: library/os.rst:1236
 msgid "Combine the functionality of :func:`os.readv` and :func:`os.pread`."
 msgstr "Combine les fonctionnalités de :func:`os.readv` et :func:`os.pread`."
 
-#: library/os.rst:1240
+#: library/os.rst:1241
 #, fuzzy
 msgid ""
 ":ref:`Availability <availability>`: Linux 2.6.30 and newer, FreeBSD 6.0 and "
@@ -1736,7 +1739,7 @@ msgstr ""
 "6.0 et plus récent, OpenBSD 2.7 et plus récent. L'utilisation de *flags* "
 "requiert Linux 4.6 ou plus récent."
 
-#: library/os.rst:1246
+#: library/os.rst:1247
 msgid ""
 "Do not wait for data which is not immediately available. If this flag is "
 "specified, the system call will return instantly if it would have to read "
@@ -1746,7 +1749,7 @@ msgstr ""
 "Si cette option est spécifiée, l'appel système retourne instantanément s'il "
 "doit lire les données du stockage sous-jacent ou attendre un verrou."
 
-#: library/os.rst:1250
+#: library/os.rst:1251
 msgid ""
 "If some data was successfully read, it will return the number of bytes read. "
 "If no bytes were read, it will return ``-1`` and set errno to :data:`errno."
@@ -1756,11 +1759,11 @@ msgstr ""
 "renvoyé. Si aucun octet n'a été lu, renvoie ``-1`` et affecte à *errno* la "
 "valeur :data:`errno.EAGAIN`."
 
-#: library/os.rst:1255
+#: library/os.rst:1256
 msgid ":ref:`Availability <availability>`: Linux 4.14 and newer."
 msgstr ":ref:`Disponibilité <availability>` : Linux 4.14 et ultérieures."
 
-#: library/os.rst:1261
+#: library/os.rst:1262
 msgid ""
 "High priority read/write. Allows block-based filesystems to use polling of "
 "the device, which provides lower latency, but may use additional resources."
@@ -1769,7 +1772,7 @@ msgstr ""
 "bloc d'utiliser le *polling* du périphérique, qui fournit une latence "
 "inférieure, mais peut utiliser des ressources supplémentaires."
 
-#: library/os.rst:1265
+#: library/os.rst:1266
 msgid ""
 "Currently, on Linux, this feature is usable only on a file descriptor opened "
 "using the :data:`O_DIRECT` flag."
@@ -1777,11 +1780,11 @@ msgstr ""
 "Actuellement, sous Linux, cette fonctionnalité est utilisable uniquement sur "
 "un descripteur de fichier ouvert à l'aide de l'option :data:`O_DIRECT`."
 
-#: library/os.rst:1269
+#: library/os.rst:1270
 msgid ":ref:`Availability <availability>`: Linux 4.6 and newer."
 msgstr ":ref:`Disponibilité <availability>` : Linux 4.6 et ultérieures."
 
-#: library/os.rst:1275
+#: library/os.rst:1276
 msgid ""
 "Write the bytestring in *str* to file descriptor *fd* at position of "
 "*offset*, leaving the file offset unchanged."
@@ -1789,11 +1792,11 @@ msgstr ""
 "Écrit la chaîne d'octets de *str* dans le descripteur de fichier *fd* à la "
 "position *offset* en laissant la position dans le fichier inchangée."
 
-#: library/os.rst:1512
+#: library/os.rst:1513
 msgid "Return the number of bytes actually written."
 msgstr "Renvoie le nombre d'octets effectivement écrits."
 
-#: library/os.rst:1287
+#: library/os.rst:1288
 msgid ""
 "Write the *buffers* contents to file descriptor *fd* at a offset *offset*, "
 "leaving the file offset unchanged.  *buffers* must be a sequence of :term:"
@@ -1807,29 +1810,29 @@ msgstr ""
 "object>`. Les tampons sont traités dans l'ordre du tableau. Le contenu "
 "entier du premier tampon est écrit avant le traitement du second, etc."
 
-#: library/os.rst:1296
+#: library/os.rst:1297
 msgid ":data:`RWF_DSYNC`"
 msgstr ":data:`RWF_DSYNC`"
 
-#: library/os.rst:1297
+#: library/os.rst:1298
 msgid ":data:`RWF_SYNC`"
 msgstr ":data:`RWF_SYNC`"
 
-#: library/os.rst:1298
+#: library/os.rst:1299
 #, fuzzy
 msgid ":data:`RWF_APPEND`"
 msgstr ":data:`stat.UF_APPEND`"
 
-#: library/os.rst:1300
+#: library/os.rst:1301
 msgid "Return the total number of bytes actually written."
 msgstr "Renvoie le nombre total d'octets effectivement écrits."
 
-#: library/os.rst:1305
+#: library/os.rst:1306
 msgid "Combine the functionality of :func:`os.writev` and :func:`os.pwrite`."
 msgstr ""
 "Combine les fonctionnalités de :func:`os. writev` et :func:`os. pwrite`."
 
-#: library/os.rst:1310
+#: library/os.rst:1311
 #, fuzzy
 msgid ""
 ":ref:`Availability <availability>`: Linux 2.6.30 and newer, FreeBSD 6.0 and "
@@ -1840,7 +1843,7 @@ msgstr ""
 "6.0 et plus récent, OpenBSD 2.7 et plus récent. L'utilisation de *flags* "
 "requiert Linux 4.6 ou plus récent."
 
-#: library/os.rst:1316
+#: library/os.rst:1317
 #, fuzzy
 msgid ""
 "Provide a per-write equivalent of the :data:`O_DSYNC` :func:`os.open` flag. "
@@ -1850,11 +1853,11 @@ msgstr ""
 "``open(2)``. L' effet de cette option s'applique uniquement à la plage de "
 "données écrite par l'appel système."
 
-#: library/os.rst:1330
+#: library/os.rst:1331
 msgid ":ref:`Availability <availability>`: Linux 4.7 and newer."
 msgstr ":ref:`Disponibilité <availability>` : Linux 4.7 et ultérieures."
 
-#: library/os.rst:1326
+#: library/os.rst:1327
 #, fuzzy
 msgid ""
 "Provide a per-write equivalent of the :data:`O_SYNC` :func:`os.open` flag. "
@@ -1864,7 +1867,7 @@ msgstr ""
 "``open(2)``. L'effet de cette option s'applique uniquement à la plage de "
 "données écrite par l'appel système."
 
-#: library/os.rst:1336
+#: library/os.rst:1337
 msgid ""
 "Provide a per-write equivalent of the :data:`O_APPEND` :func:`os.open` flag. "
 "This flag is meaningful only for :func:`os.pwritev`, and its effect applies "
@@ -1874,16 +1877,16 @@ msgid ""
 "*offset* is updated."
 msgstr ""
 
-#: library/os.rst:1344
+#: library/os.rst:1345
 #, fuzzy
 msgid ":ref:`Availability <availability>`: Linux 4.16 and newer."
 msgstr ":ref:`Disponibilité <availability>` : Linux 4.6 et ultérieures."
 
-#: library/os.rst:1350
+#: library/os.rst:1351
 msgid "Read at most *n* bytes from file descriptor *fd*."
 msgstr "Lit au maximum *n* octets du descripteur de fichier *fd*."
 
-#: library/os.rst:1357
+#: library/os.rst:1358
 msgid ""
 "This function is intended for low-level I/O and must be applied to a file "
 "descriptor as returned by :func:`os.open` or :func:`pipe`.  To read a \"file "
@@ -1897,7 +1900,7 @@ msgstr ""
 "func:`popen` ou :func:`fdopen`, ou par :data:`stdin`, utilisez sa méthode :"
 "meth:`~file.read` ou :meth:`~file.readline`."
 
-#: library/os.rst:1372
+#: library/os.rst:1373
 #, fuzzy
 msgid ""
 "Copy *count* bytes from file descriptor *in_fd* to file descriptor *out_fd* "
@@ -1908,7 +1911,7 @@ msgstr ""
 "descripteur de fichier *out* en démarrant à *offset*. Renvoie le nombre de "
 "bytes envoyés. Quand EOF est atteint, renvoie 0."
 
-#: library/os.rst:1376
+#: library/os.rst:1377
 msgid ""
 "The first function notation is supported by all platforms that define :func:"
 "`sendfile`."
@@ -1916,7 +1919,7 @@ msgstr ""
 "La première notation de fonction est prise en charge par toutes les plate-"
 "formes qui définissent :func:`sendfile`."
 
-#: library/os.rst:1379
+#: library/os.rst:1380
 #, fuzzy
 msgid ""
 "On Linux, if *offset* is given as ``None``, the bytes are read from the "
@@ -1925,7 +1928,7 @@ msgstr ""
 "Sur Linux, si *offset* est donné par ``None``, les bytes sont lus depuis la "
 "position actuelle de *in* et la position de *in* est mise à jour."
 
-#: library/os.rst:1382
+#: library/os.rst:1383
 #, fuzzy
 msgid ""
 "The second case may be used on macOS and FreeBSD where *headers* and "
@@ -1938,7 +1941,7 @@ msgstr ""
 "et après que les données de *in* ne soient écrites. Renvoie la même chose "
 "que le premier cas."
 
-#: library/os.rst:1386
+#: library/os.rst:1387
 #, fuzzy
 msgid ""
 "On macOS and FreeBSD, a value of ``0`` for *count* specifies to send until "
@@ -1947,7 +1950,7 @@ msgstr ""
 "Sur Mac OS X et FreeBSD, une valeur de 0 pour *count* spécifié d'envoyer "
 "jusqu'à ce que la fin de *in* ne soit atteinte."
 
-#: library/os.rst:1389
+#: library/os.rst:1390
 #, fuzzy
 msgid ""
 "All platforms support sockets as *out_fd* file descriptor, and some "
@@ -1957,7 +1960,7 @@ msgstr ""
 "fichier *out*, et certaines plate-formes autorisent d'autres types (par "
 "exemple, un fichier normal ou un tube) également."
 
-#: library/os.rst:1392
+#: library/os.rst:1393
 msgid ""
 "Cross-platform applications should not use *headers*, *trailers* and *flags* "
 "arguments."
@@ -1965,7 +1968,7 @@ msgstr ""
 "Les applications multiplate-formes ne devraient pas utiliser les arguments  "
 "*headers*, *trailers*, et *flags*."
 
-#: library/os.rst:1399
+#: library/os.rst:1400
 msgid ""
 "For a higher-level wrapper of :func:`sendfile`, see :meth:`socket.socket."
 "sendfile`."
@@ -1973,11 +1976,11 @@ msgstr ""
 "Pour une interface de plus haut niveau de :func:`sendfile`, voir :meth:"
 "`socket.socket.setfile`."
 
-#: library/os.rst:1404
+#: library/os.rst:1405
 msgid "Parameters *out* and *in* was renamed to *out_fd* and *in_fd*."
 msgstr ""
 
-#: library/os.rst:1410
+#: library/os.rst:1411
 msgid ""
 "Set the blocking mode of the specified file descriptor. Set the :data:"
 "`O_NONBLOCK` flag if blocking is ``False``, clear the flag otherwise."
@@ -1986,18 +1989,18 @@ msgstr ""
 "l'indicateur :data:`O_NONBLOCK` si *blocking* vaut ``False``, efface "
 "l'indicateur sinon."
 
-#: library/os.rst:1413
+#: library/os.rst:1414
 msgid "See also :func:`get_blocking` and :meth:`socket.socket.setblocking`."
 msgstr "Voir aussi :func:`get_blocking` et :meth:`socket;socket.setblocking`."
 
-#: library/os.rst:1424
+#: library/os.rst:1425
 msgid ""
 "Parameters to the :func:`sendfile` function, if the implementation supports "
 "them."
 msgstr ""
 "Paramètres de la fonction :func:`sendfile`, si l'implémentation les gère."
 
-#: library/os.rst:1434
+#: library/os.rst:1435
 msgid ""
 "Transfer *count* bytes from file descriptor *src*, starting from offset "
 "*offset_src*, to file descriptor *dst*, starting from offset *offset_dst*. "
@@ -2009,7 +2012,7 @@ msgid ""
 "`~OSError.errno` set to :data:`errno.EXDEV`."
 msgstr ""
 
-#: library/os.rst:1448
+#: library/os.rst:1449
 msgid ""
 "Upon successful completion, returns the number of bytes spliced to or from "
 "the pipe. A return value of 0 means end of input. If *src* refers to a pipe, "
@@ -2018,14 +2021,14 @@ msgid ""
 "the pipe."
 msgstr ""
 
-#: library/os.rst:1455
+#: library/os.rst:1456
 #, fuzzy
 msgid ""
 ":ref:`Availability <availability>`: Linux kernel >= 2.6.17 and glibc >= 2.5"
 msgstr ""
 ":ref:`Disponibilité <availability>`: noyaux Linux >= 4.5 ou glibc >= 2.27."
 
-#: library/os.rst:1467
+#: library/os.rst:1468
 msgid ""
 "Read from a file descriptor *fd* into a number of mutable :term:`bytes-like "
 "objects <bytes-like object>` *buffers*. Transfer data into each buffer until "
@@ -2036,7 +2039,7 @@ msgstr ""
 "bytes-compatibles <bytes-like object>` muables : *buffers*. Les données sont "
 "transférées dans chaque tampon, jusqu'à ce qu'il soit plein, tour à tour."
 
-#: library/os.rst:1485
+#: library/os.rst:1486
 msgid ""
 "Return the process group associated with the terminal given by *fd* (an open "
 "file descriptor as returned by :func:`os.open`)."
@@ -2044,7 +2047,7 @@ msgstr ""
 "Renvoie le groupe de processus associé au terminal donné par *fd* (un "
 "descripteur de fichier ouvert comme renvoyé par :func:`os.open`)."
 
-#: library/os.rst:1493
+#: library/os.rst:1494
 msgid ""
 "Set the process group associated with the terminal given by *fd* (an open "
 "file descriptor as returned by :func:`os.open`) to *pg*."
@@ -2052,7 +2055,7 @@ msgstr ""
 "Place *pg* dans le groupe de processus associé au terminal donné par *fd* "
 "(un descripteur de fichier ouvert comme renvoyé par :func:`os.open`)."
 
-#: library/os.rst:1501
+#: library/os.rst:1502
 msgid ""
 "Return a string which specifies the terminal device associated with file "
 "descriptor *fd*.  If *fd* is not associated with a terminal device, an "
@@ -2062,11 +2065,11 @@ msgstr ""
 "au descripteur de fichier *fd*. Si *fd* n'est pas associé à un périphérique "
 "terminal, une exception est levée."
 
-#: library/os.rst:1510
+#: library/os.rst:1511
 msgid "Write the bytestring in *str* to file descriptor *fd*."
 msgstr "Écrit la chaîne d'octets de *str* vers le descripteur de fichier *fd*."
 
-#: library/os.rst:1516
+#: library/os.rst:1517
 msgid ""
 "This function is intended for low-level I/O and must be applied to a file "
 "descriptor as returned by :func:`os.open` or :func:`pipe`.  To write a "
@@ -2080,7 +2083,7 @@ msgstr ""
 "func:`open`, :func:`popen`, ou par :func:`fdopen`, ou par :data:`sys.stdout` "
 "ou :data:`sys.stderr`, utilisez sa méthode :meth:`~file.write`."
 
-#: library/os.rst:1530
+#: library/os.rst:1531
 msgid ""
 "Write the contents of *buffers* to file descriptor *fd*. *buffers* must be a "
 "sequence of :term:`bytes-like objects <bytes-like object>`. Buffers are "
@@ -2092,15 +2095,15 @@ msgstr ""
 "object>`. Les tampons sont traités dans l'ordre du tableau. Le contenu "
 "entier du premier tampon est écrit avant le traitement du second, etc."
 
-#: library/os.rst:1535
+#: library/os.rst:1536
 msgid "Returns the total number of bytes actually written."
 msgstr "Renvoie le nombre total d'octets effectivement écrits."
 
-#: library/os.rst:1548
+#: library/os.rst:1549
 msgid "Querying the size of a terminal"
 msgstr "Demander la taille d'un terminal"
 
-#: library/os.rst:1554
+#: library/os.rst:1555
 msgid ""
 "Return the size of the terminal window as ``(columns, lines)``, tuple of "
 "type :class:`terminal_size`."
@@ -2108,7 +2111,7 @@ msgstr ""
 "Renvoie la taille du terminal comme un couple ``(columns, lines)`` de type :"
 "class:`terminal_size`."
 
-#: library/os.rst:1557
+#: library/os.rst:1558
 msgid ""
 "The optional argument ``fd`` (default ``STDOUT_FILENO``, or standard output) "
 "specifies which file descriptor should be queried."
@@ -2117,7 +2120,7 @@ msgstr ""
 "standard) spécifie le descripteur de fichier auquel la requête doit être "
 "envoyée."
 
-#: library/os.rst:1560
+#: library/os.rst:1561
 msgid ""
 "If the file descriptor is not connected to a terminal, an :exc:`OSError` is "
 "raised."
@@ -2125,7 +2128,7 @@ msgstr ""
 "Si le descripteur de fichier  n'est pas connecté à un terminal, une :exc:"
 "`OSError` est levée."
 
-#: library/os.rst:1563
+#: library/os.rst:1564
 msgid ""
 ":func:`shutil.get_terminal_size` is the high-level function which should "
 "normally be used, ``os.get_terminal_size`` is the low-level implementation."
@@ -2134,7 +2137,7 @@ msgstr ""
 "normalement être utilisée, ``os.get_terminal_size`` en est l'implémentation "
 "bas-niveau."
 
-#: library/os.rst:1571
+#: library/os.rst:1572
 msgid ""
 "A subclass of tuple, holding ``(columns, lines)`` of the terminal window "
 "size."
@@ -2142,19 +2145,19 @@ msgstr ""
 "Une sous-classe de *tuple*, contenant ``(columns, lines)``, la taille du "
 "terminal."
 
-#: library/os.rst:1575
+#: library/os.rst:1576
 msgid "Width of the terminal window in characters."
 msgstr "Longueur du terminal en caractères."
 
-#: library/os.rst:1579
+#: library/os.rst:1580
 msgid "Height of the terminal window in characters."
 msgstr "Hauteur du terminal en caractères."
 
-#: library/os.rst:1585
+#: library/os.rst:1586
 msgid "Inheritance of File Descriptors"
 msgstr "Héritage de descripteurs de fichiers"
 
-#: library/os.rst:1589
+#: library/os.rst:1590
 msgid ""
 "A file descriptor has an \"inheritable\" flag which indicates if the file "
 "descriptor can be inherited by child processes.  Since Python 3.4, file "
@@ -2164,7 +2167,7 @@ msgstr ""
 "par les processus-fils. Depuis Python 3.4, les descripteurs de fichiers "
 "créés par Python ne sont pas héritable par défaut."
 
-#: library/os.rst:1593
+#: library/os.rst:1594
 msgid ""
 "On UNIX, non-inheritable file descriptors are closed in child processes at "
 "the execution of a new program, other file descriptors are inherited."
@@ -2172,7 +2175,7 @@ msgstr ""
 "Sur UNIX, les descripteurs de fichiers non-héritables sont fermés dans les "
 "processus-fils à l'exécution, les autres descripteurs sont hérités."
 
-#: library/os.rst:1596
+#: library/os.rst:1597
 msgid ""
 "On Windows, non-inheritable handles and file descriptors are closed in child "
 "processes, except for standard streams (file descriptors 0, 1 and 2: stdin, "
@@ -2191,35 +2194,35 @@ msgstr ""
 "standards) sont fermés, et les identificateurs héritables sont hérités "
 "seulement si le paramètre *close_fds* vaut ``False``."
 
-#: library/os.rst:1606
+#: library/os.rst:1607
 msgid ""
 "Get the \"inheritable\" flag of the specified file descriptor (a boolean)."
 msgstr ""
 "Récupère le marqueur « héritable » (booléen) du descripteur de fichier "
 "spécifié."
 
-#: library/os.rst:1610
+#: library/os.rst:1611
 msgid "Set the \"inheritable\" flag of the specified file descriptor."
 msgstr "Définit le marqueur « héritable » du descripteur de fichier spécifié."
 
-#: library/os.rst:1614
+#: library/os.rst:1615
 msgid "Get the \"inheritable\" flag of the specified handle (a boolean)."
 msgstr ""
 "Récupère le marqueur « héritable » (booléen) de l'identificateur spécifié."
 
-#: library/os.rst:1622 library/os.rst:4156 library/os.rst:4202
+#: library/os.rst:1623 library/os.rst:4157 library/os.rst:4203
 msgid ":ref:`Availability <availability>`: Windows."
 msgstr ":ref:`Disponibilité <availability>` : Windows."
 
-#: library/os.rst:1620
+#: library/os.rst:1621
 msgid "Set the \"inheritable\" flag of the specified handle."
 msgstr "Définit le marqueur « héritable » de l'identificateur spécifié."
 
-#: library/os.rst:1628
+#: library/os.rst:1629
 msgid "Files and Directories"
 msgstr "Fichiers et répertoires"
 
-#: library/os.rst:1630
+#: library/os.rst:1631
 msgid ""
 "On some Unix platforms, many of these functions support one or more of these "
 "features:"
@@ -2227,7 +2230,7 @@ msgstr ""
 "Sur certaines plate-formes Unix, beaucoup de ces fonctions gèrent une ou "
 "plusieurs des fonctionnalités suivantes :"
 
-#: library/os.rst:1635
+#: library/os.rst:1636
 #, fuzzy
 msgid ""
 "**specifying a file descriptor:** Normally the *path* argument provided to "
@@ -2244,7 +2247,7 @@ msgstr ""
 "fonction opérera alors sur le fichier référencé par le descripteur. (Pour "
 "les systèmes POSIX, Python appellera la version ``f...`` de la fonction.)"
 
-#: library/os.rst:1643
+#: library/os.rst:1644
 #, fuzzy
 msgid ""
 "You can check whether or not *path* can be specified as a file descriptor "
@@ -2256,7 +2259,7 @@ msgstr ""
 "sur votre plate-forme en utilisant :data:`os.supports_fd`. Si c'est "
 "indisponible, l'utiliser lèvera une :exc:`NotImplementedError`."
 
-#: library/os.rst:1648
+#: library/os.rst:1649
 #, fuzzy
 msgid ""
 "If the function also supports *dir_fd* or *follow_symlinks* arguments, it's "
@@ -2266,7 +2269,7 @@ msgstr ""
 "spécifier l'un de ces arguments est une erreur quand *path* est donné en "
 "tant que  descripteur de fichier."
 
-#: library/os.rst:1653
+#: library/os.rst:1654
 #, fuzzy
 msgid ""
 "**paths relative to directory descriptors:** If *dir_fd* is not ``None``, it "
@@ -2284,7 +2287,7 @@ msgstr ""
 "ignoré. (Pour les systèmes POSIX, Python appellera la version ``...at`` ou "
 "``f...at`` de la fonction.)"
 
-#: library/os.rst:1660
+#: library/os.rst:1661
 #, fuzzy
 msgid ""
 "You can check whether or not *dir_fd* is supported for a particular function "
@@ -2295,7 +2298,7 @@ msgstr ""
 "utilisant :data:`os.supports_dir_fd`. Si c'est indisponible, l'utiliser "
 "lèvera une :exc:`NotImplementedError`."
 
-#: library/os.rst:1666
+#: library/os.rst:1667
 #, fuzzy
 msgid ""
 "**not following symlinks:** If *follow_symlinks* is ``False``, and the last "
@@ -2310,7 +2313,7 @@ msgstr ""
 "pointé par le lien. (Pour les systèmes POSIX, Python appellera la version "
 "``l...`` de la fonction.)"
 
-#: library/os.rst:1672
+#: library/os.rst:1673
 #, fuzzy
 msgid ""
 "You can check whether or not *follow_symlinks* is supported for a particular "
@@ -2321,7 +2324,7 @@ msgstr ""
 "utilisant :data:`os.supports_follow_symlinks`. Si c'est indisponible, "
 "l'utiliser lèvera une :exc:`NotImplementedError`."
 
-#: library/os.rst:1680
+#: library/os.rst:1681
 msgid ""
 "Use the real uid/gid to test for access to *path*.  Note that most "
 "operations will use the effective uid/gid, therefore this routine can be "
@@ -2343,7 +2346,7 @@ msgstr ""
 "pas. Voir la page de manuel Unix :manpage:`access(2)` pour plus "
 "d'informations."
 
-#: library/os.rst:1689
+#: library/os.rst:1690
 msgid ""
 "This function can support specifying :ref:`paths relative to directory "
 "descriptors <dir_fd>` and :ref:`not following symlinks <follow_symlinks>`."
@@ -2352,7 +2355,7 @@ msgstr ""
 "des descripteurs de fichiers <dir_fd>` et :ref:`le suivi des liens "
 "symboliques <follow_symlinks>`."
 
-#: library/os.rst:1692
+#: library/os.rst:1693
 msgid ""
 "If *effective_ids* is ``True``, :func:`access` will perform its access "
 "checks using the effective uid/gid instead of the real uid/gid. "
@@ -2367,7 +2370,7 @@ msgstr ""
 "supports_effective_ids`. S'il est indisponible, l'utiliser lèvera une :exc:"
 "`NotImplementedError`."
 
-#: library/os.rst:1700
+#: library/os.rst:1701
 msgid ""
 "Using :func:`access` to check if a user is authorized to e.g. open a file "
 "before actually doing so using :func:`open` creates a security hole, because "
@@ -2382,11 +2385,11 @@ msgstr ""
 "pour le manipuler. Il est préférable d'utiliser les techniques :term:`EAFP`. "
 "Par exemple ::"
 
-#: library/os.rst:1711
+#: library/os.rst:1712
 msgid "is better written as::"
 msgstr "est mieux écrit comme suit ::"
 
-#: library/os.rst:1723
+#: library/os.rst:1724
 msgid ""
 "I/O operations may fail even when :func:`access` indicates that they would "
 "succeed, particularly for operations on network filesystems which may have "
@@ -2397,11 +2400,11 @@ msgstr ""
 "les systèmes de fichiers réseaux qui peuvent avoir une sémantique de "
 "permissions au-delà du modèle de bits de permission usuel POSIX."
 
-#: library/os.rst:1727
+#: library/os.rst:1728
 msgid "Added the *dir_fd*, *effective_ids*, and *follow_symlinks* parameters."
 msgstr "Paramètres *dir_fd*, *effective_ids*, et *follow_symlinks* ajoutés."
 
-#: library/os.rst:1739
+#: library/os.rst:1740
 msgid ""
 "Values to pass as the *mode* parameter of :func:`access` to test the "
 "existence, readability, writability and executability of *path*, "
@@ -2410,11 +2413,11 @@ msgstr ""
 "Valeurs à passer au paramètre *mode* de :func:`access` pour tester "
 "respectivement l'existence, les droits de lecture, d'écriture et d'exécution."
 
-#: library/os.rst:1748
+#: library/os.rst:1749
 msgid "Change the current working directory to *path*."
 msgstr "Change le répertoire de travail actuel par *path*."
 
-#: library/os.rst:1750
+#: library/os.rst:1751
 msgid ""
 "This function can support :ref:`specifying a file descriptor <path_fd>`.  "
 "The descriptor must refer to an opened directory, not an open file."
@@ -2423,7 +2426,7 @@ msgstr ""
 "fichier <path_fd>`. Le descripteur doit référencer un répertoire ouvert, pas "
 "un fichier ouvert."
 
-#: library/os.rst:1753
+#: library/os.rst:1754
 msgid ""
 "This function can raise :exc:`OSError` and subclasses such as :exc:"
 "`FileNotFoundError`, :exc:`PermissionError`, and :exc:`NotADirectoryError`."
@@ -2431,20 +2434,20 @@ msgstr ""
 "Cette fonction peut lever :exc:`OSError` et des sous-classes telles que :exc:"
 "`FileNotFoundError`, :exc:`PermissionError` et :exc:`NotADirectoryError`."
 
-#: library/os.rst:1883
+#: library/os.rst:1884
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.chdir`` with argument "
 "``path``."
 msgstr ""
 
-#: library/os.rst:1758
+#: library/os.rst:1759
 msgid ""
 "Added support for specifying *path* as a file descriptor on some platforms."
 msgstr ""
 "Prise en charge de la spécification de *path* par un descripteur de fichier "
 "sur certaines plate-formes."
 
-#: library/os.rst:1768
+#: library/os.rst:1769
 msgid ""
 "Set the flags of *path* to the numeric *flags*. *flags* may take a "
 "combination (bitwise OR) of the following values (as defined in the :mod:"
@@ -2454,72 +2457,72 @@ msgstr ""
 "peut prendre une combinaison (OU bit-à-bit) des valeurs suivantes (comme "
 "défini dans le module :mod:`stat`) :"
 
-#: library/os.rst:1771
+#: library/os.rst:1772
 msgid ":data:`stat.UF_NODUMP`"
 msgstr ":data:`stat.UF_NODUMP`"
 
-#: library/os.rst:1772
+#: library/os.rst:1773
 msgid ":data:`stat.UF_IMMUTABLE`"
 msgstr ":data:`stat.UF_IMMUTABLE`"
 
-#: library/os.rst:1773
+#: library/os.rst:1774
 msgid ":data:`stat.UF_APPEND`"
 msgstr ":data:`stat.UF_APPEND`"
 
-#: library/os.rst:1774
+#: library/os.rst:1775
 msgid ":data:`stat.UF_OPAQUE`"
 msgstr ":data:`stat.UF_OPAQUE`"
 
-#: library/os.rst:1775
+#: library/os.rst:1776
 msgid ":data:`stat.UF_NOUNLINK`"
 msgstr ":data:`stat.UF_NOUNLINK`"
 
-#: library/os.rst:1776
+#: library/os.rst:1777
 msgid ":data:`stat.UF_COMPRESSED`"
 msgstr ":data:`stat.UF_COMPRESSED`"
 
-#: library/os.rst:1777
+#: library/os.rst:1778
 msgid ":data:`stat.UF_HIDDEN`"
 msgstr ":data:`stat.UF_HIDDEN`"
 
-#: library/os.rst:1778
+#: library/os.rst:1779
 msgid ":data:`stat.SF_ARCHIVED`"
 msgstr ":data:`stat.SF_ARCHIVED`"
 
-#: library/os.rst:1779
+#: library/os.rst:1780
 msgid ":data:`stat.SF_IMMUTABLE`"
 msgstr ":data:`stat.SF_IMMUTABLE`"
 
-#: library/os.rst:1780
+#: library/os.rst:1781
 msgid ":data:`stat.SF_APPEND`"
 msgstr ":data:`stat.SF_APPEND`"
 
-#: library/os.rst:1781
+#: library/os.rst:1782
 msgid ":data:`stat.SF_NOUNLINK`"
 msgstr ":data:`stat.SF_NOUNLINK`"
 
-#: library/os.rst:1782
+#: library/os.rst:1783
 msgid ":data:`stat.SF_SNAPSHOT`"
 msgstr ":data:`stat.SF_SNAPSHOT`"
 
-#: library/os.rst:1784
+#: library/os.rst:1785
 msgid ""
 "This function can support :ref:`not following symlinks <follow_symlinks>`."
 msgstr ""
 "Cette fonction prend en charge :ref:`le suivi des liens symboliques "
 "<follow_symlinks>`."
 
-#: library/os.rst:1909
+#: library/os.rst:1910
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.chflags`` with arguments "
 "``path``, ``flags``."
 msgstr ""
 
-#: library/os.rst:1790
+#: library/os.rst:1791
 msgid "The *follow_symlinks* argument."
 msgstr "L'argument *follow_symlinks*."
 
-#: library/os.rst:1799
+#: library/os.rst:1800
 msgid ""
 "Change the mode of *path* to the numeric *mode*. *mode* may take one of the "
 "following values (as defined in the :mod:`stat` module) or bitwise ORed "
@@ -2529,83 +2532,83 @@ msgstr ""
 "une des valeurs suivantes (comme défini dans le module :mod:`stat`) ou une "
 "combinaison (OU bit-à-bit) de ces valeurs :"
 
-#: library/os.rst:1803
+#: library/os.rst:1804
 msgid ":data:`stat.S_ISUID`"
 msgstr ":data:`stat.S_ISUID`"
 
-#: library/os.rst:1804
+#: library/os.rst:1805
 msgid ":data:`stat.S_ISGID`"
 msgstr ":data:`stat.S_ISGID`"
 
-#: library/os.rst:1805
+#: library/os.rst:1806
 msgid ":data:`stat.S_ENFMT`"
 msgstr ":data:`stat.S_ENFMT`"
 
-#: library/os.rst:1806
+#: library/os.rst:1807
 msgid ":data:`stat.S_ISVTX`"
 msgstr ":data:`stat.S_ISVTX`"
 
-#: library/os.rst:1807
+#: library/os.rst:1808
 msgid ":data:`stat.S_IREAD`"
 msgstr ":data:`stat.S_IREAD`"
 
-#: library/os.rst:1808
+#: library/os.rst:1809
 msgid ":data:`stat.S_IWRITE`"
 msgstr ":data:`stat.S_IWRITE`"
 
-#: library/os.rst:1809
+#: library/os.rst:1810
 msgid ":data:`stat.S_IEXEC`"
 msgstr ":data:`stat.S_IEXEC`"
 
-#: library/os.rst:1810
+#: library/os.rst:1811
 msgid ":data:`stat.S_IRWXU`"
 msgstr ":data:`stat.S_IRWXU`"
 
-#: library/os.rst:1811
+#: library/os.rst:1812
 msgid ":data:`stat.S_IRUSR`"
 msgstr ":data:`stat.S_IRUSR`"
 
-#: library/os.rst:1812
+#: library/os.rst:1813
 msgid ":data:`stat.S_IWUSR`"
 msgstr ":data:`stat.S_IWUSR`"
 
-#: library/os.rst:1813
+#: library/os.rst:1814
 msgid ":data:`stat.S_IXUSR`"
 msgstr ":data:`stat.S_IXUSR`"
 
-#: library/os.rst:1814
+#: library/os.rst:1815
 msgid ":data:`stat.S_IRWXG`"
 msgstr ":data:`stat.S_IRWXG`"
 
-#: library/os.rst:1815
+#: library/os.rst:1816
 msgid ":data:`stat.S_IRGRP`"
 msgstr ":data:`stat.S_IRGRP`"
 
-#: library/os.rst:1816
+#: library/os.rst:1817
 msgid ":data:`stat.S_IWGRP`"
 msgstr ":data:`stat.S_IWGRP`"
 
-#: library/os.rst:1817
+#: library/os.rst:1818
 msgid ":data:`stat.S_IXGRP`"
 msgstr ":data:`stat.S_IXGRP`"
 
-#: library/os.rst:1818
+#: library/os.rst:1819
 msgid ":data:`stat.S_IRWXO`"
 msgstr ":data:`stat.S_IRWXO`"
 
-#: library/os.rst:1819
+#: library/os.rst:1820
 msgid ":data:`stat.S_IROTH`"
 msgstr ":data:`stat.S_IROTH`"
 
-#: library/os.rst:1820
+#: library/os.rst:1821
 msgid ":data:`stat.S_IWOTH`"
 msgstr ":data:`stat.S_IWOTH`"
 
-#: library/os.rst:1821
+#: library/os.rst:1822
 msgid ":data:`stat.S_IXOTH`"
 msgstr ":data:`stat.S_IXOTH`"
 
-#: library/os.rst:1848 library/os.rst:3102
+#: library/os.rst:1849 library/os.rst:3103
 msgid ""
 "This function can support :ref:`specifying a file descriptor <path_fd>`, :"
 "ref:`paths relative to directory descriptors <dir_fd>` and :ref:`not "
@@ -2616,7 +2619,7 @@ msgstr ""
 "répertoires <dir_fd>`, et :ref:`le non-suivi des liens symboliques "
 "<follow_symlinks>`."
 
-#: library/os.rst:1829
+#: library/os.rst:1830
 msgid ""
 "Although Windows supports :func:`chmod`, you can only set the file's read-"
 "only flag with it (via the ``stat.S_IWRITE`` and ``stat.S_IREAD`` constants "
@@ -2627,7 +2630,7 @@ msgstr ""
 "et ``stat.S_IREAD`` ou une constante entière correspondante). Tous les "
 "autres bits sont ignorés."
 
-#: library/os.rst:1859
+#: library/os.rst:1860
 msgid ""
 "Added support for specifying *path* as an open file descriptor, and the "
 "*dir_fd* and *follow_symlinks* arguments."
@@ -2635,7 +2638,7 @@ msgstr ""
 "Prise en charge de la spécification de *path* par un répertoire ouvert et "
 "des arguments *dir_fd* et *follow_symlinks* ajoutés."
 
-#: library/os.rst:1845
+#: library/os.rst:1846
 msgid ""
 "Change the owner and group id of *path* to the numeric *uid* and *gid*.  To "
 "leave one of the ids unchanged, set it to -1."
@@ -2644,7 +2647,7 @@ msgstr ""
 "numériques *uid* et *gid*. Pour laisser l'un de ces identifiants inchangé, "
 "le définir à ``-1``."
 
-#: library/os.rst:1852
+#: library/os.rst:1853
 msgid ""
 "See :func:`shutil.chown` for a higher-level function that accepts names in "
 "addition to numeric ids."
@@ -2652,15 +2655,15 @@ msgstr ""
 "Voir :func:`shutil.chown` pour une fonction de plus haut-niveau qui accepte "
 "des noms en plus des identifiants numériques."
 
-#: library/os.rst:1863
+#: library/os.rst:1864
 msgid "Supports a :term:`path-like object`."
 msgstr "Accepte un :term:`path-like object`."
 
-#: library/os.rst:1869
+#: library/os.rst:1870
 msgid "Change the root directory of the current process to *path*."
 msgstr "Change le répertoire racine du processus actuel par *path*."
 
-#: library/os.rst:1879
+#: library/os.rst:1880
 msgid ""
 "Change the current working directory to the directory represented by the "
 "file descriptor *fd*.  The descriptor must refer to an opened directory, not "
@@ -2671,25 +2674,25 @@ msgstr ""
 "ouvert, pas un fichier ouvert. Depuis Python 3.3, c'est équivalent à ``os."
 "chdir(fd)``."
 
-#: library/os.rst:1890
+#: library/os.rst:1891
 msgid "Return a string representing the current working directory."
 msgstr ""
 "Renvoie une chaîne de caractères représentant le répertoire de travail "
 "actuel."
 
-#: library/os.rst:1895
+#: library/os.rst:1896
 msgid "Return a bytestring representing the current working directory."
 msgstr ""
 "Renvoie une chaîne de *bytes* représentant le répertoire de travail actuel."
 
-#: library/os.rst:1897
+#: library/os.rst:1898
 msgid ""
 "The function now uses the UTF-8 encoding on Windows, rather than the ANSI "
 "code page: see :pep:`529` for the rationale. The function is no longer "
 "deprecated on Windows."
 msgstr ""
 
-#: library/os.rst:1905
+#: library/os.rst:1906
 msgid ""
 "Set the flags of *path* to the numeric *flags*, like :func:`chflags`, but do "
 "not follow symbolic links.  As of Python 3.3, this is equivalent to ``os."
@@ -2699,7 +2702,7 @@ msgstr ""
 "`chflags`, mais ne suit pas les liens symboliques. Depuis Python 3.3, c'est "
 "équivalent à ``os.chflags(path, flags, follow_symlinks=False)``."
 
-#: library/os.rst:1919
+#: library/os.rst:1920
 msgid ""
 "Change the mode of *path* to the numeric *mode*. If path is a symlink, this "
 "affects the symlink rather than the target.  See the docs for :func:`chmod` "
@@ -2712,7 +2715,7 @@ msgstr ""
 "Depuis Python 3.3, c'est équivalent à ``os.chmod(path, mode, "
 "follow_symlinks=False)``."
 
-#: library/os.rst:1933
+#: library/os.rst:1934
 msgid ""
 "Change the owner and group id of *path* to the numeric *uid* and *gid*.  "
 "This function will not follow symbolic links.  As of Python 3.3, this is "
@@ -2722,11 +2725,11 @@ msgstr ""
 "*gid*. Cette fonction ne suivra pas les liens symboliques. Depuis Python "
 "3.3, c'est équivalent à ``os.chown(path, uid, gid, follow_symlinks=False)``."
 
-#: library/os.rst:1947
+#: library/os.rst:1948
 msgid "Create a hard link pointing to *src* named *dst*."
 msgstr "Crée un lien matériel appelé *dst* pointant sur *src*."
 
-#: library/os.rst:1949
+#: library/os.rst:1950
 msgid ""
 "This function can support specifying *src_dir_fd* and/or *dst_dir_fd* to "
 "supply :ref:`paths relative to directory descriptors <dir_fd>`, and :ref:"
@@ -2737,25 +2740,25 @@ msgstr ""
 "répertoires <dir_fd>`, et :ref:`le non-suivi des liens symboliques "
 "<follow_symlinks>`."
 
-#: library/os.rst:1953
+#: library/os.rst:1954
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.link`` with arguments "
 "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``."
 msgstr ""
 
-#: library/os.rst:1957
+#: library/os.rst:1958
 msgid "Added Windows support."
 msgstr "Prise en charge de Windows."
 
-#: library/os.rst:1960
+#: library/os.rst:1961
 msgid "Added the *src_dir_fd*, *dst_dir_fd*, and *follow_symlinks* arguments."
 msgstr "Arguments *src_dir_fd*, *dst_dir_fd*, et *follow_symlinks* ajoutés."
 
-#: library/os.rst:2315 library/os.rst:3024
+#: library/os.rst:2316 library/os.rst:3025
 msgid "Accepts a :term:`path-like object` for *src* and *dst*."
 msgstr "Accepte un :term:`path-like object` pour *src* et *dst*."
 
-#: library/os.rst:1969
+#: library/os.rst:1970
 #, fuzzy
 msgid ""
 "Return a list containing the names of the entries in the directory given by "
@@ -2769,7 +2772,7 @@ msgstr ""
 "spéciales ``'.'`` et ``'..'`` même si elles sont présentes dans le "
 "répertoire."
 
-#: library/os.rst:1975
+#: library/os.rst:1976
 msgid ""
 "*path* may be a :term:`path-like object`.  If *path* is of type ``bytes`` "
 "(directly or indirectly through the :class:`PathLike` interface), the "
@@ -2781,7 +2784,7 @@ msgstr ""
 "`PathLike`), les noms de fichiers renvoyés seront aussi de type ``bytes`` ; "
 "dans toutes les autres circonstances, ils seront de type ``str``."
 
-#: library/os.rst:2400
+#: library/os.rst:2401
 msgid ""
 "This function can also support :ref:`specifying a file descriptor "
 "<path_fd>`; the file descriptor must refer to a directory."
@@ -2789,19 +2792,19 @@ msgstr ""
 "Cette fonction peut également gérer :ref:`la spécification de descripteurs "
 "de fichiers<path_fd>`. Le descripteur doit référencer un répertoire."
 
-#: library/os.rst:1983
+#: library/os.rst:1984
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.listdir`` with argument "
 "``path``."
 msgstr ""
 
-#: library/os.rst:1986
+#: library/os.rst:1987
 msgid "To encode ``str`` filenames to ``bytes``, use :func:`~os.fsencode`."
 msgstr ""
 "Pour encoder des noms de fichiers de type ``str`` en ``bytes``, utilisez la "
 "fonction :func:`~os.encode`."
 
-#: library/os.rst:1990
+#: library/os.rst:1991
 msgid ""
 "The :func:`scandir` function returns directory entries along with file "
 "attribute information, giving better performance for many common use cases."
@@ -2810,17 +2813,17 @@ msgstr ""
 "leurs attributs , offrant une meilleure performance pour beaucoup de cas "
 "utilisés fréquemment."
 
-#: library/os.rst:1994
+#: library/os.rst:1995
 msgid "The *path* parameter became optional."
 msgstr "Le paramètre *path* est devenu optionnel."
 
-#: library/os.rst:2886
+#: library/os.rst:2887
 msgid "Added support for specifying *path* as an open file descriptor."
 msgstr ""
 "ajout de la possibilité de spécifier *path* comme descripteur de fichier "
 "ouvert."
 
-#: library/os.rst:2006
+#: library/os.rst:2007
 msgid ""
 "Perform the equivalent of an :c:func:`lstat` system call on the given path. "
 "Similar to :func:`~os.stat`, but does not follow symbolic links. Return a :"
@@ -2830,7 +2833,7 @@ msgstr ""
 "donné. Similaire à :func:`~os.stat` mais ne suit pas les liens symboliques. "
 "Renvoie un objet de type :class:`stat_result`."
 
-#: library/os.rst:2010
+#: library/os.rst:2011
 msgid ""
 "On platforms that do not support symbolic links, this is an alias for :func:"
 "`~os.stat`."
@@ -2838,7 +2841,7 @@ msgstr ""
 "Sur les plate-formes qui ne gérant pas les liens symboliques, c'est un alias "
 "pour :func:`~os.stat`."
 
-#: library/os.rst:2013
+#: library/os.rst:2014
 msgid ""
 "As of Python 3.3, this is equivalent to ``os.stat(path, dir_fd=dir_fd, "
 "follow_symlinks=False)``."
@@ -2846,7 +2849,7 @@ msgstr ""
 "Depuis Python 3.3, c'est équivalent à ``os.stat(path, dir_fd=dir_fd, "
 "follow_symlinks=False)``."
 
-#: library/os.rst:2053 library/os.rst:2146 library/os.rst:2220
+#: library/os.rst:2054 library/os.rst:2147 library/os.rst:2221
 msgid ""
 "This function can also support :ref:`paths relative to directory descriptors "
 "<dir_fd>`."
@@ -2854,15 +2857,15 @@ msgstr ""
 "Cette fonction peut également gérer :ref:`des chemins relatifs à des "
 "descripteurs de répertoires <dir_fd>`."
 
-#: library/os.rst:2229 library/os.rst:3017
+#: library/os.rst:2230 library/os.rst:3018
 msgid "Added support for Windows 6.0 (Vista) symbolic links."
 msgstr "Prise en charge des les liens symboliques sur Windows 6.0 (Vista)."
 
-#: library/os.rst:2026
+#: library/os.rst:2027
 msgid "Added the *dir_fd* parameter."
 msgstr "Paramètre *dir_fd* ajouté."
 
-#: library/os.rst:2032
+#: library/os.rst:2033
 msgid ""
 "On Windows, now opens reparse points that represent another path (name "
 "surrogates), including symbolic links and directory junctions. Other kinds "
@@ -2870,16 +2873,16 @@ msgid ""
 "stat`."
 msgstr ""
 
-#: library/os.rst:2041
+#: library/os.rst:2042
 msgid "Create a directory named *path* with numeric mode *mode*."
 msgstr ""
 "Crée un répertoire appelé *path* avec pour mode, la valeur numérique *mode*."
 
-#: library/os.rst:2043
+#: library/os.rst:2044
 msgid "If the directory already exists, :exc:`FileExistsError` is raised."
 msgstr "Si le répertoire existe déjà, :exc:`FileExistsError` est levée."
 
-#: library/os.rst:2047
+#: library/os.rst:2048
 msgid ""
 "On some systems, *mode* is ignored.  Where it is used, the current umask "
 "value is first masked out.  If bits other than the last 9 (i.e. the last 3 "
@@ -2894,7 +2897,7 @@ msgstr ""
 "plate-forme.  Sous certaines plate-formes, ils seront ignorés et vous devrez "
 "appeler explicitement :func:`chmod` pour les modifier."
 
-#: library/os.rst:2056
+#: library/os.rst:2057
 msgid ""
 "It is also possible to create temporary directories; see the :mod:`tempfile` "
 "module's :func:`tempfile.mkdtemp` function."
@@ -2902,13 +2905,13 @@ msgstr ""
 "Il est également possible  de créer des répertoires temporaires, voir la "
 "fonction :func:`tempfile.mkdtemp` du module :mod:`tempfile`."
 
-#: library/os.rst:2093
+#: library/os.rst:2094
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.mkdir`` with arguments "
 "``path``, ``mode``, ``dir_fd``."
 msgstr ""
 
-#: library/os.rst:2074
+#: library/os.rst:2075
 msgid ""
 "Recursive directory creation function.  Like :func:`mkdir`, but makes all "
 "intermediate-level directories needed to contain the leaf directory."
@@ -2917,7 +2920,7 @@ msgstr ""
 "tous les répertoires de niveau intermédiaire nécessaires pour contenir le "
 "répertoire « feuille »."
 
-#: library/os.rst:2077
+#: library/os.rst:2078
 msgid ""
 "The *mode* parameter is passed to :func:`mkdir` for creating the leaf "
 "directory; see :ref:`the mkdir() description <mkdir_modebits>` for how it is "
@@ -2932,7 +2935,7 @@ msgstr ""
 "valeur de *umask* avant d'invoquer :func:`makedirs`. Les bits de permissions "
 "des répertoires intermédiaires déjà existants ne sont pas modifiés."
 
-#: library/os.rst:2083
+#: library/os.rst:2084
 msgid ""
 "If *exist_ok* is ``False`` (the default), an :exc:`FileExistsError` is "
 "raised if the target directory already exists."
@@ -2940,7 +2943,7 @@ msgstr ""
 "Si *exist_ok* vaut ``False`` (valeur par défaut), une :exc:`FileExistsError` "
 "est levée si le répertoire cible existe déjà."
 
-#: library/os.rst:2088
+#: library/os.rst:2089
 msgid ""
 ":func:`makedirs` will become confused if the path elements to create "
 "include :data:`pardir` (eg. \"..\" on UNIX systems)."
@@ -2948,15 +2951,15 @@ msgstr ""
 "Un appel à :func:`makedirs` est confus si les éléments du chemin à créer "
 "contiennent :data:`pardir` (par exemple, ``\"..\"`` sur les systèmes UNIX)."
 
-#: library/os.rst:2091
+#: library/os.rst:2092
 msgid "This function handles UNC paths correctly."
 msgstr "Cette fonction gère les chemins UNC correctement."
 
-#: library/os.rst:2095
+#: library/os.rst:2096
 msgid "The *exist_ok* parameter."
 msgstr "Le paramètre *exist_ok*."
 
-#: library/os.rst:2100
+#: library/os.rst:2101
 msgid ""
 "Before Python 3.4.1, if *exist_ok* was ``True`` and the directory existed, :"
 "func:`makedirs` would still raise an error if *mode* did not match the mode "
@@ -2969,7 +2972,7 @@ msgstr ""
 "pas possible ) implémenter de manière sécurisée, il a été retiré pour Python "
 "3.4.1. Voir :issue:`21082`."
 
-#: library/os.rst:2108
+#: library/os.rst:2109
 msgid ""
 "The *mode* argument no longer affects the file permission bits of newly-"
 "created intermediate-level directories."
@@ -2977,7 +2980,7 @@ msgstr ""
 "L'argument *mode* n'affecte plus les bits d'autorisation de fichier des "
 "répertoires intermédiaires créés."
 
-#: library/os.rst:2115
+#: library/os.rst:2116
 msgid ""
 "Create a FIFO (a named pipe) named *path* with numeric mode *mode*. The "
 "current umask value is first masked out from the mode."
@@ -2986,7 +2989,7 @@ msgstr ""
 "appelé *path* avec le mode numérique *mode*. La valeur actuelle de *umask* "
 "est d'abord masquée du mode."
 
-#: library/os.rst:2121
+#: library/os.rst:2122
 msgid ""
 "FIFOs are pipes that can be accessed like regular files.  FIFOs exist until "
 "they are deleted (for example with :func:`os.unlink`). Generally, FIFOs are "
@@ -3003,7 +3006,7 @@ msgstr ""
 "Notez que :func:`mkfifo` n'ouvre pas le FIFO — il crée juste un point de "
 "rendez-vous."
 
-#: library/os.rst:2138
+#: library/os.rst:2139
 msgid ""
 "Create a filesystem node (file, device special file or named pipe) named "
 "*path*. *mode* specifies both the permissions to use and the type of node to "
@@ -3022,7 +3025,7 @@ msgstr ""
 "définit le fichier spécial de périphérique tout juste créé (probablement en "
 "utilisant :func:`os.makedev`), sinon, cet argument est ignoré."
 
-#: library/os.rst:2160
+#: library/os.rst:2161
 msgid ""
 "Extract the device major number from a raw device number (usually the :attr:"
 "`st_dev` or :attr:`st_rdev` field from :c:type:`stat`)."
@@ -3031,7 +3034,7 @@ msgstr ""
 "(habituellement le champ :attr:`st_dev` ou :attr:`st_rdev` de :c:type:"
 "`stat`)."
 
-#: library/os.rst:2166
+#: library/os.rst:2167
 msgid ""
 "Extract the device minor number from a raw device number (usually the :attr:"
 "`st_dev` or :attr:`st_rdev` field from :c:type:`stat`)."
@@ -3040,13 +3043,13 @@ msgstr ""
 "(habituellement le champ :attr:`st_dev` ou :attr:`st_rdev` de :c:type:"
 "`stat`)."
 
-#: library/os.rst:2172
+#: library/os.rst:2173
 msgid "Compose a raw device number from the major and minor device numbers."
 msgstr ""
 "Compose un nombre de périphérique brut à partir des nombres de périphérique "
 "mineur et majeur."
 
-#: library/os.rst:2177
+#: library/os.rst:2178
 msgid ""
 "Return system configuration information relevant to a named file. *name* "
 "specifies the configuration value to retrieve; it may be a string which is "
@@ -3066,14 +3069,14 @@ msgstr ""
 "configuration non incluses dans ce *mapping*, passer un entier pour *name* "
 "est également accepté."
 
-#: library/os.rst:2879 library/os.rst:3045
+#: library/os.rst:2880 library/os.rst:3046
 msgid ""
 "This function can support :ref:`specifying a file descriptor <path_fd>`."
 msgstr ""
 "Cette fonction prend en charge :ref:`la spécification d'un descripteur de "
 "fichier <path_fd>`."
 
-#: library/os.rst:2201
+#: library/os.rst:2202
 msgid ""
 "Dictionary mapping names accepted by :func:`pathconf` and :func:`fpathconf` "
 "to the integer values defined for those names by the host operating system.  "
@@ -3084,7 +3087,7 @@ msgstr ""
 "d'exploitation hôte. Cette variable peut être utilisée pour déterminer "
 "l'ensemble des noms connus du système d'exploitation."
 
-#: library/os.rst:2210
+#: library/os.rst:2211
 msgid ""
 "Return a string representing the path to which the symbolic link points.  "
 "The result may be either an absolute or relative pathname; if it is "
@@ -3096,7 +3099,7 @@ msgstr ""
 "chemin absolu. S'il est relatif, il peut être converti en chemin absolu en "
 "utilisant ``os.path.join(os.path.dirname(path), result)``."
 
-#: library/os.rst:2215
+#: library/os.rst:2216
 msgid ""
 "If the *path* is a string object (directly or indirectly through a :class:"
 "`PathLike` interface), the result will also be a string object, and the call "
@@ -3109,7 +3112,7 @@ msgstr ""
 "une chaîne d'octets (directement ou indirectement), le résultat sera une "
 "chaîne d'octets."
 
-#: library/os.rst:2223
+#: library/os.rst:2224
 msgid ""
 "When trying to resolve a path that may contain links, use :func:`~os.path."
 "realpath` to properly handle recursion and platform differences."
@@ -3118,23 +3121,23 @@ msgstr ""
 "utilisez :func:`~os.path.realpath` pour gérer correctement la récursion et "
 "les différences de plate-forme."
 
-#: library/os.rst:2235
+#: library/os.rst:2236
 msgid "Accepts a :term:`path-like object` on Unix."
 msgstr "Accepte un :term:`path-like object` sur Unix."
 
-#: library/os.rst:2238
+#: library/os.rst:2239
 msgid "Accepts a :term:`path-like object` and a bytes object on Windows."
 msgstr ""
 "Accepte un :term:`path-like object` et une chaine d’octets sous Windows."
 
-#: library/os.rst:2241
+#: library/os.rst:2242
 msgid ""
 "Added support for directory junctions, and changed to return the "
 "substitution path (which typically includes ``\\\\?\\`` prefix) rather than "
 "the optional \"print name\" field that was previously returned."
 msgstr ""
 
-#: library/os.rst:2248
+#: library/os.rst:2249
 #, fuzzy
 msgid ""
 "Remove (delete) the file *path*.  If *path* is a directory, an :exc:"
@@ -3145,7 +3148,7 @@ msgstr ""
 "`IsADirectoryError` est levée.  Utilisez :func:`rmdir` pour supprimer les "
 "répertoires."
 
-#: library/os.rst:2363 library/os.rst:2999
+#: library/os.rst:2364 library/os.rst:3000
 msgid ""
 "This function can support :ref:`paths relative to directory descriptors "
 "<dir_fd>`."
@@ -3153,7 +3156,7 @@ msgstr ""
 "Cette fonction prend en charge :ref:`des chemins relatifs à des descripteurs "
 "de répertories <dir_fd>`."
 
-#: library/os.rst:2255
+#: library/os.rst:2256
 msgid ""
 "On Windows, attempting to remove a file that is in use causes an exception "
 "to be raised; on Unix, the directory entry is removed but the storage "
@@ -3165,17 +3168,17 @@ msgstr ""
 "l'espace de stockage alloué au fichier ne sera pas disponible avant que le "
 "fichier original ne soit plus utilisé."
 
-#: library/os.rst:2259
+#: library/os.rst:2260
 msgid "This function is semantically identical to :func:`unlink`."
 msgstr "La fonction est sémantiquement identique à :func:`unlink`."
 
-#: library/os.rst:2283 library/os.rst:3067
+#: library/os.rst:2284 library/os.rst:3068
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.remove`` with arguments "
 "``path``, ``dir_fd``."
 msgstr ""
 
-#: library/os.rst:2274
+#: library/os.rst:2275
 msgid ""
 "Remove directories recursively.  Works like :func:`rmdir` except that, if "
 "the leaf directory is successfully removed, :func:`removedirs`  tries to "
@@ -3196,7 +3199,7 @@ msgstr ""
 "``'foo'`` s'ils sont vides. Lève une :exc:`OSError` si le répertoire feuille "
 "n'a pas pu être supprimé avec succès."
 
-#: library/os.rst:2291
+#: library/os.rst:2292
 msgid ""
 "Rename the file or directory *src* to *dst*. If *dst* exists, the operation "
 "will fail with an :exc:`OSError` subclass in a number of cases:"
@@ -3205,12 +3208,12 @@ msgstr ""
 "l'opération échoue avec une sous-classe :exc:`OSError` dans un certain "
 "nombre de cas :"
 
-#: library/os.rst:2294
+#: library/os.rst:2295
 msgid "On Windows, if *dst* exists a :exc:`FileExistsError` is always raised."
 msgstr ""
 "Sous Windows, si *dst* existe, une :exc:`FileExistsError` est toujours levée."
 
-#: library/os.rst:2296
+#: library/os.rst:2297
 #, fuzzy
 msgid ""
 "On Unix, if *src* is a file and *dst* is a directory or vice-versa, an :exc:"
@@ -3229,7 +3232,7 @@ msgstr ""
 "différent. Si le renommage est effectué avec succès, il est une opération "
 "atomique (nécessité POSIX)."
 
-#: library/os.rst:2345
+#: library/os.rst:2346
 msgid ""
 "This function can support specifying *src_dir_fd* and/or *dst_dir_fd* to "
 "supply :ref:`paths relative to directory descriptors <dir_fd>`."
@@ -3238,7 +3241,7 @@ msgstr ""
 "*dst_dir_fd* pour fournir :ref:`des chemins relatifs à des descripteurs de "
 "fichiers <dir_fd>`."
 
-#: library/os.rst:2308
+#: library/os.rst:2309
 msgid ""
 "If you want cross-platform overwriting of the destination, use :func:"
 "`replace`."
@@ -3246,17 +3249,17 @@ msgstr ""
 "Si cous désirez un écrasement multiplate-forme de la destination, utilisez "
 "la fonction :func:`replace`."
 
-#: library/os.rst:2331 library/os.rst:2348
+#: library/os.rst:2332 library/os.rst:2349
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.rename`` with arguments "
 "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``."
 msgstr ""
 
-#: library/os.rst:2312
+#: library/os.rst:2313
 msgid "The *src_dir_fd* and *dst_dir_fd* arguments."
 msgstr "Les arguments *src_dir_fd* et *dst_dir_fd*."
 
-#: library/os.rst:2321
+#: library/os.rst:2322
 msgid ""
 "Recursive directory or file renaming function. Works like :func:`rename`, "
 "except creation of any intermediate directories needed to make the new "
@@ -3271,7 +3274,7 @@ msgstr ""
 "chemin les plus à droite de l'ancien nom seront élagués en utilisant :func:"
 "`removedirs`."
 
-#: library/os.rst:2328
+#: library/os.rst:2329
 msgid ""
 "This function can fail with the new directory structure made if you lack "
 "permissions needed to remove the leaf directory or file."
@@ -3280,11 +3283,11 @@ msgstr ""
 "définie si vous n'avez pas les permissions nécessaires pour supprimer le "
 "répertoire ou fichier feuille."
 
-#: library/os.rst:2333
+#: library/os.rst:2334
 msgid "Accepts a :term:`path-like object` for *old* and *new*."
 msgstr "Accepte un :term:`path-like object` pour *old* et *new*."
 
-#: library/os.rst:2339
+#: library/os.rst:2340
 msgid ""
 "Rename the file or directory *src* to *dst*.  If *dst* is a directory, :exc:"
 "`OSError` will be raised.  If *dst* exists and is a file, it will be "
@@ -3299,7 +3302,7 @@ msgstr ""
 "différent. Si le renommage est effectué avec succès, il est une opération "
 "atomique (nécessité POSIX)."
 
-#: library/os.rst:2358
+#: library/os.rst:2359
 msgid ""
 "Remove (delete) the directory *path*.  If the directory does not exist or is "
 "not empty, an :exc:`FileNotFoundError` or an :exc:`OSError` is raised "
@@ -3311,17 +3314,17 @@ msgstr ""
 "levée, selon le cas. Pour supprimer des arborescences de répertoires "
 "entières, utilisez :func:`shutil.rmtree`."
 
-#: library/os.rst:2366
+#: library/os.rst:2367
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.rmdir`` with arguments "
 "``path``, ``dir_fd``."
 msgstr ""
 
-#: library/os.rst:3069
+#: library/os.rst:3070
 msgid "The *dir_fd* parameter."
 msgstr "Le paramètre *dir_fd*."
 
-#: library/os.rst:2377
+#: library/os.rst:2378
 #, fuzzy
 msgid ""
 "Return an iterator of :class:`os.DirEntry` objects corresponding to the "
@@ -3336,7 +3339,7 @@ msgstr ""
 "ordre arbitraire, et les entrées spéciales ``'.'`` et ``'..'`` ne sont pas "
 "incluses."
 
-#: library/os.rst:2384
+#: library/os.rst:2385
 msgid ""
 "Using :func:`scandir` instead of :func:`listdir` can significantly increase "
 "the performance of code that also needs file type or file attribute "
@@ -3357,7 +3360,7 @@ msgstr ""
 "symboliques ; :func:`os.DirEntry.stat` nécessite toujours un appel système "
 "sous Unix, mais seulement pour les liens symboliques sous Windows."
 
-#: library/os.rst:2394
+#: library/os.rst:2395
 msgid ""
 "*path* may be a :term:`path-like object`.  If *path* is of type ``bytes`` "
 "(directly or indirectly through the :class:`PathLike` interface), the type "
@@ -3371,13 +3374,13 @@ msgstr ""
 "DirEntry.path` de chaque :class:`os.DirEntry` sera ``bytes`` ; dans toutes "
 "les autres circonstances, ils seront de type ``str``."
 
-#: library/os.rst:2403
+#: library/os.rst:2404
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.scandir`` with argument "
 "``path``."
 msgstr ""
 
-#: library/os.rst:2405
+#: library/os.rst:2406
 msgid ""
 "The :func:`scandir` iterator supports the :term:`context manager` protocol "
 "and has the following method:"
@@ -3385,11 +3388,11 @@ msgstr ""
 "L'itérateur :func:`scandir` gère le protocole :term:`context manager` et "
 "possède la méthode suivante :"
 
-#: library/os.rst:2410
+#: library/os.rst:2411
 msgid "Close the iterator and free acquired resources."
 msgstr "Ferme l'itérateur et libère les ressources acquises."
 
-#: library/os.rst:2412
+#: library/os.rst:2413
 msgid ""
 "This is called automatically when the iterator is exhausted or garbage "
 "collected, or when an error happens during iterating.  However it is "
@@ -3400,7 +3403,7 @@ msgstr ""
 "l'itération.  Il est cependant conseillé de l'appeler explicitement ou "
 "d'utiliser l'instruction :keyword:`with`."
 
-#: library/os.rst:2419
+#: library/os.rst:2420
 msgid ""
 "The following example shows a simple use of :func:`scandir` to display all "
 "the files (excluding directories) in the given *path* that don't start with "
@@ -3412,7 +3415,7 @@ msgstr ""
 "*path* et ne débutant pas par ``'.'``. L'appel ``entry.is_file()`` ne va "
 "généralement pas faire d'appel système supplémentaire ::"
 
-#: library/os.rst:2431
+#: library/os.rst:2432
 msgid ""
 "On Unix-based systems, :func:`scandir` uses the system's `opendir() <http://"
 "pubs.opengroup.org/onlinepubs/009695399/functions/opendir.html>`_ and "
@@ -3431,7 +3434,7 @@ msgstr ""
 "<https://msdn.microsoft.com/en-us/library/windows/desktop/aa364428(v=vs.85)."
 "aspx>`_."
 
-#: library/os.rst:2443
+#: library/os.rst:2444
 msgid ""
 "Added support for the :term:`context manager` protocol and the :func:"
 "`~scandir.close()` method.  If a :func:`scandir` iterator is neither "
@@ -3443,16 +3446,16 @@ msgstr ""
 "entièrement consommé ni explicitement fermé, un :exc:`ResourceWarning` sera "
 "émis dans son destructeur."
 
-#: library/os.rst:2449
+#: library/os.rst:2450
 msgid "The function accepts a :term:`path-like object`."
 msgstr "La fonction accepte un :term:`path-like object`."
 
-#: library/os.rst:2451
+#: library/os.rst:2452
 msgid "Added support for :ref:`file descriptors <path_fd>` on Unix."
 msgstr ""
 "Ajout de la gestion des :ref:`descripteurs de fichiers <path_fd>` sur Unix."
 
-#: library/os.rst:2457
+#: library/os.rst:2458
 msgid ""
 "Object yielded by :func:`scandir` to expose the file path and other file "
 "attributes of a directory entry."
@@ -3460,7 +3463,7 @@ msgstr ""
 "Objet donné par :func:`scandir` pour exposer le chemin du fichier et "
 "d'autres attributs de fichier d'une entrée du répertoire."
 
-#: library/os.rst:2460
+#: library/os.rst:2461
 msgid ""
 ":func:`scandir` will provide as much of this information as possible without "
 "making additional system calls. When a ``stat()`` or ``lstat()`` system call "
@@ -3470,7 +3473,7 @@ msgstr ""
 "d'appels système additionnels. Quand un appel système ``stat()`` ou "
 "``lstat()`` est réalisé, l'objet ``os.DirEntry`` mettra le résultat en cache."
 
-#: library/os.rst:2464
+#: library/os.rst:2465
 msgid ""
 "``os.DirEntry`` instances are not intended to be stored in long-lived data "
 "structures; if you know the file metadata has changed or if a long time has "
@@ -3483,7 +3486,7 @@ msgstr ""
 "l'appel à :func:`scandir`, appelez ``os.stat(entry.path)`` pour mettre à "
 "jour ces informations."
 
-#: library/os.rst:2469
+#: library/os.rst:2470
 msgid ""
 "Because the ``os.DirEntry`` methods can make operating system calls, they "
 "may also raise :exc:`OSError`. If you need very fine-grained control over "
@@ -3495,7 +3498,7 @@ msgstr ""
 "contrôle fin des erreurs, vous pouvez attraper les :exc:`OSError` en "
 "appelant les méthodes de ``os.DirEntry`` et les traiter comme il vous semble."
 
-#: library/os.rst:2474
+#: library/os.rst:2475
 msgid ""
 "To be directly usable as a :term:`path-like object`, ``os.DirEntry`` "
 "implements the :class:`PathLike` interface."
@@ -3503,20 +3506,20 @@ msgstr ""
 "Pour être directement utilisable comme un :term:`path-like object`, ``os."
 "DirEntry`` implémente l'interface :class:`PathLike`."
 
-#: library/os.rst:2477
+#: library/os.rst:2478
 msgid "Attributes and methods on a ``os.DirEntry`` instance are as follows:"
 msgstr ""
 "Les attributs et méthodes des instances de ``os.DirEntry`` sont les "
 "suivants :"
 
-#: library/os.rst:2481
+#: library/os.rst:2482
 msgid ""
 "The entry's base filename, relative to the :func:`scandir` *path* argument."
 msgstr ""
 "Le nom de fichier de base de l'entrée, relatif à l'argument *path* de :func:"
 "`scandir`."
 
-#: library/os.rst:2484
+#: library/os.rst:2485
 msgid ""
 "The :attr:`name` attribute will be ``bytes`` if the :func:`scandir` *path* "
 "argument is of type ``bytes`` and ``str`` otherwise.  Use :func:`~os."
@@ -3526,7 +3529,7 @@ msgstr ""
 "`scandir` est de type ``bytes``, sinon il sera de type ``str``. Utilisez :"
 "func:`~os.fsdecode` pour décoder des noms de fichiers de types *byte*."
 
-#: library/os.rst:2490
+#: library/os.rst:2491
 msgid ""
 "The entry's full path name: equivalent to ``os.path.join(scandir_path, entry."
 "name)`` where *scandir_path* is the :func:`scandir` *path* argument.  The "
@@ -3542,7 +3545,7 @@ msgstr ""
 "`descripteur de fichier <path_fd>` l'attribut :attr:`path` sera égal à "
 "l'attribut :attr:`name`."
 
-#: library/os.rst:2497
+#: library/os.rst:2498
 msgid ""
 "The :attr:`path` attribute will be ``bytes`` if the :func:`scandir` *path* "
 "argument is of type ``bytes`` and ``str`` otherwise.  Use :func:`~os."
@@ -3553,11 +3556,11 @@ msgstr ""
 "``str``. Utilisez :func:`~os.fsdecode` pour décoder des noms de fichiers de "
 "type *bytes*."
 
-#: library/os.rst:2503
+#: library/os.rst:2504
 msgid "Return the inode number of the entry."
 msgstr "Renvoie le numéro d'*inode* de l'entrée."
 
-#: library/os.rst:2505
+#: library/os.rst:2506
 msgid ""
 "The result is cached on the ``os.DirEntry`` object. Use ``os.stat(entry."
 "path, follow_symlinks=False).st_ino`` to fetch up-to-date information."
@@ -3566,7 +3569,7 @@ msgstr ""
 "stat(entry.path, follow_symlinks=False).st_ino`` pour obtenir l'information "
 "à jour."
 
-#: library/os.rst:2509
+#: library/os.rst:2510
 msgid ""
 "On the first, uncached call, a system call is required on Windows but not on "
 "Unix."
@@ -3574,7 +3577,7 @@ msgstr ""
 "Au premier appel non mis en cache, un appel système est requis sur Windows, "
 "mais pas sur Unix."
 
-#: library/os.rst:2514
+#: library/os.rst:2515
 msgid ""
 "Return ``True`` if this entry is a directory or a symbolic link pointing to "
 "a directory; return ``False`` if the entry is or points to any other kind of "
@@ -3584,7 +3587,7 @@ msgstr ""
 "pointant vers un répertoire ; renvoie ``False`` si l'entrée est (ou pointe "
 "vers) un autre type de fichier, ou s'il n'existe plus."
 
-#: library/os.rst:2518
+#: library/os.rst:2519
 msgid ""
 "If *follow_symlinks* is ``False``, return ``True`` only if this entry is a "
 "directory (without following symlinks); return ``False`` if the entry is any "
@@ -3594,7 +3597,7 @@ msgstr ""
 "est un répertoire (sans suivre les liens symboliques) ; renvoie ``False`` si "
 "l'entrée est n'importe quel autre type de fichier ou s'il n'existe plus."
 
-#: library/os.rst:2522
+#: library/os.rst:2523
 msgid ""
 "The result is cached on the ``os.DirEntry`` object, with a separate cache "
 "for *follow_symlinks* ``True`` and ``False``. Call :func:`os.stat` along "
@@ -3604,7 +3607,7 @@ msgstr ""
 "séparé pour les valeurs ``True`` ou ``False`` de *follow_symlinks*. Appelez :"
 "func:`os.stat` avec :func:`stat.S_ISDIR` pour obtenir l'information à jour."
 
-#: library/os.rst:2526
+#: library/os.rst:2527
 msgid ""
 "On the first, uncached call, no system call is required in most cases. "
 "Specifically, for non-symlinks, neither Windows or Unix require a system "
@@ -3621,7 +3624,7 @@ msgstr ""
 "requis pour suivre le lien symbolique, à moins que *follow_symlinks* vaille "
 "``False``."
 
-#: library/os.rst:2563
+#: library/os.rst:2564
 msgid ""
 "This method can raise :exc:`OSError`, such as :exc:`PermissionError`, but :"
 "exc:`FileNotFoundError` is caught and not raised."
@@ -3630,7 +3633,7 @@ msgstr ""
 "`PermissionError`, mais :exc:`FileNotFoundError` est interceptée et pas "
 "levée."
 
-#: library/os.rst:2538
+#: library/os.rst:2539
 msgid ""
 "Return ``True`` if this entry is a file or a symbolic link pointing to a "
 "file; return ``False`` if the entry is or points to a directory or other non-"
@@ -3641,7 +3644,7 @@ msgstr ""
 "sur un dossier ou sur un répertoire ou autre entrée non-fichier, ou s'il "
 "n'existe plus."
 
-#: library/os.rst:2542
+#: library/os.rst:2543
 msgid ""
 "If *follow_symlinks* is ``False``, return ``True`` only if this entry is a "
 "file (without following symlinks); return ``False`` if the entry is a "
@@ -3652,7 +3655,7 @@ msgstr ""
 "si l'entrée est un répertoire ou une autre entrée non-fichier, ou s'il "
 "n'existe plus."
 
-#: library/os.rst:2546
+#: library/os.rst:2547
 msgid ""
 "The result is cached on the ``os.DirEntry`` object. Caching, system calls "
 "made, and exceptions raised are as per :func:`~os.DirEntry.is_dir`."
@@ -3661,7 +3664,7 @@ msgstr ""
 "les appels système réalisés, et les exceptions levées sont les mêmes que "
 "pour :func:`~os.DirEntry.is_dir`."
 
-#: library/os.rst:2551
+#: library/os.rst:2552
 msgid ""
 "Return ``True`` if this entry is a symbolic link (even if broken); return "
 "``False`` if the entry points to a directory or any kind of file, or if it "
@@ -3671,7 +3674,7 @@ msgstr ""
 "``False`` si l'entrée pinte vers un répertoire ou tout autre type de "
 "fichier, ou s'il n'existe plus."
 
-#: library/os.rst:2555
+#: library/os.rst:2556
 msgid ""
 "The result is cached on the ``os.DirEntry`` object. Call :func:`os.path."
 "islink` to fetch up-to-date information."
@@ -3679,7 +3682,7 @@ msgstr ""
 "Le résultat est mis en cache dans l'objet ``os.DirEntry``. Appelez :func:`os."
 "path.islink` pour obtenir l'information à jour."
 
-#: library/os.rst:2558
+#: library/os.rst:2559
 msgid ""
 "On the first, uncached call, no system call is required in most cases. "
 "Specifically, neither Windows or Unix require a system call, except on "
@@ -3691,7 +3694,7 @@ msgstr ""
 "certains systèmes de fichiers Unix qui renvoient ``dirent.d_type == "
 "DT_UNKNOWN``."
 
-#: library/os.rst:2568
+#: library/os.rst:2569
 msgid ""
 "Return a :class:`stat_result` object for this entry. This method follows "
 "symbolic links by default; to stat a symbolic link add the "
@@ -3701,7 +3704,7 @@ msgstr ""
 "méthode suit les liens symboliques par défaut. Pour avoir les statistiques "
 "sur un lien symbolique, ajouter l'argument ``follow_symlinks=False``."
 
-#: library/os.rst:2572
+#: library/os.rst:2573
 #, fuzzy
 msgid ""
 "On Unix, this method always requires a system call. On Windows, it only "
@@ -3712,7 +3715,7 @@ msgstr ""
 "cela requiert uniquement un appel système si *follow_symlinks* vaut ``True`` "
 "et l'entrée n'est pas un lien symbolique."
 
-#: library/os.rst:2577
+#: library/os.rst:2578
 msgid ""
 "On Windows, the ``st_ino``, ``st_dev`` and ``st_nlink`` attributes of the :"
 "class:`stat_result` are always set to zero. Call :func:`os.stat` to get "
@@ -3722,7 +3725,7 @@ msgstr ""
 "classe :class:`stat_result` sont toujours définis à 0. Appelez la fonction :"
 "func:`os.stat` pour avoir ces attributs."
 
-#: library/os.rst:2581
+#: library/os.rst:2582
 msgid ""
 "The result is cached on the ``os.DirEntry`` object, with a separate cache "
 "for *follow_symlinks* ``True`` and ``False``. Call :func:`os.stat` to fetch "
@@ -3732,7 +3735,7 @@ msgstr ""
 "séparé pour les valeurs ``True`` ou ``False`` de *follow_symlinks*. Appelez :"
 "func:`os.stat` pour obtenir l'information à jour."
 
-#: library/os.rst:2585
+#: library/os.rst:2586
 msgid ""
 "Note that there is a nice correspondence between several attributes and "
 "methods of ``os.DirEntry`` and of :class:`pathlib.Path`.  In particular, the "
@@ -3744,7 +3747,7 @@ msgstr ""
 "``name`` a la même signification, ainsi que les méthodes ``is_dir()``, "
 "``is_file()``, ``is_symlink()`` et ``stat()``."
 
-#: library/os.rst:2593
+#: library/os.rst:2594
 msgid ""
 "Added support for the :class:`~os.PathLike` interface.  Added support for :"
 "class:`bytes` paths on Windows."
@@ -3752,7 +3755,7 @@ msgstr ""
 "Prise en charge de l'interface :class:`~os.PathLike`.  Ajout du support des "
 "chemins :class:`bytes` sous Windows."
 
-#: library/os.rst:2600
+#: library/os.rst:2601
 msgid ""
 "Get the status of a file or a file descriptor. Perform the equivalent of a :"
 "c:func:`stat` system call on the given path. *path* may be specified as "
@@ -3766,7 +3769,7 @@ msgstr ""
 "ou indirectement à travers une interface :class:`PathLike` -- ou comme un "
 "descripteur de fichier ouvert. Renvoie un objet :class:`stat_result`."
 
-#: library/os.rst:2606
+#: library/os.rst:2607
 msgid ""
 "This function normally follows symlinks; to stat a symlink add the argument "
 "``follow_symlinks=False``, or use :func:`lstat`."
@@ -3775,7 +3778,7 @@ msgstr ""
 "informations d'un lien symbolique, ajoutez l'argument "
 "``follow_symlinks=False`` ou utilisez la fonction :func:`lstat`."
 
-#: library/os.rst:3433 library/os.rst:3465 library/os.rst:3485
+#: library/os.rst:3434 library/os.rst:3466 library/os.rst:3486
 msgid ""
 "This function can support :ref:`specifying a file descriptor <path_fd>` and :"
 "ref:`not following symlinks <follow_symlinks>`."
@@ -3784,7 +3787,7 @@ msgstr ""
 "fichier <path_fd>` et :ref:`le non-suivi des liens symboliques "
 "<follow_symlinks>`."
 
-#: library/os.rst:2612
+#: library/os.rst:2613
 msgid ""
 "On Windows, passing ``follow_symlinks=False`` will disable following all "
 "name-surrogate reparse points, which includes symlinks and directory "
@@ -3798,15 +3801,15 @@ msgid ""
 "junction points, which will raise the usual exceptions."
 msgstr ""
 
-#: library/os.rst:3353
+#: library/os.rst:3354
 msgid "Example::"
 msgstr "Exemple ::"
 
-#: library/os.rst:2638
+#: library/os.rst:2639
 msgid ":func:`fstat` and :func:`lstat` functions."
 msgstr "les fonctions :func:`fstat` et :func:`lstat`."
 
-#: library/os.rst:2640
+#: library/os.rst:2641
 msgid ""
 "Added the *dir_fd* and *follow_symlinks* arguments, specifying a file "
 "descriptor instead of a path."
@@ -3814,7 +3817,7 @@ msgstr ""
 "Les arguments *dir_fd* et *follow_symlinks* ont été ajoutés, spécification "
 "d'un descripteur de fichier à la place d'un chemin ajoutée également."
 
-#: library/os.rst:2647
+#: library/os.rst:2648
 msgid ""
 "On Windows, all reparse points that can be resolved by the operating system "
 "are now followed, and passing ``follow_symlinks=False`` disables following "
@@ -3824,7 +3827,7 @@ msgid ""
 "of raising an error."
 msgstr ""
 
-#: library/os.rst:2658
+#: library/os.rst:2659
 msgid ""
 "Object whose attributes correspond roughly to the members of the :c:type:"
 "`stat` structure. It is used for the result of :func:`os.stat`, :func:`os."
@@ -3834,16 +3837,16 @@ msgstr ""
 "structure :c:func:`stat`. Utilisé pour le résultat des fonctions :func:`os."
 "stat`, :func:`os.fstat`, et :func:`os.lstat`."
 
-#: library/os.rst:2662
+#: library/os.rst:2663
 msgid "Attributes:"
 msgstr "Attributs :"
 
-#: library/os.rst:2666
+#: library/os.rst:2667
 msgid "File mode: file type and file mode bits (permissions)."
 msgstr ""
 "Mode du fichier : type du fichier et bits de mode du fichier (permissions)."
 
-#: library/os.rst:2670
+#: library/os.rst:2671
 msgid ""
 "Platform dependent, but if non-zero, uniquely identifies the file for a "
 "given value of ``st_dev``. Typically:"
@@ -3852,11 +3855,11 @@ msgstr ""
 "manière unique le fichier pour une certaine valeur de ``st_dev``. "
 "Typiquement :"
 
-#: library/os.rst:2673
+#: library/os.rst:2674
 msgid "the inode number on Unix,"
 msgstr "le numéro d'*inode* sur Unix,"
 
-#: library/os.rst:2674
+#: library/os.rst:2675
 msgid ""
 "the `file index <https://msdn.microsoft.com/en-us/library/aa363788>`_ on "
 "Windows"
@@ -3864,23 +3867,23 @@ msgstr ""
 "l’`index de fichier <https://msdn.microsoft.com/fr-fr/library/aa363788>`_ "
 "sur Windows"
 
-#: library/os.rst:2680
+#: library/os.rst:2681
 msgid "Identifier of the device on which this file resides."
 msgstr "Identifiant du périphérique sur lequel ce fichier se trouve."
 
-#: library/os.rst:2684
+#: library/os.rst:2685
 msgid "Number of hard links."
 msgstr "Nombre de liens matériels."
 
-#: library/os.rst:2688
+#: library/os.rst:2689
 msgid "User identifier of the file owner."
 msgstr "Identifiant d'utilisateur du propriétaire du fichier."
 
-#: library/os.rst:2692
+#: library/os.rst:2693
 msgid "Group identifier of the file owner."
 msgstr "Identifiant de groupe du propriétaire du fichier."
 
-#: library/os.rst:2696
+#: library/os.rst:2697
 msgid ""
 "Size of the file in bytes, if it is a regular file or a symbolic link. The "
 "size of a symbolic link is the length of the pathname it contains, without a "
@@ -3890,37 +3893,37 @@ msgstr ""
 "symbolique. La taille d'un lien symbolique est la longueur du nom de chemin "
 "qu'il contient sans le byte nul final."
 
-#: library/os.rst:2700
+#: library/os.rst:2701
 msgid "Timestamps:"
 msgstr "Horodatages :"
 
-#: library/os.rst:2704
+#: library/os.rst:2705
 msgid "Time of most recent access expressed in seconds."
 msgstr "Moment de l'accès le plus récent, exprimé en secondes."
 
-#: library/os.rst:2708
+#: library/os.rst:2709
 msgid "Time of most recent content modification expressed in seconds."
 msgstr ""
 "Moment de la modification de contenu la plus récente, exprimé en secondes."
 
-#: library/os.rst:2728
+#: library/os.rst:2729
 msgid "Platform dependent:"
 msgstr "Dépendant de la plate-forme :"
 
-#: library/os.rst:2730
+#: library/os.rst:2731
 msgid "the time of most recent metadata change on Unix,"
 msgstr "le moment du changement de méta-données le plus récent sur Unix,"
 
-#: library/os.rst:2715
+#: library/os.rst:2716
 msgid "the time of creation on Windows, expressed in seconds."
 msgstr "le moment de création sur Windows, exprimé en secondes."
 
-#: library/os.rst:2719
+#: library/os.rst:2720
 msgid "Time of most recent access expressed in nanoseconds as an integer."
 msgstr ""
 "Moment de l'accès le plus récent, exprimé en nanosecondes, par un entier."
 
-#: library/os.rst:2723
+#: library/os.rst:2724
 msgid ""
 "Time of most recent content modification expressed in nanoseconds as an "
 "integer."
@@ -3928,13 +3931,13 @@ msgstr ""
 "Moment de la modification de contenu la plus récente, exprimé en "
 "nanosecondes, par un entier."
 
-#: library/os.rst:2731
+#: library/os.rst:2732
 msgid ""
 "the time of creation on Windows, expressed in nanoseconds as an integer."
 msgstr ""
 "le moment de création sur Windows, exprimé en nanosecondes, par un entier."
 
-#: library/os.rst:2736
+#: library/os.rst:2737
 msgid ""
 "The exact meaning and resolution of the :attr:`st_atime`, :attr:`st_mtime`, "
 "and :attr:`st_ctime` attributes depend on the operating system and the file "
@@ -3949,7 +3952,7 @@ msgstr ""
 "secondes, et :attr:`st_atime` a une précision de 1 jour. Regardez la "
 "documentation de votre système d'exploitation pour plus de détails."
 
-#: library/os.rst:2743
+#: library/os.rst:2744
 msgid ""
 "Similarly, although :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:"
 "`st_ctime_ns` are always expressed in nanoseconds, many systems do not "
@@ -3968,7 +3971,7 @@ msgstr ""
 "avez besoin d'horodatages exacts, vous devriez toujours utiliser :attr:"
 "`st_atime_ns`, :attr:`st_mtime_ns`, et :attr:`st_ctime_ns`."
 
-#: library/os.rst:2752
+#: library/os.rst:2753
 msgid ""
 "On some Unix systems (such as Linux), the following attributes may also be "
 "available:"
@@ -3976,7 +3979,7 @@ msgstr ""
 "Sur certains systèmes Unix (tels que Linux), les attributs suivants peuvent "
 "également être disponibles :"
 
-#: library/os.rst:2757
+#: library/os.rst:2758
 msgid ""
 "Number of 512-byte blocks allocated for file. This may be smaller than :attr:"
 "`st_size`/512 when the file has holes."
@@ -3984,7 +3987,7 @@ msgstr ""
 "Nombre de blocs de 512 *bytes* alloués pour le fichier. Cette valeur peut "
 "être inférieure à :attr:`st_size`/512 quand le fichier a des trous."
 
-#: library/os.rst:2762
+#: library/os.rst:2763
 msgid ""
 "\"Preferred\" blocksize for efficient file system I/O. Writing to a file in "
 "smaller chunks may cause an inefficient read-modify-rewrite."
@@ -3993,15 +3996,15 @@ msgstr ""
 "système de fichiers. Écrire dans un fichier avec des blocs plus petits peut "
 "causer des modifications (lecture-écriture-réécriture) inefficaces."
 
-#: library/os.rst:2767
+#: library/os.rst:2768
 msgid "Type of device if an inode device."
 msgstr "Type de périphérique si l'*inode* représente un périphérique."
 
-#: library/os.rst:2771
+#: library/os.rst:2772
 msgid "User defined flags for file."
 msgstr "Marqueurs définis par l'utilisateur pour le fichier."
 
-#: library/os.rst:2773
+#: library/os.rst:2774
 msgid ""
 "On other Unix systems (such as FreeBSD), the following attributes may be "
 "available (but may be only filled out if root tries to use them):"
@@ -4010,22 +4013,22 @@ msgstr ""
 "peuvent être disponibles (mais peuvent être complétés uniquement lorsque le "
 "super-utilisateur *root* tente de les utiliser) :"
 
-#: library/os.rst:2778
+#: library/os.rst:2779
 msgid "File generation number."
 msgstr "Nombre de génération de fichier."
 
-#: library/os.rst:2782
+#: library/os.rst:2783
 msgid "Time of file creation."
 msgstr "Moment de la création du fichier."
 
-#: library/os.rst:2784
+#: library/os.rst:2785
 msgid ""
 "On Solaris and derivatives, the following attributes may also be available:"
 msgstr ""
 "Sur les systèmes Solaris et dérivés, les attributs suivants peuvent "
 "également être disponibles :"
 
-#: library/os.rst:2789
+#: library/os.rst:2790
 msgid ""
 "String that uniquely identifies the type of the filesystem that contains the "
 "file."
@@ -4033,32 +4036,32 @@ msgstr ""
 "Chaîne qui identifie de manière unique le type du système de fichiers qui "
 "contient le fichier."
 
-#: library/os.rst:2792
+#: library/os.rst:2793
 #, fuzzy
 msgid "On macOS systems, the following attributes may also be available:"
 msgstr ""
 "Sur les systèmes Mac OS, les attributs suivants peuvent également être "
 "disponibles :"
 
-#: library/os.rst:2796
+#: library/os.rst:2797
 msgid "Real size of the file."
 msgstr "Taillé réelle du fichier."
 
-#: library/os.rst:2800
+#: library/os.rst:2801
 msgid "Creator of the file."
 msgstr "Créateur du fichier."
 
-#: library/os.rst:2804
+#: library/os.rst:2805
 msgid "File type."
 msgstr "Type du fichier."
 
-#: library/os.rst:2806
+#: library/os.rst:2807
 #, fuzzy
 msgid "On Windows systems, the following attributes are also available:"
 msgstr ""
 "Sur les systèmes Windows, les attributs suivants sont également disponibles :"
 
-#: library/os.rst:2810
+#: library/os.rst:2811
 msgid ""
 "Windows file attributes: ``dwFileAttributes`` member of the "
 "``BY_HANDLE_FILE_INFORMATION`` structure returned by :c:func:"
@@ -4070,14 +4073,14 @@ msgstr ""
 "`GetileInformationByHandle`. Soir les constantes ``FILE_ATTRIBUTE_*`` du "
 "module :mod:`stat`."
 
-#: library/os.rst:2817
+#: library/os.rst:2818
 msgid ""
 "When :attr:`st_file_attributes` has the ``FILE_ATTRIBUTE_REPARSE_POINT`` "
 "set, this field contains the tag identifying the type of reparse point. See "
 "the ``IO_REPARSE_TAG_*`` constants in the :mod:`stat` module."
 msgstr ""
 
-#: library/os.rst:2821
+#: library/os.rst:2822
 msgid ""
 "The standard module :mod:`stat` defines functions and constants that are "
 "useful for extracting information from a :c:type:`stat` structure. (On "
@@ -4087,7 +4090,7 @@ msgstr ""
 "sont utiles pour l'extraction d'informations d'une structure :c:type:`stat`. "
 "(Sur Windows, certains éléments sont remplis avec des valeurs factices.)"
 
-#: library/os.rst:2825
+#: library/os.rst:2826
 msgid ""
 "For backward compatibility, a :class:`stat_result` instance is also "
 "accessible as a tuple of at least 10 integers giving the most important (and "
@@ -4109,7 +4112,7 @@ msgstr ""
 "élément de type :class:`stat_result` comme un *n*-uplet donne toujours des "
 "entiers."
 
-#: library/os.rst:2834
+#: library/os.rst:2835
 msgid ""
 "Added the :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:`st_ctime_ns` "
 "members."
@@ -4117,32 +4120,32 @@ msgstr ""
 "Les attributs :attr:`st_atime_ns`, :attr:`st_mtime_ns`, et :attr:"
 "`st_ctime_ns` ont été ajoutés."
 
-#: library/os.rst:2838
+#: library/os.rst:2839
 msgid "Added the :attr:`st_file_attributes` member on Windows."
 msgstr "L'attribut :attr:`st_file_attributes` a été ajouté sur Windows."
 
-#: library/os.rst:2841
+#: library/os.rst:2842
 msgid "Windows now returns the file index as :attr:`st_ino` when available."
 msgstr ""
 "Windows renvoie maintenant l'index du fichier dans l'attribut :attr:"
 "`st_ino`, lorsqu'il est disponible."
 
-#: library/os.rst:2845
+#: library/os.rst:2846
 msgid "Added the :attr:`st_fstype` member to Solaris/derivatives."
 msgstr "Ajout de l'attribut :attr:`st_fstype` sur Solaris et dérivés."
 
-#: library/os.rst:2848
+#: library/os.rst:2849
 #, fuzzy
 msgid "Added the :attr:`st_reparse_tag` member on Windows."
 msgstr "L'attribut :attr:`st_file_attributes` a été ajouté sur Windows."
 
-#: library/os.rst:2851
+#: library/os.rst:2852
 msgid ""
 "On Windows, the :attr:`st_mode` member now identifies special files as :"
 "const:`S_IFCHR`, :const:`S_IFIFO` or :const:`S_IFBLK` as appropriate."
 msgstr ""
 
-#: library/os.rst:2858
+#: library/os.rst:2859
 msgid ""
 "Perform a :c:func:`statvfs` system call on the given path.  The return value "
 "is an object whose attributes describe the filesystem on the given path, and "
@@ -4159,7 +4162,7 @@ msgstr ""
 "`f_ffree`, :attr:`f_favail`, :attr:`f_flag`, :attr:`f_namemax`, :attr:"
 "`f_fsid`."
 
-#: library/os.rst:2865
+#: library/os.rst:2866
 msgid ""
 "Two module-level constants are defined for the :attr:`f_flag` attribute's "
 "bit-flags: if :const:`ST_RDONLY` is set, the filesystem is mounted read-"
@@ -4171,7 +4174,7 @@ msgstr ""
 "monté en lecture-seule, et si :const:`ST_NOSUID` est activé, la sémantique "
 "des bits de *setuid* / *getuid* est désactivée ou non gérée."
 
-#: library/os.rst:2870
+#: library/os.rst:2871
 msgid ""
 "Additional module-level constants are defined for GNU/glibc based systems. "
 "These are :const:`ST_NODEV` (disallow access to device special files), :"
@@ -4195,11 +4198,11 @@ msgstr ""
 "à jour les moments d'accès aux répertoires), :const:`ST_REALTIME` (Met "
 "*atime* à jour relativement à *mtime* / *ctime*)."
 
-#: library/os.rst:2883
+#: library/os.rst:2884
 msgid "The :const:`ST_RDONLY` and :const:`ST_NOSUID` constants were added."
 msgstr "Ajout des constantes :const:`ST_RDONLY` et :const:`ST_NOSUID`."
 
-#: library/os.rst:2889
+#: library/os.rst:2890
 msgid ""
 "The :const:`ST_NODEV`, :const:`ST_NOEXEC`, :const:`ST_SYNCHRONOUS`, :const:"
 "`ST_MANDLOCK`, :const:`ST_WRITE`, :const:`ST_APPEND`, :const:"
@@ -4211,11 +4214,11 @@ msgstr ""
 "`ST_APPEND`, :const:`ST_IMMUTABLE`, :const:`ST_NOATIME`, :const:"
 "`ST_NODIRATIME`, et :const:`ST_RELATIME`."
 
-#: library/os.rst:2898
+#: library/os.rst:2899
 msgid "Added :attr:`f_fsid`."
 msgstr "Ajout de :attr:`f_fsid`."
 
-#: library/os.rst:2904
+#: library/os.rst:2905
 #, fuzzy
 msgid ""
 "A :class:`set` object indicating which functions in the :mod:`os` module "
@@ -4235,7 +4238,7 @@ msgstr ""
 "toujours de spécifier le paramètre, mais lèvent une exception si la "
 "fonctionnalité n'est pas réellement accessible."
 
-#: library/os.rst:2914
+#: library/os.rst:2915
 #, fuzzy
 msgid ""
 "To check whether a particular function accepts an open file descriptor for "
@@ -4249,7 +4252,7 @@ msgstr ""
 "détermine si :func:`os.chdir` accepte un descripteur de fichier ouvert quand "
 "appelée sur votre plate-forme actuelle ::"
 
-#: library/os.rst:2921
+#: library/os.rst:2922
 msgid ""
 "Currently *dir_fd* parameters only work on Unix platforms; none of them work "
 "on Windows."
@@ -4257,7 +4260,7 @@ msgstr ""
 "Actuellement, le paramètre *dir_fd* ne fonctionne que sur les plate-formes "
 "Unix. Il ne fonctionne jamais sur Windows."
 
-#: library/os.rst:2929
+#: library/os.rst:2930
 #, fuzzy
 msgid ""
 "A :class:`set` object indicating whether :func:`os.access` permits "
@@ -4271,13 +4274,13 @@ msgstr ""
 "func:`os.access`. Si la plate-forme le gère, la collection contiendra :func:"
 "`os.access`, sinon elle sera vide."
 
-#: library/os.rst:2935
+#: library/os.rst:2936
 msgid ""
 "This expression evaluates to ``True`` if :func:`os.access` supports "
 "``effective_ids=True`` on the local platform::"
 msgstr ""
 
-#: library/os.rst:2940
+#: library/os.rst:2941
 #, fuzzy
 msgid ""
 "Currently *effective_ids* is only supported on Unix platforms; it does not "
@@ -4286,7 +4289,7 @@ msgstr ""
 "Actuellement, *effective_ids* ne fonctionne que sur les plate-formes Unix, "
 "ça ne fonctionne pas sur Windows."
 
-#: library/os.rst:2948
+#: library/os.rst:2949
 #, fuzzy
 msgid ""
 "A :class:`set` object indicating which functions in the :mod:`os` module "
@@ -4304,7 +4307,7 @@ msgstr ""
 "mais elles lèveront une exception si la fonctionnalité n'est pas réellement "
 "disponible."
 
-#: library/os.rst:2955
+#: library/os.rst:2956
 #, fuzzy
 msgid ""
 "To determine whether a particular function permits specifying an open file "
@@ -4319,7 +4322,7 @@ msgstr ""
 "détermine si :func:`os.chdir` accepte un descripteur de fichier ouvert quand "
 "appelée sur votre plate-forme actuelle ::"
 
-#: library/os.rst:2968
+#: library/os.rst:2969
 #, fuzzy
 msgid ""
 "A :class:`set` object indicating which functions in the :mod:`os` module "
@@ -4340,7 +4343,7 @@ msgstr ""
 "permettent toujours de spécifier le paramètre, mais lèvent une exception si "
 "la fonctionnalité n'est pas réellement disponible."
 
-#: library/os.rst:2978
+#: library/os.rst:2979
 #, fuzzy
 msgid ""
 "To check whether a particular function accepts ``False`` for its "
@@ -4354,11 +4357,11 @@ msgstr ""
 "``supports_follow_symlinks``. Par exemple, cette expression détermine si le "
 "paramètre *follow_symlink* de :func:`os.stat` est disponible ::"
 
-#: library/os.rst:2991
+#: library/os.rst:2992
 msgid "Create a symbolic link pointing to *src* named *dst*."
 msgstr "Crée un lien symbolique pointant vers *src* et appelé *dst*."
 
-#: library/os.rst:2993
+#: library/os.rst:2994
 msgid ""
 "On Windows, a symlink represents either a file or a directory, and does not "
 "morph to the target dynamically.  If the target is present, the type of the "
@@ -4374,7 +4377,7 @@ msgstr ""
 "symbolique sera créé comme un répertoire, sinon comme un fichier (par "
 "défaut). Sur les autres plateformes, *target_id_directory* est ignoré."
 
-#: library/os.rst:3004
+#: library/os.rst:3005
 msgid ""
 "On newer versions of Windows 10, unprivileged accounts can create symlinks "
 "if Developer Mode is enabled. When Developer Mode is not available/enabled, "
@@ -4382,20 +4385,20 @@ msgid ""
 "must be run as an administrator."
 msgstr ""
 
-#: library/os.rst:3010
+#: library/os.rst:3011
 msgid ""
 ":exc:`OSError` is raised when the function is called by an unprivileged user."
 msgstr ""
 ":exc:`OSError` est levée quand la fonction est appelée par un utilisateur "
 "sans privilèges."
 
-#: library/os.rst:3013
+#: library/os.rst:3014
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.symlink`` with arguments "
 "``src``, ``dst``, ``dir_fd``."
 msgstr ""
 
-#: library/os.rst:3020
+#: library/os.rst:3021
 msgid ""
 "Added the *dir_fd* argument, and now allow *target_is_directory* on non-"
 "Windows platforms."
@@ -4403,15 +4406,15 @@ msgstr ""
 "Ajout de l'argument *dir_fd* et maintenant, permission de "
 "*target_is_directory* sur les plate-formes non Windows."
 
-#: library/os.rst:3027
+#: library/os.rst:3028
 msgid "Added support for unelevated symlinks on Windows with Developer Mode."
 msgstr ""
 
-#: library/os.rst:3033
+#: library/os.rst:3034
 msgid "Force write of everything to disk."
 msgstr "Force l'écriture de tout sur le disque."
 
-#: library/os.rst:3042
+#: library/os.rst:3043
 msgid ""
 "Truncate the file corresponding to *path*, so that it is at most *length* "
 "bytes in size."
@@ -4419,13 +4422,13 @@ msgstr ""
 "Tronque le fichier correspondant à *path*, afin qu'il soit au maximum long "
 "de *length* bytes."
 
-#: library/os.rst:3047
+#: library/os.rst:3048
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.truncate`` with arguments "
 "``path``, ``length``."
 msgstr ""
 
-#: library/os.rst:3062
+#: library/os.rst:3063
 msgid ""
 "Remove (delete) the file *path*.  This function is semantically identical "
 "to :func:`remove`; the ``unlink`` name is its traditional Unix name.  Please "
@@ -4435,13 +4438,13 @@ msgstr ""
 "identique à :func:`remove`. Le nom ``unlink`` est un nom Unix traditionnel. "
 "Veuillez voir la documentation de :func:`remove` pour plus d'informations."
 
-#: library/os.rst:3078
+#: library/os.rst:3079
 msgid "Set the access and modified times of the file specified by *path*."
 msgstr ""
 "Voir les derniers moments d'accès et de modification du fichier spécifiés "
 "par *path*."
 
-#: library/os.rst:3080
+#: library/os.rst:3081
 msgid ""
 ":func:`utime` takes two optional parameters, *times* and *ns*. These specify "
 "the times set on *path* and are used as follows:"
@@ -4449,7 +4452,7 @@ msgstr ""
 "La fonction :func:`utime` prend deux paramètres optionnels, *times* et *ns*. "
 "Ils spécifient le temps mis pour *path* et est utilisé comme suit :"
 
-#: library/os.rst:3083
+#: library/os.rst:3084
 msgid ""
 "If *ns* is specified, it must be a 2-tuple of the form ``(atime_ns, "
 "mtime_ns)`` where each member is an int expressing nanoseconds."
@@ -4457,7 +4460,7 @@ msgstr ""
 "Si *ns* est spécifié, ce doit être un couple de la forme ``(atime_ns, "
 "mtime_ns)`` où chaque membre est un entier qui exprime des nanosecondes."
 
-#: library/os.rst:3086
+#: library/os.rst:3087
 msgid ""
 "If *times* is not ``None``, it must be a 2-tuple of the form ``(atime, "
 "mtime)`` where each member is an int or float expressing seconds."
@@ -4466,7 +4469,7 @@ msgstr ""
 "``(atime, mtime)`` où chaque membre est un entier ou une expression à "
 "virgule flottante."
 
-#: library/os.rst:3089
+#: library/os.rst:3090
 msgid ""
 "If *times* is ``None`` and *ns* is unspecified, this is equivalent to "
 "specifying ``ns=(atime_ns, mtime_ns)`` where both times are the current time."
@@ -4475,12 +4478,12 @@ msgstr ""
 "spécifier ``ns = (atime_ns, mtime_ns)`` où les deux moments sont le moment "
 "actuel."
 
-#: library/os.rst:3093
+#: library/os.rst:3094
 msgid "It is an error to specify tuples for both *times* and *ns*."
 msgstr ""
 "Il est erroné de spécifier des *n*-uplets pour *times* et *ns* à la fois."
 
-#: library/os.rst:3095
+#: library/os.rst:3096
 #, fuzzy
 msgid ""
 "Note that the exact times you set here may not be returned by a subsequent :"
@@ -4500,13 +4503,13 @@ msgstr ""
 "*st_atime_ns* et *st_mtime_ns* de l'objet résultat de la fonction :func:`os."
 "stat` avec le paramètre *ns* valant `utime`."
 
-#: library/os.rst:3106
+#: library/os.rst:3107
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.utime`` with arguments "
 "``path``, ``times``, ``ns``, ``dir_fd``."
 msgstr ""
 
-#: library/os.rst:3108
+#: library/os.rst:3109
 msgid ""
 "Added support for specifying *path* as an open file descriptor, and the "
 "*dir_fd*, *follow_symlinks*, and *ns* parameters."
@@ -4514,7 +4517,7 @@ msgstr ""
 "Ajoute la prise en charge d'un descripteur de fichier pour *path* et des "
 "paramètres *dir_fd*, *follow_symlinks* et *ns*."
 
-#: library/os.rst:3122
+#: library/os.rst:3123
 msgid ""
 "Generate the file names in a directory tree by walking the tree either top-"
 "down or bottom-up. For each directory in the tree rooted at directory *top* "
@@ -4526,7 +4529,7 @@ msgstr ""
 "l'arbre enraciné en le répertoire *rop* (incluant ledit répertoire *top*), "
 "fournit un triplet ``(dirpath, dirnames, filenames)``."
 
-#: library/os.rst:3127
+#: library/os.rst:3128
 #, fuzzy
 msgid ""
 "*dirpath* is a string, the path to the directory.  *dirnames* is a list of "
@@ -4547,7 +4550,7 @@ msgstr ""
 "(qui commence à *top*) vers un répertoire dans *dirpath*, faites ``os.path."
 "join(dirpath, name)``."
 
-#: library/os.rst:3137
+#: library/os.rst:3138
 msgid ""
 "If optional argument *topdown* is ``True`` or not specified, the triple for "
 "a directory is generated before the triples for any of its subdirectories "
@@ -4566,7 +4569,7 @@ msgstr ""
 "avant que les *n*-uplets pour le répertoires et ses sous-répertoires ne "
 "soient générés."
 
-#: library/os.rst:3145
+#: library/os.rst:3146
 msgid ""
 "When *topdown* is ``True``, the caller can modify the *dirnames* list in-"
 "place (perhaps using :keyword:`del` or slice assignment), and :func:`walk` "
@@ -4589,7 +4592,7 @@ msgstr ""
 "parce qu'en mode bas-en-haut, les répertoires dans *dirnames* sont générés "
 "avant que *dirpath* ne soit lui-même généré."
 
-#: library/os.rst:3154
+#: library/os.rst:3155
 msgid ""
 "By default, errors from the :func:`scandir` call are ignored.  If optional "
 "argument *onerror* is specified, it should be a function; it will be called "
@@ -4605,7 +4608,7 @@ msgstr ""
 "avorter le parcours. Notez que le nom de fichier est disponible dans "
 "l'attribut ``filename`` de l'objet exception."
 
-#: library/os.rst:3160
+#: library/os.rst:3161
 msgid ""
 "By default, :func:`walk` will not walk down into symbolic links that resolve "
 "to directories. Set *followlinks* to ``True`` to visit directories pointed "
@@ -4615,7 +4618,7 @@ msgstr ""
 "un répertoire. Définissez *followlinks* avec ``True`` pour visiter les "
 "répertoires pointés par des liens symboliques sur les systèmes qui le gère."
 
-#: library/os.rst:3166
+#: library/os.rst:3167
 msgid ""
 "Be aware that setting *followlinks* to ``True`` can lead to infinite "
 "recursion if a link points to a parent directory of itself. :func:`walk` "
@@ -4625,7 +4628,7 @@ msgstr ""
 "récursion infinie si un lien pointe vers un répertoire parent de lui-même. :"
 "func:`walk` ne garde pas de trace des répertoires qu'il a déjà visité."
 
-#: library/os.rst:3172
+#: library/os.rst:3173
 msgid ""
 "If you pass a relative pathname, don't change the current working directory "
 "between resumptions of :func:`walk`.  :func:`walk` never changes the current "
@@ -4635,7 +4638,7 @@ msgstr ""
 "actuel entre deux exécutions de :func:`walk`. :func:`walk` ne change jamais "
 "le répertoire actuel, et suppose que l'appelant ne le fait pas non plus."
 
-#: library/os.rst:3237
+#: library/os.rst:3238
 msgid ""
 "This example displays the number of bytes taken by non-directory files in "
 "each directory under the starting directory, except that it doesn't look "
@@ -4645,7 +4648,7 @@ msgstr ""
 "dans chaque répertoire à partir du répertoire de départ, si ce n'est qu'il "
 "ne cherche pas après un sous-répertoire CSV ::"
 
-#: library/os.rst:3189
+#: library/os.rst:3190
 msgid ""
 "In the next example (simple implementation of :func:`shutil.rmtree`), "
 "walking the tree bottom-up is essential, :func:`rmdir` doesn't allow "
@@ -4655,13 +4658,13 @@ msgstr ""
 "parcourir l'arbre de bas-en-haut est essentiel : :func:`rmdir` ne permet pas "
 "de supprimer un répertoire avant qu'un ne soit vide ::"
 
-#: library/os.rst:3204
+#: library/os.rst:3205
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.walk`` with arguments "
 "``top``, ``topdown``, ``onerror``, ``followlinks``."
 msgstr ""
 
-#: library/os.rst:3206
+#: library/os.rst:3207
 msgid ""
 "This function now calls :func:`os.scandir` instead of :func:`os.listdir`, "
 "making it faster by reducing the number of calls to :func:`os.stat`."
@@ -4670,7 +4673,7 @@ msgstr ""
 "listdir`, ce qui la rend plus rapide en réduisant le nombre d'appels à :func:"
 "`os.stat`."
 
-#: library/os.rst:3220
+#: library/os.rst:3221
 msgid ""
 "This behaves exactly like :func:`walk`, except that it yields a 4-tuple "
 "``(dirpath, dirnames, filenames, dirfd)``, and it supports ``dir_fd``."
@@ -4678,7 +4681,7 @@ msgstr ""
 "Se comporte exactement comme :func:`walk`, si ce n'est qu'il fournit un "
 "quadruplet ``(dirpath, dirnames, filenames, dirfd)``, et gère ``dir_fd``."
 
-#: library/os.rst:3223
+#: library/os.rst:3224
 msgid ""
 "*dirpath*, *dirnames* and *filenames* are identical to :func:`walk` output, "
 "and *dirfd* is a file descriptor referring to the directory *dirpath*."
@@ -4687,7 +4690,7 @@ msgstr ""
 "`walk` et *dirfd* est un descripteur de fichier faisant référence au "
 "répertoire *dirpath*."
 
-#: library/os.rst:3226
+#: library/os.rst:3227
 msgid ""
 "This function always supports :ref:`paths relative to directory descriptors "
 "<dir_fd>` and :ref:`not following symlinks <follow_symlinks>`.  Note however "
@@ -4700,7 +4703,7 @@ msgstr ""
 "fonctions, la valeur par défaut de *follow_symlinks* pour :func:`walk` est "
 "``False``."
 
-#: library/os.rst:3233
+#: library/os.rst:3234
 msgid ""
 "Since :func:`fwalk` yields file descriptors, those are only valid until the "
 "next iteration step, so you should duplicate them (e.g. with :func:`dup`) if "
@@ -4710,7 +4713,7 @@ msgstr ""
 "valides que jusque la prochaine itération. Donc vous devriez les dupliquer "
 "(par exemple avec :func:`dup`) si vous désirez les garder plus longtemps."
 
-#: library/os.rst:3250
+#: library/os.rst:3251
 msgid ""
 "In the next example, walking the tree bottom-up is essential: :func:`rmdir` "
 "doesn't allow deleting a directory before the directory is empty::"
@@ -4719,17 +4722,17 @@ msgstr ""
 "func:`rmdir` ne permet pas de supprimer un répertoire avant qu'il ne soit "
 "vide ::"
 
-#: library/os.rst:3265
+#: library/os.rst:3266
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.fwalk`` with arguments "
 "``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``."
 msgstr ""
 
-#: library/os.rst:3274
+#: library/os.rst:3275
 msgid "Added support for :class:`bytes` paths."
 msgstr "Ajout de la gestion des chemins de type :class:`bytes`."
 
-#: library/os.rst:3280
+#: library/os.rst:3281
 msgid ""
 "Create an anonymous file and return a file descriptor that refers to it. "
 "*flags* must be one of the ``os.MFD_*`` constants available on the system "
@@ -4737,7 +4740,7 @@ msgid ""
 "descriptor is :ref:`non-inheritable <fd_inheritance>`."
 msgstr ""
 
-#: library/os.rst:3285
+#: library/os.rst:3286
 msgid ""
 "The name supplied in *name* is used as a filename and will be displayed as "
 "the target of the corresponding symbolic link in the directory ``/proc/self/"
@@ -4747,7 +4750,7 @@ msgid ""
 "side effects."
 msgstr ""
 
-#: library/os.rst:3293
+#: library/os.rst:3294
 msgid ""
 ":ref:`Availability <availability>`: Linux 3.17 or newer with glibc 2.27 or "
 "newer."
@@ -4755,11 +4758,11 @@ msgstr ""
 ":ref:`Disponibilité <availability>` : Linux 3.17 ou plus récent avec glibc "
 "2.27 ou plus récente."
 
-#: library/os.rst:3315
+#: library/os.rst:3316
 msgid "These flags can be passed to :func:`memfd_create`."
 msgstr ""
 
-#: library/os.rst:3319
+#: library/os.rst:3320
 #, fuzzy
 msgid ""
 ":ref:`Availability <availability>`: Linux 3.17 or newer with glibc 2.27 or "
@@ -4769,7 +4772,7 @@ msgstr ""
 "6.0 et plus récent, OpenBSD 2.7 et plus récent. L'utilisation de *flags* "
 "requiert Linux 4.6 ou plus récent."
 
-#: library/os.rst:3325
+#: library/os.rst:3326
 msgid ""
 "Create and return an event file descriptor. The file descriptors supports "
 "raw :func:`read` and :func:`write` with a buffer size of 8, :func:`~select."
@@ -4778,7 +4781,7 @@ msgid ""
 "ref:`non-inheritable <fd_inheritance>`."
 msgstr ""
 
-#: library/os.rst:3331
+#: library/os.rst:3332
 msgid ""
 "*initval* is the initial value of the event counter. The initial value must "
 "be an 32 bit unsigned integer. Please note that the initial value is limited "
@@ -4786,39 +4789,39 @@ msgid ""
 "integer with a maximum value of 2\\ :sup:`64`\\ -\\ 2."
 msgstr ""
 
-#: library/os.rst:3336
+#: library/os.rst:3337
 msgid ""
 "*flags* can be constructed from :const:`EFD_CLOEXEC`, :const:`EFD_NONBLOCK`, "
 "and :const:`EFD_SEMAPHORE`."
 msgstr ""
 
-#: library/os.rst:3339
+#: library/os.rst:3340
 msgid ""
 "If :const:`EFD_SEMAPHORE` is specified and the event counter is non-zero, :"
 "func:`eventfd_read` returns 1 and decrements the counter by one."
 msgstr ""
 
-#: library/os.rst:3342
+#: library/os.rst:3343
 msgid ""
 "If :const:`EFD_SEMAPHORE` is not specified and the event counter is non-"
 "zero, :func:`eventfd_read` returns the current event counter value and "
 "resets the counter to zero."
 msgstr ""
 
-#: library/os.rst:3346
+#: library/os.rst:3347
 msgid ""
 "If the event counter is zero and :const:`EFD_NONBLOCK` is not specified, :"
 "func:`eventfd_read` blocks."
 msgstr ""
 
-#: library/os.rst:3349
+#: library/os.rst:3350
 msgid ""
 ":func:`eventfd_write` increments the event counter. Write blocks if the "
 "write operation would increment the counter to a value larger than 2\\ :sup:"
 "`64`\\ -\\ 2."
 msgstr ""
 
-#: library/os.rst:3371
+#: library/os.rst:3372
 #, fuzzy
 msgid ""
 ":ref:`Availability <availability>`: Linux 2.6.27 or newer with glibc 2.8 or "
@@ -4827,40 +4830,40 @@ msgstr ""
 ":ref:`Disponibilité <availability>` : Linux 3.17 ou plus récent avec glibc "
 "2.27 ou plus récente."
 
-#: library/os.rst:3376
+#: library/os.rst:3377
 msgid ""
 "Read value from an :func:`eventfd` file descriptor and return a 64 bit "
 "unsigned int. The function does not verify that *fd* is an :func:`eventfd`."
 msgstr ""
 
-#: library/os.rst:3389 library/os.rst:3406
+#: library/os.rst:3390 library/os.rst:3407
 #, fuzzy
 msgid ":ref:`Availability <availability>`: See :func:`eventfd`"
 msgstr ":ref:`Disponibilité <availability>` : dérivés récents de Unix."
 
-#: library/os.rst:3385
+#: library/os.rst:3386
 msgid ""
 "Add value to an :func:`eventfd` file descriptor. *value* must be a 64 bit "
 "unsigned int. The function does not verify that *fd* is an :func:`eventfd`."
 msgstr ""
 
-#: library/os.rst:3394
+#: library/os.rst:3395
 #, fuzzy
 msgid "Set close-on-exec flag for new :func:`eventfd` file descriptor."
 msgstr "Définit le marqueur « héritable » du descripteur de fichier spécifié."
 
-#: library/os.rst:3402
+#: library/os.rst:3403
 msgid ""
 "Set :const:`O_NONBLOCK` status flag for new :func:`eventfd` file descriptor."
 msgstr ""
 
-#: library/os.rst:3411
+#: library/os.rst:3412
 msgid ""
 "Provide semaphore-like semantics for reads from a :func:`eventfd` file "
 "descriptor. On read the internal counter is decremented by one."
 msgstr ""
 
-#: library/os.rst:3415
+#: library/os.rst:3416
 #, fuzzy
 msgid ""
 ":ref:`Availability <availability>`: Linux 2.6.30 or newer with glibc 2.8 or "
@@ -4869,15 +4872,15 @@ msgstr ""
 ":ref:`Disponibilité <availability>` : Linux 3.17 ou plus récent avec glibc "
 "2.27 ou plus récente."
 
-#: library/os.rst:3420
+#: library/os.rst:3421
 msgid "Linux extended attributes"
 msgstr "Attributs étendus pour Linux"
 
-#: library/os.rst:3424
+#: library/os.rst:3425
 msgid "These functions are all available on Linux only."
 msgstr "Toutes ces fonctions ne sont disponibles que sur Linux."
 
-#: library/os.rst:3428
+#: library/os.rst:3429
 msgid ""
 "Return the value of the extended filesystem attribute *attribute* for "
 "*path*. *attribute* can be bytes or str (directly or indirectly through the :"
@@ -4890,17 +4893,17 @@ msgstr ""
 "`PathLike`). Si c'est une chaîne de caractères, elle est encodée avec "
 "l'encodage du système de fichiers."
 
-#: library/os.rst:3436
+#: library/os.rst:3437
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.getxattr`` with arguments "
 "``path``, ``attribute``."
 msgstr ""
 
-#: library/os.rst:3470 library/os.rst:3495
+#: library/os.rst:3471 library/os.rst:3496
 msgid "Accepts a :term:`path-like object` for *path* and *attribute*."
 msgstr "Accepte un :term:`path-like object` pour *path* et *attribute*."
 
-#: library/os.rst:3444
+#: library/os.rst:3445
 msgid ""
 "Return a list of the extended filesystem attributes on *path*.  The "
 "attributes in the list are represented as strings decoded with the "
@@ -4912,13 +4915,13 @@ msgstr ""
 "sont décodés avec l'encodage du système de fichier. Si *path* vaut "
 "``None``, :func:`listxattr` examinera le répertoire actuel."
 
-#: library/os.rst:3452
+#: library/os.rst:3453
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.listxattr`` with argument "
 "``path``."
 msgstr ""
 
-#: library/os.rst:3460
+#: library/os.rst:3461
 #, fuzzy
 msgid ""
 "Removes the extended filesystem attribute *attribute* from *path*. "
@@ -4932,13 +4935,13 @@ msgstr ""
 "c'est une chaîne de caractères, elle est encodée avec l'encodage du système "
 "de fichiers."
 
-#: library/os.rst:3468
+#: library/os.rst:3469
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.removexattr`` with arguments "
 "``path``, ``attribute``."
 msgstr ""
 
-#: library/os.rst:3476
+#: library/os.rst:3477
 #, fuzzy
 msgid ""
 "Set the extended filesystem attribute *attribute* on *path* to *value*. "
@@ -4960,7 +4963,7 @@ msgstr ""
 "donné et que l'attribut existe déjà, l'attribut ne sera pas créé et "
 "``ENODATA`` sera levée."
 
-#: library/os.rst:3490
+#: library/os.rst:3491
 msgid ""
 "A bug in Linux kernel versions less than 2.6.39 caused the flags argument to "
 "be ignored on some filesystems."
@@ -4968,13 +4971,13 @@ msgstr ""
 "Un bogue des versions inférieures à 2.6.39 du noyau Linux faisait que les "
 "marqueurs de *flags*  étaient ignorés sur certains systèmes."
 
-#: library/os.rst:3493
+#: library/os.rst:3494
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.setxattr`` with arguments "
 "``path``, ``attribute``, ``value``, ``flags``."
 msgstr ""
 
-#: library/os.rst:3501
+#: library/os.rst:3502
 msgid ""
 "The maximum size the value of an extended attribute can be. Currently, this "
 "is 64 KiB on Linux."
@@ -4982,7 +4985,7 @@ msgstr ""
 "La taille maximum que peut faire la valeur d'un attribut étendu. "
 "Actuellement, c'est 64 KiB sur Lniux."
 
-#: library/os.rst:3507
+#: library/os.rst:3508
 msgid ""
 "This is a possible value for the flags argument in :func:`setxattr`. It "
 "indicates the operation must create an attribute."
@@ -4990,7 +4993,7 @@ msgstr ""
 "C'est une valeur possible pour l'argument *flags* de :func:`setxattr`. Elle "
 "indique que l'opération doit créer un attribut."
 
-#: library/os.rst:3513
+#: library/os.rst:3514
 msgid ""
 "This is a possible value for the flags argument in :func:`setxattr`. It "
 "indicates the operation must replace an existing attribute."
@@ -4998,16 +5001,16 @@ msgstr ""
 "C'est une valeur possible pour l'argument *flags* de :func:`setxattr`.Elle "
 "indique que l'opération doit remplacer un attribut existant."
 
-#: library/os.rst:3520
+#: library/os.rst:3521
 msgid "Process Management"
 msgstr "Gestion des processus"
 
-#: library/os.rst:3522
+#: library/os.rst:3523
 msgid "These functions may be used to create and manage processes."
 msgstr ""
 "Ces fonctions peuvent être utilisées pour créer et gérer des processus."
 
-#: library/os.rst:3524
+#: library/os.rst:3525
 msgid ""
 "The various :func:`exec\\* <execl>` functions take a list of arguments for "
 "the new program loaded into the process.  In each case, the first of these "
@@ -5026,7 +5029,7 @@ msgstr ""
 "exemple, ``os.execv('/bin/echo/', ['foo', 'bar'])`` affichera uniquement "
 "``bar`` sur la sortie standard ; ``foo`` semblera être ignoré."
 
-#: library/os.rst:3535
+#: library/os.rst:3536
 msgid ""
 "Generate a :const:`SIGABRT` signal to the current process.  On Unix, the "
 "default behavior is to produce a core dump; on Windows, the process "
@@ -5040,37 +5043,37 @@ msgstr ""
 "Attention : appeler cette fonction n'appellera pas le gestionnaire de signal "
 "Python enregistré par :const:`SIGABRT` à l'aide de :func:`signal.signal`."
 
-#: library/os.rst:3544
+#: library/os.rst:3545
 msgid "Add a path to the DLL search path."
 msgstr ""
 
-#: library/os.rst:3546
+#: library/os.rst:3547
 msgid ""
 "This search path is used when resolving dependencies for imported extension "
 "modules (the module itself is resolved through sys.path), and also by :mod:"
 "`ctypes`."
 msgstr ""
 
-#: library/os.rst:3550
+#: library/os.rst:3551
 msgid ""
 "Remove the directory by calling **close()** on the returned object or using "
 "it in a :keyword:`with` statement."
 msgstr ""
 
-#: library/os.rst:3553
+#: library/os.rst:3554
 msgid ""
 "See the `Microsoft documentation <https://msdn.microsoft."
 "com/44228cf2-6306-466c-8f16-f513cd3ba8b5>`_ for more information about how "
 "DLLs are loaded."
 msgstr ""
 
-#: library/os.rst:3557
+#: library/os.rst:3558
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.add_dll_directory`` with "
 "argument ``path``."
 msgstr ""
 
-#: library/os.rst:3561
+#: library/os.rst:3562
 msgid ""
 "Previous versions of CPython would resolve DLLs using the default behavior "
 "for the current process. This led to inconsistencies, such as only sometimes "
@@ -5078,14 +5081,14 @@ msgid ""
 "such as ``AddDllDirectory`` having no effect."
 msgstr ""
 
-#: library/os.rst:3568
+#: library/os.rst:3569
 msgid ""
 "In 3.8, the two primary ways DLLs are loaded now explicitly override the "
 "process-wide behavior to ensure consistency. See the :ref:`porting notes "
 "<bpo-36085-whatsnew>` for information on updating libraries."
 msgstr ""
 
-#: library/os.rst:3583
+#: library/os.rst:3584
 msgid ""
 "These functions all execute a new program, replacing the current process; "
 "they do not return.  On Unix, the new executable is loaded into the current "
@@ -5097,7 +5100,7 @@ msgstr ""
 "dans le processus actuel, et aura le même identifiant de processus (PID) que "
 "l'appelant. Les erreurs seront reportées par des exceptions :exc:`OSError`."
 
-#: library/os.rst:3588
+#: library/os.rst:3589
 msgid ""
 "The current process is replaced immediately. Open file objects and "
 "descriptors are not flushed, so if there may be data buffered on these open "
@@ -5110,7 +5113,7 @@ msgstr ""
 "manuellement en utilisant :func:`sys.stdout.flush` ou :func:`os.fsync` avant "
 "d'appeler une fonction :func:`exec\\* <execl>`."
 
-#: library/os.rst:3594
+#: library/os.rst:3595
 msgid ""
 "The \"l\" and \"v\" variants of the :func:`exec\\* <execl>` functions differ "
 "in how command-line arguments are passed.  The \"l\" variants are perhaps "
@@ -5133,7 +5136,7 @@ msgstr ""
 "devraient commencer avec le nom de la commande à lancer, mais ce n'est pas "
 "obligatoire."
 
-#: library/os.rst:3603
+#: library/os.rst:3604
 msgid ""
 "The variants which include a \"p\" near the end (:func:`execlp`, :func:"
 "`execlpe`, :func:`execvp`, and :func:`execvpe`) will use the :envvar:`PATH` "
@@ -5156,7 +5159,7 @@ msgstr ""
 "localiser l'exécutable. *path* doit contenir un chemin absolue ou relatif "
 "approprié."
 
-#: library/os.rst:3613
+#: library/os.rst:3614
 msgid ""
 "For :func:`execle`, :func:`execlpe`, :func:`execve`, and :func:`execvpe` "
 "(note that these all end in \"e\"), the *env* parameter must be a mapping "
@@ -5173,7 +5176,7 @@ msgstr ""
 "`execlp`, :func:`execv`, et :func:`execvp` causent toutes un héritage de "
 "l'environnement du processus actuel par le processus fils."
 
-#: library/os.rst:3620
+#: library/os.rst:3621
 msgid ""
 "For :func:`execve` on some platforms, *path* may also be specified as an "
 "open file descriptor.  This functionality may not be supported on your "
@@ -5187,13 +5190,13 @@ msgstr ""
 "disponible en utilisant :data:`os._supports_fd`. Si c'est indisponible, "
 "l'utiliser lèvera une :exc:`NotImplementedError`."
 
-#: library/os.rst:3625
+#: library/os.rst:3626
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.exec`` with arguments "
 "``path``, ``args``, ``env``."
 msgstr ""
 
-#: library/os.rst:3629
+#: library/os.rst:3630
 #, fuzzy
 msgid ""
 "Added support for specifying *path* as an open file descriptor for :func:"
@@ -5202,7 +5205,7 @@ msgstr ""
 "Prise en charge de la spécification d'un descripteur de fichier ouvert pour "
 "*path* pour :func:`execve`."
 
-#: library/os.rst:3638
+#: library/os.rst:3639
 msgid ""
 "Exit the process with status *n*, without calling cleanup handlers, flushing "
 "stdio buffers, etc."
@@ -5210,7 +5213,7 @@ msgstr ""
 "Quitte le processus avec le statut *n*, sans appeler les gestionnaires de "
 "nettoyage, sans purger les tampons des fichiers, etc."
 
-#: library/os.rst:3643
+#: library/os.rst:3644
 msgid ""
 "The standard way to exit is ``sys.exit(n)``.  :func:`_exit` should normally "
 "only be used in the child process after a :func:`fork`."
@@ -5219,7 +5222,7 @@ msgstr ""
 "normalement être utilisé uniquement par le processus fils après un :func:"
 "`fork`."
 
-#: library/os.rst:3646
+#: library/os.rst:3647
 msgid ""
 "The following exit codes are defined and can be used with :func:`_exit`, "
 "although they are not required.  These are typically used for system "
@@ -5231,7 +5234,7 @@ msgstr ""
 "utilisés pour les programmes systèmes écrits en Python, comme un programme "
 "de gestion de l'exécution des commandes d'un serveur de mails."
 
-#: library/os.rst:3652
+#: library/os.rst:3653
 msgid ""
 "Some of these may not be available on all Unix platforms, since there is "
 "some variation.  These constants are defined where they are defined by the "
@@ -5241,11 +5244,11 @@ msgstr ""
 "plate-formes Unix étant donné qu'il en existe des variations. Ces constantes "
 "sont définies là où elles sont définies par la plate-forme sous-jacente."
 
-#: library/os.rst:3659
+#: library/os.rst:3660
 msgid "Exit code that means no error occurred."
 msgstr "Code de sortie signifiant qu'aucune erreur n'est arrivée."
 
-#: library/os.rst:3666
+#: library/os.rst:3667
 msgid ""
 "Exit code that means the command was used incorrectly, such as when the "
 "wrong number of arguments are given."
@@ -5253,36 +5256,36 @@ msgstr ""
 "Code de sortie signifiant que les commandes n'ont pas été utilisées "
 "correctement, comme quand le mauvais nombre d'arguments a été donné."
 
-#: library/os.rst:3674
+#: library/os.rst:3675
 msgid "Exit code that means the input data was incorrect."
 msgstr ""
 "Code de sortie signifiant que les données en entrées étaient incorrectes."
 
-#: library/os.rst:3681
+#: library/os.rst:3682
 msgid "Exit code that means an input file did not exist or was not readable."
 msgstr ""
 "Code de sortie signifiant qu'un des fichiers d'entrée n'existe pas ou n'est "
 "pas lisible."
 
-#: library/os.rst:3688
+#: library/os.rst:3689
 msgid "Exit code that means a specified user did not exist."
 msgstr "Code de sortie signifiant qu'un utilisateur spécifié n'existe pas."
 
-#: library/os.rst:3695
+#: library/os.rst:3696
 msgid "Exit code that means a specified host did not exist."
 msgstr "Code de sortie signifiant qu'un hôte spécifié n'existe pas."
 
-#: library/os.rst:3702
+#: library/os.rst:3703
 msgid "Exit code that means that a required service is unavailable."
 msgstr "Code de sortie signifiant qu'un service requis n'est pas disponible."
 
-#: library/os.rst:3709
+#: library/os.rst:3710
 msgid "Exit code that means an internal software error was detected."
 msgstr ""
 "Code de sortie signifiant qu'une erreur interne d'un programme a été "
 "détectée."
 
-#: library/os.rst:3716
+#: library/os.rst:3717
 msgid ""
 "Exit code that means an operating system error was detected, such as the "
 "inability to fork or create a pipe."
@@ -5291,7 +5294,7 @@ msgstr ""
 "détectée, comme l'incapacité à réaliser un *fork* ou à créer un tuyau "
 "(*pipe*)."
 
-#: library/os.rst:3724
+#: library/os.rst:3725
 msgid ""
 "Exit code that means some system file did not exist, could not be opened, or "
 "had some other kind of error."
@@ -5299,20 +5302,20 @@ msgstr ""
 "Code de sortie signifiant qu'un fichier n'existe pas, n'a pas pu être "
 "ouvert, ou avait une autre erreur."
 
-#: library/os.rst:3732
+#: library/os.rst:3733
 msgid "Exit code that means a user specified output file could not be created."
 msgstr ""
 "Code de sortie signifiant qu'un fichier spécifié par l'utilisateur n'a pas "
 "pu être créé."
 
-#: library/os.rst:3739
+#: library/os.rst:3740
 msgid ""
 "Exit code that means that an error occurred while doing I/O on some file."
 msgstr ""
 "Code de sortie signifiant qu'une erreur est apparue pendant une E/S sur un "
 "fichier."
 
-#: library/os.rst:3746
+#: library/os.rst:3747
 msgid ""
 "Exit code that means a temporary failure occurred.  This indicates something "
 "that may not really be an error, such as a network connection that couldn't "
@@ -5322,7 +5325,7 @@ msgstr ""
 "quelque chose qui pourrait ne pas être une erreur, comme une connexion au "
 "réseau qui n'a pas pu être établie pendant une opération réessayable."
 
-#: library/os.rst:3755
+#: library/os.rst:3756
 msgid ""
 "Exit code that means that a protocol exchange was illegal, invalid, or not "
 "understood."
@@ -5330,7 +5333,7 @@ msgstr ""
 "Code de sortie signifiant qu'un protocole d'échange est illégal, invalide, "
 "ou non-compris."
 
-#: library/os.rst:3763
+#: library/os.rst:3764
 msgid ""
 "Exit code that means that there were insufficient permissions to perform the "
 "operation (but not intended for file system problems)."
@@ -5338,17 +5341,17 @@ msgstr ""
 "Code de sortie signifiant qu'il manque certaines permissions pour réaliser "
 "une opération (mais n'est pas destiné au problèmes de système de fichiers)."
 
-#: library/os.rst:3771
+#: library/os.rst:3772
 msgid "Exit code that means that some kind of configuration error occurred."
 msgstr "Code de sortie signifiant qu'une erreur de configuration est apparue."
 
-#: library/os.rst:3778
+#: library/os.rst:3779
 msgid "Exit code that means something like \"an entry was not found\"."
 msgstr ""
 "Code de sortie signifiant quelque chose comme « une entrée n'a pas été "
 "trouvée »."
 
-#: library/os.rst:3785
+#: library/os.rst:3786
 msgid ""
 "Fork a child process.  Return ``0`` in the child and the child's process id "
 "in the parent.  If an error occurs :exc:`OSError` is raised."
@@ -5357,7 +5360,7 @@ msgstr ""
 "processus fils dans le processus père. Si une erreur apparaît, une :exc:"
 "`OSError` est levée."
 
-#: library/os.rst:3788
+#: library/os.rst:3789
 #, fuzzy
 msgid ""
 "Note that some platforms including FreeBSD <= 6.3 and Cygwin have known "
@@ -5366,24 +5369,24 @@ msgstr ""
 "Notez que certaines plate-formes (dont FreeBSD <= 6.3 et Cygwin) ont des "
 "problèmes connus lors d'utilisation de *fork()* depuis un fil d'exécution."
 
-#: library/os.rst:3791
+#: library/os.rst:3792
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.fork`` with no arguments."
 msgstr ""
 
-#: library/os.rst:3793
+#: library/os.rst:3794
 msgid ""
 "Calling ``fork()`` in a subinterpreter is no longer supported (:exc:"
 "`RuntimeError` is raised)."
 msgstr ""
 
-#: library/os.rst:3799
+#: library/os.rst:3800
 msgid "See :mod:`ssl` for applications that use the SSL module with fork()."
 msgstr ""
 "Voit :mod:`ssl` pour les application qui utilisent le module SSL avec "
 "*fork()*."
 
-#: library/os.rst:3806
+#: library/os.rst:3807
 msgid ""
 "Fork a child process, using a new pseudo-terminal as the child's controlling "
 "terminal. Return a pair of ``(pid, fd)``, where *pid* is ``0`` in the child, "
@@ -5398,18 +5401,18 @@ msgstr ""
 "approche plus portable, utilisez le module :mod:`pty`. Si une erreur "
 "apparaît, une :exc:`OSError` est levée."
 
-#: library/os.rst:3812
+#: library/os.rst:3813
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.forkpty`` with no arguments."
 msgstr ""
 
-#: library/os.rst:3814
+#: library/os.rst:3815
 msgid ""
 "Calling ``forkpty()`` in a subinterpreter is no longer supported (:exc:"
 "`RuntimeError` is raised)."
 msgstr ""
 
-#: library/os.rst:3827
+#: library/os.rst:3828
 msgid ""
 "Send signal *sig* to the process *pid*.  Constants for the specific signals "
 "available on the host platform are defined in the :mod:`signal` module."
@@ -5417,7 +5420,7 @@ msgstr ""
 "Envoie le signal *sig* au processus *pid*. Les constantes pour les signaux "
 "spécifiques à la plate-forme hôte sont définies dans le module :mod:`signal`."
 
-#: library/os.rst:3830
+#: library/os.rst:3831
 msgid ""
 "Windows: The :data:`signal.CTRL_C_EVENT` and :data:`signal.CTRL_BREAK_EVENT` "
 "signals are special signals which can only be sent to console processes "
@@ -5434,37 +5437,37 @@ msgstr ""
 "sera mis à *sig*. La version Windows de :func:`kill` prend en plus les "
 "identificateurs de processus à tuer."
 
-#: library/os.rst:3838
+#: library/os.rst:3839
 msgid "See also :func:`signal.pthread_kill`."
 msgstr "Voir également :func:`signal.pthread_kill`."
 
-#: library/os.rst:3840
+#: library/os.rst:3841
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.kill`` with arguments "
 "``pid``, ``sig``."
 msgstr ""
 
-#: library/os.rst:3842
+#: library/os.rst:3843
 msgid "Windows support."
 msgstr "Prise en charge de Windows."
 
-#: library/os.rst:3852
+#: library/os.rst:3853
 msgid "Send the signal *sig* to the process group *pgid*."
 msgstr "Envoie le signal *sig* au groupe de processus *pgid*."
 
-#: library/os.rst:3854
+#: library/os.rst:3855
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.killpg`` with arguments "
 "``pgid``, ``sig``."
 msgstr ""
 
-#: library/os.rst:3861
+#: library/os.rst:3862
 msgid ""
 "Add *increment* to the process's \"niceness\".  Return the new niceness."
 msgstr ""
 "Ajoute *increment*  à la priorité du processus. Renvoie la nouvelle priorité."
 
-#: library/os.rst:3868
+#: library/os.rst:3869
 msgid ""
 "Return a file descriptor referring to the process *pid*.  This descriptor "
 "can be used to perform process management without races and signals.  The "
@@ -5472,16 +5475,16 @@ msgid ""
 "currently defined."
 msgstr ""
 
-#: library/os.rst:3873
+#: library/os.rst:3874
 msgid "See the :manpage:`pidfd_open(2)` man page for more details."
 msgstr ""
 
-#: library/os.rst:3875
+#: library/os.rst:3876
 #, fuzzy
 msgid ":ref:`Availability <availability>`: Linux 5.3+"
 msgstr ":ref:`Disponibilité <availability>` : Unix."
 
-#: library/os.rst:3881
+#: library/os.rst:3882
 msgid ""
 "Lock program segments into memory.  The value of *op* (defined in ``<sys/"
 "lock.h>``) determines which segments are locked."
@@ -5489,7 +5492,7 @@ msgstr ""
 "Verrouille les segments du programme en mémoire. La valeur de *op* (définie "
 "dans ``<sys/lock.h>``) détermine quels segments sont verrouillés."
 
-#: library/os.rst:3889
+#: library/os.rst:3890
 msgid ""
 "Open a pipe to or from command *cmd*. The return value is an open file "
 "object connected to the pipe, which can be read or written depending on "
@@ -5505,7 +5508,7 @@ msgstr ""
 "`open`. L'objet fichier renvoyé écrit (ou lit) des chaînes de caractères et "
 "non de bytes."
 
-#: library/os.rst:3896
+#: library/os.rst:3897
 msgid ""
 "The ``close`` method returns :const:`None` if the subprocess exited "
 "successfully, or the subprocess's return code if there was an error. On "
@@ -5526,14 +5529,14 @@ msgstr ""
 "été tué). Sur les systèmes Windows, la valeur de retour contient le code de "
 "retour du processus fils dans un entier signé ."
 
-#: library/os.rst:3906
+#: library/os.rst:3907
 msgid ""
 "On Unix, :func:`waitstatus_to_exitcode` can be used to convert the ``close`` "
 "method result (exit status) into an exit code if it is not ``None``. On "
 "Windows, the ``close`` method result is directly the exit code (or ``None``)."
 msgstr ""
 
-#: library/os.rst:3911
+#: library/os.rst:3912
 msgid ""
 "This is implemented using :class:`subprocess.Popen`; see that class's "
 "documentation for more powerful ways to manage and communicate with "
@@ -5543,29 +5546,29 @@ msgstr ""
 "documentation de cette classe pour des méthodes plus puissantes pour gérer "
 "et communiquer avec des sous-processus."
 
-#: library/os.rst:3920
+#: library/os.rst:3921
 msgid "Wraps the :c:func:`posix_spawn` C library API for use from Python."
 msgstr ""
 
-#: library/os.rst:3922
+#: library/os.rst:3923
 msgid ""
 "Most users should use :func:`subprocess.run` instead of :func:`posix_spawn`."
 msgstr ""
 
-#: library/os.rst:3924
+#: library/os.rst:3925
 msgid ""
 "The positional-only arguments *path*, *args*, and *env* are similar to :func:"
 "`execve`."
 msgstr ""
 
-#: library/os.rst:3927
+#: library/os.rst:3928
 msgid ""
 "The *path* parameter is the path to the executable file.  The *path* should "
 "contain a directory.  Use :func:`posix_spawnp` to pass an executable file "
 "without directory."
 msgstr ""
 
-#: library/os.rst:3931
+#: library/os.rst:3932
 msgid ""
 "The *file_actions* argument may be a sequence of tuples describing actions "
 "to take on specific file descriptors in the child process between the C "
@@ -5574,31 +5577,31 @@ msgid ""
 "describing the remaining tuple elements:"
 msgstr ""
 
-#: library/os.rst:3939
+#: library/os.rst:3940
 msgid "(``os.POSIX_SPAWN_OPEN``, *fd*, *path*, *flags*, *mode*)"
 msgstr ""
 
-#: library/os.rst:3941
+#: library/os.rst:3942
 msgid "Performs ``os.dup2(os.open(path, flags, mode), fd)``."
 msgstr ""
 
-#: library/os.rst:3945
+#: library/os.rst:3946
 msgid "(``os.POSIX_SPAWN_CLOSE``, *fd*)"
 msgstr ""
 
-#: library/os.rst:3947
+#: library/os.rst:3948
 msgid "Performs ``os.close(fd)``."
 msgstr ""
 
-#: library/os.rst:3951
+#: library/os.rst:3952
 msgid "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)"
 msgstr ""
 
-#: library/os.rst:3953
+#: library/os.rst:3954
 msgid "Performs ``os.dup2(fd, new_fd)``."
 msgstr ""
 
-#: library/os.rst:3955
+#: library/os.rst:3956
 msgid ""
 "These tuples correspond to the C library :c:func:"
 "`posix_spawn_file_actions_addopen`, :c:func:"
@@ -5607,7 +5610,7 @@ msgid ""
 "`posix_spawn` call itself."
 msgstr ""
 
-#: library/os.rst:3961
+#: library/os.rst:3962
 msgid ""
 "The *setpgroup* argument will set the process group of the child to the "
 "value specified. If the value specified is 0, the child's process group ID "
@@ -5616,7 +5619,7 @@ msgid ""
 "corresponds to the C library :c:data:`POSIX_SPAWN_SETPGROUP` flag."
 msgstr ""
 
-#: library/os.rst:3967
+#: library/os.rst:3968
 msgid ""
 "If the *resetids* argument is ``True`` it will reset the effective UID and "
 "GID of the child to the real UID and GID of the parent process. If the "
@@ -5627,7 +5630,7 @@ msgid ""
 "library :c:data:`POSIX_SPAWN_RESETIDS` flag."
 msgstr ""
 
-#: library/os.rst:3975
+#: library/os.rst:3976
 msgid ""
 "If the *setsid* argument is ``True``, it will create a new session ID for "
 "`posix_spawn`. *setsid* requires :c:data:`POSIX_SPAWN_SETSID` or :c:data:"
@@ -5635,7 +5638,7 @@ msgid ""
 "raised."
 msgstr ""
 
-#: library/os.rst:3980
+#: library/os.rst:3981
 msgid ""
 "The *setsigmask* argument will set the signal mask to the signal set "
 "specified. If the parameter is not used, then the child inherits the "
@@ -5643,14 +5646,14 @@ msgid ""
 "`POSIX_SPAWN_SETSIGMASK` flag."
 msgstr ""
 
-#: library/os.rst:3985
+#: library/os.rst:3986
 msgid ""
 "The *sigdef* argument will reset the disposition of all signals in the set "
 "specified. This argument corresponds to the C library :c:data:"
 "`POSIX_SPAWN_SETSIGDEF` flag."
 msgstr ""
 
-#: library/os.rst:3989
+#: library/os.rst:3990
 msgid ""
 "The *scheduler* argument must be a tuple containing the (optional) scheduler "
 "policy and an instance of :class:`sched_param` with the scheduler "
@@ -5660,30 +5663,30 @@ msgid ""
 "`POSIX_SPAWN_SETSCHEDULER` flags."
 msgstr ""
 
-#: library/os.rst:4012
+#: library/os.rst:4013
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.posix_spawn`` with arguments "
 "``path``, ``argv``, ``env``."
 msgstr ""
 
-#: library/os.rst:4006
+#: library/os.rst:4007
 msgid "Wraps the :c:func:`posix_spawnp` C library API for use from Python."
 msgstr ""
 
-#: library/os.rst:4008
+#: library/os.rst:4009
 msgid ""
 "Similar to :func:`posix_spawn` except that the system searches for the "
 "*executable* file in the list of directories specified by the :envvar:`PATH` "
 "environment variable (in the same way as for ``execvp(3)``)."
 msgstr ""
 
-#: library/os.rst:4016
+#: library/os.rst:4017
 #, fuzzy
 msgid ""
 ":ref:`Availability <availability>`: See :func:`posix_spawn` documentation."
 msgstr ":ref:`Disponibilité <availability>` : dérivés récents de Unix."
 
-#: library/os.rst:4022
+#: library/os.rst:4023
 msgid ""
 "Register callables to be executed when a new child process is forked using :"
 "func:`os.fork` or similar process cloning APIs. The parameters are optional "
@@ -5694,12 +5697,12 @@ msgstr ""
 "clonage de processus. Les paramètres sont optionnels et par mots-clé "
 "uniquement. Chacun spécifie un point d'appel différent."
 
-#: library/os.rst:4027
+#: library/os.rst:4028
 msgid "*before* is a function called before forking a child process."
 msgstr ""
 "*before* est une fonction appelée avant de *forker* un processus enfant."
 
-#: library/os.rst:4028
+#: library/os.rst:4029
 msgid ""
 "*after_in_parent* is a function called from the parent process after forking "
 "a child process."
@@ -5707,11 +5710,11 @@ msgstr ""
 "*after_in_parent* est une fonction appelée depuis le processus parent après "
 "avoir *forké* un processus enfant."
 
-#: library/os.rst:4030
+#: library/os.rst:4031
 msgid "*after_in_child* is a function called from the child process."
 msgstr "*after_in_child* est une fonction appelée depuis le processus enfant."
 
-#: library/os.rst:4032
+#: library/os.rst:4033
 msgid ""
 "These calls are only made if control is expected to return to the Python "
 "interpreter.  A typical :mod:`subprocess` launch will not trigger them as "
@@ -5721,7 +5724,7 @@ msgstr ""
 "l'interpréteur Python. Un lancement de :mod:`subprocess` typique ne les "
 "déclenchera pas, car l'enfant ne ré-entre pas dans l'interpréteur."
 
-#: library/os.rst:4036
+#: library/os.rst:4037
 msgid ""
 "Functions registered for execution before forking are called in reverse "
 "registration order.  Functions registered for execution after forking "
@@ -5732,7 +5735,7 @@ msgstr ""
 "l'exécution après le *fork* (soit dans le parent ou dans l'enfant) sont "
 "appelées dans l'ordre de leur enregistrement."
 
-#: library/os.rst:4041
+#: library/os.rst:4042
 msgid ""
 "Note that :c:func:`fork` calls made by third-party C code may not call those "
 "functions, unless it explicitly calls :c:func:`PyOS_BeforeFork`, :c:func:"
@@ -5743,15 +5746,15 @@ msgstr ""
 "explicitement :c:func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` et :"
 "c:func:`PyOS_AfterFork_Child`."
 
-#: library/os.rst:4045
+#: library/os.rst:4046
 msgid "There is no way to unregister a function."
 msgstr "Il n'y a aucun moyen d'annuler l'enregistrement d'une fonction."
 
-#: library/os.rst:4061
+#: library/os.rst:4062
 msgid "Execute the program *path* in a new process."
 msgstr "Exécute le programme *path* dans un nouveau processus."
 
-#: library/os.rst:4063
+#: library/os.rst:4064
 msgid ""
 "(Note that the :mod:`subprocess` module provides more powerful facilities "
 "for spawning new processes and retrieving their results; using that module "
@@ -5763,7 +5766,7 @@ msgstr ""
 "est préférable d'utiliser ce module que ces fonctions. Voyez surtout la "
 "section :ref:`subprocess-replacements`.)"
 
-#: library/os.rst:4068
+#: library/os.rst:4069
 msgid ""
 "If *mode* is :const:`P_NOWAIT`, this function returns the process id of the "
 "new process; if *mode* is :const:`P_WAIT`, returns the process's exit code "
@@ -5778,13 +5781,13 @@ msgstr ""
 "en fait l'identificateur du processus (*process handle*) et peut donc être "
 "utilisé avec la fonction :func:`waitpid`."
 
-#: library/os.rst:4074
+#: library/os.rst:4075
 msgid ""
 "Note on VxWorks, this function doesn't return ``-signal`` when the new "
 "process is killed. Instead it raises OSError exception."
 msgstr ""
 
-#: library/os.rst:4077
+#: library/os.rst:4078
 msgid ""
 "The \"l\" and \"v\" variants of the :func:`spawn\\* <spawnl>` functions "
 "differ in how command-line arguments are passed.  The \"l\" variants are "
@@ -5806,7 +5809,7 @@ msgstr ""
 "fils devraient commencer avec le nom de la commande à lancer, mais ce n'est "
 "pas obligatoire."
 
-#: library/os.rst:4086
+#: library/os.rst:4087
 msgid ""
 "The variants which include a second \"p\" near the end (:func:`spawnlp`, :"
 "func:`spawnlpe`, :func:`spawnvp`, and :func:`spawnvpe`) will use the :envvar:"
@@ -5829,7 +5832,7 @@ msgstr ""
 "envvar:`PATH` pour localiser l'exécutable. *path* doit contenir un chemin "
 "absolue ou relatif approprié."
 
-#: library/os.rst:4096
+#: library/os.rst:4097
 msgid ""
 "For :func:`spawnle`, :func:`spawnlpe`, :func:`spawnve`, and :func:`spawnvpe` "
 "(note that these all end in \"e\"), the *env* parameter must be a mapping "
@@ -5851,7 +5854,7 @@ msgstr ""
 "caractères. Des valeurs invalides pour les clefs ou les valeurs met la "
 "fonction en échec et renvoie ``127``."
 
-#: library/os.rst:4105
+#: library/os.rst:4106
 msgid ""
 "As an example, the following calls to :func:`spawnlp` and :func:`spawnvpe` "
 "are equivalent::"
@@ -5859,13 +5862,13 @@ msgstr ""
 "Par exemple, les appels suivants à :func:`spawnlp` et :func:`spawnvpe` sont "
 "équivalents ::"
 
-#: library/os.rst:4114
+#: library/os.rst:4115
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.spawn`` with arguments "
 "``mode``, ``path``, ``args``, ``env``."
 msgstr ""
 
-#: library/os.rst:4120
+#: library/os.rst:4121
 msgid ""
 ":ref:`Availability <availability>`: Unix, Windows.  :func:`spawnlp`, :func:"
 "`spawnlpe`, :func:`spawnvp` and :func:`spawnvpe` are not available on "
@@ -5878,7 +5881,7 @@ msgstr ""
 "appels concurrents (*thread-safe*) sur Windows, il est conseillé d'utiliser "
 "le module :mod:`subprocess` à la place."
 
-#: library/os.rst:4128
+#: library/os.rst:4129
 msgid ""
 "Possible values for the *mode* parameter to the :func:`spawn\\* <spawnl>` "
 "family of functions.  If either of these values is given, the :func:`spawn"
@@ -5890,7 +5893,7 @@ msgstr ""
 "`spawn\\*` sortiront dès que le nouveau processus est créé, avec le PID du "
 "processus comme valeur de retour."
 
-#: library/os.rst:4138
+#: library/os.rst:4139
 msgid ""
 "Possible value for the *mode* parameter to the :func:`spawn\\* <spawnl>` "
 "family of functions.  If this is given as *mode*, the :func:`spawn\\*` "
@@ -5905,7 +5908,7 @@ msgstr ""
 "l'exécution est effectuée avec succès, ou ``-signal`` si un signal tue le "
 "processus."
 
-#: library/os.rst:4150
+#: library/os.rst:4151
 msgid ""
 "Possible values for the *mode* parameter to the :func:`spawn\\* <spawnl>` "
 "family of functions.  These are less portable than those listed above. :"
@@ -5921,11 +5924,11 @@ msgstr ""
 "`P_OVERLAY` est utilisé, le processus actuel sera remplacé. La fonction :"
 "func:`spawn\\* <spawnl>` ne sort jamais."
 
-#: library/os.rst:4161
+#: library/os.rst:4162
 msgid "Start a file with its associated application."
 msgstr "Lance un fichier avec son application associée."
 
-#: library/os.rst:4163
+#: library/os.rst:4164
 msgid ""
 "When *operation* is not specified or ``'open'``, this acts like double-"
 "clicking the file in Windows Explorer, or giving the file name as an "
@@ -5939,7 +5942,7 @@ msgstr ""
 "commande interactif : le fichier est ouvert avec l'application associée à "
 "l'extension (s'il y en a une)."
 
-#: library/os.rst:4168
+#: library/os.rst:4169
 msgid ""
 "When another *operation* is given, it must be a \"command verb\" that "
 "specifies what should be done with the file. Common verbs documented by "
@@ -5952,28 +5955,28 @@ msgstr ""
 "utilisés sur des fichiers) ainsi que ``'explore'`` et ``'find'`` (qui "
 "doivent être utilisés sur des répertoires)."
 
-#: library/os.rst:4173
+#: library/os.rst:4174
 msgid ""
 "When launching an application, specify *arguments* to be passed as a single "
 "string. This argument may have no effect when using this function to launch "
 "a document."
 msgstr ""
 
-#: library/os.rst:4177
+#: library/os.rst:4178
 msgid ""
 "The default working directory is inherited, but may be overridden by the "
 "*cwd* argument. This should be an absolute path. A relative *path* will be "
 "resolved against this argument."
 msgstr ""
 
-#: library/os.rst:4181
+#: library/os.rst:4182
 msgid ""
 "Use *show_cmd* to override the default window style. Whether this has any "
 "effect will depend on the application being launched. Values are integers as "
 "supported by the Win32 :c:func:`ShellExecute` function."
 msgstr ""
 
-#: library/os.rst:4185
+#: library/os.rst:4186
 #, fuzzy
 msgid ""
 ":func:`startfile` returns as soon as the associated application is launched. "
@@ -5993,7 +5996,7 @@ msgstr ""
 "Utilisez la fonction :func:`os.path.normpath` pour vous assurer que le "
 "chemin est encodé correctement pour Win32."
 
-#: library/os.rst:4193
+#: library/os.rst:4194
 msgid ""
 "To reduce interpreter startup overhead, the Win32 :c:func:`ShellExecute` "
 "function is not resolved until this function is first called.  If the "
@@ -6004,25 +6007,25 @@ msgstr ""
 "fonction na pas été appelée. Si la fonction ne peut être interprétée, une :"
 "exc:`NotImplementedError` est levée."
 
-#: library/os.rst:4197
+#: library/os.rst:4198
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.startfile`` with arguments "
 "``path``, ``operation``."
 msgstr ""
 
-#: library/os.rst:4199
+#: library/os.rst:4200
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.startfile/2`` with arguments "
 "``path``, ``operation``, ``arguments``, ``cwd``, ``show_cmd``."
 msgstr ""
 
-#: library/os.rst:4203
+#: library/os.rst:4204
 msgid ""
 "Added the *arguments*, *cwd* and *show_cmd* arguments, and the ``os."
 "startfile/2`` audit event."
 msgstr ""
 
-#: library/os.rst:4210
+#: library/os.rst:4211
 #, fuzzy
 msgid ""
 "Execute the command (a string) in a subshell.  This is implemented by "
@@ -6040,13 +6043,13 @@ msgstr ""
 "*command* génère une sortie, elle sera envoyée à l'interpréteur standard de  "
 "flux."
 
-#: library/os.rst:4218
+#: library/os.rst:4219
 msgid ""
 "On Unix, the return value is the exit status of the process encoded in the "
 "format specified for :func:`wait`."
 msgstr ""
 
-#: library/os.rst:4221
+#: library/os.rst:4222
 msgid ""
 "On Windows, the return value is that returned by the system shell after "
 "running *command*.  The shell is given by the Windows environment variable :"
@@ -6061,7 +6064,7 @@ msgstr ""
 "commande lancée. Sur les systèmes qui utilisent un invite de commande non-"
 "natif, consultez la documentation propre à l'invite."
 
-#: library/os.rst:4227
+#: library/os.rst:4228
 msgid ""
 "The :mod:`subprocess` module provides more powerful facilities for spawning "
 "new processes and retrieving their results; using that module is preferable "
@@ -6074,20 +6077,20 @@ msgstr ""
 "ref:`subprocess-replacements` de la documentation du module :mod:"
 "`subprocess` pour des informations plus précises et utiles."
 
-#: library/os.rst:4232
+#: library/os.rst:4233
 msgid ""
 "On Unix, :func:`waitstatus_to_exitcode` can be used to convert the result "
 "(exit status) into an exit code. On Windows, the result is directly the exit "
 "code."
 msgstr ""
 
-#: library/os.rst:4236
+#: library/os.rst:4237
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``os.system`` with argument "
 "``command``."
 msgstr ""
 
-#: library/os.rst:4243
+#: library/os.rst:4244
 msgid ""
 "Returns the current global process times. The return value is an object with "
 "five attributes:"
@@ -6095,27 +6098,27 @@ msgstr ""
 "Renvoie les temps globaux actuels d'exécution du processus. La valeur de "
 "retour est un objet avec cinq attributs :"
 
-#: library/os.rst:4246
+#: library/os.rst:4247
 msgid ":attr:`user` - user time"
 msgstr ":attr:`user` — le temps utilisateur"
 
-#: library/os.rst:4247
+#: library/os.rst:4248
 msgid ":attr:`system` - system time"
 msgstr ":attr:`system` — le temps système"
 
-#: library/os.rst:4248
+#: library/os.rst:4249
 msgid ":attr:`children_user` - user time of all child processes"
 msgstr ":attr:`children_user` — temps utilisateur de tous les processus fils"
 
-#: library/os.rst:4249
+#: library/os.rst:4250
 msgid ":attr:`children_system` - system time of all child processes"
 msgstr ":attr:`children_system` — le temps système de tous les processus fils"
 
-#: library/os.rst:4250
+#: library/os.rst:4251
 msgid ":attr:`elapsed` - elapsed real time since a fixed point in the past"
 msgstr ":attr:`elapsed` — temps écoulé réel depuis un point fixé dans le passé"
 
-#: library/os.rst:4252
+#: library/os.rst:4253
 msgid ""
 "For backwards compatibility, this object also behaves like a five-tuple "
 "containing :attr:`user`, :attr:`system`, :attr:`children_user`, :attr:"
@@ -6125,7 +6128,7 @@ msgstr ""
 "comme un quintuplet contenant :attr:`user`, :attr:`system`, :attr:"
 "`children_user`, :attr:`children_system`, et :attr:`elapsed` dans cet ordre."
 
-#: library/os.rst:4256
+#: library/os.rst:4257
 #, fuzzy
 msgid ""
 "See the Unix manual page :manpage:`times(2)` and :manpage:`times(3)` manual "
@@ -6138,7 +6141,7 @@ msgstr ""
 "Windows correspondante. Sur Windows, seuls :attr:`user` et :attr:`system` "
 "sont connus. Les autres attributs sont nuls."
 
-#: library/os.rst:4270
+#: library/os.rst:4271
 msgid ""
 "Wait for completion of a child process, and return a tuple containing its "
 "pid and exit status indication: a 16-bit number, whose low byte is the "
@@ -6153,19 +6156,19 @@ msgstr ""
 "Le bit de poids fort du *byte* de poids faible est mis à 1 si un (fichier "
 "système) *core file* a été produit."
 
-#: library/os.rst:4381
+#: library/os.rst:4382
 msgid ""
 ":func:`waitstatus_to_exitcode` can be used to convert the exit status into "
 "an exit code."
 msgstr ""
 
-#: library/os.rst:4283
+#: library/os.rst:4284
 msgid ""
 ":func:`waitpid` can be used to wait for the completion of a specific child "
 "process and has more options."
 msgstr ""
 
-#: library/os.rst:4288
+#: library/os.rst:4289
 #, fuzzy
 msgid ""
 "Wait for the completion of one or more child processes. *idtype* can be :"
@@ -6189,7 +6192,7 @@ msgstr ""
 "`si_code` ou ``None`` si :data:`WNOHANG` est spécifié et qu'il n'y a pas "
 "d'enfant dans un état que l'on peut attendre."
 
-#: library/os.rst:4308
+#: library/os.rst:4309
 msgid ""
 "These are the possible values for *idtype* in :func:`waitid`. They affect "
 "how *id* is interpreted."
@@ -6197,18 +6200,18 @@ msgstr ""
 "Les valeurs possibles pour *idtypes* pour la fonction :func:`waitid`. Elles "
 "affectent l'interprétation de *id*."
 
-#: library/os.rst:4317
+#: library/os.rst:4318
 msgid ""
 "This is a Linux-specific *idtype* that indicates that *id* is a file "
 "descriptor that refers to a process."
 msgstr ""
 
-#: library/os.rst:4321
+#: library/os.rst:4322
 #, fuzzy
 msgid ":ref:`Availability <availability>`: Linux 5.4+"
 msgstr ":ref:`Disponibilité <availability>` : Unix."
 
-#: library/os.rst:4328
+#: library/os.rst:4329
 msgid ""
 "Flags that can be used in *options* in :func:`waitid` that specify what "
 "child signal to wait for."
@@ -6216,7 +6219,7 @@ msgstr ""
 "Marqueurs qui peuvent être utilisés pour la fonction :func:`waitid` qui "
 "spécifient quel signal attendre du fils."
 
-#: library/os.rst:4343
+#: library/os.rst:4344
 msgid ""
 "These are the possible values for :attr:`si_code` in the result returned by :"
 "func:`waitid`."
@@ -6224,15 +6227,15 @@ msgstr ""
 "Les valeurs possibles pour :attr:`si_code` dans le résultat renvoyé par :"
 "func:`waitid`."
 
-#: library/os.rst:4350
+#: library/os.rst:4351
 msgid "Added :data:`CLD_KILLED` and :data:`CLD_STOPPED` values."
 msgstr ""
 
-#: library/os.rst:4356
+#: library/os.rst:4357
 msgid "The details of this function differ on Unix and Windows."
 msgstr "Les détails de cette fonction diffèrent sur Unix et Windows."
 
-#: library/os.rst:4358
+#: library/os.rst:4359
 msgid ""
 "On Unix: Wait for completion of a child process given by process id *pid*, "
 "and return a tuple containing its process id and exit status indication "
@@ -6246,7 +6249,7 @@ msgstr ""
 "la valeur de l'argument entier *options*, qui devrait valoir ``0`` pour les "
 "opérations normales."
 
-#: library/os.rst:4363
+#: library/os.rst:4364
 msgid ""
 "If *pid* is greater than ``0``, :func:`waitpid` requests status information "
 "for that specific process.  If *pid* is ``0``, the request is for the status "
@@ -6263,7 +6266,7 @@ msgstr ""
 "``-1``, une requête est faite pour le statut de chaque processus du groupe "
 "de processus donné par ``-pid`` (la valeur absolue de *pid*)."
 
-#: library/os.rst:4370
+#: library/os.rst:4371
 msgid ""
 "An :exc:`OSError` is raised with the value of errno when the syscall returns "
 "-1."
@@ -6271,7 +6274,7 @@ msgstr ""
 "Une :exc:`OSError` est levée avec la valeur de *errno* quand l'appel système "
 "renvoie ``-1``."
 
-#: library/os.rst:4373
+#: library/os.rst:4374
 msgid ""
 "On Windows: Wait for completion of a process given by process handle *pid*, "
 "and return a tuple containing *pid*, and its exit status shifted left by 8 "
@@ -6293,7 +6296,7 @@ msgstr ""
 "appelées avec :const:`P_NOWAIT` renvoient des identificateurs de processus "
 "appropriés."
 
-#: library/os.rst:4392
+#: library/os.rst:4393
 msgid ""
 "Similar to :func:`waitpid`, except no process id argument is given and a 3-"
 "element tuple containing the child's process id, exit status indication, and "
@@ -6309,13 +6312,13 @@ msgstr ""
 "ressources. L'argument *options* est le même que celui fourni à :func:"
 "`waitpid` et :func:`wait4`."
 
-#: library/os.rst:4413
+#: library/os.rst:4414
 msgid ""
 ":func:`waitstatus_to_exitcode` can be used to convert the exit status into "
 "an exitcode."
 msgstr ""
 
-#: library/os.rst:4407
+#: library/os.rst:4408
 msgid ""
 "Similar to :func:`waitpid`, except a 3-element tuple, containing the child's "
 "process id, exit status indication, and resource usage information is "
@@ -6330,22 +6333,22 @@ msgstr ""
 "d'utilisation des ressources. Les arguments de :func:`wait4` sont les mêmes "
 "que ceux fournis à :func:`waitpid`."
 
-#: library/os.rst:4421
+#: library/os.rst:4422
 msgid "Convert a wait status to an exit code."
 msgstr ""
 
-#: library/os.rst:4423
+#: library/os.rst:4424
 msgid "On Unix:"
 msgstr ""
 
-#: library/os.rst:4425
+#: library/os.rst:4426
 msgid ""
 "If the process exited normally (if ``WIFEXITED(status)`` is true), return "
 "the process exit status (return ``WEXITSTATUS(status)``): result greater "
 "than or equal to 0."
 msgstr ""
 
-#: library/os.rst:4428
+#: library/os.rst:4429
 msgid ""
 "If the process was terminated by a signal (if ``WIFSIGNALED(status)`` is "
 "true), return ``-signum`` where *signum* is the number of the signal that "
@@ -6353,15 +6356,15 @@ msgid ""
 "than 0."
 msgstr ""
 
-#: library/os.rst:4432
+#: library/os.rst:4433
 msgid "Otherwise, raise a :exc:`ValueError`."
 msgstr ""
 
-#: library/os.rst:4434
+#: library/os.rst:4435
 msgid "On Windows, return *status* shifted right by 8 bits."
 msgstr ""
 
-#: library/os.rst:4436
+#: library/os.rst:4437
 msgid ""
 "On Unix, if the process is being traced or if :func:`waitpid` was called "
 "with :data:`WUNTRACED` option, the caller must first check if "
@@ -6369,13 +6372,13 @@ msgid ""
 "``WIFSTOPPED(status)`` is true."
 msgstr ""
 
-#: library/os.rst:4443
+#: library/os.rst:4444
 msgid ""
 ":func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:"
 "`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG` functions."
 msgstr ""
 
-#: library/os.rst:4451
+#: library/os.rst:4452
 msgid ""
 "The option for :func:`waitpid` to return immediately if no child process "
 "status is available immediately. The function returns ``(0, 0)`` in this "
@@ -6385,7 +6388,7 @@ msgstr ""
 "processus fils n'est disponible dans l'immédiat. La fonction renvoie ``(0, "
 "0)`` dans ce cas."
 
-#: library/os.rst:4459
+#: library/os.rst:4460
 msgid ""
 "This option causes child processes to be reported if they have been "
 "continued from a job control stop since their status was last reported."
@@ -6394,11 +6397,11 @@ msgstr ""
 "continués après un arrêt du *job control* depuis leurs derniers reports de "
 "statuts."
 
-#: library/os.rst:4462
+#: library/os.rst:4463
 msgid ":ref:`Availability <availability>`: some Unix systems."
 msgstr ":ref:`Disponibilité <availability>` : certains systèmes Unix."
 
-#: library/os.rst:4467
+#: library/os.rst:4468
 msgid ""
 "This option causes child processes to be reported if they have been stopped "
 "but their current state has not been reported since they were stopped."
@@ -6406,7 +6409,7 @@ msgstr ""
 "Cette option cause les processus fils à être reportés s'ils ont été stoppés "
 "mais que leur état actuel n'a pas été reporté depuis qu'ils ont été stoppés."
 
-#: library/os.rst:4473
+#: library/os.rst:4474
 msgid ""
 "The following functions take a process status code as returned by :func:"
 "`system`, :func:`wait`, or :func:`waitpid` as a parameter.  They may be used "
@@ -6416,7 +6419,7 @@ msgstr ""
 "`system`, :func:`wait`, ou :func:`waitpid` en paramètre. Ils peuvent être "
 "utilisés pour déterminer la disposition d'un processus."
 
-#: library/os.rst:4479
+#: library/os.rst:4480
 msgid ""
 "Return ``True`` if a core dump was generated for the process, otherwise "
 "return ``False``."
@@ -6424,11 +6427,11 @@ msgstr ""
 "Renvoie ``True`` si un vidage système (*core dump*) a été généré pour le "
 "processus, sinon, renvoie ``False``."
 
-#: library/os.rst:4548
+#: library/os.rst:4549
 msgid "This function should be employed only if :func:`WIFSIGNALED` is true."
 msgstr ""
 
-#: library/os.rst:4489
+#: library/os.rst:4490
 #, fuzzy
 msgid ""
 "Return ``True`` if a stopped child has been resumed by delivery of :data:"
@@ -6438,11 +6441,11 @@ msgstr ""
 "Renvoie ``True`` si le processus a été continué après un arrêt du *job "
 "control*, renvoie ``False`` autrement."
 
-#: library/os.rst:4493
+#: library/os.rst:4494
 msgid "See :data:`WCONTINUED` option."
 msgstr ""
 
-#: library/os.rst:4500
+#: library/os.rst:4501
 #, fuzzy
 msgid ""
 "Return ``True`` if the process was stopped by delivery of a signal, "
@@ -6451,14 +6454,14 @@ msgstr ""
 "Renvoie ``True`` si le processus s'est terminé à cause d'un signal, sinon, "
 "renvoie ``False``."
 
-#: library/os.rst:4503
+#: library/os.rst:4504
 msgid ""
 ":func:`WIFSTOPPED` only returns ``True`` if the :func:`waitpid` call was "
 "done using :data:`WUNTRACED` option or when the process is being traced "
 "(see :manpage:`ptrace(2)`)."
 msgstr ""
 
-#: library/os.rst:4511
+#: library/os.rst:4512
 #, fuzzy
 msgid ""
 "Return ``True`` if the process was terminated by a signal, otherwise return "
@@ -6467,7 +6470,7 @@ msgstr ""
 "Renvoie ``True`` si le processus s'est terminé à cause d'un signal, sinon, "
 "renvoie ``False``."
 
-#: library/os.rst:4519
+#: library/os.rst:4520
 #, fuzzy
 msgid ""
 "Return ``True`` if the process exited terminated normally, that is, by "
@@ -6477,33 +6480,33 @@ msgstr ""
 "Renvoie ``True`` si le processus s'est terminé en faisant un appel système :"
 "manpage:`exit(2)`, sinon, renvoie ``False``."
 
-#: library/os.rst:4528
+#: library/os.rst:4529
 #, fuzzy
 msgid "Return the process exit status."
 msgstr "Renvoie l'identifiant du processus actuel."
 
-#: library/os.rst:4530
+#: library/os.rst:4531
 msgid "This function should be employed only if :func:`WIFEXITED` is true."
 msgstr ""
 
-#: library/os.rst:4537
+#: library/os.rst:4538
 msgid "Return the signal which caused the process to stop."
 msgstr "Renvoie le signal qui a causé l'arrêt du processus."
 
-#: library/os.rst:4539
+#: library/os.rst:4540
 msgid "This function should be employed only if :func:`WIFSTOPPED` is true."
 msgstr ""
 
-#: library/os.rst:4546
+#: library/os.rst:4547
 #, fuzzy
 msgid "Return the number of the signal that caused the process to terminate."
 msgstr "Renvoie le signal qui a amené le processus à quitter."
 
-#: library/os.rst:4554
+#: library/os.rst:4555
 msgid "Interface to the scheduler"
 msgstr "Interface pour l'ordonnanceur"
 
-#: library/os.rst:4556
+#: library/os.rst:4557
 msgid ""
 "These functions control how a process is allocated CPU time by the operating "
 "system. They are only available on some Unix platforms. For more detailed "
@@ -6514,7 +6517,7 @@ msgstr ""
 "plate-formes Unix. Pour des informations plus détaillées, consultez les "
 "pages de manuels Unix."
 
-#: library/os.rst:4562
+#: library/os.rst:4563
 msgid ""
 "The following scheduling policies are exposed if they are supported by the "
 "operating system."
@@ -6522,11 +6525,11 @@ msgstr ""
 "Les polices d'ordonnancement suivantes sont exposées si elles sont gérées "
 "par le système d'exploitation."
 
-#: library/os.rst:4567
+#: library/os.rst:4568
 msgid "The default scheduling policy."
 msgstr "La police d'ordonnancement par défaut."
 
-#: library/os.rst:4571
+#: library/os.rst:4572
 msgid ""
 "Scheduling policy for CPU-intensive processes that tries to preserve "
 "interactivity on the rest of the computer."
@@ -6535,25 +6538,25 @@ msgstr ""
 "processeur. Cette police essaye de préserver l'interactivité pour le reste "
 "de l'ordinateur."
 
-#: library/os.rst:4576
+#: library/os.rst:4577
 msgid "Scheduling policy for extremely low priority background tasks."
 msgstr ""
 "Police d'ordonnancement pour les tâches de fond avec une priorité "
 "extrêmement faible."
 
-#: library/os.rst:4580
+#: library/os.rst:4581
 msgid "Scheduling policy for sporadic server programs."
 msgstr "Police d'ordonnancement pour des programmes serveurs sporadiques."
 
-#: library/os.rst:4584
+#: library/os.rst:4585
 msgid "A First In First Out scheduling policy."
 msgstr "Une police d'ordonnancement *FIFO* (dernier arrivé, premier servi)."
 
-#: library/os.rst:4588
+#: library/os.rst:4589
 msgid "A round-robin scheduling policy."
 msgstr "Une police d'ordonnancement *round-robin* (tourniquet)."
 
-#: library/os.rst:4592
+#: library/os.rst:4593
 msgid ""
 "This flag can be OR'ed with any other scheduling policy. When a process with "
 "this flag set forks, its child's scheduling policy and priority are reset to "
@@ -6564,7 +6567,7 @@ msgstr ""
 "d'ordonnancement et la priorité du processus fils sont remises aux valeurs "
 "par défaut."
 
-#: library/os.rst:4599
+#: library/os.rst:4600
 msgid ""
 "This class represents tunable scheduling parameters used in :func:"
 "`sched_setparam`, :func:`sched_setscheduler`, and :func:`sched_getparam`. It "
@@ -6574,15 +6577,15 @@ msgstr ""
 "pour :func:`sched_setparam`, :func:`sched_setscheduler`, et :func:"
 "`sched_getparam`. Un objet de ce type est immuable."
 
-#: library/os.rst:4603
+#: library/os.rst:4604
 msgid "At the moment, there is only one possible parameter:"
 msgstr "Pour le moment, il n'y a qu'un seul paramètre possible :"
 
-#: library/os.rst:4607
+#: library/os.rst:4608
 msgid "The scheduling priority for a scheduling policy."
 msgstr "La priorité d'ordonnancement pour une police d'ordonnancement."
 
-#: library/os.rst:4612
+#: library/os.rst:4613
 msgid ""
 "Get the minimum priority value for *policy*. *policy* is one of the "
 "scheduling policy constants above."
@@ -6590,7 +6593,7 @@ msgstr ""
 "Récupère la valeur minimum pour une priorité pour la police *policy*. "
 "*policy* est une des constantes de police définies ci-dessus."
 
-#: library/os.rst:4618
+#: library/os.rst:4619
 msgid ""
 "Get the maximum priority value for *policy*. *policy* is one of the "
 "scheduling policy constants above."
@@ -6598,7 +6601,7 @@ msgstr ""
 "Récupère la valeur maximum pour une priorité pour la police *policy*. "
 "*policy* est une des constantes de police définies ci-dessus."
 
-#: library/os.rst:4624
+#: library/os.rst:4625
 msgid ""
 "Set the scheduling policy for the process with PID *pid*. A *pid* of 0 means "
 "the calling process. *policy* is one of the scheduling policy constants "
@@ -6609,7 +6612,7 @@ msgstr ""
 "police définies ci-dessus. *param* est une instance de la classe :class:"
 "`sched_param`."
 
-#: library/os.rst:4631
+#: library/os.rst:4632
 msgid ""
 "Return the scheduling policy for the process with PID *pid*. A *pid* of 0 "
 "means the calling process. The result is one of the scheduling policy "
@@ -6619,7 +6622,7 @@ msgstr ""
 "de 0 signifie le processus appelant. Le résultat est une des constantes de "
 "police définies ci-dessus."
 
-#: library/os.rst:4638
+#: library/os.rst:4639
 #, fuzzy
 msgid ""
 "Set the scheduling parameters for the process with PID *pid*. A *pid* of 0 "
@@ -6629,7 +6632,7 @@ msgstr ""
 "*pid* de ``0`` signifie le processus appelant. *param* est une instance de :"
 "class:`sched_param`."
 
-#: library/os.rst:4644
+#: library/os.rst:4645
 msgid ""
 "Return the scheduling parameters as a :class:`sched_param` instance for the "
 "process with PID *pid*. A *pid* of 0 means the calling process."
@@ -6638,7 +6641,7 @@ msgstr ""
 "pour le processus de PID *pid*. Un *pid* de ``0`` signifie le processus "
 "appelant."
 
-#: library/os.rst:4650
+#: library/os.rst:4651
 msgid ""
 "Return the round-robin quantum in seconds for the process with PID *pid*. A "
 "*pid* of 0 means the calling process."
@@ -6646,11 +6649,11 @@ msgstr ""
 "Renvoie le quantum de temps du *round-robin* (en secondes) pour le processus "
 "de PID *pid*. Un *pid* de ``0`` signifie le processus appelant."
 
-#: library/os.rst:4656
+#: library/os.rst:4657
 msgid "Voluntarily relinquish the CPU."
 msgstr "Abandonne volontairement le processeur."
 
-#: library/os.rst:4661
+#: library/os.rst:4662
 msgid ""
 "Restrict the process with PID *pid* (or the current process if zero) to a "
 "set of CPUs.  *mask* is an iterable of integers representing the set of CPUs "
@@ -6660,7 +6663,7 @@ msgstr ""
 "``0``) à un ensemble de CPUs. *mask* est un itérable d'entiers représentant "
 "l'ensemble de CPUs auquel le processus doit être restreint."
 
-#: library/os.rst:4668
+#: library/os.rst:4669
 msgid ""
 "Return the set of CPUs the process with PID *pid* (or the current process if "
 "zero) is restricted to."
@@ -6668,11 +6671,11 @@ msgstr ""
 "Renvoie l'ensemble de CPUs auquel le processus de PID *pid* (ou le processus "
 "actuel si *pid* vaut ``0``) est restreint."
 
-#: library/os.rst:4675
+#: library/os.rst:4676
 msgid "Miscellaneous System Information"
 msgstr "Diverses informations sur le système"
 
-#: library/os.rst:4680
+#: library/os.rst:4681
 msgid ""
 "Return string-valued system configuration values. *name* specifies the "
 "configuration value to retrieve; it may be a string which is the name of a "
@@ -6692,7 +6695,7 @@ msgstr ""
 "incluses dans ce *mapping*, passer un entier pour *name* est également "
 "accepté."
 
-#: library/os.rst:4688
+#: library/os.rst:4689
 msgid ""
 "If the configuration value specified by *name* isn't defined, ``None`` is "
 "returned."
@@ -6700,7 +6703,7 @@ msgstr ""
 "Si la valeur de configuration spécifiée par *name* n'est pas définie, "
 "``None`` est renvoyé."
 
-#: library/os.rst:4691
+#: library/os.rst:4692
 msgid ""
 "If *name* is a string and is not known, :exc:`ValueError` is raised.  If a "
 "specific value for *name* is not supported by the host system, even if it is "
@@ -6712,7 +6715,7 @@ msgstr ""
 "par le système hôte, même si elle est incluse dans ``confstr_names``, une :"
 "exc:`OSError` est levée avec :const:`errno.EINVAL` pour numéro d'erreur."
 
-#: library/os.rst:4701
+#: library/os.rst:4702
 msgid ""
 "Dictionary mapping names accepted by :func:`confstr` to the integer values "
 "defined for those names by the host operating system. This can be used to "
@@ -6722,13 +6725,13 @@ msgstr ""
 "entières définies pour ces noms par le système d'exploitation hôte. Cela "
 "peut être utilisé pour déterminer l'ensemble des noms connus du système."
 
-#: library/os.rst:4710
+#: library/os.rst:4711
 msgid ""
 "Return the number of CPUs in the system. Returns ``None`` if undetermined."
 msgstr ""
 "Renvoie le nombre de CPUs dans le système. Renvoie ``None`` si indéterminé."
 
-#: library/os.rst:4712
+#: library/os.rst:4713
 msgid ""
 "This number is not equivalent to the number of CPUs the current process can "
 "use.  The number of usable CPUs can be obtained with ``len(os."
@@ -6738,7 +6741,7 @@ msgstr ""
 "peut utiliser.  Le nombre de CPUs utilisables peut être obtenu avec ``len(os."
 "sched_getaffinity(0))``"
 
-#: library/os.rst:4722
+#: library/os.rst:4723
 msgid ""
 "Return the number of processes in the system run queue averaged over the "
 "last 1, 5, and 15 minutes or raises :exc:`OSError` if the load average was "
@@ -6748,7 +6751,7 @@ msgstr ""
 "moyenne dans les dernières 1, 5, et 15 minutes, ou lève une :exc:`OSError` "
 "si la charge moyenne est impossible à récupérer."
 
-#: library/os.rst:4731
+#: library/os.rst:4732
 msgid ""
 "Return integer-valued system configuration values. If the configuration "
 "value specified by *name* isn't defined, ``-1`` is returned.  The comments "
@@ -6762,7 +6765,7 @@ msgstr ""
 "s'appliquent également ici, le dictionnaire qui fournit les informations sur "
 "les noms connus est donné par ``sysconf_names``."
 
-#: library/os.rst:4741
+#: library/os.rst:4742
 msgid ""
 "Dictionary mapping names accepted by :func:`sysconf` to the integer values "
 "defined for those names by the host operating system. This can be used to "
@@ -6772,7 +6775,7 @@ msgstr ""
 "entières définies pour ces noms par le système d'exploitation hôte. Cela "
 "peut être utilisé pour déterminer l'ensemble des noms connus du système."
 
-#: library/os.rst:4747
+#: library/os.rst:4748
 msgid ""
 "The following data values are used to support path manipulation operations.  "
 "These are defined for all platforms."
@@ -6780,7 +6783,7 @@ msgstr ""
 "Les valeurs suivantes sont utilisées pour gérer les opérations de "
 "manipulations de chemins. Elles sont définies pour toutes les plate-formes."
 
-#: library/os.rst:4750
+#: library/os.rst:4751
 msgid ""
 "Higher-level operations on pathnames are defined in the :mod:`os.path` "
 "module."
@@ -6788,7 +6791,7 @@ msgstr ""
 "Des opérations de plus haut niveau sur les chemins sont définies dans le "
 "module :mod:`os.path`."
 
-#: library/os.rst:4756
+#: library/os.rst:4757
 msgid ""
 "The constant string used by the operating system to refer to the current "
 "directory. This is ``'.'`` for Windows and POSIX. Also available via :mod:"
@@ -6798,7 +6801,7 @@ msgstr ""
 "référencer le répertoire actuel. Ça vaut ``'.'`` pour Windows et POSIX. "
 "Également disponible par :mod:`os.path`."
 
-#: library/os.rst:4764
+#: library/os.rst:4765
 msgid ""
 "The constant string used by the operating system to refer to the parent "
 "directory. This is ``'..'`` for Windows and POSIX. Also available via :mod:"
@@ -6808,7 +6811,7 @@ msgstr ""
 "référencer le répertoire parent. Ça vaut ``'..'`` pour Windows et POSIX. "
 "Également disponible par :mod:`os.path`."
 
-#: library/os.rst:4773
+#: library/os.rst:4774
 msgid ""
 "The character used by the operating system to separate pathname components. "
 "This is ``'/'`` for POSIX and ``'\\\\'`` for Windows.  Note that knowing "
@@ -6823,7 +6826,7 @@ msgstr ""
 "et :func:`os.path.join`), mais ça peut s'avérer utile occasionnellement.  "
 "Également disponible par :mod:`os.path`."
 
-#: library/os.rst:4783
+#: library/os.rst:4784
 msgid ""
 "An alternative character used by the operating system to separate pathname "
 "components, or ``None`` if only one separator character exists.  This is set "
@@ -6835,7 +6838,7 @@ msgstr ""
 "vaut ``'/'`` sur Windows où ``sep`` est un antislash ``'\\'``. Également "
 "disponible par :mod:`os.path`."
 
-#: library/os.rst:4792
+#: library/os.rst:4793
 msgid ""
 "The character which separates the base filename from the extension; for "
 "example, the ``'.'`` in :file:`os.py`. Also available via :mod:`os.path`."
@@ -6844,7 +6847,7 @@ msgstr ""
 "exemple, le ``'.'`` de :file:`os.py`. Également disponible par :mod:`os."
 "path`."
 
-#: library/os.rst:4800
+#: library/os.rst:4801
 msgid ""
 "The character conventionally used by the operating system to separate search "
 "path components (as in :envvar:`PATH`), such as ``':'`` for POSIX or ``';'`` "
@@ -6855,7 +6858,7 @@ msgstr ""
 "d'environnement :envvar:`PATH`). Cela vaut ``':'`` pour POSIX, ou ``';'`` "
 "pour Windows. Également disponible par :mod:`os.path`."
 
-#: library/os.rst:4807
+#: library/os.rst:4808
 msgid ""
 "The default search path used by :func:`exec\\*p\\* <execl>` and :func:`spawn"
 "\\*p\\* <spawnl>` if the environment doesn't have a ``'PATH'`` key. Also "
@@ -6865,7 +6868,7 @@ msgstr ""
 "func:`spawn\\* <spawnl>` si l'environnement n'a pas une clef ``'PATH'``. "
 "Également disponible par :mod:`os.path`."
 
-#: library/os.rst:4814
+#: library/os.rst:4815
 msgid ""
 "The string used to separate (or, rather, terminate) lines on the current "
 "platform.  This may be a single character, such as ``'\\n'`` for POSIX, or "
@@ -6880,7 +6883,7 @@ msgstr ""
 "écrivez dans un fichier ouvert en mode *texte* (par défaut). Utilisez un "
 "unique ``'\\n'`` à la place, sur toutes les plate-formes."
 
-#: library/os.rst:4823
+#: library/os.rst:4824
 msgid ""
 "The file path of the null device. For example: ``'/dev/null'`` for POSIX, "
 "``'nul'`` for Windows.  Also available via :mod:`os.path`."
@@ -6888,7 +6891,7 @@ msgstr ""
 "Le chemin de fichier du périphérique *null*. Par exemple : ``'/dev/null'`` "
 "pour POSIX, ``'nul'`` pour Windows. Également disponible par :mod:`os.path`."
 
-#: library/os.rst:4834
+#: library/os.rst:4835
 msgid ""
 "Flags for use with the :func:`~sys.setdlopenflags` and :func:`~sys."
 "getdlopenflags` functions.  See the Unix manual page :manpage:`dlopen(3)` "
@@ -6898,11 +6901,11 @@ msgstr ""
 "`~sys.getdlopenflags`. Voir les pages de manuel Unix :manpage:`dlopen(3)` "
 "pour les différences de significations entre les marqueurs."
 
-#: library/os.rst:4842
+#: library/os.rst:4843
 msgid "Random numbers"
 msgstr "Nombres aléatoires"
 
-#: library/os.rst:4847
+#: library/os.rst:4848
 msgid ""
 "Get up to *size* random bytes. The function can return less bytes than "
 "requested."
@@ -6910,7 +6913,7 @@ msgstr ""
 "Obtient *size* octets aléatoires. La fonction renvoie éventuellement moins "
 "d'octets que demandé."
 
-#: library/os.rst:4850
+#: library/os.rst:4851
 msgid ""
 "These bytes can be used to seed user-space random number generators or for "
 "cryptographic purposes."
@@ -6918,7 +6921,7 @@ msgstr ""
 "Ces octets peuvent être utilisés pour initialiser un générateur de nombres "
 "aléatoires dans l'espace utilisateur ou pour des raisons cryptographiques."
 
-#: library/os.rst:4853
+#: library/os.rst:4854
 msgid ""
 "``getrandom()`` relies on entropy gathered from device drivers and other "
 "sources of environmental noise. Unnecessarily reading large quantities of "
@@ -6930,7 +6933,7 @@ msgstr ""
 "grosses quantités de données aura un impact négatif sur les autres "
 "utilisateurs des périphériques ``/dev/random`` et ``/dev/urandom``."
 
-#: library/os.rst:4858
+#: library/os.rst:4859
 msgid ""
 "The flags argument is a bit mask that can contain zero or more of the "
 "following values ORed together: :py:data:`os.GRND_RANDOM` and :py:data:"
@@ -6940,7 +6943,7 @@ msgstr ""
 "valeurs suivantes combinées avec un OU bit-à-bit : :py:data:`os.GRND_RANDOM` "
 "et :py:data:`GRND_NONBLOCK`."
 
-#: library/os.rst:4862
+#: library/os.rst:4863
 msgid ""
 "See also the `Linux getrandom() manual page <http://man7.org/linux/man-pages/"
 "man2/getrandom.2.html>`_."
@@ -6948,17 +6951,17 @@ msgstr ""
 "Voir aussi la `page de manuel Linux pour getrandom() <http://man7.org/linux/"
 "man-pages/man2/getrandom.2.html>`_."
 
-#: library/os.rst:4866
+#: library/os.rst:4867
 msgid ":ref:`Availability <availability>`: Linux 3.17 and newer."
 msgstr ":ref:`Disponibilité <availability>` : Linux 3.17 et ultérieures."
 
-#: library/os.rst:4871
+#: library/os.rst:4872
 msgid "Return a string of *size* random bytes suitable for cryptographic use."
 msgstr ""
 "Renvoie une chaîne de *size* octets aléatoires utilisable dans un cadre "
 "cryptographique."
 
-#: library/os.rst:4873
+#: library/os.rst:4874
 msgid ""
 "This function returns random bytes from an OS-specific randomness source.  "
 "The returned data should be unpredictable enough for cryptographic "
@@ -6969,7 +6972,7 @@ msgstr ""
 "pour les applications cryptographiques, bien que la qualité dépende de "
 "l'implémentation du système."
 
-#: library/os.rst:4877
+#: library/os.rst:4878
 msgid ""
 "On Linux, if the ``getrandom()`` syscall is available, it is used in "
 "blocking mode: block until the system urandom entropy pool is initialized "
@@ -6986,7 +6989,7 @@ msgstr ""
 "aléatoires en mode non-bloquant (avec l'option :data:`GRND_NONBLOCK`) ou "
 "attendre jusqu'à ce que la réserve d'entropie d'*urandom* soit initialisée."
 
-#: library/os.rst:4884
+#: library/os.rst:4885
 msgid ""
 "On a Unix-like system, random bytes are read from the ``/dev/urandom`` "
 "device. If the ``/dev/urandom`` device is not available or not readable, "
@@ -6997,11 +7000,11 @@ msgstr ""
 "disponible ou n'est pas lisible, l'exception :exc:`NotImplementedError` est "
 "levée."
 
-#: library/os.rst:4888
+#: library/os.rst:4889
 msgid "On Windows, it will use ``CryptGenRandom()``."
 msgstr "Sous Windows, ``CryptGenRandom()`` est utilisée."
 
-#: library/os.rst:4891
+#: library/os.rst:4892
 msgid ""
 "The :mod:`secrets` module provides higher level functions. For an easy-to-"
 "use interface to the random number generator provided by your platform, "
@@ -7011,7 +7014,7 @@ msgstr ""
 "interface facile à utiliser du générateur de nombres aléatoires fourni par "
 "votre plate-forme, veuillez regarder :class:`random.SystemRandom`."
 
-#: library/os.rst:4895
+#: library/os.rst:4896
 msgid ""
 "On Linux, ``getrandom()`` is now used in blocking mode to increase the "
 "security."
@@ -7019,7 +7022,7 @@ msgstr ""
 "Sous Linux, ``getrandom()`` est maintenant utilisé en mode bloquant pour "
 "renforcer la sécurité."
 
-#: library/os.rst:4899
+#: library/os.rst:4900
 msgid ""
 "On Linux, if the ``getrandom()`` syscall blocks (the urandom entropy pool is "
 "not initialized yet), fall back on reading ``/dev/urandom``."
@@ -7028,7 +7031,7 @@ msgstr ""
 "d'*urandom* n'est pas encore initialisée), réalise à la place une lecture de "
 "``/dev/urandom``."
 
-#: library/os.rst:4903
+#: library/os.rst:4904
 msgid ""
 "On Linux 3.17 and newer, the ``getrandom()`` syscall is now used when "
 "available.  On OpenBSD 5.6 and newer, the C ``getentropy()`` function is now "
@@ -7039,7 +7042,7 @@ msgstr ""
 "la fonction C ``getentropy()`` est utilisée. Ces fonctions évitent "
 "l'utilisation interne d'un descripteur de fichier."
 
-#: library/os.rst:4911
+#: library/os.rst:4912
 msgid ""
 "By  default, when reading from ``/dev/random``, :func:`getrandom` blocks if "
 "no random bytes are available, and when reading from ``/dev/urandom``, it "
@@ -7050,7 +7053,7 @@ msgstr ""
 "urandom``, elle bloque si la réserve d'entropie n'a pas encore été "
 "initialisée."
 
-#: library/os.rst:4915
+#: library/os.rst:4916
 msgid ""
 "If the :py:data:`GRND_NONBLOCK` flag is set, then :func:`getrandom` does not "
 "block in these cases, but instead immediately raises :exc:`BlockingIOError`."
@@ -7058,7 +7061,7 @@ msgstr ""
 "Si l'option :py:data:`GRND_NONBLOCK` est activée, :func:`getrandom` ne "
 "bloque pas dans ces cas, mais lève immédiatement une :exc:`BlockingIOError`."
 
-#: library/os.rst:4922
+#: library/os.rst:4923
 msgid ""
 "If  this  bit  is  set,  then  random bytes are drawn from the ``/dev/"
 "random`` pool instead of the ``/dev/urandom`` pool."
diff --git a/library/socket.po b/library/socket.po
index c71402761..595ddd1f9 100644
--- a/library/socket.po
+++ b/library/socket.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-21 15:04+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2020-11-25 20:35+0100\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
 "Language: fr\n"
@@ -96,7 +96,7 @@ msgid ""
 "Previously, :const:`AF_UNIX` socket paths were assumed to use UTF-8 encoding."
 msgstr ""
 
-#: library/socket.rst:975 library/socket.rst:1747
+#: library/socket.rst:979 library/socket.rst:1751
 msgid "Writable :term:`bytes-like object` is now accepted."
 msgstr "N'importe quel :term:`bytes-like object` est maintenant accepté."
 
@@ -333,7 +333,7 @@ msgid ""
 "address, whose interpretation depends on the device."
 msgstr ""
 
-#: library/socket.rst:200
+#: library/socket.rst:202
 msgid ""
 ":const:`AF_QIPCRTR` is a Linux-only socket based interface for communicating "
 "with services running on co-processors in Qualcomm platforms. The address "
@@ -341,7 +341,7 @@ msgid ""
 "*port* are non-negative integers."
 msgstr ""
 
-#: library/socket.rst:207
+#: library/socket.rst:211
 msgid ""
 ":const:`IPPROTO_UDPLITE` is a variant of UDP which allows you to specify "
 "what portion of a packet is covered with the checksum. It adds two socket "
@@ -352,14 +352,14 @@ msgid ""
 "of their data. In both cases ``length`` should be in ``range(8, 2**16, 8)``."
 msgstr ""
 
-#: library/socket.rst:216
+#: library/socket.rst:220
 msgid ""
 "Such a socket should be constructed with ``socket(AF_INET, SOCK_DGRAM, "
 "IPPROTO_UDPLITE)`` for IPv4 or ``socket(AF_INET6, SOCK_DGRAM, "
 "IPPROTO_UDPLITE)`` for IPv6."
 msgstr ""
 
-#: library/socket.rst:224
+#: library/socket.rst:228
 msgid ""
 "If you use a hostname in the *host* portion of IPv4/v6 socket address, the "
 "program may show a nondeterministic behavior, as Python uses the first "
@@ -369,7 +369,7 @@ msgid ""
 "deterministic behavior use a numeric address in *host* portion."
 msgstr ""
 
-#: library/socket.rst:231
+#: library/socket.rst:235
 msgid ""
 "All errors raise exceptions.  The normal exceptions for invalid argument "
 "types and out-of-memory conditions can be raised; starting from Python 3.3, "
@@ -377,35 +377,35 @@ msgid ""
 "its subclasses (they used to raise :exc:`socket.error`)."
 msgstr ""
 
-#: library/socket.rst:236
+#: library/socket.rst:240
 msgid ""
 "Non-blocking mode is supported through :meth:`~socket.setblocking`.  A "
 "generalization of this based on timeouts is supported through :meth:`~socket."
 "settimeout`."
 msgstr ""
 
-#: library/socket.rst:242
+#: library/socket.rst:246
 #, fuzzy
 msgid "Module contents"
 msgstr "Contenu du module"
 
-#: library/socket.rst:244
+#: library/socket.rst:248
 msgid "The module :mod:`socket` exports the following elements."
 msgstr ""
 
-#: library/socket.rst:248
+#: library/socket.rst:252
 msgid "Exceptions"
 msgstr "Exceptions"
 
-#: library/socket.rst:252
+#: library/socket.rst:256
 msgid "A deprecated alias of :exc:`OSError`."
 msgstr ""
 
-#: library/socket.rst:254
+#: library/socket.rst:258
 msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`."
 msgstr ""
 
-#: library/socket.rst:260
+#: library/socket.rst:264
 msgid ""
 "A subclass of :exc:`OSError`, this exception is raised for address-related "
 "errors, i.e. for functions that use *h_errno* in the POSIX C API, including :"
@@ -415,11 +415,11 @@ msgid ""
 "description of *h_errno*, as returned by the :c:func:`hstrerror` C function."
 msgstr ""
 
-#: library/socket.rst:281 library/socket.rst:294
+#: library/socket.rst:285 library/socket.rst:298
 msgid "This class was made a subclass of :exc:`OSError`."
 msgstr ""
 
-#: library/socket.rst:273
+#: library/socket.rst:277
 msgid ""
 "A subclass of :exc:`OSError`, this exception is raised for address-related "
 "errors by :func:`getaddrinfo` and :func:`getnameinfo`. The accompanying "
@@ -429,11 +429,11 @@ msgid ""
 "match one of the :const:`EAI_\\*` constants defined in this module."
 msgstr ""
 
-#: library/socket.rst:286
+#: library/socket.rst:290
 msgid "A deprecated alias of :exc:`TimeoutError`."
 msgstr ""
 
-#: library/socket.rst:288
+#: library/socket.rst:292
 msgid ""
 "A subclass of :exc:`OSError`, this exception is raised when a timeout occurs "
 "on a socket which has had timeouts enabled via a prior call to :meth:"
@@ -442,21 +442,21 @@ msgid ""
 "currently always \"timed out\"."
 msgstr ""
 
-#: library/socket.rst:297
+#: library/socket.rst:301
 msgid "This class was made an alias of :exc:`TimeoutError`."
 msgstr ""
 
-#: library/socket.rst:302
+#: library/socket.rst:306
 msgid "Constants"
 msgstr "Constantes"
 
-#: library/socket.rst:304
+#: library/socket.rst:308
 msgid ""
 "The AF_* and SOCK_* constants are now :class:`AddressFamily` and :class:"
 "`SocketKind` :class:`.IntEnum` collections."
 msgstr ""
 
-#: library/socket.rst:313
+#: library/socket.rst:317
 msgid ""
 "These constants represent the address (and protocol) families, used for the "
 "first argument to :func:`.socket`.  If the :const:`AF_UNIX` constant is not "
@@ -464,7 +464,7 @@ msgid ""
 "depending on the system."
 msgstr ""
 
-#: library/socket.rst:325
+#: library/socket.rst:329
 msgid ""
 "These constants represent the socket types, used for the second argument to :"
 "func:`.socket`.  More constants may be available depending on the system. "
@@ -472,24 +472,24 @@ msgid ""
 "useful.)"
 msgstr ""
 
-#: library/socket.rst:333
+#: library/socket.rst:337
 msgid ""
 "These two constants, if defined, can be combined with the socket types and "
 "allow you to set some flags atomically (thus avoiding possible race "
 "conditions and the need for separate calls)."
 msgstr ""
 
-#: library/socket.rst:339
+#: library/socket.rst:343
 msgid ""
 "`Secure File Descriptor Handling <http://udrepper.livejournal.com/20407."
 "html>`_ for a more thorough explanation."
 msgstr ""
 
-#: library/socket.rst:343
+#: library/socket.rst:347
 msgid ":ref:`Availability <availability>`: Linux >= 2.6.27."
 msgstr ":ref:`Disponibilité <availability>` : Linux >= 2.6.27"
 
-#: library/socket.rst:361
+#: library/socket.rst:365
 msgid ""
 "Many constants of these forms, documented in the Unix documentation on "
 "sockets and/or the IP protocol, are also defined in the socket module. They "
@@ -499,189 +499,189 @@ msgid ""
 "default values are provided."
 msgstr ""
 
-#: library/socket.rst:368
+#: library/socket.rst:372
 msgid ""
 "``SO_DOMAIN``, ``SO_PROTOCOL``, ``SO_PEERSEC``, ``SO_PASSSEC``, "
 "``TCP_USER_TIMEOUT``, ``TCP_CONGESTION`` were added."
 msgstr ""
 
-#: library/socket.rst:372
+#: library/socket.rst:376
 msgid ""
 "On Windows, ``TCP_FASTOPEN``, ``TCP_KEEPCNT`` appear if run-time Windows "
 "supports."
 msgstr ""
 
-#: library/socket.rst:376
+#: library/socket.rst:380
 msgid "``TCP_NOTSENT_LOWAT`` was added."
 msgstr ""
 
-#: library/socket.rst:379
+#: library/socket.rst:383
 msgid ""
 "On Windows, ``TCP_KEEPIDLE``, ``TCP_KEEPINTVL`` appear if run-time Windows "
 "supports."
 msgstr ""
 
-#: library/socket.rst:382
+#: library/socket.rst:386
 msgid ""
 "``IP_RECVTOS`` was added.  Added ``TCP_KEEPALIVE``. On MacOS this constant "
 "can be used in the same  way that ``TCP_KEEPIDLE`` is used on Linux."
 msgstr ""
 
-#: library/socket.rst:459 library/socket.rst:470
+#: library/socket.rst:463 library/socket.rst:474
 msgid ""
 "Many constants of these forms, documented in the Linux documentation, are "
 "also defined in the socket module."
 msgstr ""
 
-#: library/socket.rst:407 library/socket.rst:442
+#: library/socket.rst:411 library/socket.rst:446
 msgid ":ref:`Availability <availability>`: Linux >= 2.6.25."
 msgstr ":ref:`Disponibilité <availability>` : Linux >= 2.6.25"
 
-#: library/socket.rst:402
+#: library/socket.rst:406
 msgid ""
 "CAN_BCM, in the CAN protocol family, is the broadcast manager (BCM) "
 "protocol. Broadcast manager constants, documented in the Linux "
 "documentation, are also defined in the socket module."
 msgstr ""
 
-#: library/socket.rst:409
+#: library/socket.rst:413
 msgid ""
 "The :data:`CAN_BCM_CAN_FD_FRAME` flag is only available on Linux >= 4.8."
 msgstr ""
 
-#: library/socket.rst:415
+#: library/socket.rst:419
 msgid ""
 "Enables CAN FD support in a CAN_RAW socket. This is disabled by default. "
 "This allows your application to send both CAN and CAN FD frames; however, "
 "you must accept both CAN and CAN FD frames when reading from the socket."
 msgstr ""
 
-#: library/socket.rst:430
+#: library/socket.rst:434
 msgid "This constant is documented in the Linux documentation."
 msgstr ""
 
-#: library/socket.rst:422
+#: library/socket.rst:426
 msgid ":ref:`Availability <availability>`: Linux >= 3.6."
 msgstr ":ref:`Disponibilité <availability>` : Linux >= 3.6."
 
-#: library/socket.rst:427
+#: library/socket.rst:431
 msgid ""
 "Joins the applied CAN filters such that only CAN frames that match all given "
 "CAN filters are passed to user space."
 msgstr ""
 
-#: library/socket.rst:433
+#: library/socket.rst:437
 #, fuzzy
 msgid ":ref:`Availability <availability>`: Linux >= 4.1."
 msgstr ":ref:`Disponibilité <availability>` : Linux >= 4.8."
 
-#: library/socket.rst:438
+#: library/socket.rst:442
 msgid ""
 "CAN_ISOTP, in the CAN protocol family, is the ISO-TP (ISO 15765-2) protocol. "
 "ISO-TP constants, documented in the Linux documentation."
 msgstr ""
 
-#: library/socket.rst:447
+#: library/socket.rst:451
 msgid ""
 "CAN_J1939, in the CAN protocol family, is the SAE J1939 protocol. J1939 "
 "constants, documented in the Linux documentation."
 msgstr ""
 
-#: library/socket.rst:451
+#: library/socket.rst:455
 #, fuzzy
 msgid ":ref:`Availability <availability>`: Linux >= 5.4."
 msgstr ":ref:`Disponibilité <availability>` : Linux >= 3.6."
 
-#: library/socket.rst:462
+#: library/socket.rst:466
 msgid ":ref:`Availability <availability>`: Linux >= 2.2."
 msgstr ":ref:`Disponibilité <availability>` : Linux >= 2.2."
 
-#: library/socket.rst:474
+#: library/socket.rst:478
 msgid ":ref:`Availability <availability>`: Linux >= 2.6.30."
 msgstr ":ref:`Disponibilité <availability>` : Linux >= 2.6.30."
 
-#: library/socket.rst:483
+#: library/socket.rst:487
 msgid ""
 "Constants for Windows' WSAIoctl(). The constants are used as arguments to "
 "the :meth:`~socket.socket.ioctl` method of socket objects."
 msgstr ""
 
-#: library/socket.rst:1369
+#: library/socket.rst:1373
 msgid "``SIO_LOOPBACK_FAST_PATH`` was added."
 msgstr ""
 
-#: library/socket.rst:492
+#: library/socket.rst:496
 msgid ""
 "TIPC related constants, matching the ones exported by the C socket API. See "
 "the TIPC documentation for more information."
 msgstr ""
 
-#: library/socket.rst:499
+#: library/socket.rst:503
 msgid "Constants for Linux Kernel cryptography."
 msgstr ""
 
-#: library/socket.rst:1669
+#: library/socket.rst:1673
 msgid ":ref:`Availability <availability>`: Linux >= 2.6.38."
 msgstr ":ref:`Disponibilité <availability>` : Linux >= 2.6.38."
 
-#: library/socket.rst:511
+#: library/socket.rst:515
 msgid "Constants for Linux host/guest communication."
 msgstr ""
 
-#: library/socket.rst:514
+#: library/socket.rst:518
 msgid ":ref:`Availability <availability>`: Linux >= 4.8."
 msgstr ":ref:`Disponibilité <availability>` : Linux >= 4.8."
 
-#: library/socket.rst:520
+#: library/socket.rst:524
 #, fuzzy
 msgid ":ref:`Availability <availability>`: BSD, macOS."
 msgstr ":ref:`Disponibilité <availability>` : BSD, OSX."
 
-#: library/socket.rst:525
+#: library/socket.rst:529
 msgid ""
 "This constant contains a boolean value which indicates if IPv6 is supported "
 "on this platform."
 msgstr ""
 
-#: library/socket.rst:531
+#: library/socket.rst:535
 msgid ""
 "These are string constants containing Bluetooth addresses with special "
 "meanings. For example, :const:`BDADDR_ANY` can be used to indicate any "
 "address when specifying the binding socket with :const:`BTPROTO_RFCOMM`."
 msgstr ""
 
-#: library/socket.rst:540
+#: library/socket.rst:544
 msgid ""
 "For use with :const:`BTPROTO_HCI`. :const:`HCI_FILTER` is not available for "
 "NetBSD or DragonFlyBSD. :const:`HCI_TIME_STAMP` and :const:`HCI_DATA_DIR` "
 "are not available for FreeBSD, NetBSD, or DragonFlyBSD."
 msgstr ""
 
-#: library/socket.rst:547
+#: library/socket.rst:551
 msgid ""
 "Constant for Qualcomm's IPC router protocol, used to communicate with "
 "service providing remote processors."
 msgstr ""
 
-#: library/socket.rst:550
+#: library/socket.rst:554
 #, fuzzy
 msgid ":ref:`Availability <availability>`: Linux >= 4.7."
 msgstr ":ref:`Disponibilité <availability>` : Linux >= 4.8."
 
-#: library/socket.rst:553
+#: library/socket.rst:557
 msgid "Functions"
 msgstr "Fonctions"
 
-#: library/socket.rst:556
+#: library/socket.rst:560
 msgid "Creating sockets"
 msgstr ""
 
-#: library/socket.rst:558
+#: library/socket.rst:562
 msgid ""
 "The following functions all create :ref:`socket objects <socket-objects>`."
 msgstr ""
 
-#: library/socket.rst:563
+#: library/socket.rst:567
 msgid ""
 "Create a new socket using the given address family, socket type and protocol "
 "number.  The address family should be :const:`AF_INET` (the default), :const:"
@@ -694,7 +694,7 @@ msgid ""
 "`CAN_J1939`."
 msgstr ""
 
-#: library/socket.rst:573
+#: library/socket.rst:577
 msgid ""
 "If *fileno* is specified, the values for *family*, *type*, and *proto* are "
 "auto-detected from the specified file descriptor.  Auto-detection can be "
@@ -705,56 +705,56 @@ msgid ""
 "This may help close a detached socket using :meth:`socket.close()`."
 msgstr ""
 
-#: library/socket.rst:719 library/socket.rst:1286
+#: library/socket.rst:723 library/socket.rst:1290
 msgid "The newly created socket is :ref:`non-inheritable <fd_inheritance>`."
 msgstr ""
 "Il n'est :ref:`pas possible d'hériter <fd_inheritance>` du connecteur "
 "nouvellement créé."
 
-#: library/socket.rst:584
+#: library/socket.rst:588
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.__new__`` with arguments "
 "``self``, ``family``, ``type``, ``protocol``."
 msgstr ""
 
-#: library/socket.rst:586
+#: library/socket.rst:590
 msgid "The AF_CAN family was added. The AF_RDS family was added."
 msgstr ""
 
-#: library/socket.rst:590
+#: library/socket.rst:594
 msgid "The CAN_BCM protocol was added."
 msgstr ""
 
-#: library/socket.rst:721
+#: library/socket.rst:725
 msgid "The returned socket is now non-inheritable."
 msgstr ""
 
-#: library/socket.rst:596
+#: library/socket.rst:600
 msgid "The CAN_ISOTP protocol was added."
 msgstr ""
 
-#: library/socket.rst:599
+#: library/socket.rst:603
 msgid ""
 "When :const:`SOCK_NONBLOCK` or :const:`SOCK_CLOEXEC` bit flags are applied "
 "to *type* they are cleared, and :attr:`socket.type` will not reflect them.  "
 "They are still passed to the underlying system `socket()` call.  Therefore,"
 msgstr ""
 
-#: library/socket.rst:611
+#: library/socket.rst:615
 msgid ""
 "will still create a non-blocking socket on OSes that support "
 "``SOCK_NONBLOCK``, but ``sock.type`` will be set to ``socket.SOCK_STREAM``."
 msgstr ""
 
-#: library/socket.rst:615
+#: library/socket.rst:619
 msgid "The CAN_J1939 protocol was added."
 msgstr ""
 
-#: library/socket.rst:618
+#: library/socket.rst:622
 msgid "The IPPROTO_MPTCP protocol was added."
 msgstr ""
 
-#: library/socket.rst:623
+#: library/socket.rst:627
 msgid ""
 "Build a pair of connected socket objects using the given address family, "
 "socket type, and protocol number.  Address family, socket type, and protocol "
@@ -763,29 +763,29 @@ msgid ""
 "`AF_INET`."
 msgstr ""
 
-#: library/socket.rst:628
+#: library/socket.rst:632
 #, fuzzy
 msgid "The newly created sockets are :ref:`non-inheritable <fd_inheritance>`."
 msgstr ""
 "Il n'est :ref:`pas possible d'hériter <fd_inheritance>` du connecteur "
 "nouvellement créé."
 
-#: library/socket.rst:630
+#: library/socket.rst:634
 msgid ""
 "The returned socket objects now support the whole socket API, rather than a "
 "subset."
 msgstr ""
 
-#: library/socket.rst:634
+#: library/socket.rst:638
 msgid "The returned sockets are now non-inheritable."
 msgstr ""
 
-#: library/socket.rst:637
+#: library/socket.rst:641
 #, fuzzy
 msgid "Windows support added."
 msgstr "Ajout de la gestion de Windows"
 
-#: library/socket.rst:643
+#: library/socket.rst:647
 msgid ""
 "Connect to a TCP service listening on the internet *address* (a 2-tuple "
 "``(host, port)``), and return the socket object.  This is a higher-level "
@@ -796,31 +796,31 @@ msgid ""
 "IPv4 and IPv6."
 msgstr ""
 
-#: library/socket.rst:651
+#: library/socket.rst:655
 msgid ""
 "Passing the optional *timeout* parameter will set the timeout on the socket "
 "instance before attempting to connect.  If no *timeout* is supplied, the "
 "global default timeout setting returned by :func:`getdefaulttimeout` is used."
 msgstr ""
 
-#: library/socket.rst:656
+#: library/socket.rst:660
 msgid ""
 "If supplied, *source_address* must be a 2-tuple ``(host, port)`` for the "
 "socket to bind to as its source address before connecting.  If host or port "
 "are '' or 0 respectively the OS default behavior will be used."
 msgstr ""
 
-#: library/socket.rst:660
+#: library/socket.rst:664
 msgid "*source_address* was added."
 msgstr ""
 
-#: library/socket.rst:665
+#: library/socket.rst:669
 msgid ""
 "Convenience function which creates a TCP socket bound to *address* (a 2-"
 "tuple ``(host, port)``) and return the socket object."
 msgstr ""
 
-#: library/socket.rst:668
+#: library/socket.rst:672
 msgid ""
 "*family* should be either :data:`AF_INET` or :data:`AF_INET6`. *backlog* is "
 "the queue size passed to :meth:`socket.listen`; when ``0`` a default "
@@ -828,7 +828,7 @@ msgid ""
 "`SO_REUSEPORT` socket option."
 msgstr ""
 
-#: library/socket.rst:673
+#: library/socket.rst:677
 msgid ""
 "If *dualstack_ipv6* is true and the platform supports it the socket will be "
 "able to accept both IPv4 and IPv6 connections, else it will raise :exc:"
@@ -841,20 +841,20 @@ msgid ""
 "func:`has_dualstack_ipv6`:"
 msgstr ""
 
-#: library/socket.rst:695
+#: library/socket.rst:699
 msgid ""
 "On POSIX platforms the :data:`SO_REUSEADDR` socket option is set in order to "
 "immediately reuse previous sockets which were bound on the same *address* "
 "and remained in TIME_WAIT state."
 msgstr ""
 
-#: library/socket.rst:703
+#: library/socket.rst:707
 msgid ""
 "Return ``True`` if the platform supports creating a TCP socket which can "
 "handle both IPv4 and IPv6 connections."
 msgstr ""
 
-#: library/socket.rst:710
+#: library/socket.rst:714
 msgid ""
 "Duplicate the file descriptor *fd* (an integer as returned by a file "
 "object's :meth:`fileno` method) and build a socket object from the result.  "
@@ -867,38 +867,38 @@ msgid ""
 "socket is assumed to be in blocking mode."
 msgstr ""
 
-#: library/socket.rst:727
+#: library/socket.rst:731
 msgid ""
 "Instantiate a socket from data obtained from the :meth:`socket.share` "
 "method.  The socket is assumed to be in blocking mode."
 msgstr ""
 
-#: library/socket.rst:1772
+#: library/socket.rst:1776
 msgid ":ref:`Availability <availability>`: Windows."
 msgstr ":ref:`Disponibilité <availability>` : Windows."
 
-#: library/socket.rst:737
+#: library/socket.rst:741
 msgid ""
 "This is a Python type object that represents the socket object type. It is "
 "the same as ``type(socket(...))``."
 msgstr ""
 
-#: library/socket.rst:742
+#: library/socket.rst:746
 msgid "Other functions"
 msgstr "Autres fonctions"
 
-#: library/socket.rst:744
+#: library/socket.rst:748
 msgid "The :mod:`socket` module also offers various network-related services:"
 msgstr ""
 
-#: library/socket.rst:749
+#: library/socket.rst:753
 msgid ""
 "Close a socket file descriptor. This is like :func:`os.close`, but for "
 "sockets. On some platforms (most noticeable Windows) :func:`os.close` does "
 "not work for socket file descriptors."
 msgstr ""
 
-#: library/socket.rst:757
+#: library/socket.rst:761
 msgid ""
 "Translate the *host*/*port* argument into a sequence of 5-tuples that "
 "contain all the necessary arguments for creating a socket connected to that "
@@ -908,7 +908,7 @@ msgid ""
 "and *port*, you can pass ``NULL`` to the underlying C API."
 msgstr ""
 
-#: library/socket.rst:764
+#: library/socket.rst:768
 msgid ""
 "The *family*, *type* and *proto* arguments can be optionally specified in "
 "order to narrow the list of addresses returned.  Passing zero as a value for "
@@ -919,15 +919,15 @@ msgid ""
 "domain name."
 msgstr ""
 
-#: library/socket.rst:772
+#: library/socket.rst:776
 msgid "The function returns a list of 5-tuples with the following structure:"
 msgstr ""
 
-#: library/socket.rst:774
+#: library/socket.rst:778
 msgid "``(family, type, proto, canonname, sockaddr)``"
 msgstr ""
 
-#: library/socket.rst:776
+#: library/socket.rst:780
 msgid ""
 "In these tuples, *family*, *type*, *proto* are all integers and are meant to "
 "be passed to the :func:`.socket` function.  *canonname* will be a string "
@@ -939,30 +939,30 @@ msgid ""
 "be passed to the :meth:`socket.connect` method."
 msgstr ""
 
-#: library/socket.rst:786
+#: library/socket.rst:790
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.getaddrinfo`` with "
 "arguments ``host``, ``port``, ``family``, ``type``, ``protocol``."
 msgstr ""
 
-#: library/socket.rst:788
+#: library/socket.rst:792
 msgid ""
 "The following example fetches address information for a hypothetical TCP "
 "connection to ``example.org`` on port 80 (results may differ on your system "
 "if IPv6 isn't enabled)::"
 msgstr ""
 
-#: library/socket.rst:798
+#: library/socket.rst:802
 msgid "parameters can now be passed using keyword arguments."
 msgstr ""
 
-#: library/socket.rst:801
+#: library/socket.rst:805
 msgid ""
 "for IPv6 multicast addresses, string representing an address will not "
 "contain ``%scope_id`` part."
 msgstr ""
 
-#: library/socket.rst:807
+#: library/socket.rst:811
 msgid ""
 "Return a fully qualified domain name for *name*. If *name* is omitted or "
 "empty, it is interpreted as the local host.  To find the fully qualified "
@@ -973,7 +973,7 @@ msgid ""
 "``'0.0.0.0'``, the hostname from :func:`gethostname` is returned."
 msgstr ""
 
-#: library/socket.rst:818
+#: library/socket.rst:822
 msgid ""
 "Translate a host name to IPv4 address format.  The IPv4 address is returned "
 "as a string, such as  ``'100.50.200.5'``.  If the host name is an IPv4 "
@@ -983,13 +983,13 @@ msgid ""
 "stack support."
 msgstr ""
 
-#: library/socket.rst:838
+#: library/socket.rst:842
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.gethostbyname`` with "
 "argument ``hostname``."
 msgstr ""
 
-#: library/socket.rst:829
+#: library/socket.rst:833
 msgid ""
 "Translate a host name to IPv4 address format, extended interface. Return a "
 "triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is the host's "
@@ -1001,25 +1001,25 @@ msgid ""
 "stack support."
 msgstr ""
 
-#: library/socket.rst:843
+#: library/socket.rst:847
 msgid ""
 "Return a string containing the hostname of the machine where  the Python "
 "interpreter is currently executing."
 msgstr ""
 
-#: library/socket.rst:846
+#: library/socket.rst:850
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.gethostname`` with no "
 "arguments."
 msgstr ""
 
-#: library/socket.rst:848
+#: library/socket.rst:852
 msgid ""
 "Note: :func:`gethostname` doesn't always return the fully qualified domain "
 "name; use :func:`getfqdn` for that."
 msgstr ""
 
-#: library/socket.rst:854
+#: library/socket.rst:858
 msgid ""
 "Return a triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is "
 "the primary host name responding to the given *ip_address*, *aliaslist* is a "
@@ -1030,13 +1030,13 @@ msgid ""
 "`gethostbyaddr` supports both IPv4 and IPv6."
 msgstr ""
 
-#: library/socket.rst:862
+#: library/socket.rst:866
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.gethostbyaddr`` with "
 "argument ``ip_address``."
 msgstr ""
 
-#: library/socket.rst:867
+#: library/socket.rst:871
 msgid ""
 "Translate a socket address *sockaddr* into a 2-tuple ``(host, port)``. "
 "Depending on the settings of *flags*, the result can contain a fully-"
@@ -1044,24 +1044,24 @@ msgid ""
 "Similarly, *port* can contain a string port name or a numeric port number."
 msgstr ""
 
-#: library/socket.rst:872
+#: library/socket.rst:876
 msgid ""
 "For IPv6 addresses, ``%scope_id`` is appended to the host part if *sockaddr* "
 "contains meaningful *scope_id*. Usually this happens for multicast addresses."
 msgstr ""
 
-#: library/socket.rst:875
+#: library/socket.rst:879
 msgid ""
 "For more information about *flags* you can consult :manpage:`getnameinfo(3)`."
 msgstr ""
 
-#: library/socket.rst:877
+#: library/socket.rst:881
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.getnameinfo`` with "
 "argument ``sockaddr``."
 msgstr ""
 
-#: library/socket.rst:881
+#: library/socket.rst:885
 msgid ""
 "Translate an internet protocol name (for example, ``'icmp'``) to a constant "
 "suitable for passing as the (optional) third argument to the :func:`.socket` "
@@ -1070,66 +1070,66 @@ msgid ""
 "chosen automatically if the protocol is omitted or zero."
 msgstr ""
 
-#: library/socket.rst:890
+#: library/socket.rst:894
 msgid ""
 "Translate an internet service name and protocol name to a port number for "
 "that service.  The optional protocol name, if given, should be ``'tcp'`` or "
 "``'udp'``, otherwise any protocol will match."
 msgstr ""
 
-#: library/socket.rst:894
+#: library/socket.rst:898
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.getservbyname`` with "
 "arguments ``servicename``, ``protocolname``."
 msgstr ""
 
-#: library/socket.rst:899
+#: library/socket.rst:903
 msgid ""
 "Translate an internet port number and protocol name to a service name for "
 "that service.  The optional protocol name, if given, should be ``'tcp'`` or "
 "``'udp'``, otherwise any protocol will match."
 msgstr ""
 
-#: library/socket.rst:903
+#: library/socket.rst:907
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.getservbyport`` with "
 "arguments ``port``, ``protocolname``."
 msgstr ""
 
-#: library/socket.rst:908
+#: library/socket.rst:912
 msgid ""
 "Convert 32-bit positive integers from network to host byte order.  On "
 "machines where the host byte order is the same as network byte order, this "
 "is a no-op; otherwise, it performs a 4-byte swap operation."
 msgstr ""
 
-#: library/socket.rst:915
+#: library/socket.rst:919
 msgid ""
 "Convert 16-bit positive integers from network to host byte order.  On "
 "machines where the host byte order is the same as network byte order, this "
 "is a no-op; otherwise, it performs a 2-byte swap operation."
 msgstr ""
 
-#: library/socket.rst:937
+#: library/socket.rst:941
 msgid ""
 "Raises :exc:`OverflowError` if *x* does not fit in a 16-bit unsigned integer."
 msgstr ""
 
-#: library/socket.rst:926
+#: library/socket.rst:930
 msgid ""
 "Convert 32-bit positive integers from host to network byte order.  On "
 "machines where the host byte order is the same as network byte order, this "
 "is a no-op; otherwise, it performs a 4-byte swap operation."
 msgstr ""
 
-#: library/socket.rst:933
+#: library/socket.rst:937
 msgid ""
 "Convert 16-bit positive integers from host to network byte order.  On "
 "machines where the host byte order is the same as network byte order, this "
 "is a no-op; otherwise, it performs a 2-byte swap operation."
 msgstr ""
 
-#: library/socket.rst:944
+#: library/socket.rst:948
 msgid ""
 "Convert an IPv4 address from dotted-quad string format (for example, "
 "'123.45.67.89') to 32-bit packed binary format, as a bytes object four "
@@ -1139,26 +1139,26 @@ msgid ""
 "returns."
 msgstr ""
 
-#: library/socket.rst:950
+#: library/socket.rst:954
 msgid ""
 ":func:`inet_aton` also accepts strings with less than three dots; see the "
 "Unix manual page :manpage:`inet(3)` for details."
 msgstr ""
 
-#: library/socket.rst:953
+#: library/socket.rst:957
 msgid ""
 "If the IPv4 address string passed to this function is invalid, :exc:"
 "`OSError` will be raised. Note that exactly what is valid depends on the "
 "underlying C implementation of :c:func:`inet_aton`."
 msgstr ""
 
-#: library/socket.rst:957
+#: library/socket.rst:961
 msgid ""
 ":func:`inet_aton` does not support IPv6, and :func:`inet_pton` should be "
 "used instead for IPv4/v6 dual stack support."
 msgstr ""
 
-#: library/socket.rst:963
+#: library/socket.rst:967
 msgid ""
 "Convert a 32-bit packed IPv4 address (a :term:`bytes-like object` four bytes "
 "in length) to its standard dotted-quad string representation (for example, "
@@ -1168,7 +1168,7 @@ msgid ""
 "an argument."
 msgstr ""
 
-#: library/socket.rst:970
+#: library/socket.rst:974
 msgid ""
 "If the byte sequence passed to this function is not exactly 4 bytes in "
 "length, :exc:`OSError` will be raised. :func:`inet_ntoa` does not support "
@@ -1176,7 +1176,7 @@ msgid ""
 "support."
 msgstr ""
 
-#: library/socket.rst:981
+#: library/socket.rst:985
 msgid ""
 "Convert an IP address from its family-specific string format to a packed, "
 "binary format. :func:`inet_pton` is useful when a library or network "
@@ -1184,7 +1184,7 @@ msgid ""
 "func:`inet_aton`) or :c:type:`struct in6_addr`."
 msgstr ""
 
-#: library/socket.rst:986
+#: library/socket.rst:990
 msgid ""
 "Supported values for *address_family* are currently :const:`AF_INET` and :"
 "const:`AF_INET6`. If the IP address string *ip_string* is invalid, :exc:"
@@ -1193,16 +1193,16 @@ msgid ""
 "`inet_pton`."
 msgstr ""
 
-#: library/socket.rst:1013
+#: library/socket.rst:1017
 msgid ""
 ":ref:`Availability <availability>`: Unix (maybe not all platforms), Windows."
 msgstr ""
 
-#: library/socket.rst:1014
+#: library/socket.rst:1018
 msgid "Windows support added"
 msgstr "Ajout de la gestion de Windows."
 
-#: library/socket.rst:1000
+#: library/socket.rst:1004
 msgid ""
 "Convert a packed IP address (a :term:`bytes-like object` of some number of "
 "bytes) to its standard, family-specific string representation (for example, "
@@ -1211,7 +1211,7 @@ msgid ""
 "in_addr` (similar to :func:`inet_ntoa`) or :c:type:`struct in6_addr`."
 msgstr ""
 
-#: library/socket.rst:1007
+#: library/socket.rst:1011
 msgid ""
 "Supported values for *address_family* are currently :const:`AF_INET` and :"
 "const:`AF_INET6`. If the bytes object *packed_ip* is not the correct length "
@@ -1219,7 +1219,7 @@ msgid ""
 "`OSError` is raised for errors from the call to :func:`inet_ntop`."
 msgstr ""
 
-#: library/socket.rst:1029
+#: library/socket.rst:1033
 msgid ""
 "Return the total length, without trailing padding, of an ancillary data item "
 "with associated data of the given *length*.  This value can often be used as "
@@ -1230,12 +1230,12 @@ msgid ""
 "the permissible range of values."
 msgstr ""
 
-#: library/socket.rst:1060 library/socket.rst:1547 library/socket.rst:1653
+#: library/socket.rst:1064 library/socket.rst:1551 library/socket.rst:1657
 msgid ""
 ":ref:`Availability <availability>`: most Unix platforms, possibly others."
 msgstr ""
 
-#: library/socket.rst:1045
+#: library/socket.rst:1049
 msgid ""
 "Return the buffer size needed for :meth:`~socket.recvmsg` to receive an "
 "ancillary data item with associated data of the given *length*, along with "
@@ -1245,7 +1245,7 @@ msgid ""
 "values."
 msgstr ""
 
-#: library/socket.rst:1053
+#: library/socket.rst:1057
 msgid ""
 "Note that some systems might support ancillary data without providing this "
 "function.  Also note that setting the buffer size using the results of this "
@@ -1253,142 +1253,142 @@ msgid ""
 "received, since additional data may be able to fit into the padding area."
 msgstr ""
 
-#: library/socket.rst:1066
+#: library/socket.rst:1070
 msgid ""
 "Return the default timeout in seconds (float) for new socket objects. A "
 "value of ``None`` indicates that new socket objects have no timeout. When "
 "the socket module is first imported, the default is ``None``."
 msgstr ""
 
-#: library/socket.rst:1073
+#: library/socket.rst:1077
 msgid ""
 "Set the default timeout in seconds (float) for new socket objects.  When the "
 "socket module is first imported, the default is ``None``.  See :meth:"
 "`~socket.settimeout` for possible values and their respective meanings."
 msgstr ""
 
-#: library/socket.rst:1081
+#: library/socket.rst:1085
 msgid ""
 "Set the machine's hostname to *name*.  This will raise an :exc:`OSError` if "
 "you don't have enough rights."
 msgstr ""
 
-#: library/socket.rst:1084
+#: library/socket.rst:1088
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.sethostname`` with "
 "argument ``name``."
 msgstr ""
 
-#: library/socket.rst:1087
+#: library/socket.rst:1091
 msgid ":ref:`Availability <availability>`: Unix."
 msgstr ":ref:`Disponibilité <availability>` : Unix."
 
-#: library/socket.rst:1093
+#: library/socket.rst:1097
 msgid ""
 "Return a list of network interface information (index int, name string) "
 "tuples. :exc:`OSError` if the system call fails."
 msgstr ""
 
-#: library/socket.rst:1125 library/socket.rst:1142
+#: library/socket.rst:1129 library/socket.rst:1146
 msgid ":ref:`Availability <availability>`: Unix, Windows."
 msgstr ":ref:`Disponibilité <availability>` : Unix, Windows."
 
-#: library/socket.rst:1128 library/socket.rst:1145
+#: library/socket.rst:1132 library/socket.rst:1149
 #, fuzzy
 msgid "Windows support was added."
 msgstr "Ajout de la gestion de Windows."
 
-#: library/socket.rst:1106
+#: library/socket.rst:1110
 msgid ""
 "On Windows network interfaces have different names in different contexts "
 "(all names are examples):"
 msgstr ""
 
-#: library/socket.rst:1109
+#: library/socket.rst:1113
 msgid "UUID: ``{FB605B73-AAC2-49A6-9A2F-25416AEA0573}``"
 msgstr ""
 
-#: library/socket.rst:1110
+#: library/socket.rst:1114
 msgid "name: ``ethernet_32770``"
 msgstr ""
 
-#: library/socket.rst:1111
+#: library/socket.rst:1115
 msgid "friendly name: ``vEthernet (nat)``"
 msgstr ""
 
-#: library/socket.rst:1112
+#: library/socket.rst:1116
 msgid "description: ``Hyper-V Virtual Ethernet Adapter``"
 msgstr ""
 
-#: library/socket.rst:1114
+#: library/socket.rst:1118
 msgid ""
 "This function returns names of the second form from the list, "
 "``ethernet_32770`` in this example case."
 msgstr ""
 
-#: library/socket.rst:1120
+#: library/socket.rst:1124
 msgid ""
 "Return a network interface index number corresponding to an interface name. :"
 "exc:`OSError` if no interface with the given name exists."
 msgstr ""
 
-#: library/socket.rst:1149
+#: library/socket.rst:1153
 msgid "\"Interface name\" is a name as documented in :func:`if_nameindex`."
 msgstr ""
 
-#: library/socket.rst:1137
+#: library/socket.rst:1141
 msgid ""
 "Return a network interface name corresponding to an interface index number. :"
 "exc:`OSError` if no interface with the given index exists."
 msgstr ""
 
-#: library/socket.rst:1154
+#: library/socket.rst:1158
 msgid ""
 "Send the list of file descriptors *fds* over an :const:`AF_UNIX` socket "
 "*sock*. The *fds* parameter is a sequence of file descriptors. Consult :meth:"
 "`sendmsg` for the documentation of these parameters."
 msgstr ""
 
-#: library/socket.rst:1159
+#: library/socket.rst:1163
 msgid ""
 ":ref:`Availability <availability>`: Unix supporting :meth:`~socket.sendmsg` "
 "and :const:`SCM_RIGHTS` mechanism."
 msgstr ""
 
-#: library/socket.rst:1165
+#: library/socket.rst:1169
 msgid ""
 "Receive up to *maxfds* file descriptors from an :const:`AF_UNIX` socket "
 "*sock*. Return ``(msg, list(fds), flags, addr)``. Consult :meth:`recvmsg` "
 "for the documentation of these parameters."
 msgstr ""
 
-#: library/socket.rst:1170
+#: library/socket.rst:1174
 msgid ""
 ":ref:`Availability <availability>`: Unix supporting :meth:`~socket.recvmsg` "
 "and :const:`SCM_RIGHTS` mechanism."
 msgstr ""
 
-#: library/socket.rst:1175
+#: library/socket.rst:1179
 msgid "Any truncated integers at the end of the list of file descriptors."
 msgstr ""
 
-#: library/socket.rst:1181
+#: library/socket.rst:1185
 msgid "Socket Objects"
 msgstr ""
 
-#: library/socket.rst:1183
+#: library/socket.rst:1187
 msgid ""
 "Socket objects have the following methods.  Except for :meth:`~socket."
 "makefile`, these correspond to Unix system calls applicable to sockets."
 msgstr ""
 
-#: library/socket.rst:1187
+#: library/socket.rst:1191
 msgid ""
 "Support for the :term:`context manager` protocol was added.  Exiting the "
 "context manager is equivalent to calling :meth:`~socket.close`."
 msgstr ""
 
-#: library/socket.rst:1194
+#: library/socket.rst:1198
 msgid ""
 "Accept a connection. The socket must be bound to an address and listening "
 "for connections. The return value is a pair ``(conn, address)`` where *conn* "
@@ -1397,12 +1397,12 @@ msgid ""
 "connection."
 msgstr ""
 
-#: library/socket.rst:1288
+#: library/socket.rst:1292
 msgid "The socket is now non-inheritable."
 msgstr ""
 
-#: library/socket.rst:1419 library/socket.rst:1508 library/socket.rst:1598
-#: library/socket.rst:1658
+#: library/socket.rst:1423 library/socket.rst:1512 library/socket.rst:1602
+#: library/socket.rst:1662
 msgid ""
 "If the system call is interrupted and the signal handler does not raise an "
 "exception, the method now retries the system call instead of raising an :exc:"
@@ -1412,19 +1412,19 @@ msgstr ""
 "aucune exception, la fonction réessaye l'appel système au lieu de lever une :"
 "exc:`InterruptedError` (voir la :pep:`475` à propos du raisonnement)."
 
-#: library/socket.rst:1212
+#: library/socket.rst:1216
 msgid ""
 "Bind the socket to *address*.  The socket must not already be bound. (The "
 "format of *address* depends on the address family --- see above.)"
 msgstr ""
 
-#: library/socket.rst:1215
+#: library/socket.rst:1219
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.bind`` with arguments "
 "``self``, ``address``."
 msgstr ""
 
-#: library/socket.rst:1219
+#: library/socket.rst:1223
 msgid ""
 "Mark the socket closed.  The underlying system resource (e.g. a file "
 "descriptor) is also closed when all file objects from :meth:`makefile()` are "
@@ -1433,20 +1433,20 @@ msgid ""
 "flushed)."
 msgstr ""
 
-#: library/socket.rst:1225
+#: library/socket.rst:1229
 msgid ""
 "Sockets are automatically closed when they are garbage-collected, but it is "
 "recommended to :meth:`close` them explicitly, or to use a :keyword:`with` "
 "statement around them."
 msgstr ""
 
-#: library/socket.rst:1229
+#: library/socket.rst:1233
 msgid ""
 ":exc:`OSError` is now raised if an error occurs when the underlying :c:func:"
 "`close` call is made."
 msgstr ""
 
-#: library/socket.rst:1235
+#: library/socket.rst:1239
 msgid ""
 ":meth:`close()` releases the resource associated with a connection but does "
 "not necessarily close the connection immediately.  If you want to close the "
@@ -1454,13 +1454,13 @@ msgid ""
 "`close()`."
 msgstr ""
 
-#: library/socket.rst:1243
+#: library/socket.rst:1247
 msgid ""
 "Connect to a remote socket at *address*. (The format of *address* depends on "
 "the address family --- see above.)"
 msgstr ""
 
-#: library/socket.rst:1246
+#: library/socket.rst:1250
 msgid ""
 "If the connection is interrupted by a signal, the method waits until the "
 "connection completes, or raise a :exc:`TimeoutError` on timeout, if the "
@@ -1470,13 +1470,13 @@ msgid ""
 "(or the exception raised by the signal handler)."
 msgstr ""
 
-#: library/socket.rst:1271
+#: library/socket.rst:1275
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.connect`` with arguments "
 "``self``, ``address``."
 msgstr ""
 
-#: library/socket.rst:1255
+#: library/socket.rst:1259
 msgid ""
 "The method now waits until the connection completes instead of raising an :"
 "exc:`InterruptedError` exception if the connection is interrupted by a "
@@ -1484,7 +1484,7 @@ msgid ""
 "blocking or has a timeout (see the :pep:`475` for the rationale)."
 msgstr ""
 
-#: library/socket.rst:1264
+#: library/socket.rst:1268
 msgid ""
 "Like ``connect(address)``, but return an error indicator instead of raising "
 "an exception for errors returned by the C-level :c:func:`connect` call "
@@ -1494,38 +1494,38 @@ msgid ""
 "asynchronous connects."
 msgstr ""
 
-#: library/socket.rst:1275
+#: library/socket.rst:1279
 msgid ""
 "Put the socket object into closed state without actually closing the "
 "underlying file descriptor.  The file descriptor is returned, and can be "
 "reused for other purposes."
 msgstr ""
 
-#: library/socket.rst:1284
+#: library/socket.rst:1288
 msgid "Duplicate the socket."
 msgstr ""
 
-#: library/socket.rst:1294
+#: library/socket.rst:1298
 msgid ""
 "Return the socket's file descriptor (a small integer), or -1 on failure. "
 "This is useful with :func:`select.select`."
 msgstr ""
 
-#: library/socket.rst:1297
+#: library/socket.rst:1301
 msgid ""
 "Under Windows the small integer returned by this method cannot be used where "
 "a file descriptor can be used (such as :func:`os.fdopen`).  Unix does not "
 "have this limitation."
 msgstr ""
 
-#: library/socket.rst:1303
+#: library/socket.rst:1307
 msgid ""
 "Get the :ref:`inheritable flag <fd_inheritance>` of the socket's file "
 "descriptor or socket's handle: ``True`` if the socket can be inherited in "
 "child processes, ``False`` if it cannot."
 msgstr ""
 
-#: library/socket.rst:1312
+#: library/socket.rst:1316
 msgid ""
 "Return the remote address to which the socket is connected.  This is useful "
 "to find out the port number of a remote IPv4/v6 socket, for instance. (The "
@@ -1533,14 +1533,14 @@ msgid ""
 "above.)  On some systems this function is not supported."
 msgstr ""
 
-#: library/socket.rst:1320
+#: library/socket.rst:1324
 msgid ""
 "Return the socket's own address.  This is useful to find out the port number "
 "of an IPv4/v6 socket, for instance. (The format of the address returned "
 "depends on the address family --- see above.)"
 msgstr ""
 
-#: library/socket.rst:1327
+#: library/socket.rst:1331
 msgid ""
 "Return the value of the given socket option (see the Unix man page :manpage:"
 "`getsockopt(2)`).  The needed symbolic constants (:const:`SO_\\*` etc.) are "
@@ -1552,16 +1552,16 @@ msgid ""
 "`struct` for a way to decode C structures encoded as byte strings)."
 msgstr ""
 
-#: library/socket.rst:1339
+#: library/socket.rst:1343
 msgid ""
 "Return ``True`` if socket is in blocking mode, ``False`` if in non-blocking."
 msgstr ""
 
-#: library/socket.rst:1342
+#: library/socket.rst:1346
 msgid "This is equivalent to checking ``socket.gettimeout() == 0``."
 msgstr ""
 
-#: library/socket.rst:1349
+#: library/socket.rst:1353
 msgid ""
 "Return the timeout in seconds (float) associated with socket operations, or "
 "``None`` if no timeout is set.  This reflects the last call to :meth:"
@@ -1572,30 +1572,30 @@ msgstr ""
 msgid "platform"
 msgstr ""
 
-#: library/socket.rst:1356
+#: library/socket.rst:1360
 msgid "Windows"
 msgstr "Windows"
 
-#: library/socket.rst:1358
+#: library/socket.rst:1362
 msgid ""
 "The :meth:`ioctl` method is a limited interface to the WSAIoctl system "
 "interface.  Please refer to the `Win32 documentation <https://msdn.microsoft."
 "com/en-us/library/ms741621%28VS.85%29.aspx>`_ for more information."
 msgstr ""
 
-#: library/socket.rst:1363
+#: library/socket.rst:1367
 msgid ""
 "On other platforms, the generic :func:`fcntl.fcntl` and :func:`fcntl.ioctl` "
 "functions may be used; they accept a socket object as their first argument."
 msgstr ""
 
-#: library/socket.rst:1366
+#: library/socket.rst:1370
 msgid ""
 "Currently only the following control codes are supported: ``SIO_RCVALL``, "
 "``SIO_KEEPALIVE_VALS``, and ``SIO_LOOPBACK_FAST_PATH``."
 msgstr ""
 
-#: library/socket.rst:1374
+#: library/socket.rst:1378
 msgid ""
 "Enable a server to accept connections.  If *backlog* is specified, it must "
 "be at least 0 (if it is lower, it is set to 0); it specifies the number of "
@@ -1603,11 +1603,11 @@ msgid ""
 "connections. If not specified, a default reasonable value is chosen."
 msgstr ""
 
-#: library/socket.rst:1379
+#: library/socket.rst:1383
 msgid "The *backlog* parameter is now optional."
 msgstr ""
 
-#: library/socket.rst:1387
+#: library/socket.rst:1391
 msgid ""
 "Return a :term:`file object` associated with the socket.  The exact returned "
 "type depends on the arguments given to :meth:`makefile`.  These arguments "
@@ -1616,28 +1616,28 @@ msgid ""
 "``'b'``."
 msgstr ""
 
-#: library/socket.rst:1392
+#: library/socket.rst:1396
 msgid ""
 "The socket must be in blocking mode; it can have a timeout, but the file "
 "object's internal buffer may end up in an inconsistent state if a timeout "
 "occurs."
 msgstr ""
 
-#: library/socket.rst:1396
+#: library/socket.rst:1400
 msgid ""
 "Closing the file object returned by :meth:`makefile` won't close the "
 "original socket unless all other file objects have been closed and :meth:"
 "`socket.close` has been called on the socket object."
 msgstr ""
 
-#: library/socket.rst:1402
+#: library/socket.rst:1406
 msgid ""
 "On Windows, the file-like object created by :meth:`makefile` cannot be used "
 "where a file object with a file descriptor is expected, such as the stream "
 "arguments of :meth:`subprocess.Popen`."
 msgstr ""
 
-#: library/socket.rst:1409
+#: library/socket.rst:1413
 msgid ""
 "Receive data from the socket.  The return value is a bytes object "
 "representing the data received.  The maximum amount of data to be received "
@@ -1646,13 +1646,13 @@ msgid ""
 "zero."
 msgstr ""
 
-#: library/socket.rst:1416
+#: library/socket.rst:1420
 msgid ""
 "For best match with hardware and network realities, the value of  *bufsize* "
 "should be a relatively small power of 2, for example, 4096."
 msgstr ""
 
-#: library/socket.rst:1427
+#: library/socket.rst:1431
 msgid ""
 "Receive data from the socket.  The return value is a pair ``(bytes, "
 "address)`` where *bytes* is a bytes object representing the data received "
@@ -1662,14 +1662,14 @@ msgid ""
 "address family --- see above.)"
 msgstr ""
 
-#: library/socket.rst:1438
+#: library/socket.rst:1442
 msgid ""
 "For multicast IPv6 address, first item of *address* does not contain ``"
 "%scope_id`` part anymore. In order to get full IPv6 address use :func:"
 "`getnameinfo`."
 msgstr ""
 
-#: library/socket.rst:1445
+#: library/socket.rst:1449
 msgid ""
 "Receive normal data (up to *bufsize* bytes) and ancillary data from the "
 "socket.  The *ancbufsize* argument sets the size in bytes of the internal "
@@ -1680,7 +1680,7 @@ msgid ""
 "*flags* argument defaults to 0 and has the same meaning as for :meth:`recv`."
 msgstr ""
 
-#: library/socket.rst:1455
+#: library/socket.rst:1459
 msgid ""
 "The return value is a 4-tuple: ``(data, ancdata, msg_flags, address)``.  The "
 "*data* item is a :class:`bytes` object holding the non-ancillary data "
@@ -1695,7 +1695,7 @@ msgid ""
 "socket, if available; otherwise, its value is unspecified."
 msgstr ""
 
-#: library/socket.rst:1469
+#: library/socket.rst:1473
 msgid ""
 "On some systems, :meth:`sendmsg` and :meth:`recvmsg` can be used to pass "
 "file descriptors between processes over an :const:`AF_UNIX` socket.  When "
@@ -1708,7 +1708,7 @@ msgid ""
 "descriptors received via this mechanism."
 msgstr ""
 
-#: library/socket.rst:1480
+#: library/socket.rst:1484
 msgid ""
 "Some systems do not indicate the truncated length of ancillary data items "
 "which have been only partially received.  If an item appears to extend "
@@ -1717,7 +1717,7 @@ msgid ""
 "provided it has not been truncated before the start of its associated data."
 msgstr ""
 
-#: library/socket.rst:1487
+#: library/socket.rst:1491
 msgid ""
 "On systems which support the :const:`SCM_RIGHTS` mechanism, the following "
 "function will receive up to *maxfds* file descriptors, returning the message "
@@ -1726,7 +1726,7 @@ msgid ""
 "meth:`sendmsg`. ::"
 msgstr ""
 
-#: library/socket.rst:1516
+#: library/socket.rst:1520
 msgid ""
 "Receive normal data and ancillary data from the socket, behaving as :meth:"
 "`recvmsg` would, but scatter the non-ancillary data into a series of buffers "
@@ -1739,7 +1739,7 @@ msgid ""
 "arguments have the same meaning as for :meth:`recvmsg`."
 msgstr ""
 
-#: library/socket.rst:1527
+#: library/socket.rst:1531
 msgid ""
 "The return value is a 4-tuple: ``(nbytes, ancdata, msg_flags, address)``, "
 "where *nbytes* is the total number of bytes of non-ancillary data written "
@@ -1747,11 +1747,11 @@ msgid ""
 "for :meth:`recvmsg`."
 msgstr ""
 
-#: library/socket.rst:1532
+#: library/socket.rst:1536
 msgid "Example::"
 msgstr "Exemple ::"
 
-#: library/socket.rst:1553
+#: library/socket.rst:1557
 msgid ""
 "Receive data from the socket, writing it into *buffer* instead of creating a "
 "new bytestring.  The return value is a pair ``(nbytes, address)`` where "
@@ -1761,7 +1761,7 @@ msgid ""
 "format of *address* depends on the address family --- see above.)"
 msgstr ""
 
-#: library/socket.rst:1563
+#: library/socket.rst:1567
 msgid ""
 "Receive up to *nbytes* bytes from the socket, storing the data into a buffer "
 "rather than creating a new bytestring.  If *nbytes* is not specified (or 0), "
@@ -1770,7 +1770,7 @@ msgid ""
 "of the optional argument *flags*; it defaults to zero."
 msgstr ""
 
-#: library/socket.rst:1572
+#: library/socket.rst:1576
 msgid ""
 "Send data to the socket.  The socket must be connected to a remote socket.  "
 "The optional *flags* argument has the same meaning as for :meth:`recv` "
@@ -1780,7 +1780,7 @@ msgid ""
 "data. For further information on this topic, consult the :ref:`socket-howto`."
 msgstr ""
 
-#: library/socket.rst:1587
+#: library/socket.rst:1591
 msgid ""
 "Send data to the socket.  The socket must be connected to a remote socket.  "
 "The optional *flags* argument has the same meaning as for :meth:`recv` "
@@ -1790,13 +1790,13 @@ msgid ""
 "to determine how much data, if any, was successfully sent."
 msgstr ""
 
-#: library/socket.rst:1594
+#: library/socket.rst:1598
 msgid ""
 "The socket timeout is no more reset each time data is sent successfully. The "
 "socket timeout is now the maximum total duration to send all data."
 msgstr ""
 
-#: library/socket.rst:1607
+#: library/socket.rst:1611
 msgid ""
 "Send data to the socket.  The socket should not be connected to a remote "
 "socket, since the destination socket is specified by *address*.  The "
@@ -1805,13 +1805,13 @@ msgid ""
 "address family --- see above.)"
 msgstr ""
 
-#: library/socket.rst:1613
+#: library/socket.rst:1617
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.sendto`` with arguments "
 "``self``, ``address``."
 msgstr ""
 
-#: library/socket.rst:1623
+#: library/socket.rst:1627
 msgid ""
 "Send normal and ancillary data to the socket, gathering the non-ancillary "
 "data from a series of buffers and concatenating it into a single message.  "
@@ -1831,27 +1831,27 @@ msgid ""
 "bytes of non-ancillary data sent."
 msgstr ""
 
-#: library/socket.rst:1643
+#: library/socket.rst:1647
 msgid ""
 "The following function sends the list of file descriptors *fds* over an :"
 "const:`AF_UNIX` socket, on systems which support the :const:`SCM_RIGHTS` "
 "mechanism.  See also :meth:`recvmsg`. ::"
 msgstr ""
 
-#: library/socket.rst:1654
+#: library/socket.rst:1658
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``socket.sendmsg`` with arguments "
 "``self``, ``address``."
 msgstr ""
 
-#: library/socket.rst:1665
+#: library/socket.rst:1669
 msgid ""
 "Specialized version of :meth:`~socket.sendmsg` for :const:`AF_ALG` socket. "
 "Set mode, IV, AEAD associated data length and flags for :const:`AF_ALG` "
 "socket."
 msgstr ""
 
-#: library/socket.rst:1674
+#: library/socket.rst:1678
 msgid ""
 "Send a file until EOF is reached by using high-performance :mod:`os."
 "sendfile` and return the total number of bytes which were sent. *file* must "
@@ -1865,38 +1865,38 @@ msgid ""
 "be of :const:`SOCK_STREAM` type. Non-blocking sockets are not supported."
 msgstr ""
 
-#: library/socket.rst:1690
+#: library/socket.rst:1694
 msgid ""
 "Set the :ref:`inheritable flag <fd_inheritance>` of the socket's file "
 "descriptor or socket's handle."
 msgstr ""
 
-#: library/socket.rst:1698
+#: library/socket.rst:1702
 msgid ""
 "Set blocking or non-blocking mode of the socket: if *flag* is false, the "
 "socket is set to non-blocking, else to blocking mode."
 msgstr ""
 
-#: library/socket.rst:1701
+#: library/socket.rst:1705
 msgid ""
 "This method is a shorthand for certain :meth:`~socket.settimeout` calls:"
 msgstr ""
 
-#: library/socket.rst:1703
+#: library/socket.rst:1707
 msgid "``sock.setblocking(True)`` is equivalent to ``sock.settimeout(None)``"
 msgstr ""
 
-#: library/socket.rst:1705
+#: library/socket.rst:1709
 msgid "``sock.setblocking(False)`` is equivalent to ``sock.settimeout(0.0)``"
 msgstr ""
 
-#: library/socket.rst:1707
+#: library/socket.rst:1711
 msgid ""
 "The method no longer applies :const:`SOCK_NONBLOCK` flag on :attr:`socket."
 "type`."
 msgstr ""
 
-#: library/socket.rst:1714
+#: library/socket.rst:1718
 msgid ""
 "Set a timeout on blocking socket operations.  The *value* argument can be a "
 "nonnegative floating point number expressing seconds, or ``None``. If a non-"
@@ -1906,19 +1906,19 @@ msgid ""
 "blocking mode. If ``None`` is given, the socket is put in blocking mode."
 msgstr ""
 
-#: library/socket.rst:1721
+#: library/socket.rst:1725
 msgid ""
 "For further information, please consult the :ref:`notes on socket timeouts "
 "<socket-timeouts>`."
 msgstr ""
 
-#: library/socket.rst:1723
+#: library/socket.rst:1727
 msgid ""
 "The method no longer toggles :const:`SOCK_NONBLOCK` flag on :attr:`socket."
 "type`."
 msgstr ""
 
-#: library/socket.rst:1736
+#: library/socket.rst:1740
 msgid ""
 "Set the value of the given socket option (see the Unix manual page :manpage:"
 "`setsockopt(2)`).  The needed symbolic constants are defined in the :mod:"
@@ -1931,11 +1931,11 @@ msgid ""
 "C function with ``optval=NULL`` and ``optlen=optlen``."
 msgstr ""
 
-#: library/socket.rst:1750
+#: library/socket.rst:1754
 msgid "setsockopt(level, optname, None, optlen: int) form added."
 msgstr ""
 
-#: library/socket.rst:1756
+#: library/socket.rst:1760
 msgid ""
 "Shut down one or both halves of the connection.  If *how* is :const:"
 "`SHUT_RD`, further receives are disallowed.  If *how* is :const:`SHUT_WR`, "
@@ -1943,7 +1943,7 @@ msgid ""
 "and receives are disallowed."
 msgstr ""
 
-#: library/socket.rst:1764
+#: library/socket.rst:1768
 msgid ""
 "Duplicate a socket and prepare it for sharing with a target process.  The "
 "target process must be provided with *process_id*.  The resulting bytes "
@@ -1954,48 +1954,48 @@ msgid ""
 "process."
 msgstr ""
 
-#: library/socket.rst:1776
+#: library/socket.rst:1780
 msgid ""
 "Note that there are no methods :meth:`read` or :meth:`write`; use :meth:"
 "`~socket.recv` and :meth:`~socket.send` without *flags* argument instead."
 msgstr ""
 
-#: library/socket.rst:1779
+#: library/socket.rst:1783
 msgid ""
 "Socket objects also have these (read-only) attributes that correspond to the "
 "values given to the :class:`~socket.socket` constructor."
 msgstr ""
 
-#: library/socket.rst:1785
+#: library/socket.rst:1789
 msgid "The socket family."
 msgstr ""
 
-#: library/socket.rst:1790
+#: library/socket.rst:1794
 msgid "The socket type."
 msgstr ""
 
-#: library/socket.rst:1795
+#: library/socket.rst:1799
 msgid "The socket protocol."
 msgstr ""
 
-#: library/socket.rst:1802
+#: library/socket.rst:1806
 msgid "Notes on socket timeouts"
 msgstr ""
 
-#: library/socket.rst:1804
+#: library/socket.rst:1808
 msgid ""
 "A socket object can be in one of three modes: blocking, non-blocking, or "
 "timeout.  Sockets are by default always created in blocking mode, but this "
 "can be changed by calling :func:`setdefaulttimeout`."
 msgstr ""
 
-#: library/socket.rst:1808
+#: library/socket.rst:1812
 msgid ""
 "In *blocking mode*, operations block until complete or the system returns an "
 "error (such as connection timed out)."
 msgstr ""
 
-#: library/socket.rst:1811
+#: library/socket.rst:1815
 msgid ""
 "In *non-blocking mode*, operations fail (with an error that is unfortunately "
 "system-dependent) if they cannot be completed immediately: functions from "
@@ -2003,14 +2003,14 @@ msgid ""
 "for reading or writing."
 msgstr ""
 
-#: library/socket.rst:1816
+#: library/socket.rst:1820
 msgid ""
 "In *timeout mode*, operations fail if they cannot be completed within the "
 "timeout specified for the socket (they raise a :exc:`timeout` exception) or "
 "if the system returns an error."
 msgstr ""
 
-#: library/socket.rst:1821
+#: library/socket.rst:1825
 msgid ""
 "At the operating system level, sockets in *timeout mode* are internally set "
 "in non-blocking mode.  Also, the blocking and timeout modes are shared "
@@ -2019,11 +2019,11 @@ msgid ""
 "you decide to use the :meth:`~socket.fileno()` of a socket."
 msgstr ""
 
-#: library/socket.rst:1828
+#: library/socket.rst:1832
 msgid "Timeouts and the ``connect`` method"
 msgstr ""
 
-#: library/socket.rst:1830
+#: library/socket.rst:1834
 msgid ""
 "The :meth:`~socket.connect` operation is also subject to the timeout "
 "setting, and in general it is recommended to call :meth:`~socket.settimeout` "
@@ -2033,24 +2033,24 @@ msgid ""
 "setting."
 msgstr ""
 
-#: library/socket.rst:1838
+#: library/socket.rst:1842
 msgid "Timeouts and the ``accept`` method"
 msgstr ""
 
-#: library/socket.rst:1840
+#: library/socket.rst:1844
 msgid ""
 "If :func:`getdefaulttimeout` is not :const:`None`, sockets returned by the :"
 "meth:`~socket.accept` method inherit that timeout.  Otherwise, the behaviour "
 "depends on settings of the listening socket:"
 msgstr ""
 
-#: library/socket.rst:1844
+#: library/socket.rst:1848
 msgid ""
 "if the listening socket is in *blocking mode* or in *timeout mode*, the "
 "socket returned by :meth:`~socket.accept` is in *blocking mode*;"
 msgstr ""
 
-#: library/socket.rst:1847
+#: library/socket.rst:1851
 msgid ""
 "if the listening socket is in *non-blocking mode*, whether the socket "
 "returned by :meth:`~socket.accept` is in blocking or non-blocking mode is "
@@ -2058,11 +2058,11 @@ msgid ""
 "it is recommended you manually override this setting."
 msgstr ""
 
-#: library/socket.rst:1856
+#: library/socket.rst:1860
 msgid "Example"
 msgstr "Exemple"
 
-#: library/socket.rst:1858
+#: library/socket.rst:1862
 msgid ""
 "Here are four minimal example programs using the TCP/IP protocol: a server "
 "that echoes all data that it receives back (servicing only one client), and "
@@ -2075,11 +2075,11 @@ msgid ""
 "new socket returned by :meth:`~socket.accept`."
 msgstr ""
 
-#: library/socket.rst:1868
+#: library/socket.rst:1872
 msgid "The first two examples support IPv4 only. ::"
 msgstr ""
 
-#: library/socket.rst:1899
+#: library/socket.rst:1903
 msgid ""
 "The next two examples are identical to the above two, but support both IPv4 "
 "and IPv6. The server side will listen to the first address family available "
@@ -2089,73 +2089,73 @@ msgid ""
 "resolution, and sends traffic to the first one connected successfully. ::"
 msgstr ""
 
-#: library/socket.rst:1971
+#: library/socket.rst:1975
 msgid ""
 "The next example shows how to write a very simple network sniffer with raw "
 "sockets on Windows. The example requires administrator privileges to modify "
 "the interface::"
 msgstr ""
 
-#: library/socket.rst:1996
+#: library/socket.rst:2000
 msgid ""
 "The next example shows how to use the socket interface to communicate to a "
 "CAN network using the raw socket protocol. To use CAN with the broadcast "
 "manager protocol instead, open a socket with::"
 msgstr ""
 
-#: library/socket.rst:2002
+#: library/socket.rst:2006
 msgid ""
 "After binding (:const:`CAN_RAW`) or connecting (:const:`CAN_BCM`) the "
 "socket, you can use the :meth:`socket.send`, and the :meth:`socket.recv` "
 "operations (and their counterparts) on the socket object as usual."
 msgstr ""
 
-#: library/socket.rst:2006
+#: library/socket.rst:2010
 msgid "This last example might require special privileges::"
 msgstr ""
 
-#: library/socket.rst:2046
+#: library/socket.rst:2050
 msgid ""
 "Running an example several times with too small delay between executions, "
 "could lead to this error::"
 msgstr ""
 
-#: library/socket.rst:2051
+#: library/socket.rst:2055
 msgid ""
 "This is because the previous execution has left the socket in a "
 "``TIME_WAIT`` state, and can't be immediately reused."
 msgstr ""
 
-#: library/socket.rst:2054
+#: library/socket.rst:2058
 msgid ""
 "There is a :mod:`socket` flag to set, in order to prevent this, :data:"
 "`socket.SO_REUSEADDR`::"
 msgstr ""
 
-#: library/socket.rst:2061
+#: library/socket.rst:2065
 msgid ""
 "the :data:`SO_REUSEADDR` flag tells the kernel to reuse a local socket in "
 "``TIME_WAIT`` state, without waiting for its natural timeout to expire."
 msgstr ""
 
-#: library/socket.rst:2067
+#: library/socket.rst:2071
 msgid ""
 "For an introduction to socket programming (in C), see the following papers:"
 msgstr ""
 
-#: library/socket.rst:2069
+#: library/socket.rst:2073
 msgid ""
 "*An Introductory 4.3BSD Interprocess Communication Tutorial*, by Stuart "
 "Sechrest"
 msgstr ""
 
-#: library/socket.rst:2071
+#: library/socket.rst:2075
 msgid ""
 "*An Advanced 4.3BSD Interprocess Communication Tutorial*, by Samuel J.  "
 "Leffler et al,"
 msgstr ""
 
-#: library/socket.rst:2074
+#: library/socket.rst:2078
 msgid ""
 "both in the UNIX Programmer's Manual, Supplementary Documents 1 (sections "
 "PS1:7 and PS1:8).  The platform-specific reference material for the various "
diff --git a/library/sqlite3.po b/library/sqlite3.po
index 6ff251521..1b36e119d 100644
--- a/library/sqlite3.po
+++ b/library/sqlite3.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-21 15:04+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2019-03-26 15:55+0100\n"
 "Last-Translator: Julien Palard <julien@palard.fr>\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -165,13 +165,34 @@ msgstr "Fonctions et constantes du module"
 
 #: library/sqlite3.rst:122
 msgid ""
+"String constant stating the supported DB-API level. Required by the DB-API. "
+"Hard-coded to ``\"2.0\"``."
+msgstr ""
+
+#: library/sqlite3.rst:127
+msgid ""
+"String constant stating the type of parameter marker formatting expected by "
+"the :mod:`sqlite3` module. Required by the DB-API. Hard-coded to ``\"qmark"
+"\"``."
+msgstr ""
+
+#: library/sqlite3.rst:133
+msgid ""
+"The :mod:`sqlite3` module supports both ``qmark`` and ``numeric`` DB-API "
+"parameter styles, because that is what the underlying SQLite library "
+"supports. However, the DB-API does not allow multiple values for the "
+"``paramstyle`` attribute."
+msgstr ""
+
+#: library/sqlite3.rst:140
+msgid ""
 "The version number of this module, as a string. This is not the version of "
 "the SQLite library."
 msgstr ""
 "Le numéro de version de ce module, sous forme de chaîne. Ce n'est pas la "
 "version de la bibliothèque SQLite."
 
-#: library/sqlite3.rst:128
+#: library/sqlite3.rst:146
 msgid ""
 "The version number of this module, as a tuple of integers. This is not the "
 "version of the SQLite library."
@@ -179,20 +200,35 @@ msgstr ""
 "Le numéro de version de ce module, sous forme d'un *n*-uplet d'entiers. Ce "
 "n'est pas la version de la bibliothèque SQLite."
 
-#: library/sqlite3.rst:134
+#: library/sqlite3.rst:152
 msgid "The version number of the run-time SQLite library, as a string."
 msgstr ""
 "Le numéro de version de la bibliothèque d'exécution SQLite, sous forme de "
 "chaîne."
 
-#: library/sqlite3.rst:139
+#: library/sqlite3.rst:157
 msgid ""
 "The version number of the run-time SQLite library, as a tuple of integers."
 msgstr ""
 "Le numéro de version de la bibliothèque d'exécution SQLite, sous forme "
 "d'entier."
 
-#: library/sqlite3.rst:157
+#: library/sqlite3.rst:162
+msgid ""
+"Integer constant required by the DB-API, stating the level of thread safety "
+"the :mod:`sqlite3` module supports. Currently hard-coded to ``1``, meaning *"
+"\"Threads may share the module, but not connections.\"* However, this may "
+"not always be true. You can check the underlying SQLite library's compile-"
+"time threaded mode using the following query::"
+msgstr ""
+
+#: library/sqlite3.rst:175
+msgid ""
+"Note that the `SQLITE_THREADSAFE levels <https://sqlite.org/compile."
+"html#threadsafe>`_ do not match the DB-API 2.0 ``threadsafety`` levels."
+msgstr ""
+
+#: library/sqlite3.rst:195
 msgid ""
 "This constant is meant to be used with the *detect_types* parameter of the :"
 "func:`connect` function."
@@ -200,7 +236,7 @@ msgstr ""
 "Cette constante est destinée à être utilisée avec le paramètre "
 "*detect_types* de la fonction :func:`connect`."
 
-#: library/sqlite3.rst:147
+#: library/sqlite3.rst:185
 msgid ""
 "Setting it makes the :mod:`sqlite3` module parse the declared type for each "
 "column it returns.  It will parse out the first word of the declared type, "
@@ -215,7 +251,7 @@ msgstr ""
 "de *number(10)* il gardera *number*. Ensuite, pour cette colonne, il "
 "utilisera une fonction de conversion du dictionnaire des convertisseurs."
 
-#: library/sqlite3.rst:160
+#: library/sqlite3.rst:198
 #, fuzzy
 msgid ""
 "Setting this makes the SQLite interface parse the column name for each "
@@ -237,7 +273,7 @@ msgstr ""
 "\\\"x [datetime]\\\"'`` dans votre code SQL, le nom de la colonne sera "
 "simplement *x*."
 
-#: library/sqlite3.rst:173
+#: library/sqlite3.rst:211
 msgid ""
 "Opens a connection to the SQLite database file *database*. By default "
 "returns a :class:`Connection` object, unless a custom *factory* is given."
@@ -246,7 +282,7 @@ msgstr ""
 "cette commande renvoie un objet :class:`Connection`, sauf si *factory* est "
 "donné."
 
-#: library/sqlite3.rst:176
+#: library/sqlite3.rst:214
 msgid ""
 "*database* is a :term:`path-like object` giving the pathname (absolute or "
 "relative to the current  working directory) of the database file to be "
@@ -254,7 +290,7 @@ msgid ""
 "database that resides in RAM instead of on disk."
 msgstr ""
 
-#: library/sqlite3.rst:181
+#: library/sqlite3.rst:219
 msgid ""
 "When a database is accessed by multiple connections, and one of the "
 "processes modifies the database, the SQLite database is locked until that "
@@ -263,13 +299,13 @@ msgid ""
 "The default for the timeout parameter is 5.0 (five seconds)."
 msgstr ""
 
-#: library/sqlite3.rst:187
+#: library/sqlite3.rst:225
 msgid ""
 "For the *isolation_level* parameter, please see the :attr:`~Connection."
 "isolation_level` property of :class:`Connection` objects."
 msgstr ""
 
-#: library/sqlite3.rst:190
+#: library/sqlite3.rst:228
 msgid ""
 "SQLite natively supports only the types TEXT, INTEGER, REAL, BLOB and NULL. "
 "If you want to use other types you must add support for them yourself. The "
@@ -278,7 +314,7 @@ msgid ""
 "that."
 msgstr ""
 
-#: library/sqlite3.rst:195
+#: library/sqlite3.rst:233
 msgid ""
 "*detect_types* defaults to 0 (i. e. off, no type detection), you can set it "
 "to any combination of :const:`PARSE_DECLTYPES` and :const:`PARSE_COLNAMES` "
@@ -287,7 +323,7 @@ msgid ""
 "parameter is set. In such case, the returned type is :class:`str`."
 msgstr ""
 
-#: library/sqlite3.rst:201
+#: library/sqlite3.rst:239
 msgid ""
 "By default, *check_same_thread* is :const:`True` and only the creating "
 "thread may use the connection. If set :const:`False`, the returned "
@@ -296,7 +332,7 @@ msgid ""
 "the user to avoid data corruption."
 msgstr ""
 
-#: library/sqlite3.rst:206
+#: library/sqlite3.rst:244
 msgid ""
 "By default, the :mod:`sqlite3` module uses its :class:`Connection` class for "
 "the connect call.  You can, however, subclass the :class:`Connection` class "
@@ -304,11 +340,11 @@ msgid ""
 "the *factory* parameter."
 msgstr ""
 
-#: library/sqlite3.rst:211
+#: library/sqlite3.rst:249
 msgid "Consult the section :ref:`sqlite3-types` of this manual for details."
 msgstr ""
 
-#: library/sqlite3.rst:213
+#: library/sqlite3.rst:251
 msgid ""
 "The :mod:`sqlite3` module internally uses a statement cache to avoid SQL "
 "parsing overhead. If you want to explicitly set the number of statements "
@@ -316,46 +352,46 @@ msgid ""
 "parameter. The currently implemented default is to cache 100 statements."
 msgstr ""
 
-#: library/sqlite3.rst:218
+#: library/sqlite3.rst:256
 msgid ""
 "If *uri* is true, *database* is interpreted as a URI. This allows you to "
 "specify options. For example, to open a database in read-only mode you can "
 "use::"
 msgstr ""
 
-#: library/sqlite3.rst:224
+#: library/sqlite3.rst:262
 msgid ""
 "More information about this feature, including a list of recognized options, "
 "can be found in the `SQLite URI documentation <https://www.sqlite.org/uri."
 "html>`_."
 msgstr ""
 
-#: library/sqlite3.rst:227
+#: library/sqlite3.rst:265
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``sqlite3.connect`` with argument "
 "``database``."
 msgstr ""
 
-#: library/sqlite3.rst:228
+#: library/sqlite3.rst:266
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``sqlite3.connect/handle`` with "
 "argument ``connection_handle``."
 msgstr ""
 
-#: library/sqlite3.rst:230
+#: library/sqlite3.rst:268
 msgid "Added the *uri* parameter."
 msgstr ""
 
-#: library/sqlite3.rst:233
+#: library/sqlite3.rst:271
 msgid ""
 "*database* can now also be a :term:`path-like object`, not only a string."
 msgstr ""
 
-#: library/sqlite3.rst:236
+#: library/sqlite3.rst:274
 msgid "Added the ``sqlite3.connect/handle`` auditing event."
 msgstr ""
 
-#: library/sqlite3.rst:242
+#: library/sqlite3.rst:280
 msgid ""
 "Registers a callable to convert a bytestring from the database into a custom "
 "Python type. The callable will be invoked for all database values that are "
@@ -365,7 +401,7 @@ msgid ""
 "manner."
 msgstr ""
 
-#: library/sqlite3.rst:251
+#: library/sqlite3.rst:289
 msgid ""
 "Registers a callable to convert the custom Python type *type* into one of "
 "SQLite's supported types. The callable *callable* accepts as single "
@@ -373,7 +409,7 @@ msgid ""
 "int, float, str or bytes."
 msgstr ""
 
-#: library/sqlite3.rst:259
+#: library/sqlite3.rst:297
 msgid ""
 "Returns :const:`True` if the string *sql* contains one or more complete SQL "
 "statements terminated by semicolons. It does not verify that the SQL is "
@@ -381,12 +417,12 @@ msgid ""
 "the statement is terminated by a semicolon."
 msgstr ""
 
-#: library/sqlite3.rst:264
+#: library/sqlite3.rst:302
 msgid ""
 "This can be used to build a shell for SQLite, as in the following example:"
 msgstr ""
 
-#: library/sqlite3.rst:272
+#: library/sqlite3.rst:310
 msgid ""
 "By default you will not get any tracebacks in user-defined functions, "
 "aggregates, converters, authorizer callbacks etc. If you want to debug them, "
@@ -395,35 +431,35 @@ msgid ""
 "disable the feature again."
 msgstr ""
 
-#: library/sqlite3.rst:282
+#: library/sqlite3.rst:320
 msgid "Connection Objects"
 msgstr "Objets de connexions"
 
-#: library/sqlite3.rst:286
+#: library/sqlite3.rst:324
 msgid "A SQLite database connection has the following attributes and methods:"
 msgstr ""
 
-#: library/sqlite3.rst:290
+#: library/sqlite3.rst:328
 msgid ""
 "Get or set the current default isolation level. :const:`None` for autocommit "
 "mode or one of \"DEFERRED\", \"IMMEDIATE\" or \"EXCLUSIVE\". See section :"
 "ref:`sqlite3-controlling-transactions` for a more detailed explanation."
 msgstr ""
 
-#: library/sqlite3.rst:296
+#: library/sqlite3.rst:334
 msgid ""
 ":const:`True` if a transaction is active (there are uncommitted changes), :"
 "const:`False` otherwise.  Read-only attribute."
 msgstr ""
 
-#: library/sqlite3.rst:303
+#: library/sqlite3.rst:341
 msgid ""
 "The cursor method accepts a single optional parameter *factory*. If "
 "supplied, this must be a callable returning an instance of :class:`Cursor` "
 "or its subclasses."
 msgstr ""
 
-#: library/sqlite3.rst:309
+#: library/sqlite3.rst:347
 msgid ""
 "This method commits the current transaction. If you don't call this method, "
 "anything you did since the last call to ``commit()`` is not visible from "
@@ -431,41 +467,41 @@ msgid ""
 "written to the database, please check you didn't forget to call this method."
 msgstr ""
 
-#: library/sqlite3.rst:316
+#: library/sqlite3.rst:354
 msgid ""
 "This method rolls back any changes to the database since the last call to :"
 "meth:`commit`."
 msgstr ""
 
-#: library/sqlite3.rst:321
+#: library/sqlite3.rst:359
 msgid ""
 "This closes the database connection. Note that this does not automatically "
 "call :meth:`commit`. If you just close your database connection without "
 "calling :meth:`commit` first, your changes will be lost!"
 msgstr ""
 
-#: library/sqlite3.rst:327
+#: library/sqlite3.rst:365
 msgid ""
 "This is a nonstandard shortcut that creates a cursor object by calling the :"
 "meth:`~Connection.cursor` method, calls the cursor's :meth:`~Cursor.execute` "
 "method with the *parameters* given, and returns the cursor."
 msgstr ""
 
-#: library/sqlite3.rst:334
+#: library/sqlite3.rst:372
 msgid ""
 "This is a nonstandard shortcut that creates a cursor object by calling the :"
 "meth:`~Connection.cursor` method, calls the cursor's :meth:`~Cursor."
 "executemany` method with the *parameters* given, and returns the cursor."
 msgstr ""
 
-#: library/sqlite3.rst:341
+#: library/sqlite3.rst:379
 msgid ""
 "This is a nonstandard shortcut that creates a cursor object by calling the :"
 "meth:`~Connection.cursor` method, calls the cursor's :meth:`~Cursor."
 "executescript` method with the given *sql_script*, and returns the cursor."
 msgstr ""
 
-#: library/sqlite3.rst:348
+#: library/sqlite3.rst:386
 msgid ""
 "Creates a user-defined function that you can later use from within SQL "
 "statements under the function name *name*. *num_params* is the number of "
@@ -478,25 +514,25 @@ msgid ""
 "older versions."
 msgstr ""
 
-#: library/sqlite3.rst:358
+#: library/sqlite3.rst:396
 msgid ""
 "The function can return any of the types supported by SQLite: bytes, str, "
 "int, float and ``None``."
 msgstr ""
 
-#: library/sqlite3.rst:361
+#: library/sqlite3.rst:399
 msgid "The *deterministic* parameter was added."
 msgstr ""
 
-#: library/sqlite3.rst:381 library/sqlite3.rst:664
+#: library/sqlite3.rst:419 library/sqlite3.rst:702
 msgid "Example:"
 msgstr "Exemple :"
 
-#: library/sqlite3.rst:371
+#: library/sqlite3.rst:409
 msgid "Creates a user-defined aggregate function."
 msgstr ""
 
-#: library/sqlite3.rst:373
+#: library/sqlite3.rst:411
 msgid ""
 "The aggregate class must implement a ``step`` method, which accepts the "
 "number of parameters *num_params* (if *num_params* is -1, the function may "
@@ -504,13 +540,13 @@ msgid ""
 "the final result of the aggregate."
 msgstr ""
 
-#: library/sqlite3.rst:378
+#: library/sqlite3.rst:416
 msgid ""
 "The ``finalize`` method can return any of the types supported by SQLite: "
 "bytes, str, int, float and ``None``."
 msgstr ""
 
-#: library/sqlite3.rst:388
+#: library/sqlite3.rst:426
 msgid ""
 "Creates a collation with the specified *name* and *callable*. The callable "
 "will be passed two string arguments. It should return -1 if the first is "
@@ -519,30 +555,30 @@ msgid ""
 "(ORDER BY in SQL) so your comparisons don't affect other SQL operations."
 msgstr ""
 
-#: library/sqlite3.rst:394
+#: library/sqlite3.rst:432
 msgid ""
 "Note that the callable will get its parameters as Python bytestrings, which "
 "will normally be encoded in UTF-8."
 msgstr ""
 
-#: library/sqlite3.rst:397
+#: library/sqlite3.rst:435
 msgid ""
 "The following example shows a custom collation that sorts \"the wrong way\":"
 msgstr ""
 
-#: library/sqlite3.rst:401
+#: library/sqlite3.rst:439
 msgid ""
 "To remove a collation, call ``create_collation`` with ``None`` as callable::"
 msgstr ""
 
-#: library/sqlite3.rst:408
+#: library/sqlite3.rst:446
 msgid ""
 "You can call this method from a different thread to abort any queries that "
 "might be executing on the connection. The query will then abort and the "
 "caller will get an exception."
 msgstr ""
 
-#: library/sqlite3.rst:415
+#: library/sqlite3.rst:453
 msgid ""
 "This routine registers a callback. The callback is invoked for each attempt "
 "to access a column of a table in the database. The callback should return :"
@@ -552,7 +588,7 @@ msgid ""
 "in the :mod:`sqlite3` module."
 msgstr ""
 
-#: library/sqlite3.rst:422
+#: library/sqlite3.rst:460
 msgid ""
 "The first argument to the callback signifies what kind of operation is to be "
 "authorized. The second and third argument will be arguments or :const:`None` "
@@ -563,7 +599,7 @@ msgid ""
 "code."
 msgstr ""
 
-#: library/sqlite3.rst:429
+#: library/sqlite3.rst:467
 msgid ""
 "Please consult the SQLite documentation about the possible values for the "
 "first argument and the meaning of the second and third argument depending on "
@@ -571,7 +607,7 @@ msgid ""
 "module."
 msgstr ""
 
-#: library/sqlite3.rst:436
+#: library/sqlite3.rst:474
 msgid ""
 "This routine registers a callback. The callback is invoked for every *n* "
 "instructions of the SQLite virtual machine. This is useful if you want to "
@@ -579,26 +615,26 @@ msgid ""
 "a GUI."
 msgstr ""
 
-#: library/sqlite3.rst:441
+#: library/sqlite3.rst:479
 msgid ""
 "If you want to clear any previously installed progress handler, call the "
 "method with :const:`None` for *handler*."
 msgstr ""
 
-#: library/sqlite3.rst:444
+#: library/sqlite3.rst:482
 msgid ""
 "Returning a non-zero value from the handler function will terminate the "
 "currently executing query and cause it to raise an :exc:`OperationalError` "
 "exception."
 msgstr ""
 
-#: library/sqlite3.rst:451
+#: library/sqlite3.rst:489
 msgid ""
 "Registers *trace_callback* to be called for each SQL statement that is "
 "actually executed by the SQLite backend."
 msgstr ""
 
-#: library/sqlite3.rst:454
+#: library/sqlite3.rst:492
 msgid ""
 "The only argument passed to the callback is the statement (as :class:`str`) "
 "that is being executed. The return value of the callback is ignored. Note "
@@ -608,19 +644,19 @@ msgid ""
 "of triggers defined in the current database."
 msgstr ""
 
-#: library/sqlite3.rst:462
+#: library/sqlite3.rst:500
 msgid ""
 "Passing :const:`None` as *trace_callback* will disable the trace callback."
 msgstr ""
 
-#: library/sqlite3.rst:465
+#: library/sqlite3.rst:503
 msgid ""
 "Exceptions raised in the trace callback are not propagated. As a development "
 "and debugging aid, use :meth:`~sqlite3.enable_callback_tracebacks` to enable "
 "printing tracebacks from exceptions raised in the trace callback."
 msgstr ""
 
-#: library/sqlite3.rst:475
+#: library/sqlite3.rst:513
 msgid ""
 "This routine allows/disallows the SQLite engine to load SQLite extensions "
 "from shared libraries.  SQLite extensions can define new functions, "
@@ -628,38 +664,38 @@ msgid ""
 "extension is the fulltext-search extension distributed with SQLite."
 msgstr ""
 
-#: library/sqlite3.rst:497
+#: library/sqlite3.rst:535
 msgid "Loadable extensions are disabled by default. See [#f1]_."
 msgstr ""
 
-#: library/sqlite3.rst:482
+#: library/sqlite3.rst:520
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``sqlite3.enable_load_extension`` "
 "with arguments ``connection``, ``enabled``."
 msgstr ""
 
-#: library/sqlite3.rst:486
+#: library/sqlite3.rst:524
 msgid "Added the ``sqlite3.enable_load_extension`` auditing event."
 msgstr ""
 
-#: library/sqlite3.rst:493
+#: library/sqlite3.rst:531
 msgid ""
 "This routine loads a SQLite extension from a shared library.  You have to "
 "enable extension loading with :meth:`enable_load_extension` before you can "
 "use this routine."
 msgstr ""
 
-#: library/sqlite3.rst:499
+#: library/sqlite3.rst:537
 msgid ""
 "Raises an :ref:`auditing event <auditing>` ``sqlite3.load_extension`` with "
 "arguments ``connection``, ``path``."
 msgstr ""
 
-#: library/sqlite3.rst:503
+#: library/sqlite3.rst:541
 msgid "Added the ``sqlite3.load_extension`` auditing event."
 msgstr ""
 
-#: library/sqlite3.rst:508
+#: library/sqlite3.rst:546
 msgid ""
 "You can change this attribute to a callable that accepts the cursor and the "
 "original row as a tuple and will return the real result row.  This way, you "
@@ -667,7 +703,7 @@ msgid ""
 "object that can also access columns by name."
 msgstr ""
 
-#: library/sqlite3.rst:517
+#: library/sqlite3.rst:555
 msgid ""
 "If returning a tuple doesn't suffice and you want name-based access to "
 "columns, you should consider setting :attr:`row_factory` to the highly-"
@@ -677,7 +713,7 @@ msgid ""
 "approach or even a db_row based solution."
 msgstr ""
 
-#: library/sqlite3.rst:529
+#: library/sqlite3.rst:567
 msgid ""
 "Using this attribute you can control what objects are returned for the "
 "``TEXT`` data type. By default, this attribute is set to :class:`str` and "
@@ -685,23 +721,23 @@ msgid ""
 "you want to return :class:`bytes` instead, you can set it to :class:`bytes`."
 msgstr ""
 
-#: library/sqlite3.rst:534
+#: library/sqlite3.rst:572
 msgid ""
 "You can also set it to any other callable that accepts a single bytestring "
 "parameter and returns the resulting object."
 msgstr ""
 
-#: library/sqlite3.rst:537
+#: library/sqlite3.rst:575
 msgid "See the following example code for illustration:"
 msgstr ""
 
-#: library/sqlite3.rst:544
+#: library/sqlite3.rst:582
 msgid ""
 "Returns the total number of database rows that have been modified, inserted, "
 "or deleted since the database connection was opened."
 msgstr ""
 
-#: library/sqlite3.rst:550
+#: library/sqlite3.rst:588
 msgid ""
 "Returns an iterator to dump the database in an SQL text format.  Useful when "
 "saving an in-memory database for later restoration.  This function provides "
@@ -709,11 +745,11 @@ msgid ""
 "shell."
 msgstr ""
 
-#: library/sqlite3.rst:555
+#: library/sqlite3.rst:593
 msgid "Example::"
 msgstr "Exemple ::"
 
-#: library/sqlite3.rst:569
+#: library/sqlite3.rst:607
 msgid ""
 "This method makes a backup of a SQLite database even while it's being "
 "accessed by other clients, or concurrently by the same connection.  The copy "
@@ -721,14 +757,14 @@ msgid ""
 "class:`Connection` instance."
 msgstr ""
 
-#: library/sqlite3.rst:574
+#: library/sqlite3.rst:612
 msgid ""
 "By default, or when *pages* is either ``0`` or a negative integer, the "
 "entire database is copied in a single step; otherwise the method performs a "
 "loop copying up to *pages* pages at a time."
 msgstr ""
 
-#: library/sqlite3.rst:578
+#: library/sqlite3.rst:616
 msgid ""
 "If *progress* is specified, it must either be ``None`` or a callable object "
 "that will be executed at each iteration with three integer arguments, "
@@ -736,7 +772,7 @@ msgid ""
 "pages still to be copied and the *total* number of pages."
 msgstr ""
 
-#: library/sqlite3.rst:583
+#: library/sqlite3.rst:621
 msgid ""
 "The *name* argument specifies the database name that will be copied: it must "
 "be a string containing either ``\"main\"``, the default, to indicate the "
@@ -745,36 +781,36 @@ msgid ""
 "an attached database."
 msgstr ""
 
-#: library/sqlite3.rst:589
+#: library/sqlite3.rst:627
 msgid ""
 "The *sleep* argument specifies the number of seconds to sleep by between "
 "successive attempts to backup remaining pages, can be specified either as an "
 "integer or a floating point value."
 msgstr ""
 
-#: library/sqlite3.rst:593
+#: library/sqlite3.rst:631
 msgid "Example 1, copy an existing database into another::"
 msgstr ""
 
-#: library/sqlite3.rst:607
+#: library/sqlite3.rst:645
 msgid "Example 2, copy an existing database into a transient copy::"
 msgstr ""
 
-#: library/sqlite3.rst:621
+#: library/sqlite3.rst:659
 msgid "Cursor Objects"
 msgstr ""
 
-#: library/sqlite3.rst:625
+#: library/sqlite3.rst:663
 msgid "A :class:`Cursor` instance has the following attributes and methods."
 msgstr ""
 
-#: library/sqlite3.rst:632
+#: library/sqlite3.rst:670
 msgid ""
 "Executes an SQL statement. Values may be bound to the statement using :ref:"
 "`placeholders <sqlite3-placeholders>`."
 msgstr ""
 
-#: library/sqlite3.rst:635
+#: library/sqlite3.rst:673
 msgid ""
 ":meth:`execute` will only execute a single SQL statement. If you try to "
 "execute more than one statement with it, it will raise a :exc:`.Warning`. "
@@ -782,7 +818,7 @@ msgid ""
 "with one call."
 msgstr ""
 
-#: library/sqlite3.rst:643
+#: library/sqlite3.rst:681
 msgid ""
 "Executes a :ref:`parameterized <sqlite3-placeholders>` SQL command against "
 "all parameter sequences or mappings found in the sequence "
@@ -790,11 +826,11 @@ msgid ""
 "`iterator` yielding parameters instead of a sequence."
 msgstr ""
 
-#: library/sqlite3.rst:650
+#: library/sqlite3.rst:688
 msgid "Here's a shorter example using a :term:`generator`:"
 msgstr ""
 
-#: library/sqlite3.rst:657
+#: library/sqlite3.rst:695
 msgid ""
 "This is a nonstandard convenience method for executing multiple SQL "
 "statements at once. It issues a ``COMMIT`` statement first, then executes "
@@ -802,23 +838,23 @@ msgid ""
 "`isolation_level`; any transaction control must be added to *sql_script*."
 msgstr ""
 
-#: library/sqlite3.rst:662
+#: library/sqlite3.rst:700
 msgid "*sql_script* can be an instance of :class:`str`."
 msgstr ""
 
-#: library/sqlite3.rst:671
+#: library/sqlite3.rst:709
 msgid ""
 "Fetches the next row of a query result set, returning a single sequence, or :"
 "const:`None` when no more data is available."
 msgstr ""
 
-#: library/sqlite3.rst:677
+#: library/sqlite3.rst:715
 msgid ""
 "Fetches the next set of rows of a query result, returning a list.  An empty "
 "list is returned when no more rows are available."
 msgstr ""
 
-#: library/sqlite3.rst:680
+#: library/sqlite3.rst:718
 msgid ""
 "The number of rows to fetch per call is specified by the *size* parameter. "
 "If it is not given, the cursor's arraysize determines the number of rows to "
@@ -827,7 +863,7 @@ msgid ""
 "not being available, fewer rows may be returned."
 msgstr ""
 
-#: library/sqlite3.rst:686
+#: library/sqlite3.rst:724
 msgid ""
 "Note there are performance considerations involved with the *size* "
 "parameter. For optimal performance, it is usually best to use the arraysize "
@@ -835,38 +871,42 @@ msgid ""
 "the same value from one :meth:`fetchmany` call to the next."
 msgstr ""
 
-#: library/sqlite3.rst:693
+#: library/sqlite3.rst:731
 msgid ""
 "Fetches all (remaining) rows of a query result, returning a list.  Note that "
 "the cursor's arraysize attribute can affect the performance of this "
 "operation. An empty list is returned when no rows are available."
 msgstr ""
 
-#: library/sqlite3.rst:699
+#: library/sqlite3.rst:737
 msgid "Close the cursor now (rather than whenever ``__del__`` is called)."
 msgstr ""
 
-#: library/sqlite3.rst:701
+#: library/sqlite3.rst:739
 msgid ""
 "The cursor will be unusable from this point forward; a :exc:"
 "`ProgrammingError` exception will be raised if any operation is attempted "
 "with the cursor."
 msgstr ""
 
-#: library/sqlite3.rst:706
+#: library/sqlite3.rst:748
+msgid "Required by the DB-API. Is a no-op in :mod:`sqlite3`."
+msgstr ""
+
+#: library/sqlite3.rst:752
 msgid ""
 "Although the :class:`Cursor` class of the :mod:`sqlite3` module implements "
 "this attribute, the database engine's own support for the determination of "
 "\"rows affected\"/\"rows selected\" is quirky."
 msgstr ""
 
-#: library/sqlite3.rst:710
+#: library/sqlite3.rst:756
 msgid ""
 "For :meth:`executemany` statements, the number of modifications are summed "
 "up into :attr:`rowcount`."
 msgstr ""
 
-#: library/sqlite3.rst:713
+#: library/sqlite3.rst:759
 msgid ""
 "As required by the Python DB API Spec, the :attr:`rowcount` attribute \"is "
 "-1 in case no ``executeXX()`` has been performed on the cursor or the "
@@ -875,7 +915,7 @@ msgid ""
 "rows a query produced until all rows were fetched."
 msgstr ""
 
-#: library/sqlite3.rst:721
+#: library/sqlite3.rst:767
 msgid ""
 "This read-only attribute provides the rowid of the last modified row. It is "
 "only set if you issued an ``INSERT`` or a ``REPLACE`` statement using the :"
@@ -884,35 +924,35 @@ msgid ""
 "`None`."
 msgstr ""
 
-#: library/sqlite3.rst:727
+#: library/sqlite3.rst:773
 msgid ""
 "If the ``INSERT`` or ``REPLACE`` statement failed to insert the previous "
 "successful rowid is returned."
 msgstr ""
 
-#: library/sqlite3.rst:730
+#: library/sqlite3.rst:776
 msgid "Added support for the ``REPLACE`` statement."
 msgstr ""
 
-#: library/sqlite3.rst:735
+#: library/sqlite3.rst:781
 msgid ""
 "Read/write attribute that controls the number of rows returned by :meth:"
 "`fetchmany`. The default value is 1 which means a single row would be "
 "fetched per call."
 msgstr ""
 
-#: library/sqlite3.rst:740
+#: library/sqlite3.rst:786
 msgid ""
 "This read-only attribute provides the column names of the last query. To "
 "remain compatible with the Python DB API, it returns a 7-tuple for each "
 "column where the last six items of each tuple are :const:`None`."
 msgstr ""
 
-#: library/sqlite3.rst:744
+#: library/sqlite3.rst:790
 msgid "It is set for ``SELECT`` statements without any matching rows as well."
 msgstr ""
 
-#: library/sqlite3.rst:748
+#: library/sqlite3.rst:794
 msgid ""
 "This read-only attribute provides the SQLite database :class:`Connection` "
 "used by the :class:`Cursor` object.  A :class:`Cursor` object created by "
@@ -920,79 +960,79 @@ msgid ""
 "`connection` attribute that refers to *con*::"
 msgstr ""
 
-#: library/sqlite3.rst:761
+#: library/sqlite3.rst:807
 msgid "Row Objects"
 msgstr ""
 
-#: library/sqlite3.rst:765
+#: library/sqlite3.rst:811
 msgid ""
 "A :class:`Row` instance serves as a highly optimized :attr:`~Connection."
 "row_factory` for :class:`Connection` objects. It tries to mimic a tuple in "
 "most of its features."
 msgstr ""
 
-#: library/sqlite3.rst:769
+#: library/sqlite3.rst:815
 msgid ""
 "It supports mapping access by column name and index, iteration, "
 "representation, equality testing and :func:`len`."
 msgstr ""
 
-#: library/sqlite3.rst:772
+#: library/sqlite3.rst:818
 msgid ""
 "If two :class:`Row` objects have exactly the same columns and their members "
 "are equal, they compare equal."
 msgstr ""
 
-#: library/sqlite3.rst:777
+#: library/sqlite3.rst:823
 msgid ""
 "This method returns a list of column names. Immediately after a query, it is "
 "the first member of each tuple in :attr:`Cursor.description`."
 msgstr ""
 
-#: library/sqlite3.rst:780
+#: library/sqlite3.rst:826
 msgid "Added support of slicing."
 msgstr ""
 
-#: library/sqlite3.rst:783
+#: library/sqlite3.rst:829
 msgid "Let's assume we initialize a table as in the example given above::"
 msgstr ""
 
-#: library/sqlite3.rst:795
+#: library/sqlite3.rst:841
 msgid "Now we plug :class:`Row` in::"
 msgstr ""
 
-#: library/sqlite3.rst:827
+#: library/sqlite3.rst:873
 msgid "Exceptions"
 msgstr "Exceptions"
 
-#: library/sqlite3.rst:831
+#: library/sqlite3.rst:877
 msgid "A subclass of :exc:`Exception`."
 msgstr ""
 
-#: library/sqlite3.rst:835
+#: library/sqlite3.rst:881
 msgid ""
 "The base class of the other exceptions in this module.  It is a subclass of :"
 "exc:`Exception`."
 msgstr ""
 
-#: library/sqlite3.rst:840
+#: library/sqlite3.rst:886
 msgid "Exception raised for errors that are related to the database."
 msgstr ""
 
-#: library/sqlite3.rst:844
+#: library/sqlite3.rst:890
 msgid ""
 "Exception raised when the relational integrity of the database is affected, "
 "e.g. a foreign key check fails.  It is a subclass of :exc:`DatabaseError`."
 msgstr ""
 
-#: library/sqlite3.rst:849
+#: library/sqlite3.rst:895
 msgid ""
 "Exception raised for programming errors, e.g. table not found or already "
 "exists, syntax error in the SQL statement, wrong number of parameters "
 "specified, etc.  It is a subclass of :exc:`DatabaseError`."
 msgstr ""
 
-#: library/sqlite3.rst:855
+#: library/sqlite3.rst:901
 msgid ""
 "Exception raised for errors that are related to the database's operation and "
 "not necessarily under the control of the programmer, e.g. an unexpected "
@@ -1000,7 +1040,7 @@ msgid ""
 "not be processed, etc.  It is a subclass of :exc:`DatabaseError`."
 msgstr ""
 
-#: library/sqlite3.rst:862
+#: library/sqlite3.rst:908
 msgid ""
 "Exception raised in case a method or database API was used which is not "
 "supported by the database, e.g. calling the :meth:`~Connection.rollback` "
@@ -1008,82 +1048,82 @@ msgid ""
 "turned off.  It is a subclass of :exc:`DatabaseError`."
 msgstr ""
 
-#: library/sqlite3.rst:871
+#: library/sqlite3.rst:917
 msgid "SQLite and Python types"
 msgstr ""
 
-#: library/sqlite3.rst:875
+#: library/sqlite3.rst:921
 msgid "Introduction"
 msgstr "Introduction"
 
-#: library/sqlite3.rst:877
+#: library/sqlite3.rst:923
 msgid ""
 "SQLite natively supports the following types: ``NULL``, ``INTEGER``, "
 "``REAL``, ``TEXT``, ``BLOB``."
 msgstr ""
 
-#: library/sqlite3.rst:880
+#: library/sqlite3.rst:926
 msgid ""
 "The following Python types can thus be sent to SQLite without any problem:"
 msgstr ""
 
-#: library/sqlite3.rst:900
+#: library/sqlite3.rst:946
 msgid "Python type"
 msgstr "Type Python"
 
-#: library/sqlite3.rst:900
+#: library/sqlite3.rst:946
 msgid "SQLite type"
 msgstr "SQLite type"
 
-#: library/sqlite3.rst:902
+#: library/sqlite3.rst:948
 msgid ":const:`None`"
 msgstr ":const:`None`"
 
-#: library/sqlite3.rst:902
+#: library/sqlite3.rst:948
 msgid "``NULL``"
 msgstr "``NULL``"
 
-#: library/sqlite3.rst:904
+#: library/sqlite3.rst:950
 msgid ":class:`int`"
 msgstr ":class:`int`"
 
-#: library/sqlite3.rst:904
+#: library/sqlite3.rst:950
 msgid "``INTEGER``"
 msgstr "``INTEGER``"
 
-#: library/sqlite3.rst:906
+#: library/sqlite3.rst:952
 msgid ":class:`float`"
 msgstr ":class:`float`"
 
-#: library/sqlite3.rst:906
+#: library/sqlite3.rst:952
 msgid "``REAL``"
 msgstr "``REAL``"
 
-#: library/sqlite3.rst:891
+#: library/sqlite3.rst:937
 msgid ":class:`str`"
 msgstr ":class:`str`"
 
-#: library/sqlite3.rst:908
+#: library/sqlite3.rst:954
 msgid "``TEXT``"
 msgstr "``TEXT``"
 
-#: library/sqlite3.rst:911
+#: library/sqlite3.rst:957
 msgid ":class:`bytes`"
 msgstr ":class:`bytes`"
 
-#: library/sqlite3.rst:911
+#: library/sqlite3.rst:957
 msgid "``BLOB``"
 msgstr "``BLOB``"
 
-#: library/sqlite3.rst:897
+#: library/sqlite3.rst:943
 msgid "This is how SQLite types are converted to Python types by default:"
 msgstr ""
 
-#: library/sqlite3.rst:908
+#: library/sqlite3.rst:954
 msgid "depends on :attr:`~Connection.text_factory`, :class:`str` by default"
 msgstr ""
 
-#: library/sqlite3.rst:914
+#: library/sqlite3.rst:960
 msgid ""
 "The type system of the :mod:`sqlite3` module is extensible in two ways: you "
 "can store additional Python types in a SQLite database via object "
@@ -1091,11 +1131,11 @@ msgid ""
 "to different Python types via converters."
 msgstr ""
 
-#: library/sqlite3.rst:921
+#: library/sqlite3.rst:967
 msgid "Using adapters to store additional Python types in SQLite databases"
 msgstr ""
 
-#: library/sqlite3.rst:923
+#: library/sqlite3.rst:969
 msgid ""
 "As described before, SQLite supports only a limited set of types natively. "
 "To use other Python types with SQLite, you must **adapt** them to one of the "
@@ -1103,23 +1143,23 @@ msgid ""
 "str, bytes."
 msgstr ""
 
-#: library/sqlite3.rst:928
+#: library/sqlite3.rst:974
 msgid ""
 "There are two ways to enable the :mod:`sqlite3` module to adapt a custom "
 "Python type to one of the supported ones."
 msgstr ""
 
-#: library/sqlite3.rst:933
+#: library/sqlite3.rst:979
 msgid "Letting your object adapt itself"
 msgstr ""
 
-#: library/sqlite3.rst:935
+#: library/sqlite3.rst:981
 msgid ""
 "This is a good approach if you write the class yourself. Let's suppose you "
 "have a class like this::"
 msgstr ""
 
-#: library/sqlite3.rst:942
+#: library/sqlite3.rst:988
 msgid ""
 "Now you want to store the point in a single SQLite column.  First you'll "
 "have to choose one of the supported types to be used for representing the "
@@ -1129,18 +1169,18 @@ msgid ""
 "class:`PrepareProtocol`."
 msgstr ""
 
-#: library/sqlite3.rst:952
+#: library/sqlite3.rst:998
 msgid "Registering an adapter callable"
 msgstr ""
 
-#: library/sqlite3.rst:954
+#: library/sqlite3.rst:1000
 msgid ""
 "The other possibility is to create a function that converts the type to the "
 "string representation and register the function with :meth:"
 "`register_adapter`."
 msgstr ""
 
-#: library/sqlite3.rst:959
+#: library/sqlite3.rst:1005
 msgid ""
 "The :mod:`sqlite3` module has two default adapters for Python's built-in :"
 "class:`datetime.date` and :class:`datetime.datetime` types.  Now let's "
@@ -1148,110 +1188,118 @@ msgid ""
 "representation, but as a Unix timestamp."
 msgstr ""
 
-#: library/sqlite3.rst:968
+#: library/sqlite3.rst:1014
 msgid "Converting SQLite values to custom Python types"
 msgstr ""
 
-#: library/sqlite3.rst:970
+#: library/sqlite3.rst:1016
 msgid ""
 "Writing an adapter lets you send custom Python types to SQLite. But to make "
 "it really useful we need to make the Python to SQLite to Python roundtrip "
 "work."
 msgstr ""
 
-#: library/sqlite3.rst:973
+#: library/sqlite3.rst:1019
 msgid "Enter converters."
 msgstr ""
 
-#: library/sqlite3.rst:975
+#: library/sqlite3.rst:1021
 msgid ""
 "Let's go back to the :class:`Point` class. We stored the x and y coordinates "
 "separated via semicolons as strings in SQLite."
 msgstr ""
 
-#: library/sqlite3.rst:978
+#: library/sqlite3.rst:1024
 msgid ""
 "First, we'll define a converter function that accepts the string as a "
 "parameter and constructs a :class:`Point` object from it."
 msgstr ""
 
-#: library/sqlite3.rst:983
+#: library/sqlite3.rst:1029
 msgid ""
 "Converter functions **always** get called with a :class:`bytes` object, no "
 "matter under which data type you sent the value to SQLite."
 msgstr ""
 
-#: library/sqlite3.rst:992
+#: library/sqlite3.rst:1038
 msgid ""
 "Now you need to make the :mod:`sqlite3` module know that what you select "
 "from the database is actually a point. There are two ways of doing this:"
 msgstr ""
 
-#: library/sqlite3.rst:995
+#: library/sqlite3.rst:1041
 msgid "Implicitly via the declared type"
 msgstr ""
 
-#: library/sqlite3.rst:997
+#: library/sqlite3.rst:1043
 msgid "Explicitly via the column name"
 msgstr ""
 
-#: library/sqlite3.rst:999
+#: library/sqlite3.rst:1045
 msgid ""
 "Both ways are described in section :ref:`sqlite3-module-contents`, in the "
 "entries for the constants :const:`PARSE_DECLTYPES` and :const:"
 "`PARSE_COLNAMES`."
 msgstr ""
 
-#: library/sqlite3.rst:1002
+#: library/sqlite3.rst:1048
 msgid "The following example illustrates both approaches."
 msgstr ""
 
-#: library/sqlite3.rst:1008
+#: library/sqlite3.rst:1054
 msgid "Default adapters and converters"
 msgstr ""
 
-#: library/sqlite3.rst:1010
+#: library/sqlite3.rst:1056
 msgid ""
 "There are default adapters for the date and datetime types in the datetime "
 "module. They will be sent as ISO dates/ISO timestamps to SQLite."
 msgstr ""
 
-#: library/sqlite3.rst:1013
+#: library/sqlite3.rst:1059
 msgid ""
 "The default converters are registered under the name \"date\" for :class:"
 "`datetime.date` and under the name \"timestamp\" for :class:`datetime."
 "datetime`."
 msgstr ""
 
-#: library/sqlite3.rst:1017
+#: library/sqlite3.rst:1063
 msgid ""
 "This way, you can use date/timestamps from Python without any additional "
 "fiddling in most cases. The format of the adapters is also compatible with "
 "the experimental SQLite date/time functions."
 msgstr ""
 
-#: library/sqlite3.rst:1021
+#: library/sqlite3.rst:1067
 msgid "The following example demonstrates this."
 msgstr ""
 
-#: library/sqlite3.rst:1025
+#: library/sqlite3.rst:1071
 msgid ""
 "If a timestamp stored in SQLite has a fractional part longer than 6 numbers, "
 "its value will be truncated to microsecond precision by the timestamp "
 "converter."
 msgstr ""
 
-#: library/sqlite3.rst:1033
+#: library/sqlite3.rst:1077
+msgid ""
+"The default \"timestamp\" converter ignores UTC offsets in the database and "
+"always returns a naive :class:`datetime.datetime` object. To preserve UTC "
+"offsets in timestamps, either leave converters disabled, or register an "
+"offset-aware converter with :func:`register_converter`."
+msgstr ""
+
+#: library/sqlite3.rst:1085
 msgid "Controlling Transactions"
 msgstr ""
 
-#: library/sqlite3.rst:1035
+#: library/sqlite3.rst:1087
 msgid ""
 "The underlying ``sqlite3`` library operates in ``autocommit`` mode by "
 "default, but the Python :mod:`sqlite3` module by default does not."
 msgstr ""
 
-#: library/sqlite3.rst:1038
+#: library/sqlite3.rst:1090
 msgid ""
 "``autocommit`` mode means that statements that modify the database take "
 "effect immediately.  A ``BEGIN`` or ``SAVEPOINT`` statement disables "
@@ -1259,14 +1307,14 @@ msgid ""
 "ends the outermost transaction, turns ``autocommit`` mode back on."
 msgstr ""
 
-#: library/sqlite3.rst:1043
+#: library/sqlite3.rst:1095
 msgid ""
 "The Python :mod:`sqlite3` module by default issues a ``BEGIN`` statement "
 "implicitly before a Data Modification Language (DML) statement (i.e. "
 "``INSERT``/``UPDATE``/``DELETE``/``REPLACE``)."
 msgstr ""
 
-#: library/sqlite3.rst:1047
+#: library/sqlite3.rst:1099
 msgid ""
 "You can control which kind of ``BEGIN`` statements :mod:`sqlite3` implicitly "
 "executes via the *isolation_level* parameter to the :func:`connect` call, or "
@@ -1276,7 +1324,7 @@ msgid ""
 "``EXCLUSIVE``."
 msgstr ""
 
-#: library/sqlite3.rst:1054
+#: library/sqlite3.rst:1106
 msgid ""
 "You can disable the :mod:`sqlite3` module's implicit transaction management "
 "by setting :attr:`isolation_level` to ``None``.  This will leave the "
@@ -1286,27 +1334,27 @@ msgid ""
 "code."
 msgstr ""
 
-#: library/sqlite3.rst:1060
+#: library/sqlite3.rst:1112
 msgid ""
 "Note that :meth:`~Cursor.executescript` disregards :attr:`isolation_level`; "
 "any transaction control must be added explicitly."
 msgstr ""
 
-#: library/sqlite3.rst:1063
+#: library/sqlite3.rst:1115
 msgid ""
 ":mod:`sqlite3` used to implicitly commit an open transaction before DDL "
 "statements.  This is no longer the case."
 msgstr ""
 
-#: library/sqlite3.rst:1069
+#: library/sqlite3.rst:1121
 msgid "Using :mod:`sqlite3` efficiently"
 msgstr ""
 
-#: library/sqlite3.rst:1073
+#: library/sqlite3.rst:1125
 msgid "Using shortcut methods"
 msgstr ""
 
-#: library/sqlite3.rst:1075
+#: library/sqlite3.rst:1127
 msgid ""
 "Using the nonstandard :meth:`execute`, :meth:`executemany` and :meth:"
 "`executescript` methods of the :class:`Connection` object, your code can be "
@@ -1318,38 +1366,38 @@ msgid ""
 "object."
 msgstr ""
 
-#: library/sqlite3.rst:1087
+#: library/sqlite3.rst:1139
 msgid "Accessing columns by name instead of by index"
 msgstr ""
 
-#: library/sqlite3.rst:1089
+#: library/sqlite3.rst:1141
 msgid ""
 "One useful feature of the :mod:`sqlite3` module is the built-in :class:"
 "`sqlite3.Row` class designed to be used as a row factory."
 msgstr ""
 
-#: library/sqlite3.rst:1092
+#: library/sqlite3.rst:1144
 msgid ""
 "Rows wrapped with this class can be accessed both by index (like tuples) and "
 "case-insensitively by name:"
 msgstr ""
 
-#: library/sqlite3.rst:1099
+#: library/sqlite3.rst:1151
 msgid "Using the connection as a context manager"
 msgstr ""
 
-#: library/sqlite3.rst:1101
+#: library/sqlite3.rst:1153
 msgid ""
 "Connection objects can be used as context managers that automatically commit "
 "or rollback transactions.  In the event of an exception, the transaction is "
 "rolled back; otherwise, the transaction is committed:"
 msgstr ""
 
-#: library/sqlite3.rst:1110
+#: library/sqlite3.rst:1162
 msgid "Footnotes"
 msgstr "Notes"
 
-#: library/sqlite3.rst:1111
+#: library/sqlite3.rst:1163
 msgid ""
 "The sqlite3 module is not built with loadable extension support by default, "
 "because some platforms (notably macOS) have SQLite libraries which are "
diff --git a/library/ssl.po b/library/ssl.po
index ebbb13f46..c61cf2e55 100644
--- a/library/ssl.po
+++ b/library/ssl.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-23 16:16+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2020-03-30 22:31+0200\n"
 "Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -1863,7 +1863,7 @@ msgstr ""
 msgid ""
 "Load a set of default \"certification authority\" (CA) certificates from "
 "default locations. On Windows it loads CA certs from the ``CA`` and ``ROOT`` "
-"system stores. On other systems it calls :meth:`SSLContext."
+"system stores. On all systems it calls :meth:`SSLContext."
 "set_default_verify_paths`. In the future the method may load CA certificates "
 "from other locations, too."
 msgstr ""
diff --git a/library/typing.po b/library/typing.po
index d2b20a7dc..5dc401e44 100644
--- a/library/typing.po
+++ b/library/typing.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-21 15:04+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2021-05-18 11:06-0400\n"
 "Last-Translator: Jean-Michel Laprise <jmichel.dev@gmail.com>\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -36,13 +36,10 @@ msgstr ""
 #: library/typing.rst:20
 #, fuzzy
 msgid ""
-"This module provides runtime support for type hints as specified by :pep:"
-"`484`, :pep:`526`, :pep:`544`, :pep:`586`, :pep:`589`, :pep:`591`, :pep:"
-"`593`, :pep:`612`, :pep:`613` and :pep:`647`. The most fundamental support "
-"consists of the types :data:`Any`, :data:`Union`, :data:`Tuple`, :data:"
-"`Callable`, :class:`TypeVar`, and :class:`Generic`.  For full specification "
-"please see :pep:`484`.  For a simplified introduction to type hints see :pep:"
-"`483`."
+"This module provides runtime support for type hints. The most fundamental "
+"support consists of the types :data:`Any`, :data:`Union`, :data:`Callable`, :"
+"class:`TypeVar`, and :class:`Generic`. For a full specification, please see :"
+"pep:`484`. For a simplified introduction to type hints, see :pep:`483`."
 msgstr ""
 "Ce module fournit la gestion des annotations de type à l'exécution "
 "conformément à ce qui est spécifié dans les :pep:`484`, :pep:`526`, :pep:"
@@ -52,14 +49,14 @@ msgstr ""
 "complètes, voir la :pep:`484`. Pour une introduction simplifiée aux "
 "annotations de type, voir la :pep:`483`."
 
-#: library/typing.rst:29
+#: library/typing.rst:26
 msgid ""
 "The function below takes and returns a string and is annotated as follows::"
 msgstr ""
 "La fonction ci-dessous prend et renvoie une chaîne de caractères, et est "
 "annotée comme suit ::"
 
-#: library/typing.rst:34
+#: library/typing.rst:31
 msgid ""
 "In the function ``greeting``, the argument ``name`` is expected to be of "
 "type :class:`str` and the return type :class:`str`. Subtypes are accepted as "
@@ -69,11 +66,120 @@ msgstr ""
 "class:`str` et le type de retour :class:`str`. Les sous-types sont acceptés "
 "comme arguments."
 
-#: library/typing.rst:41
+#: library/typing.rst:38
+msgid "Relevant PEPs"
+msgstr ""
+
+#: library/typing.rst:40
+msgid ""
+"Since the initial introduction of type hints in :pep:`484` and :pep:`483`, a "
+"number of PEPs have modified and enhanced Python's framework for type "
+"annotations. These include:"
+msgstr ""
+
+#: library/typing.rst:45
+msgid ":pep:`526`: Syntax for Variable Annotations"
+msgstr ""
+
+#: library/typing.rst:45
+msgid ""
+"*Introducing* syntax for annotating variables outside of function "
+"definitions, and :data:`ClassVar`"
+msgstr ""
+
+#: library/typing.rst:48
+msgid ":pep:`544`: Protocols: Structural subtyping (static duck typing)"
+msgstr ""
+
+#: library/typing.rst:48
+msgid ""
+"*Introducing* :class:`Protocol` and the :func:"
+"`@runtime_checkable<runtime_checkable>` decorator"
+msgstr ""
+
+#: library/typing.rst:51
+msgid ":pep:`585`: Type Hinting Generics In Standard Collections"
+msgstr ""
+
+#: library/typing.rst:51
+msgid ""
+"*Introducing* :class:`types.GenericAlias` and the ability to use standard "
+"library classes as :ref:`generic types<types-genericalias>`"
+msgstr ""
+
+#: library/typing.rst:53
+msgid ":pep:`586`: Literal Types"
+msgstr ""
+
+#: library/typing.rst:54
+msgid "*Introducing* :data:`Literal`"
+msgstr ""
+
+#: library/typing.rst:55
+msgid ""
+":pep:`589`: TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys"
+msgstr ""
+
+#: library/typing.rst:56
+msgid "*Introducing* :class:`TypedDict`"
+msgstr ""
+
+#: library/typing.rst:57
+msgid ":pep:`591`: Adding a final qualifier to typing"
+msgstr ""
+
+#: library/typing.rst:58
+msgid "*Introducing* :data:`Final` and the :func:`@final<final>` decorator"
+msgstr ""
+
+#: library/typing.rst:59
+msgid ":pep:`593`: Flexible function and variable annotations"
+msgstr ""
+
+#: library/typing.rst:60
+msgid "*Introducing* :data:`Annotated`"
+msgstr ""
+
+#: library/typing.rst:63
+msgid ":pep:`604`: Allow writing union types as ``X | Y``"
+msgstr ""
+
+#: library/typing.rst:62
+msgid ""
+"*Introducing* :data:`types.UnionType` and the ability to use the binary-or "
+"operator ``|`` to signify a :ref:`union of types<types-union>`"
+msgstr ""
+
+#: library/typing.rst:65
+msgid ":pep:`612`: Parameter Specification Variables"
+msgstr ""
+
+#: library/typing.rst:66
+msgid "*Introducing* :class:`ParamSpec` and :data:`Concatenate`"
+msgstr ""
+
+#: library/typing.rst:67
+#, fuzzy
+msgid ":pep:`613`: Explicit Type Aliases"
+msgstr "Voir la :pep:`484` pour plus de détails."
+
+#: library/typing.rst:68
+msgid "*Introducing* :data:`TypeAlias`"
+msgstr ""
+
+#: library/typing.rst:70
+msgid ":pep:`647`: User-Defined Type Guards"
+msgstr ""
+
+#: library/typing.rst:70
+msgid "*Introducing* :data:`TypeGuard`"
+msgstr ""
+
+#: library/typing.rst:75
 msgid "Type aliases"
 msgstr "Alias de type"
 
-#: library/typing.rst:43
+#: library/typing.rst:77
 #, fuzzy
 msgid ""
 "A type alias is defined by assigning the type to the alias. In this example, "
@@ -83,7 +189,7 @@ msgstr ""
 "exemple, ``Vector`` et ``List[float]`` sont traités comme des synonymes "
 "interchangeables ::"
 
-#: library/typing.rst:54
+#: library/typing.rst:88
 msgid ""
 "Type aliases are useful for simplifying complex type signatures. For "
 "example::"
@@ -91,7 +197,7 @@ msgstr ""
 "Les alias de type sont utiles pour simplifier les signatures complexes. Par "
 "exemple ::"
 
-#: library/typing.rst:72
+#: library/typing.rst:106
 msgid ""
 "Note that ``None`` as a type hint is a special case and is replaced by "
 "``type(None)``."
@@ -99,17 +205,17 @@ msgstr ""
 "Notez que ``None`` comme indication de type est un cas particulier et est "
 "remplacé par ``type(None)``."
 
-#: library/typing.rst:78
+#: library/typing.rst:112
 msgid "NewType"
 msgstr "*NewType*"
 
-#: library/typing.rst:80
+#: library/typing.rst:114
 #, fuzzy
 msgid "Use the :class:`NewType` helper class to create distinct types::"
 msgstr ""
 "Aidez-vous de la fonction :func:`NewType` pour créer des types distincts ::"
 
-#: library/typing.rst:87
+#: library/typing.rst:121
 msgid ""
 "The static type checker will treat the new type as if it were a subclass of "
 "the original type. This is useful in helping catch logical errors::"
@@ -118,7 +224,7 @@ msgstr ""
 "s'agissait d'une sous-classe du type original. C'est utile pour aider à "
 "détecter les erreurs logiques ::"
 
-#: library/typing.rst:99
+#: library/typing.rst:133
 msgid ""
 "You may still perform all ``int`` operations on a variable of type "
 "``UserId``, but the result will always be of type ``int``. This lets you "
@@ -131,7 +237,7 @@ msgstr ""
 "où un ``int`` est attendu, mais vous empêche de créer accidentellement un "
 "``UserId`` d'une manière invalide ::"
 
-#: library/typing.rst:107
+#: library/typing.rst:141
 #, fuzzy
 msgid ""
 "Note that these checks are enforced only by the static type checker. At "
@@ -147,7 +253,7 @@ msgstr ""
 "``Derived(some_value)`` ne crée pas une nouvelle classe ou n'introduit pas "
 "de surcharge au-delà de celle d'un appel de fonction normal."
 
-#: library/typing.rst:113
+#: library/typing.rst:147
 msgid ""
 "More precisely, the expression ``some_value is Derived(some_value)`` is "
 "always true at runtime."
@@ -155,11 +261,11 @@ msgstr ""
 "Plus précisément, l'expression ``some_value is Derived(some_value)`` est "
 "toujours vraie au moment de l'exécution."
 
-#: library/typing.rst:116
+#: library/typing.rst:150
 msgid "It is invalid to create a subtype of ``Derived``::"
 msgstr ""
 
-#: library/typing.rst:125
+#: library/typing.rst:159
 #, fuzzy
 msgid ""
 "However, it is possible to create a :class:`NewType` based on a 'derived' "
@@ -168,15 +274,15 @@ msgstr ""
 "Cependant, il est possible de créer un :func:`NewType` basé sur un "
 "``NewType`` « dérivé » ::"
 
-#: library/typing.rst:133
+#: library/typing.rst:167
 msgid "and typechecking for ``ProUserId`` will work as expected."
 msgstr "et la vérification de type pour ``ProUserId`` fonctionne comme prévu."
 
-#: library/typing.rst:135
+#: library/typing.rst:169
 msgid "See :pep:`484` for more details."
 msgstr "Voir la :pep:`484` pour plus de détails."
 
-#: library/typing.rst:139
+#: library/typing.rst:173
 msgid ""
 "Recall that the use of a type alias declares two types to be *equivalent* to "
 "one another. Doing ``Alias = Original`` will make the static type checker "
@@ -189,7 +295,7 @@ msgstr ""
 "équivalent* à ``Original`` dans tous les cas. C'est utile lorsque vous "
 "voulez simplifier des signatures complexes."
 
-#: library/typing.rst:144
+#: library/typing.rst:178
 msgid ""
 "In contrast, ``NewType`` declares one type to be a *subtype* of another. "
 "Doing ``Derived = NewType('Derived', Original)`` will make the static type "
@@ -206,18 +312,18 @@ msgstr ""
 "prévue. C'est utile lorsque vous voulez éviter les erreurs logiques avec un "
 "coût d'exécution minimal."
 
-#: library/typing.rst:153
+#: library/typing.rst:187
 msgid ""
 "``NewType`` is now a class rather than a function.  There is some additional "
 "runtime cost when calling ``NewType`` over a regular function.  However, "
 "this cost will be reduced in 3.11.0."
 msgstr ""
 
-#: library/typing.rst:160
+#: library/typing.rst:194
 msgid "Callable"
 msgstr "Appelable"
 
-#: library/typing.rst:162
+#: library/typing.rst:196
 msgid ""
 "Frameworks expecting callback functions of specific signatures might be type "
 "hinted using ``Callable[[Arg1Type, Arg2Type], ReturnType]``."
@@ -226,11 +332,11 @@ msgstr ""
 "rappel ayant des signatures spécifiques peuvent être typés en utilisant "
 "``Callable[[Arg1Type, Arg2Type], ReturnType]``."
 
-#: library/typing.rst:976 library/typing.rst:2054
+#: library/typing.rst:1010 library/typing.rst:2088
 msgid "For example::"
 msgstr "Par exemple ::"
 
-#: library/typing.rst:176
+#: library/typing.rst:210
 msgid ""
 "It is possible to declare the return type of a callable without specifying "
 "the call signature by substituting a literal ellipsis for the list of "
@@ -240,7 +346,7 @@ msgstr ""
 "la signature de l'appel en indiquant des points de suspension à la liste des "
 "arguments dans l'indice de type : ``Callable[..., ReturnType]``."
 
-#: library/typing.rst:666
+#: library/typing.rst:700
 msgid ""
 "Callables which take other callables as arguments may indicate that their "
 "parameter types are dependent on each other using :class:`ParamSpec`. "
@@ -251,23 +357,23 @@ msgid ""
 "ReturnType]`` respectively."
 msgstr ""
 
-#: library/typing.rst:678
+#: library/typing.rst:712
 msgid ""
 "``Callable`` now supports :class:`ParamSpec` and :data:`Concatenate`. See :"
 "pep:`612` for more information."
 msgstr ""
 
-#: library/typing.rst:193
+#: library/typing.rst:227
 msgid ""
 "The documentation for :class:`ParamSpec` and :class:`Concatenate` provide "
 "examples of usage in ``Callable``."
 msgstr ""
 
-#: library/typing.rst:199
+#: library/typing.rst:233
 msgid "Generics"
 msgstr "Génériques"
 
-#: library/typing.rst:201
+#: library/typing.rst:235
 msgid ""
 "Since type information about objects kept in containers cannot be statically "
 "inferred in a generic way, abstract base classes have been extended to "
@@ -279,7 +385,7 @@ msgstr ""
 "(*subscription* en anglais) et indiquer les types attendus pour les éléments "
 "de conteneur."
 
-#: library/typing.rst:212
+#: library/typing.rst:246
 msgid ""
 "Generics can be parameterized by using a new factory available in typing "
 "called :class:`TypeVar`."
@@ -287,17 +393,17 @@ msgstr ""
 "Les génériques peuvent être paramétrés en utilisant une nouvelle fabrique "
 "(au sens des patrons de conception) disponible en tapant :class:`TypeVar`."
 
-#: library/typing.rst:227
+#: library/typing.rst:261
 msgid "User-defined generic types"
 msgstr "Types génériques définis par l'utilisateur"
 
-#: library/typing.rst:229
+#: library/typing.rst:263
 msgid "A user-defined class can be defined as a generic class."
 msgstr ""
 "Une classe définie par l'utilisateur peut être définie comme une classe "
 "générique."
 
-#: library/typing.rst:255
+#: library/typing.rst:289
 msgid ""
 "``Generic[T]`` as a base class defines that the class ``LoggedVar`` takes a "
 "single type parameter ``T`` . This also makes ``T`` valid as a type within "
@@ -307,15 +413,16 @@ msgstr ""
 "``LoggedVar`` prend un paramètre de type unique ``T``. Ceci rend également "
 "``T`` valide en tant que type dans le corps de la classe."
 
-#: library/typing.rst:259
+#: library/typing.rst:293
+#, fuzzy
 msgid ""
-"The :class:`Generic` base class defines :meth:`__class_getitem__` so that "
-"``LoggedVar[t]`` is valid as a type::"
+"The :class:`Generic` base class defines :meth:`~object.__class_getitem__` so "
+"that ``LoggedVar[t]`` is valid as a type::"
 msgstr ""
 "La classe de base :class:`Generic` définit :meth:`__class_getitem__` de "
 "sorte que ``LoggedVar[t]`` est valide comme type ::"
 
-#: library/typing.rst:268
+#: library/typing.rst:302
 msgid ""
 "A generic type can have any number of type variables, and type variables may "
 "be constrained::"
@@ -323,7 +430,7 @@ msgstr ""
 "Un type générique peut avoir un nombre quelconque de variables de type et "
 "vous pouvez fixer des contraintes sur les variables de type ::"
 
-#: library/typing.rst:280
+#: library/typing.rst:314
 msgid ""
 "Each type variable argument to :class:`Generic` must be distinct. This is "
 "thus invalid::"
@@ -331,22 +438,22 @@ msgstr ""
 "Chaque argument de variable de type :class:`Generic` doit être distinct. "
 "Ceci n'est donc pas valable ::"
 
-#: library/typing.rst:291
+#: library/typing.rst:325
 msgid "You can use multiple inheritance with :class:`Generic`::"
 msgstr "Vous pouvez utiliser l'héritage multiple avec :class:`Generic` ::"
 
-#: library/typing.rst:301
+#: library/typing.rst:335
 msgid ""
 "When inheriting from generic classes, some type variables could be fixed::"
 msgstr ""
 "Lors de l'héritage de classes génériques, certaines variables de type "
 "peuvent être corrigées ::"
 
-#: library/typing.rst:311
+#: library/typing.rst:345
 msgid "In this case ``MyDict`` has a single parameter, ``T``."
 msgstr "Dans ce cas, ``MyDict`` a un seul paramètre, ``T``."
 
-#: library/typing.rst:313
+#: library/typing.rst:347
 msgid ""
 "Using a generic class without specifying type parameters assumes :data:`Any` "
 "for each position. In the following example, ``MyIterable`` is not generic "
@@ -357,17 +464,17 @@ msgstr ""
 "``MyIterable`` n'est pas générique mais hérite implicitement de "
 "``Iterable[Any]`` ::"
 
-#: library/typing.rst:321
+#: library/typing.rst:355
 msgid "User defined generic type aliases are also supported. Examples::"
 msgstr ""
 "Les alias de type générique définis par l'utilisateur sont également pris en "
 "charge. Exemples ::"
 
-#: library/typing.rst:338
+#: library/typing.rst:372
 msgid ":class:`Generic` no longer has a custom metaclass."
 msgstr ":class:`Generic` n'a plus de métaclasse personnalisée."
 
-#: library/typing.rst:341
+#: library/typing.rst:375
 msgid ""
 "User-defined generics for parameter expressions are also supported via "
 "parameter specification variables in the form ``Generic[P]``.  The behavior "
@@ -377,7 +484,7 @@ msgid ""
 "used to substitute a :class:`ParamSpec`::"
 msgstr ""
 
-#: library/typing.rst:358
+#: library/typing.rst:392
 msgid ""
 "Furthermore, a generic with only one parameter specification variable will "
 "accept parameter lists in the forms ``X[[Type1, Type2, ...]]`` and also "
@@ -385,20 +492,20 @@ msgid ""
 "converted to the former and are thus equivalent::"
 msgstr ""
 
-#: library/typing.rst:370
+#: library/typing.rst:404
 msgid ""
 "Do note that generics with :class:`ParamSpec` may not have correct "
 "``__parameters__`` after substitution in some cases because they are "
 "intended primarily for static type checking."
 msgstr ""
 
-#: library/typing.rst:374
+#: library/typing.rst:408
 msgid ""
 ":class:`Generic` can now be parameterized over parameter expressions. See :"
 "class:`ParamSpec` and :pep:`612` for more details."
 msgstr ""
 
-#: library/typing.rst:378
+#: library/typing.rst:412
 msgid ""
 "A user-defined generic class can have ABCs as base classes without a "
 "metaclass conflict. Generic metaclasses are not supported. The outcome of "
@@ -411,11 +518,11 @@ msgstr ""
 "paramétrage des génériques est mis en cache et la plupart des types dans le "
 "module ``typing`` sont hachables et comparables pour l'égalité."
 
-#: library/typing.rst:385
+#: library/typing.rst:419
 msgid "The :data:`Any` type"
 msgstr "Le type :data:`Any`"
 
-#: library/typing.rst:387
+#: library/typing.rst:421
 msgid ""
 "A special kind of type is :data:`Any`. A static type checker will treat "
 "every type as being compatible with :data:`Any` and :data:`Any` as being "
@@ -425,7 +532,7 @@ msgstr ""
 "chaque type comme étant compatible avec :data:`Any` et :data:`Any` comme "
 "étant compatible avec chaque type."
 
-#: library/typing.rst:391
+#: library/typing.rst:425
 #, fuzzy
 msgid ""
 "This means that it is possible to perform any operation or method call on a "
@@ -435,7 +542,7 @@ msgstr ""
 "appel de méthode sur une valeur de type :data:`Any` et de l'affecter à "
 "n'importe quelle variable ::"
 
-#: library/typing.rst:409
+#: library/typing.rst:443
 msgid ""
 "Notice that no typechecking is performed when assigning a value of type :"
 "data:`Any` to a more precise type. For example, the static type checker did "
@@ -449,7 +556,7 @@ msgstr ""
 "de ``a`` à ``s`` même si ``s`` était déclaré être de type :class:`str` et "
 "reçoit une valeur :class:`int` au moment de son exécution !"
 
-#: library/typing.rst:415
+#: library/typing.rst:449
 msgid ""
 "Furthermore, all functions without a return type or parameter types will "
 "implicitly default to using :data:`Any`::"
@@ -457,7 +564,7 @@ msgstr ""
 "De plus, toutes les fonctions sans type de retour ni type de paramètre sont "
 "considérées comme utilisant :data:`Any` implicitement par défaut ::"
 
-#: library/typing.rst:428
+#: library/typing.rst:462
 msgid ""
 "This behavior allows :data:`Any` to be used as an *escape hatch* when you "
 "need to mix dynamically and statically typed code."
@@ -465,7 +572,7 @@ msgstr ""
 "Ce comportement permet à :data:`Any` d'être utilisé comme succédané lorsque "
 "vous avez besoin de mélanger du code typé dynamiquement et statiquement."
 
-#: library/typing.rst:431
+#: library/typing.rst:465
 msgid ""
 "Contrast the behavior of :data:`Any` with the behavior of :class:`object`. "
 "Similar to :data:`Any`, every type is a subtype of :class:`object`. However, "
@@ -477,7 +584,7 @@ msgstr ""
 "`object`. Cependant, contrairement à :data:`Any`, l'inverse n'est pas "
 "vrai : :class:`object` n'est *pas* un sous-type de chaque autre type."
 
-#: library/typing.rst:436
+#: library/typing.rst:470
 msgid ""
 "That means when the type of a value is :class:`object`, a type checker will "
 "reject almost all operations on it, and assigning it to a variable (or using "
@@ -489,7 +596,7 @@ msgstr ""
 "l'affecter à une variable (ou l'utiliser comme une valeur de retour) d'un "
 "type plus spécialisé est une erreur de typage. Par exemple ::"
 
-#: library/typing.rst:458
+#: library/typing.rst:492
 msgid ""
 "Use :class:`object` to indicate that a value could be any type in a typesafe "
 "manner. Use :data:`Any` to indicate that a value is dynamically typed."
@@ -498,11 +605,11 @@ msgstr ""
 "quel type de manière sûre. Utiliser :data:`Any` pour indiquer qu'une valeur "
 "est typée dynamiquement."
 
-#: library/typing.rst:463
+#: library/typing.rst:497
 msgid "Nominal vs structural subtyping"
 msgstr "Sous-typage nominal et sous-typage structurel"
 
-#: library/typing.rst:465
+#: library/typing.rst:499
 msgid ""
 "Initially :pep:`484` defined Python static type system as using *nominal "
 "subtyping*. This means that a class ``A`` is allowed where a class ``B`` is "
@@ -513,7 +620,7 @@ msgstr ""
 "est permise lorsqu'une classe ``B`` est prévue si et seulement si ``A`` est "
 "une sous-classe de ``B``."
 
-#: library/typing.rst:469
+#: library/typing.rst:503
 #, fuzzy
 msgid ""
 "This requirement previously also applied to abstract base classes, such as :"
@@ -529,7 +636,7 @@ msgstr ""
 "Python idiomatique typé dynamiquement. Par exemple, ceci est conforme à la :"
 "pep:`484` ::"
 
-#: library/typing.rst:482
+#: library/typing.rst:516
 msgid ""
 ":pep:`544` allows to solve this problem by allowing users to write the above "
 "code without explicit base classes in the class definition, allowing "
@@ -544,7 +651,7 @@ msgstr ""
 "de type statique. C'est ce qu'on appelle le *sous-typage structurel* (ou "
 "typage canard) ::"
 
-#: library/typing.rst:498
+#: library/typing.rst:532
 msgid ""
 "Moreover, by subclassing a special class :class:`Protocol`, a user can "
 "define new custom protocols to fully enjoy structural subtyping (see "
@@ -554,16 +661,16 @@ msgstr ""
 "utilisateur peut définir de nouveaux protocoles personnalisés pour profiter "
 "pleinement du sous-typage structurel (voir exemples ci-dessous)."
 
-#: library/typing.rst:503
+#: library/typing.rst:537
 msgid "Module contents"
 msgstr ""
 
-#: library/typing.rst:505
+#: library/typing.rst:539
 #, fuzzy
 msgid "The module defines the following classes, functions and decorators."
 msgstr "Ce module définit les classes, fonctions et décorateurs suivants :"
 
-#: library/typing.rst:509
+#: library/typing.rst:543
 msgid ""
 "This module defines several types that are subclasses of pre-existing "
 "standard library classes which also extend :class:`Generic` to support type "
@@ -571,7 +678,7 @@ msgid ""
 "corresponding pre-existing classes were enhanced to support ``[]``."
 msgstr ""
 
-#: library/typing.rst:515
+#: library/typing.rst:549
 msgid ""
 "The redundant types are deprecated as of Python 3.9 but no deprecation "
 "warnings will be issued by the interpreter. It is expected that type "
@@ -579,64 +686,64 @@ msgid ""
 "Python 3.9 or newer."
 msgstr ""
 
-#: library/typing.rst:520
+#: library/typing.rst:554
 msgid ""
 "The deprecated types will be removed from the :mod:`typing` module in the "
 "first Python version released 5 years after the release of Python 3.9.0. See "
 "details in :pep:`585`—*Type Hinting Generics In Standard Collections*."
 msgstr ""
 
-#: library/typing.rst:526
+#: library/typing.rst:560
 msgid "Special typing primitives"
 msgstr ""
 
-#: library/typing.rst:529
+#: library/typing.rst:563
 #, fuzzy
 msgid "Special types"
 msgstr "Type « optionnel »."
 
-#: library/typing.rst:531
+#: library/typing.rst:565
 msgid "These can be used as types in annotations and do not support ``[]``."
 msgstr ""
 
-#: library/typing.rst:535
+#: library/typing.rst:569
 msgid "Special type indicating an unconstrained type."
 msgstr "Type spécial indiquant un type non contraint."
 
-#: library/typing.rst:537
+#: library/typing.rst:571
 msgid "Every type is compatible with :data:`Any`."
 msgstr "Chaque type est compatible avec :data:`Any`."
 
-#: library/typing.rst:538
+#: library/typing.rst:572
 msgid ":data:`Any` is compatible with every type."
 msgstr ":data:`Any` est compatible avec tous les types."
 
-#: library/typing.rst:542
+#: library/typing.rst:576
 msgid "Special type indicating that a function never returns. For example::"
 msgstr "Type spécial indiquant qu'une fonction ne renvoie rien. Par exemple ::"
 
-#: library/typing.rst:555
+#: library/typing.rst:589
 msgid ""
 "Special annotation for explicitly declaring a :ref:`type alias <type-"
 "aliases>`. For example::"
 msgstr ""
 
-#: library/typing.rst:562
+#: library/typing.rst:596
 #, fuzzy
 msgid "See :pep:`613` for more details about explicit type aliases."
 msgstr "Voir la :pep:`484` pour plus de détails."
 
-#: library/typing.rst:567
+#: library/typing.rst:601
 msgid "Special forms"
 msgstr ""
 
-#: library/typing.rst:569
+#: library/typing.rst:603
 msgid ""
 "These can be used as types in annotations using ``[]``, each having a unique "
 "syntax."
 msgstr ""
 
-#: library/typing.rst:573
+#: library/typing.rst:607
 msgid ""
 "Tuple type; ``Tuple[X, Y]`` is the type of a tuple of two items with the "
 "first item of type X and the second of type Y. The type of the empty tuple "
@@ -646,7 +753,7 @@ msgstr ""
 "éléments avec le premier élément de type X et le second de type Y. Le type "
 "du *n*-uplet vide peut être écrit comme ``Tuple[()]``."
 
-#: library/typing.rst:577
+#: library/typing.rst:611
 msgid ""
 "Example: ``Tuple[T1, T2]`` is a tuple of two elements corresponding to type "
 "variables T1 and T2.  ``Tuple[int, float, str]`` is a tuple of an int, a "
@@ -656,7 +763,7 @@ msgstr ""
 "type ``T1`` et ``T2``. ``Tuple[int, float, str]`` est un triplet composé "
 "d'un entier, d'un flottant et d'une chaîne de caractères."
 
-#: library/typing.rst:581
+#: library/typing.rst:615
 msgid ""
 "To specify a variable-length tuple of homogeneous type, use literal "
 "ellipsis, e.g. ``Tuple[int, ...]``. A plain :data:`Tuple` is equivalent to "
@@ -667,7 +774,7 @@ msgstr ""
 "`Tuple` est équivalent à ``Tuple[Any, ....]`` et, à son tour, à :class:"
 "`tuple`."
 
-#: library/typing.rst:585
+#: library/typing.rst:619
 msgid ""
 ":class:`builtins.tuple <tuple>` now supports ``[]``. See :pep:`585` and :ref:"
 "`types-genericalias`."
@@ -675,14 +782,14 @@ msgstr ""
 ":class:`builtins.tuple <tuple>` prend désormais en charge ``[]``. Voir :pep:"
 "`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:591
+#: library/typing.rst:625
 #, fuzzy
 msgid ""
 "Union type; ``Union[X, Y]`` is equivalent to ``X | Y`` and means either X or "
 "Y."
 msgstr "Type « union » ; ``Union[X, Y]`` signifie X ou Y."
 
-#: library/typing.rst:593
+#: library/typing.rst:627
 #, fuzzy
 msgid ""
 "To define a union, use e.g. ``Union[int, str]`` or the shorthand ``int | "
@@ -690,58 +797,58 @@ msgid ""
 msgstr ""
 "Pour définir une union, utilisez par exemple ``Union[int, str]``. Détail :"
 
-#: library/typing.rst:595
+#: library/typing.rst:629
 msgid "The arguments must be types and there must be at least one."
 msgstr ""
 "Les arguments doivent être des types et il doit y en avoir au moins un."
 
-#: library/typing.rst:597
+#: library/typing.rst:631
 msgid "Unions of unions are flattened, e.g.::"
 msgstr "Les unions d'unions sont aplanies, par exemple ::"
 
-#: library/typing.rst:601
+#: library/typing.rst:635
 msgid "Unions of a single argument vanish, e.g.::"
 msgstr "Les unions d'un seul argument disparaissent, par exemple ::"
 
-#: library/typing.rst:605
+#: library/typing.rst:639
 msgid "Redundant arguments are skipped, e.g.::"
 msgstr "Les arguments redondants sont ignorés, par exemple ::"
 
-#: library/typing.rst:609
+#: library/typing.rst:643
 msgid "When comparing unions, the argument order is ignored, e.g.::"
 msgstr ""
 "Lors de la comparaison d'unions, l'ordre des arguments est ignoré, par "
 "exemple ::"
 
-#: library/typing.rst:613
+#: library/typing.rst:647
 #, fuzzy
 msgid "You cannot subclass or instantiate a ``Union``."
 msgstr "Vous ne pouvez pas sous-classer ou instancier une union."
 
-#: library/typing.rst:615
+#: library/typing.rst:649
 msgid "You cannot write ``Union[X][Y]``."
 msgstr "Vous ne pouvez pas écrire ``Union[X][Y]``."
 
-#: library/typing.rst:617
+#: library/typing.rst:651
 msgid "Don't remove explicit subclasses from unions at runtime."
 msgstr "Ne supprime pas les sous-classes explicites des unions à l'exécution."
 
-#: library/typing.rst:620
+#: library/typing.rst:654
 msgid ""
 "Unions can now be written as ``X | Y``. See :ref:`union type "
 "expressions<types-union>`."
 msgstr ""
 
-#: library/typing.rst:626
+#: library/typing.rst:660
 msgid "Optional type."
 msgstr "Type « optionnel »."
 
-#: library/typing.rst:628
+#: library/typing.rst:662
 #, fuzzy
 msgid "``Optional[X]`` is equivalent to ``X | None`` (or ``Union[X, None]``)."
 msgstr "``Optional[X]`` équivaut à ``Union[X, None]``."
 
-#: library/typing.rst:630
+#: library/typing.rst:664
 msgid ""
 "Note that this is not the same concept as an optional argument, which is one "
 "that has a default.  An optional argument with a default does not require "
@@ -753,7 +860,7 @@ msgstr ""
 "valeur par défaut) ne nécessite pas, à ce titre, le qualificatif "
 "``Optional`` sur son annotation de type. Par exemple ::"
 
-#: library/typing.rst:638
+#: library/typing.rst:672
 msgid ""
 "On the other hand, if an explicit value of ``None`` is allowed, the use of "
 "``Optional`` is appropriate, whether the argument is optional or not. For "
@@ -763,19 +870,19 @@ msgstr ""
 "de ``Optional`` est appropriée, que l'argument soit facultatif ou non. Par "
 "exemple ::"
 
-#: library/typing.rst:645
+#: library/typing.rst:679
 msgid ""
 "Optional can now be written as ``X | None``. See :ref:`union type "
 "expressions<types-union>`."
 msgstr ""
 
-#: library/typing.rst:651
+#: library/typing.rst:685
 msgid "Callable type; ``Callable[[int], str]`` is a function of (int) -> str."
 msgstr ""
 "Type Appelable. ``Callable[[int], str]`` est une fonction de type ``(int) -> "
 "str``."
 
-#: library/typing.rst:653
+#: library/typing.rst:687
 msgid ""
 "The subscription syntax must always be used with exactly two values: the "
 "argument list and the return type.  The argument list must be a list of "
@@ -786,7 +893,7 @@ msgstr ""
 "retour. La liste d'arguments doit être une liste de types ou une ellipse ; "
 "il doit y avoir un seul type de retour."
 
-#: library/typing.rst:658
+#: library/typing.rst:692
 msgid ""
 "There is no syntax to indicate optional or keyword arguments; such function "
 "types are rarely used as callback types. ``Callable[..., ReturnType]`` "
@@ -803,7 +910,7 @@ msgstr ""
 "équivalent à ``Callable[..., Any]`` et, à son tour, à :class:`collections."
 "abc.Callable`."
 
-#: library/typing.rst:674
+#: library/typing.rst:708
 msgid ""
 ":class:`collections.abc.Callable` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -811,13 +918,13 @@ msgstr ""
 ":class:`collections.abc.Callable` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:683
+#: library/typing.rst:717
 msgid ""
 "The documentation for :class:`ParamSpec` and :class:`Concatenate` provide "
 "examples of usage with ``Callable``."
 msgstr ""
 
-#: library/typing.rst:688
+#: library/typing.rst:722
 msgid ""
 "Used with :data:`Callable` and :class:`ParamSpec` to type annotate a higher "
 "order callable which adds, removes, or transforms parameters of another "
@@ -827,7 +934,7 @@ msgid ""
 "``Concatenate`` must be a :class:`ParamSpec`."
 msgstr ""
 
-#: library/typing.rst:695
+#: library/typing.rst:729
 msgid ""
 "For example, to annotate a decorator ``with_lock`` which provides a :class:"
 "`threading.Lock` to the decorated function,  ``Concatenate`` can be used to "
@@ -838,17 +945,17 @@ msgid ""
 "passed in::"
 msgstr ""
 
-#: library/typing.rst:1155
+#: library/typing.rst:1189
 msgid ""
 ":pep:`612` -- Parameter Specification Variables (the PEP which introduced "
 "``ParamSpec`` and ``Concatenate``)."
 msgstr ""
 
-#: library/typing.rst:737
+#: library/typing.rst:771
 msgid ":class:`ParamSpec` and :class:`Callable`."
 msgstr ""
 
-#: library/typing.rst:742
+#: library/typing.rst:776
 msgid ""
 "A variable annotated with ``C`` may accept a value of type ``C``. In "
 "contrast, a variable annotated with ``Type[C]`` may accept values that are "
@@ -860,11 +967,11 @@ msgstr ""
 "qui sont elles-mêmes des classes — plus précisément, elle accepte l'objet "
 "*class* de ``C``. Par exemple ::"
 
-#: library/typing.rst:751
+#: library/typing.rst:785
 msgid "Note that ``Type[C]`` is covariant::"
 msgstr "Notez que ``Type[C]`` est covariant ::"
 
-#: library/typing.rst:763
+#: library/typing.rst:797
 msgid ""
 "The fact that ``Type[C]`` is covariant implies that all subclasses of ``C`` "
 "should implement the same constructor signature and class method signatures "
@@ -882,7 +989,7 @@ msgstr ""
 "de type est tenu de traiter ce cas particulier peut changer dans les futures "
 "révisions de :pep:`484`."
 
-#: library/typing.rst:771
+#: library/typing.rst:805
 msgid ""
 "The only legal parameters for :class:`Type` are classes, :data:`Any`, :ref:"
 "`type variables <generics>`, and unions of any of these types. For example::"
@@ -891,7 +998,7 @@ msgstr ""
 "`Any`, :ref:`type variables <generics>`, et les unions de ces types. Par "
 "exemple ::"
 
-#: library/typing.rst:777
+#: library/typing.rst:811
 msgid ""
 "``Type[Any]`` is equivalent to ``Type`` which in turn is equivalent to "
 "``type``, which is the root of Python's metaclass hierarchy."
@@ -899,7 +1006,7 @@ msgstr ""
 "``Type[Any]`` est équivalent à ``Type`` qui à son tour est équivalent à "
 "``type``, qui est la racine de la hiérarchie des métaclasses de Python."
 
-#: library/typing.rst:782
+#: library/typing.rst:816
 msgid ""
 ":class:`builtins.type <type>` now supports ``[]``. See :pep:`585` and :ref:"
 "`types-genericalias`."
@@ -907,7 +1014,7 @@ msgstr ""
 ":class:`builtins.type <type>` prend désormais en charge ``[]``. Voir :pep:"
 "`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:788
+#: library/typing.rst:822
 msgid ""
 "A type that can be used to indicate to type checkers that the corresponding "
 "variable or function parameter has a value equivalent to the provided "
@@ -917,7 +1024,7 @@ msgstr ""
 "de fonction correspondant a une valeur équivalente au littéral fourni (ou un "
 "parmi plusieurs littéraux). Par exemple ::"
 
-#: library/typing.rst:802
+#: library/typing.rst:836
 msgid ""
 "``Literal[...]`` cannot be subclassed. At runtime, an arbitrary value is "
 "allowed as type argument to ``Literal[...]``, but type checkers may impose "
@@ -928,7 +1035,7 @@ msgstr ""
 "les vérificateurs de type peuvent imposer des restrictions. Voir la :pep:"
 "`586` pour plus de détails sur les types littéraux."
 
-#: library/typing.rst:808
+#: library/typing.rst:842
 msgid ""
 "``Literal`` now de-duplicates parameters.  Equality comparisons of "
 "``Literal`` objects are no longer order dependent. ``Literal`` objects will "
@@ -936,12 +1043,12 @@ msgid ""
 "their parameters are not :term:`hashable`."
 msgstr ""
 
-#: library/typing.rst:816
+#: library/typing.rst:850
 msgid "Special type construct to mark class variables."
 msgstr ""
 "Construction de type particulière pour indiquer les variables de classe."
 
-#: library/typing.rst:818
+#: library/typing.rst:852
 msgid ""
 "As introduced in :pep:`526`, a variable annotation wrapped in ClassVar "
 "indicates that a given attribute is intended to be used as a class variable "
@@ -952,11 +1059,11 @@ msgstr ""
 "utilisé comme une variable de classe et ne doit pas être défini sur des "
 "instances de cette classe. Utilisation ::"
 
-#: library/typing.rst:826
+#: library/typing.rst:860
 msgid ":data:`ClassVar` accepts only types and cannot be further subscribed."
 msgstr ":data:`ClassVar` n'accepte que les types et ne peut plus être dérivé."
 
-#: library/typing.rst:828
+#: library/typing.rst:862
 msgid ""
 ":data:`ClassVar` is not a class itself, and should not be used with :func:"
 "`isinstance` or :func:`issubclass`. :data:`ClassVar` does not change Python "
@@ -969,7 +1076,7 @@ msgstr ""
 "par des vérificateurs tiers. Par exemple, un vérificateur de type peut "
 "marquer le code suivant comme une erreur ::"
 
-#: library/typing.rst:842
+#: library/typing.rst:876
 msgid ""
 "A special typing construct to indicate to type checkers that a name cannot "
 "be re-assigned or overridden in a subclass. For example::"
@@ -978,7 +1085,7 @@ msgstr ""
 "qu'un nom ne peut pas être réassigné ou remplacé dans une sous-classe. Par "
 "exemple ::"
 
-#: library/typing.rst:1949
+#: library/typing.rst:1983
 msgid ""
 "There is no runtime checking of these properties. See :pep:`591` for more "
 "details."
@@ -986,7 +1093,7 @@ msgstr ""
 "Ces propriétés ne sont pas vérifiées à l'exécution. Voir la :pep:`591` pour "
 "plus de détails."
 
-#: library/typing.rst:861
+#: library/typing.rst:895
 msgid ""
 "A type, introduced in :pep:`593` (``Flexible function and variable "
 "annotations``), to decorate existing types with context-specific metadata "
@@ -1003,7 +1110,7 @@ msgid ""
 "``x`` within a specific application."
 msgstr ""
 
-#: library/typing.rst:875
+#: library/typing.rst:909
 msgid ""
 "Ultimately, the responsibility of how to interpret the annotations (if at "
 "all) is the responsibility of the tool or library encountering the "
@@ -1012,21 +1119,21 @@ msgid ""
 "using ``isinstance()``)."
 msgstr ""
 
-#: library/typing.rst:881
+#: library/typing.rst:915
 msgid ""
 "When a tool or a library does not support annotations or encounters an "
 "unknown annotation it should just ignore it and treat annotated type as the "
 "underlying type."
 msgstr ""
 
-#: library/typing.rst:885
+#: library/typing.rst:919
 msgid ""
 "It's up to the tool consuming the annotations to decide whether the client "
 "is allowed to have several annotations on one type and how to merge those "
 "annotations."
 msgstr ""
 
-#: library/typing.rst:889
+#: library/typing.rst:923
 msgid ""
 "Since the ``Annotated`` type allows you to put several annotations of the "
 "same (or different) type(s) on any node, the tools or libraries consuming "
@@ -1034,59 +1141,59 @@ msgid ""
 "example, if you are doing value range analysis you might allow this::"
 msgstr ""
 
-#: library/typing.rst:898
+#: library/typing.rst:932
 msgid ""
 "Passing ``include_extras=True`` to :func:`get_type_hints` lets one access "
 "the extra annotations at runtime."
 msgstr ""
 
-#: library/typing.rst:901
+#: library/typing.rst:935
 msgid "The details of the syntax:"
 msgstr ""
 
-#: library/typing.rst:903
+#: library/typing.rst:937
 msgid "The first argument to ``Annotated`` must be a valid type"
 msgstr ""
 
-#: library/typing.rst:905
+#: library/typing.rst:939
 msgid ""
 "Multiple type annotations are supported (``Annotated`` supports variadic "
 "arguments)::"
 msgstr ""
 
-#: library/typing.rst:910
+#: library/typing.rst:944
 msgid ""
 "``Annotated`` must be called with at least two arguments "
 "( ``Annotated[int]`` is not valid)"
 msgstr ""
 
-#: library/typing.rst:913
+#: library/typing.rst:947
 msgid ""
 "The order of the annotations is preserved and matters for equality checks::"
 msgstr ""
 
-#: library/typing.rst:920
+#: library/typing.rst:954
 msgid ""
 "Nested ``Annotated`` types are flattened, with metadata ordered starting "
 "with the innermost annotation::"
 msgstr ""
 
-#: library/typing.rst:927
+#: library/typing.rst:961
 msgid "Duplicated annotations are not removed::"
 msgstr ""
 
-#: library/typing.rst:933
+#: library/typing.rst:967
 msgid "``Annotated`` can be used with nested and generic aliases::"
 msgstr ""
 
-#: library/typing.rst:946
+#: library/typing.rst:980
 msgid ""
 "Special typing form used to annotate the return type of a user-defined type "
 "guard function.  ``TypeGuard`` only accepts a single type argument. At "
 "runtime, functions marked this way should return a boolean."
 msgstr ""
 
-#: library/typing.rst:950
+#: library/typing.rst:984
 msgid ""
 "``TypeGuard`` aims to benefit *type narrowing* -- a technique used by static "
 "type checkers to determine a more precise type of an expression within a "
@@ -1095,44 +1202,44 @@ msgid ""
 "conditional expression here is sometimes referred to as a \"type guard\"::"
 msgstr ""
 
-#: library/typing.rst:965
+#: library/typing.rst:999
 msgid ""
 "Sometimes it would be convenient to use a user-defined boolean function as a "
 "type guard.  Such a function should use ``TypeGuard[...]`` as its return "
 "type to alert static type checkers to this intention."
 msgstr ""
 
-#: library/typing.rst:969
+#: library/typing.rst:1003
 msgid ""
 "Using  ``-> TypeGuard`` tells the static type checker that for a given "
 "function:"
 msgstr ""
 
-#: library/typing.rst:972
+#: library/typing.rst:1006
 msgid "The return value is a boolean."
 msgstr ""
 
-#: library/typing.rst:973
+#: library/typing.rst:1007
 msgid ""
 "If the return value is ``True``, the type of its argument is the type inside "
 "``TypeGuard``."
 msgstr ""
 
-#: library/typing.rst:990
+#: library/typing.rst:1024
 msgid ""
 "If ``is_str_list`` is a class or instance method, then the type in "
 "``TypeGuard`` maps to the type of the second parameter after ``cls`` or "
 "``self``."
 msgstr ""
 
-#: library/typing.rst:994
+#: library/typing.rst:1028
 msgid ""
 "In short, the form ``def foo(arg: TypeA) -> TypeGuard[TypeB]: ...``, means "
 "that if ``foo(arg)`` returns ``True``, then ``arg`` narrows from ``TypeA`` "
 "to ``TypeB``."
 msgstr ""
 
-#: library/typing.rst:1000
+#: library/typing.rst:1034
 msgid ""
 "``TypeB`` need not be a narrower form of ``TypeA`` -- it can even be a wider "
 "form. The main reason is to allow for things like narrowing ``List[object]`` "
@@ -1141,28 +1248,28 @@ msgid ""
 "guards is left to the user."
 msgstr ""
 
-#: library/typing.rst:1006
+#: library/typing.rst:1040
 msgid ""
 "``TypeGuard`` also works with type variables.  For more information, see :"
 "pep:`647` (User-Defined Type Guards)."
 msgstr ""
 
-#: library/typing.rst:1013
+#: library/typing.rst:1047
 #, fuzzy
 msgid "Building generic types"
 msgstr "Types génériques définis par l'utilisateur"
 
-#: library/typing.rst:1015
+#: library/typing.rst:1049
 msgid ""
 "These are not used in annotations. They are building blocks for creating "
 "generic types."
 msgstr ""
 
-#: library/typing.rst:1019
+#: library/typing.rst:1053
 msgid "Abstract base class for generic types."
 msgstr "Classe de base abstraite pour les types génériques."
 
-#: library/typing.rst:1021
+#: library/typing.rst:1055
 msgid ""
 "A generic type is typically declared by inheriting from an instantiation of "
 "this class with one or more type variables. For example, a generic mapping "
@@ -1172,19 +1279,19 @@ msgstr ""
 "de cette classe avec une ou plusieurs variables de type. Par exemple, un "
 "type de correspondance générique peut être défini comme suit ::"
 
-#: library/typing.rst:1030
+#: library/typing.rst:1064
 msgid "This class can then be used as follows::"
 msgstr "Cette classe peut alors être utilisée comme suit ::"
 
-#: library/typing.rst:1043
+#: library/typing.rst:1077
 msgid "Type variable."
 msgstr "Variables de type."
 
-#: library/typing.rst:1084 library/typing.rst:1261
+#: library/typing.rst:1118 library/typing.rst:1295
 msgid "Usage::"
 msgstr "Utilisation ::"
 
-#: library/typing.rst:1050
+#: library/typing.rst:1084
 #, fuzzy
 msgid ""
 "Type variables exist primarily for the benefit of static type checkers.  "
@@ -1198,7 +1305,7 @@ msgstr ""
 "``Generic`` pour plus d'informations sur les types génériques. Les fonctions "
 "génériques fonctionnent comme suit ::"
 
-#: library/typing.rst:1063
+#: library/typing.rst:1097
 msgid ""
 "The latter example's signature is essentially the overloading of ``(str, "
 "str) -> str`` and ``(bytes, bytes) -> bytes``.  Also note that if the "
@@ -1210,7 +1317,7 @@ msgstr ""
 "les arguments sont des instances d'une sous-classe de la classe :class:"
 "`str`, le type de retour est toujours la classe :class:`str`."
 
-#: library/typing.rst:1068
+#: library/typing.rst:1102
 msgid ""
 "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`.  In general, :"
 "func:`isinstance` and :func:`issubclass` should not be used with types."
@@ -1219,7 +1326,7 @@ msgstr ""
 "général, :func:`isinstance` et :func:`issubclass` ne devraient pas être "
 "utilisés avec les types."
 
-#: library/typing.rst:1071
+#: library/typing.rst:1105
 msgid ""
 "Type variables may be marked covariant or contravariant by passing "
 "``covariant=True`` or ``contravariant=True``.  See :pep:`484` for more "
@@ -1236,13 +1343,13 @@ msgstr ""
 "(explicitement ou implicitement) à la variable type doit être une sous-"
 "classe du type frontière (*boundary* en anglais), voir la :pep:`484`."
 
-#: library/typing.rst:1081
+#: library/typing.rst:1115
 msgid ""
 "Parameter specification variable.  A specialized version of :class:`type "
 "variables <TypeVar>`."
 msgstr ""
 
-#: library/typing.rst:1088
+#: library/typing.rst:1122
 msgid ""
 "Parameter specification variables exist primarily for the benefit of static "
 "type checkers.  They are used to forward the parameter types of one callable "
@@ -1252,7 +1359,7 @@ msgid ""
 "See :class:`Generic` for more information on generic types."
 msgstr ""
 
-#: library/typing.rst:1095
+#: library/typing.rst:1129
 msgid ""
 "For example, to add basic logging to a function, one can create a decorator "
 "``add_logging`` to log function calls.  The parameter specification variable "
@@ -1260,27 +1367,27 @@ msgid ""
 "new callable returned by it have inter-dependent type parameters::"
 msgstr ""
 
-#: library/typing.rst:1119
+#: library/typing.rst:1153
 msgid ""
 "Without ``ParamSpec``, the simplest way to annotate this previously was to "
 "use a :class:`TypeVar` with bound ``Callable[..., Any]``.  However this "
 "causes two problems:"
 msgstr ""
 
-#: library/typing.rst:1123
+#: library/typing.rst:1157
 msgid ""
 "The type checker can't type check the ``inner`` function because ``*args`` "
 "and ``**kwargs`` have to be typed :data:`Any`."
 msgstr ""
 
-#: library/typing.rst:1125
+#: library/typing.rst:1159
 msgid ""
 ":func:`~cast` may be required in the body of the ``add_logging`` decorator "
 "when returning the ``inner`` function, or the static type checker must be "
 "told to ignore the ``return inner``."
 msgstr ""
 
-#: library/typing.rst:1132
+#: library/typing.rst:1166
 msgid ""
 "Since ``ParamSpec`` captures both positional and keyword parameters, ``P."
 "args`` and ``P.kwargs`` can be used to split a ``ParamSpec`` into its "
@@ -1293,7 +1400,7 @@ msgid ""
 "`ParamSpecKwargs`."
 msgstr ""
 
-#: library/typing.rst:1142
+#: library/typing.rst:1176
 msgid ""
 "Parameter specification variables created with ``covariant=True`` or "
 "``contravariant=True`` can be used to declare covariant or contravariant "
@@ -1302,17 +1409,17 @@ msgid ""
 "decided."
 msgstr ""
 
-#: library/typing.rst:1151
+#: library/typing.rst:1185
 msgid ""
 "Only parameter specification variables defined in global scope can be "
 "pickled."
 msgstr ""
 
-#: library/typing.rst:1157
+#: library/typing.rst:1191
 msgid ":class:`Callable` and :class:`Concatenate`."
 msgstr ""
 
-#: library/typing.rst:1162
+#: library/typing.rst:1196
 msgid ""
 "Arguments and keyword arguments attributes of a :class:`ParamSpec`. The ``P."
 "args`` attribute of a ``ParamSpec`` is an instance of ``ParamSpecArgs``, and "
@@ -1320,13 +1427,13 @@ msgid ""
 "runtime introspection and have no special meaning to static type checkers."
 msgstr ""
 
-#: library/typing.rst:1167
+#: library/typing.rst:1201
 msgid ""
 "Calling :func:`get_origin` on either of these objects will return the "
 "original ``ParamSpec``::"
 msgstr ""
 
-#: library/typing.rst:1179
+#: library/typing.rst:1213
 msgid ""
 "``AnyStr`` is a type variable defined as ``AnyStr = TypeVar('AnyStr', str, "
 "bytes)``."
@@ -1334,7 +1441,7 @@ msgstr ""
 "``AnyStr`` est une variable de type définie comme ``AnyStr = "
 "TypeVar('AnyStr', str, bytes)``."
 
-#: library/typing.rst:1182
+#: library/typing.rst:1216
 msgid ""
 "It is meant to be used for functions that may accept any kind of string "
 "without allowing different kinds of strings to mix. For example::"
@@ -1343,14 +1450,14 @@ msgstr ""
 "n'importe quel type de chaîne de caractères sans permettre à différents "
 "types de chaînes de caractères de se mélanger. Par exemple ::"
 
-#: library/typing.rst:1194
+#: library/typing.rst:1228
 msgid ""
 "Base class for protocol classes. Protocol classes are defined like this::"
 msgstr ""
 "Classe de base pour les classes de protocole. Les classes de protocole sont "
 "définies comme suit ::"
 
-#: library/typing.rst:1200
+#: library/typing.rst:1234
 msgid ""
 "Such classes are primarily used with static type checkers that recognize "
 "structural subtyping (static duck-typing), for example::"
@@ -1359,7 +1466,7 @@ msgstr ""
 "de type qui reconnaissent les sous-types structurels (typage canard "
 "statique), par exemple ::"
 
-#: library/typing.rst:1212
+#: library/typing.rst:1246
 msgid ""
 "See :pep:`544` for details. Protocol classes decorated with :func:"
 "`runtime_checkable` (described later) act as simple-minded runtime protocols "
@@ -1371,15 +1478,15 @@ msgstr ""
 "protocoles d'exécution simples qui ne vérifient que la présence d'attributs "
 "donnés, ignorant leurs signatures de type."
 
-#: library/typing.rst:1217
+#: library/typing.rst:1251
 msgid "Protocol classes can be generic, for example::"
 msgstr "Les classes de protocole peuvent être génériques, par exemple ::"
 
-#: library/typing.rst:1227
+#: library/typing.rst:1261
 msgid "Mark a protocol class as a runtime protocol."
 msgstr "Marquez une classe de protocole comme protocole d'exécution."
 
-#: library/typing.rst:1229
+#: library/typing.rst:1263
 #, fuzzy
 msgid ""
 "Such a protocol can be used with :func:`isinstance` and :func:`issubclass`. "
@@ -1394,7 +1501,7 @@ msgstr ""
 "similaire aux « classes qui ne savent faire qu'une chose » présentes dans :"
 "mod:`collections.abc` tel que :class:`Iterable`. Par exemple ::"
 
-#: library/typing.rst:1242
+#: library/typing.rst:1276
 msgid ""
 ":func:`runtime_checkable` will check only the presence of the required "
 "methods, not their type signatures. For example, :class:`ssl.SSLObject` is a "
@@ -1404,39 +1511,39 @@ msgid ""
 "making it impossible to call (instantiate) :class:`ssl.SSLObject`."
 msgstr ""
 
-#: library/typing.rst:1253
+#: library/typing.rst:1287
 msgid "Other special directives"
 msgstr ""
 
-#: library/typing.rst:1255
+#: library/typing.rst:1289
 msgid ""
 "These are not used in annotations. They are building blocks for declaring "
 "types."
 msgstr ""
 
-#: library/typing.rst:1259
+#: library/typing.rst:1293
 msgid "Typed version of :func:`collections.namedtuple`."
 msgstr "Version typée de :func:`collections.namedtuple`."
 
-#: library/typing.rst:1267
+#: library/typing.rst:1301
 msgid "This is equivalent to::"
 msgstr "Ce qui est équivalent à ::"
 
-#: library/typing.rst:1271
+#: library/typing.rst:1305
 msgid ""
 "To give a field a default value, you can assign to it in the class body::"
 msgstr ""
 "Pour assigner une valeur par défaut à un champ, vous pouvez lui donner dans "
 "le corps de classe ::"
 
-#: library/typing.rst:1280
+#: library/typing.rst:1314
 msgid ""
 "Fields with a default value must come after any fields without a default."
 msgstr ""
 "Les champs avec une valeur par défaut doivent venir après tous les champs "
 "sans valeur par défaut."
 
-#: library/typing.rst:1282
+#: library/typing.rst:1316
 msgid ""
 "The resulting class has an extra attribute ``__annotations__`` giving a dict "
 "that maps the field names to the field types.  (The field names are in the "
@@ -1449,28 +1556,28 @@ msgstr ""
 "défaut sont dans l'attribut ``_field_defaults`` qui font partie de l'API "
 "*namedtuple*.)"
 
-#: library/typing.rst:1288
+#: library/typing.rst:1322
 msgid "``NamedTuple`` subclasses can also have docstrings and methods::"
 msgstr ""
 "Les sous-classes de ``NamedTuple`` peuvent aussi avoir des *docstrings* et "
 "des méthodes ::"
 
-#: library/typing.rst:1298
+#: library/typing.rst:1332
 msgid "Backward-compatible usage::"
 msgstr "Utilisation rétrocompatible ::"
 
-#: library/typing.rst:1302
+#: library/typing.rst:1336
 msgid "Added support for :pep:`526` variable annotation syntax."
 msgstr ""
 "Ajout de la gestion de la syntaxe d'annotation variable de la :pep:`526`."
 
-#: library/typing.rst:1305
+#: library/typing.rst:1339
 msgid "Added support for default values, methods, and docstrings."
 msgstr ""
 "Ajout de la prise en charge des valeurs par défaut, des méthodes et des "
 "chaînes de caractères *docstrings*."
 
-#: library/typing.rst:1308
+#: library/typing.rst:1342
 msgid ""
 "The ``_field_types`` and ``__annotations__`` attributes are now regular "
 "dictionaries instead of instances of ``OrderedDict``."
@@ -1478,7 +1585,7 @@ msgstr ""
 "Les attributs ``_field_types`` et ``__annotations__`` sont maintenant des "
 "dictionnaires standards au lieu d'instances de ``OrderedDict``."
 
-#: library/typing.rst:1312
+#: library/typing.rst:1346
 msgid ""
 "Removed the ``_field_types`` attribute in favor of the more standard "
 "``__annotations__`` attribute which has the same information."
@@ -1486,7 +1593,7 @@ msgstr ""
 "rend l'attribut ``_field_types`` obsolète en faveur de l'attribut plus "
 "standard ``__annotations__`` qui a la même information."
 
-#: library/typing.rst:1318
+#: library/typing.rst:1352
 #, fuzzy
 msgid ""
 "A helper class to indicate a distinct type to a typechecker, see :ref:"
@@ -1497,11 +1604,11 @@ msgstr ""
 "vérificateur de type, voir :ref:`distinct`. Lors de l'exécution, elle "
 "renvoie une fonction qui renvoie son argument. Utilisation ::"
 
-#: library/typing.rst:1328
+#: library/typing.rst:1362
 msgid "``NewType`` is now a class rather than a function."
 msgstr ""
 
-#: library/typing.rst:1333
+#: library/typing.rst:1367
 #, fuzzy
 msgid ""
 "Special construct to add type hints to a dictionary. At runtime it is a "
@@ -1510,7 +1617,7 @@ msgstr ""
 "Un simple espace de nommage typé. À l'exécution, c'est l'équivalent d'un "
 "simple :class:`dict`."
 
-#: library/typing.rst:1336
+#: library/typing.rst:1370
 #, fuzzy
 msgid ""
 "``TypedDict`` declares a dictionary type that expects all of its instances "
@@ -1524,7 +1631,7 @@ msgstr ""
 "l'exécution mais n'est appliquée que par les vérificateurs de type. "
 "Utilisation ::"
 
-#: library/typing.rst:1352
+#: library/typing.rst:1386
 #, fuzzy
 msgid ""
 "The type info for introspection can be accessed via ``Point2D."
@@ -1539,13 +1646,13 @@ msgstr ""
 "pas en compte la :pep:`526`, ``TypedDict`` gère deux formes syntaxiques "
 "équivalentes supplémentaires ::"
 
-#: library/typing.rst:1362
+#: library/typing.rst:1396
 msgid ""
 "By default, all keys must be present in a ``TypedDict``. It is possible to "
 "override this by specifying totality. Usage::"
 msgstr ""
 
-#: library/typing.rst:1370
+#: library/typing.rst:1404
 msgid ""
 "This means that a ``Point2D`` ``TypedDict`` can have any of the keys "
 "omitted. A type checker is only expected to support a literal ``False`` or "
@@ -1553,7 +1660,7 @@ msgid ""
 "and makes all items defined in the class body required."
 msgstr ""
 
-#: library/typing.rst:1375
+#: library/typing.rst:1409
 #, fuzzy
 msgid ""
 "See :pep:`589` for more examples and detailed rules of using ``TypedDict``."
@@ -1561,15 +1668,15 @@ msgstr ""
 "Voir la :pep:`589` pour plus d'exemples et de règles détaillées "
 "d'utilisation de ``TypedDict`` avec les vérificateurs de type."
 
-#: library/typing.rst:1380
+#: library/typing.rst:1414
 msgid "Generic concrete collections"
 msgstr ""
 
-#: library/typing.rst:1383
+#: library/typing.rst:1417
 msgid "Corresponding to built-in types"
 msgstr ""
 
-#: library/typing.rst:1387
+#: library/typing.rst:1421
 msgid ""
 "A generic version of :class:`dict`. Useful for annotating return types. To "
 "annotate arguments it is preferred to use an abstract collection type such "
@@ -1579,11 +1686,11 @@ msgstr ""
 "retour. Pour annoter les arguments, il est préférable d'utiliser un type de "
 "collection abstraite tel que :class:`Mapping`."
 
-#: library/typing.rst:1391
+#: library/typing.rst:1425
 msgid "This type can be used as follows::"
 msgstr "Ce type peut être utilisé comme suit ::"
 
-#: library/typing.rst:1396
+#: library/typing.rst:1430
 msgid ""
 ":class:`builtins.dict <dict>` now supports ``[]``. See :pep:`585` and :ref:"
 "`types-genericalias`."
@@ -1591,7 +1698,7 @@ msgstr ""
 ":class:`builtins.dict <dict>` prend désormais en charge ``[]``. Voir :pep:"
 "`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1402
+#: library/typing.rst:1436
 msgid ""
 "Generic version of :class:`list`. Useful for annotating return types. To "
 "annotate arguments it is preferred to use an abstract collection type such "
@@ -1601,11 +1708,11 @@ msgstr ""
 "Pour annoter les arguments, il est préférable d'utiliser un type de "
 "collection abstraite tel que :class:`Sequence` ou :class:`Iterable`."
 
-#: library/typing.rst:1407
+#: library/typing.rst:1441
 msgid "This type may be used as follows::"
 msgstr "Ce type peut être utilisé comme suit ::"
 
-#: library/typing.rst:1417
+#: library/typing.rst:1451
 msgid ""
 ":class:`builtins.list <list>` now supports ``[]``. See :pep:`585` and :ref:"
 "`types-genericalias`."
@@ -1613,7 +1720,7 @@ msgstr ""
 ":class:`builtins.list <list>` prend désormais en charge ``[]``. Voir :pep:"
 "`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1423
+#: library/typing.rst:1457
 msgid ""
 "A generic version of :class:`builtins.set <set>`. Useful for annotating "
 "return types. To annotate arguments it is preferred to use an abstract "
@@ -1623,7 +1730,7 @@ msgstr ""
 "types de retour. Pour annoter les arguments, il est préférable d'utiliser un "
 "type de collection abstraite tel que :class:`AbstractSet`."
 
-#: library/typing.rst:1427
+#: library/typing.rst:1461
 msgid ""
 ":class:`builtins.set <set>` now supports ``[]``. See :pep:`585` and :ref:"
 "`types-genericalias`."
@@ -1631,11 +1738,11 @@ msgstr ""
 ":class:`builtins.set <set>` prend désormais en charge ``[]``. Voir :pep:"
 "`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1433
+#: library/typing.rst:1467
 msgid "A generic version of :class:`builtins.frozenset <frozenset>`."
 msgstr "Une version générique de :class:`builtins.frozenset <frozenset>`."
 
-#: library/typing.rst:1435
+#: library/typing.rst:1469
 msgid ""
 ":class:`builtins.frozenset <frozenset>` now supports ``[]``. See :pep:`585` "
 "and :ref:`types-genericalias`."
@@ -1643,19 +1750,19 @@ msgstr ""
 ":class:`builtins.frozenset <frozenset>` prend désormais en charge ``[]``. "
 "Voir :pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1439
+#: library/typing.rst:1473
 msgid ":data:`Tuple` is a special form."
 msgstr ""
 
-#: library/typing.rst:1442
+#: library/typing.rst:1476
 msgid "Corresponding to types in :mod:`collections`"
 msgstr ""
 
-#: library/typing.rst:1446
+#: library/typing.rst:1480
 msgid "A generic version of :class:`collections.defaultdict`."
 msgstr "Une version générique de :class:`collections.defaultdict`."
 
-#: library/typing.rst:1450
+#: library/typing.rst:1484
 msgid ""
 ":class:`collections.defaultdict` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1663,11 +1770,11 @@ msgstr ""
 ":class:`collections.defaultdict` prend désormais en charge ``[]``. Voir :pep:"
 "`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1456
+#: library/typing.rst:1490
 msgid "A generic version of :class:`collections.OrderedDict`."
 msgstr "Une version générique de :class:`collections.OrderedDict`."
 
-#: library/typing.rst:1460
+#: library/typing.rst:1494
 msgid ""
 ":class:`collections.OrderedDict` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1675,11 +1782,11 @@ msgstr ""
 ":class:`collections.OrderedDict` prend désormais en charge ``[]``. Voir :pep:"
 "`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1466
+#: library/typing.rst:1500
 msgid "A generic version of :class:`collections.ChainMap`."
 msgstr "Une version générique de :class:`collections.ChainMap`."
 
-#: library/typing.rst:1471
+#: library/typing.rst:1505
 msgid ""
 ":class:`collections.ChainMap` now supports ``[]``. See :pep:`585` and :ref:"
 "`types-genericalias`."
@@ -1687,11 +1794,11 @@ msgstr ""
 ":class:`collections.ChainMap` prend désormais en charge ``[]``. Voir :pep:"
 "`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1477
+#: library/typing.rst:1511
 msgid "A generic version of :class:`collections.Counter`."
 msgstr "Une version générique de :class:`collections.Counter`."
 
-#: library/typing.rst:1482
+#: library/typing.rst:1516
 msgid ""
 ":class:`collections.Counter` now supports ``[]``. See :pep:`585` and :ref:"
 "`types-genericalias`."
@@ -1699,11 +1806,11 @@ msgstr ""
 ":class:`collections.Counter` prend désormais en charge ``[]``. Voir :pep:"
 "`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1488
+#: library/typing.rst:1522
 msgid "A generic version of :class:`collections.deque`."
 msgstr "Une version générique de :class:`collections.deque`."
 
-#: library/typing.rst:1493
+#: library/typing.rst:1527
 msgid ""
 ":class:`collections.deque` now supports ``[]``. See :pep:`585` and :ref:"
 "`types-genericalias`."
@@ -1711,11 +1818,11 @@ msgstr ""
 ":class:`collections.deque` prend désormais en charge ``[]``. Voir :pep:`585` "
 "et :ref:`types-genericalias`."
 
-#: library/typing.rst:1498
+#: library/typing.rst:1532
 msgid "Other concrete types"
 msgstr ""
 
-#: library/typing.rst:1504
+#: library/typing.rst:1538
 #, fuzzy
 msgid ""
 "Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])`` and "
@@ -1726,13 +1833,13 @@ msgstr ""
 "``BinaryIO(IO[bytes])`` représentent les types de flux d'entrées-sorties "
 "tels que renvoyés par :func:`open`."
 
-#: library/typing.rst:1511
+#: library/typing.rst:1545
 msgid ""
 "The ``typing.io`` namespace is deprecated and will be removed. These types "
 "should be directly imported from ``typing`` instead."
 msgstr ""
 
-#: library/typing.rst:1516
+#: library/typing.rst:1550
 #, fuzzy
 msgid ""
 "These type aliases correspond to the return types from :func:`re.compile` "
@@ -1745,19 +1852,19 @@ msgstr ""
 "génériques dans ``AnyStr`` et peuvent être rendus spécifiques en écrivant "
 "``Pattern[str]``, ``Pattern[bytes]``, ``Match[str]`` ou ``Match[bytes]``."
 
-#: library/typing.rst:1526
+#: library/typing.rst:1560
 msgid ""
 "The ``typing.re`` namespace is deprecated and will be removed. These types "
 "should be directly imported from ``typing`` instead."
 msgstr ""
 
-#: library/typing.rst:1527
+#: library/typing.rst:1561
 msgid ""
 "Classes ``Pattern`` and ``Match`` from :mod:`re` now support ``[]``. See :"
 "pep:`585` and :ref:`types-genericalias`."
 msgstr ""
 
-#: library/typing.rst:1533
+#: library/typing.rst:1567
 msgid ""
 "``Text`` is an alias for ``str``. It is provided to supply a forward "
 "compatible path for Python 2 code: in Python 2, ``Text`` is an alias for "
@@ -1767,7 +1874,7 @@ msgstr ""
 "compatibilité ascendante du code Python 2 : en Python 2, ``Text`` est un "
 "alias pour ``unicode``."
 
-#: library/typing.rst:1537
+#: library/typing.rst:1571
 msgid ""
 "Use ``Text`` to indicate that a value must contain a unicode string in a "
 "manner that is compatible with both Python 2 and Python 3::"
@@ -1775,20 +1882,20 @@ msgstr ""
 "Utilisez ``Text`` pour indiquer qu'une valeur doit contenir une chaîne "
 "Unicode d'une manière compatible avec Python 2 et Python 3 ::"
 
-#: library/typing.rst:1546
+#: library/typing.rst:1580
 #, fuzzy
 msgid "Abstract Base Classes"
 msgstr "Classe de base abstraite pour les types génériques."
 
-#: library/typing.rst:1549
+#: library/typing.rst:1583
 msgid "Corresponding to collections in :mod:`collections.abc`"
 msgstr ""
 
-#: library/typing.rst:1553
+#: library/typing.rst:1587
 msgid "A generic version of :class:`collections.abc.Set`."
 msgstr "Une version générique de :class:`collections.abc.Set`."
 
-#: library/typing.rst:1555
+#: library/typing.rst:1589
 msgid ""
 ":class:`collections.abc.Set` now supports ``[]``. See :pep:`585` and :ref:"
 "`types-genericalias`."
@@ -1796,11 +1903,11 @@ msgstr ""
 ":class:`collections.abc.Set` prend désormais en charge ``[]``. Voir :pep:"
 "`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1561
+#: library/typing.rst:1595
 msgid "A generic version of :class:`collections.abc.ByteString`."
 msgstr "Une version générique de :class:`collections.abc.ByteString`."
 
-#: library/typing.rst:1563
+#: library/typing.rst:1597
 #, fuzzy
 msgid ""
 "This type represents the types :class:`bytes`, :class:`bytearray`, and :"
@@ -1809,7 +1916,7 @@ msgstr ""
 "Ce type représente les types :class:`bytes`, :class:`bytearray` et :class:"
 "`memoryview`."
 
-#: library/typing.rst:1566
+#: library/typing.rst:1600
 msgid ""
 "As a shorthand for this type, :class:`bytes` can be used to annotate "
 "arguments of any of the types mentioned above."
@@ -1817,7 +1924,7 @@ msgstr ""
 "Comme abréviation pour ce type, :class:`bytes` peut être utilisé pour "
 "annoter des arguments de n'importe quel type mentionné ci-dessus."
 
-#: library/typing.rst:1569
+#: library/typing.rst:1603
 msgid ""
 ":class:`collections.abc.ByteString` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1825,11 +1932,11 @@ msgstr ""
 ":class:`collections.abc.ByteString` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1575
+#: library/typing.rst:1609
 msgid "A generic version of :class:`collections.abc.Collection`"
 msgstr "Une version générique de :class:`collections.abc.Collection`"
 
-#: library/typing.rst:1579
+#: library/typing.rst:1613
 msgid ""
 ":class:`collections.abc.Collection` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1837,11 +1944,11 @@ msgstr ""
 ":class:`collections.abc.Collection` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1585
+#: library/typing.rst:1619
 msgid "A generic version of :class:`collections.abc.Container`."
 msgstr "Une version générique de :class:`collections.abc.Container`."
 
-#: library/typing.rst:1587
+#: library/typing.rst:1621
 msgid ""
 ":class:`collections.abc.Container` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1849,11 +1956,11 @@ msgstr ""
 ":class:`collections.abc.Container` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1593
+#: library/typing.rst:1627
 msgid "A generic version of :class:`collections.abc.ItemsView`."
 msgstr "Une version générique de :class:`collections.abc.ItemsView`."
 
-#: library/typing.rst:1595
+#: library/typing.rst:1629
 msgid ""
 ":class:`collections.abc.ItemsView` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1861,11 +1968,11 @@ msgstr ""
 ":class:`collections.abc.ItemsView` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1601
+#: library/typing.rst:1635
 msgid "A generic version of :class:`collections.abc.KeysView`."
 msgstr "Une version générique de :class:`collections.abc.KeysView`."
 
-#: library/typing.rst:1603
+#: library/typing.rst:1637
 msgid ""
 ":class:`collections.abc.KeysView` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1873,7 +1980,7 @@ msgstr ""
 ":class:`collections.abc.KeysView` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1609
+#: library/typing.rst:1643
 msgid ""
 "A generic version of :class:`collections.abc.Mapping`. This type can be used "
 "as follows::"
@@ -1881,7 +1988,7 @@ msgstr ""
 "Une version générique de :class:`collections.abc.Mapping`. Ce type peut être "
 "utilisé comme suit ::"
 
-#: library/typing.rst:1615
+#: library/typing.rst:1649
 msgid ""
 ":class:`collections.abc.Mapping` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1889,11 +1996,11 @@ msgstr ""
 ":class:`collections.abc.Mapping` prend désormais en charge ``[]``. Voir :pep:"
 "`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1621
+#: library/typing.rst:1655
 msgid "A generic version of :class:`collections.abc.MappingView`."
 msgstr "Une version générique de :class:`collections.abc.MappingView`."
 
-#: library/typing.rst:1623
+#: library/typing.rst:1657
 msgid ""
 ":class:`collections.abc.MappingView` now supports ``[]``. See :pep:`585` "
 "and :ref:`types-genericalias`."
@@ -1901,11 +2008,11 @@ msgstr ""
 ":class:`collections.abc.MappingView` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1629
+#: library/typing.rst:1663
 msgid "A generic version of :class:`collections.abc.MutableMapping`."
 msgstr "Une version générique de :class:`collections.abc.MutableMapping`."
 
-#: library/typing.rst:1631
+#: library/typing.rst:1665
 msgid ""
 ":class:`collections.abc.MutableMapping` now supports ``[]``. See :pep:`585` "
 "and :ref:`types-genericalias`."
@@ -1913,11 +2020,11 @@ msgstr ""
 ":class:`collections.abc.MutableMapping` prend désormais en charge ``[]``. "
 "Voir :pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1637
+#: library/typing.rst:1671
 msgid "A generic version of :class:`collections.abc.MutableSequence`."
 msgstr "Une version générique de :class:`collections.abc.MutableSequence`."
 
-#: library/typing.rst:1639
+#: library/typing.rst:1673
 msgid ""
 ":class:`collections.abc.MutableSequence` now supports ``[]``. See :pep:`585` "
 "and :ref:`types-genericalias`."
@@ -1925,11 +2032,11 @@ msgstr ""
 ":class:`collections.abc.MutableSequence` prend désormais en charge ``[]``. "
 "Voir :pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1645
+#: library/typing.rst:1679
 msgid "A generic version of :class:`collections.abc.MutableSet`."
 msgstr "Une version générique de :class:`collections.abc.MutableSet`."
 
-#: library/typing.rst:1647
+#: library/typing.rst:1681
 msgid ""
 ":class:`collections.abc.MutableSet` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1937,11 +2044,11 @@ msgstr ""
 ":class:`collections.abc.MutableSet` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1653
+#: library/typing.rst:1687
 msgid "A generic version of :class:`collections.abc.Sequence`."
 msgstr "Une version générique de :class:`collections.abc.Sequence`."
 
-#: library/typing.rst:1655
+#: library/typing.rst:1689
 msgid ""
 ":class:`collections.abc.Sequence` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1949,11 +2056,11 @@ msgstr ""
 ":class:`collections.abc.Sequence` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1661
+#: library/typing.rst:1695
 msgid "A generic version of :class:`collections.abc.ValuesView`."
 msgstr "Une version générique de :class:`collections.abc.ValuesView`."
 
-#: library/typing.rst:1663
+#: library/typing.rst:1697
 msgid ""
 ":class:`collections.abc.ValuesView` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1961,15 +2068,15 @@ msgstr ""
 ":class:`collections.abc.ValuesView` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1668
+#: library/typing.rst:1702
 msgid "Corresponding to other types in :mod:`collections.abc`"
 msgstr ""
 
-#: library/typing.rst:1672
+#: library/typing.rst:1706
 msgid "A generic version of :class:`collections.abc.Iterable`."
 msgstr "Une version générique de :class:`collections.abc.Iterable`."
 
-#: library/typing.rst:1674
+#: library/typing.rst:1708
 msgid ""
 ":class:`collections.abc.Iterable` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1977,11 +2084,11 @@ msgstr ""
 ":class:`collections.abc.Iterable` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1680
+#: library/typing.rst:1714
 msgid "A generic version of :class:`collections.abc.Iterator`."
 msgstr "Une version générique de :class:`collections.abc.Iterator`."
 
-#: library/typing.rst:1682
+#: library/typing.rst:1716
 msgid ""
 ":class:`collections.abc.Iterator` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -1989,7 +2096,7 @@ msgstr ""
 ":class:`collections.abc.Iterator` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1688
+#: library/typing.rst:1722
 msgid ""
 "A generator can be annotated by the generic type ``Generator[YieldType, "
 "SendType, ReturnType]``. For example::"
@@ -1997,7 +2104,7 @@ msgstr ""
 "Un générateur peut être annoté par le type générique ``Generator[YieldType, "
 "SendType, ReturnType]``. Par exemple ::"
 
-#: library/typing.rst:1697
+#: library/typing.rst:1731
 msgid ""
 "Note that unlike many other generics in the typing module, the ``SendType`` "
 "of :class:`Generator` behaves contravariantly, not covariantly or "
@@ -2007,7 +2114,7 @@ msgstr ""
 "*typing*, le ``SendType`` de :class:`Generator` se comporte de manière "
 "contravariante, pas de manière covariante ou invariante."
 
-#: library/typing.rst:1701
+#: library/typing.rst:1735
 msgid ""
 "If your generator will only yield values, set the ``SendType`` and "
 "``ReturnType`` to ``None``::"
@@ -2015,7 +2122,7 @@ msgstr ""
 "Si votre générateur ne donne que des valeurs, réglez les paramètres "
 "``SendType`` et ``ReturnType`` sur ``None`` ::"
 
-#: library/typing.rst:1709
+#: library/typing.rst:1743
 msgid ""
 "Alternatively, annotate your generator as having a return type of either "
 "``Iterable[YieldType]`` or ``Iterator[YieldType]``::"
@@ -2023,7 +2130,7 @@ msgstr ""
 "Alternativement, annotez votre générateur comme ayant un type de retour soit "
 "``Iterable[YieldType]`` ou ``Iterator[YieldType]`` ::"
 
-#: library/typing.rst:1717
+#: library/typing.rst:1751
 msgid ""
 ":class:`collections.abc.Generator` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -2031,15 +2138,15 @@ msgstr ""
 ":class:`collections.abc.Generator` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1723
+#: library/typing.rst:1757
 msgid "An alias to :class:`collections.abc.Hashable`"
 msgstr "Un alias pour :class:`collections.abc.Hashable`"
 
-#: library/typing.rst:1727
+#: library/typing.rst:1761
 msgid "A generic version of :class:`collections.abc.Reversible`."
 msgstr "Une version générique de :class:`collections.abc.Reversible`."
 
-#: library/typing.rst:1729
+#: library/typing.rst:1763
 msgid ""
 ":class:`collections.abc.Reversible` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -2047,15 +2154,15 @@ msgstr ""
 ":class:`collections.abc.Reversible` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1735
+#: library/typing.rst:1769
 msgid "An alias to :class:`collections.abc.Sized`"
 msgstr "Un alias pour :class:`collections.abc.Sized`"
 
-#: library/typing.rst:1738
+#: library/typing.rst:1772
 msgid "Asynchronous programming"
 msgstr ""
 
-#: library/typing.rst:1742
+#: library/typing.rst:1776
 msgid ""
 "A generic version of :class:`collections.abc.Coroutine`. The variance and "
 "order of type variables correspond to those of :class:`Generator`, for "
@@ -2065,7 +2172,7 @@ msgstr ""
 "l'ordre des variables de type correspondent à ceux de la classe :class:"
 "`Generator`, par exemple ::"
 
-#: library/typing.rst:1755
+#: library/typing.rst:1789
 msgid ""
 ":class:`collections.abc.Coroutine` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -2073,7 +2180,7 @@ msgstr ""
 ":class:`collections.abc.Coroutine` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1761
+#: library/typing.rst:1795
 msgid ""
 "An async generator can be annotated by the generic type "
 "``AsyncGenerator[YieldType, SendType]``. For example::"
@@ -2081,7 +2188,7 @@ msgstr ""
 "Un générateur asynchrone peut être annoté par le type générique "
 "``AsyncGenerator[YieldType, SendType]``. Par exemple ::"
 
-#: library/typing.rst:1770
+#: library/typing.rst:1804
 msgid ""
 "Unlike normal generators, async generators cannot return a value, so there "
 "is no ``ReturnType`` type parameter. As with :class:`Generator`, the "
@@ -2092,14 +2199,14 @@ msgstr ""
 "``ReturnType``. Comme avec :class:`Generator`, le ``SendType`` se comporte "
 "de manière contravariante."
 
-#: library/typing.rst:1774
+#: library/typing.rst:1808
 msgid ""
 "If your generator will only yield values, set the ``SendType`` to ``None``::"
 msgstr ""
 "Si votre générateur ne donne que des valeurs, réglez le paramètre "
 "``SendType`` sur ``None`` ::"
 
-#: library/typing.rst:1782
+#: library/typing.rst:1816
 msgid ""
 "Alternatively, annotate your generator as having a return type of either "
 "``AsyncIterable[YieldType]`` or ``AsyncIterator[YieldType]``::"
@@ -2107,7 +2214,7 @@ msgstr ""
 "Alternativement, annotez votre générateur comme ayant un type de retour soit "
 "``AsyncIterable[YieldType]`` ou ``AsyncIterator[YieldType]`` ::"
 
-#: library/typing.rst:1792
+#: library/typing.rst:1826
 msgid ""
 ":class:`collections.abc.AsyncGenerator` now supports ``[]``. See :pep:`585` "
 "and :ref:`types-genericalias`."
@@ -2115,11 +2222,11 @@ msgstr ""
 ":class:`collections.abc.AsyncGenerator` prend désormais en charge ``[]``. "
 "Voir :pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1798
+#: library/typing.rst:1832
 msgid "A generic version of :class:`collections.abc.AsyncIterable`."
 msgstr "Une version générique de :class:`collections.abc.AsyncIterable`."
 
-#: library/typing.rst:1802
+#: library/typing.rst:1836
 msgid ""
 ":class:`collections.abc.AsyncIterable` now supports ``[]``. See :pep:`585` "
 "and :ref:`types-genericalias`."
@@ -2127,11 +2234,11 @@ msgstr ""
 ":class:`collections.abc.AsyncIterable` prend désormais en charge ``[]``. "
 "Voir :pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1808
+#: library/typing.rst:1842
 msgid "A generic version of :class:`collections.abc.AsyncIterator`."
 msgstr "Une version générique de :class:`collections.abc.AsyncIterator`."
 
-#: library/typing.rst:1812
+#: library/typing.rst:1846
 msgid ""
 ":class:`collections.abc.AsyncIterator` now supports ``[]``. See :pep:`585` "
 "and :ref:`types-genericalias`."
@@ -2139,11 +2246,11 @@ msgstr ""
 ":class:`collections.abc.AsyncIterator` prend désormais en charge ``[]``. "
 "Voir :pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1818
+#: library/typing.rst:1852
 msgid "A generic version of :class:`collections.abc.Awaitable`."
 msgstr "Une version générique de :class:`collections.abc.Awaitable`."
 
-#: library/typing.rst:1822
+#: library/typing.rst:1856
 msgid ""
 ":class:`collections.abc.Awaitable` now supports ``[]``. See :pep:`585` and :"
 "ref:`types-genericalias`."
@@ -2151,15 +2258,15 @@ msgstr ""
 ":class:`collections.abc.Awaitable` prend désormais en charge ``[]``. Voir :"
 "pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1828
+#: library/typing.rst:1862
 msgid "Context manager types"
 msgstr ""
 
-#: library/typing.rst:1832
+#: library/typing.rst:1866
 msgid "A generic version of :class:`contextlib.AbstractContextManager`."
 msgstr "Une version générique de :class:`contextlib.AbstractContextManager`."
 
-#: library/typing.rst:1837
+#: library/typing.rst:1871
 msgid ""
 ":class:`contextlib.AbstractContextManager` now supports ``[]``. See :pep:"
 "`585` and :ref:`types-genericalias`."
@@ -2167,12 +2274,12 @@ msgstr ""
 ":class:`contextlib.AbstractContextManager` prend désormais en charge ``[]``. "
 "Voir :pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1843
+#: library/typing.rst:1877
 msgid "A generic version of :class:`contextlib.AbstractAsyncContextManager`."
 msgstr ""
 "Une version générique de :class:`contextlib.AbstractAsyncContextManager`."
 
-#: library/typing.rst:1848
+#: library/typing.rst:1882
 msgid ""
 ":class:`contextlib.AbstractAsyncContextManager` now supports ``[]``. See :"
 "pep:`585` and :ref:`types-genericalias`."
@@ -2180,15 +2287,15 @@ msgstr ""
 ":class:`contextlib.AbstractAsyncContextManager` prend désormais en charge "
 "``[]``. Voir :pep:`585` et :ref:`types-genericalias`."
 
-#: library/typing.rst:1853
+#: library/typing.rst:1887
 msgid "Protocols"
 msgstr ""
 
-#: library/typing.rst:1855
+#: library/typing.rst:1889
 msgid "These protocols are decorated with :func:`runtime_checkable`."
 msgstr ""
 
-#: library/typing.rst:1859
+#: library/typing.rst:1893
 msgid ""
 "An ABC with one abstract method ``__abs__`` that is covariant in its return "
 "type."
@@ -2196,27 +2303,27 @@ msgstr ""
 "Une ABC avec une méthode abstraite ``__abs__`` qui est covariante dans son "
 "type de retour."
 
-#: library/typing.rst:1864
+#: library/typing.rst:1898
 msgid "An ABC with one abstract method ``__bytes__``."
 msgstr "Une ABC avec une méthode abstraite ``__bytes__``."
 
-#: library/typing.rst:1868
+#: library/typing.rst:1902
 msgid "An ABC with one abstract method ``__complex__``."
 msgstr "Une ABC avec une méthode abstraite ``__complex__``."
 
-#: library/typing.rst:1872
+#: library/typing.rst:1906
 msgid "An ABC with one abstract method ``__float__``."
 msgstr "Une ABC avec une méthode abstraite ``__float__``."
 
-#: library/typing.rst:1876
+#: library/typing.rst:1910
 msgid "An ABC with one abstract method ``__index__``."
 msgstr "Une ABC avec une méthode abstraite ``__index__``."
 
-#: library/typing.rst:1882
+#: library/typing.rst:1916
 msgid "An ABC with one abstract method ``__int__``."
 msgstr "Une ABC avec une méthode abstraite ``__int__``."
 
-#: library/typing.rst:1886
+#: library/typing.rst:1920
 msgid ""
 "An ABC with one abstract method ``__round__`` that is covariant in its "
 "return type."
@@ -2224,16 +2331,16 @@ msgstr ""
 "Une ABC avec une méthode abstraite ``__round__`` qui est covariante dans son "
 "type de retour."
 
-#: library/typing.rst:1890
+#: library/typing.rst:1924
 #, fuzzy
 msgid "Functions and decorators"
 msgstr "Classes, fonctions et décorateurs"
 
-#: library/typing.rst:1894
+#: library/typing.rst:1928
 msgid "Cast a value to a type."
 msgstr "Convertit une valeur en un type."
 
-#: library/typing.rst:1896
+#: library/typing.rst:1930
 msgid ""
 "This returns the value unchanged.  To the type checker this signals that the "
 "return value has the designated type, but at runtime we intentionally don't "
@@ -2244,7 +2351,7 @@ msgstr ""
 "intentionnellement, rien n'est vérifié (afin que cela soit aussi rapide que "
 "possible)."
 
-#: library/typing.rst:1903
+#: library/typing.rst:1937
 msgid ""
 "The ``@overload`` decorator allows describing functions and methods that "
 "support multiple different combinations of argument types. A series of "
@@ -2270,13 +2377,13 @@ msgstr ""
 "`NotImplementedError`. Un exemple de surcharge qui donne un type plus précis "
 "que celui qui peut être exprimé à l'aide d'une variable union ou type ::"
 
-#: library/typing.rst:1927
+#: library/typing.rst:1961
 msgid "See :pep:`484` for details and comparison with other typing semantics."
 msgstr ""
 "Voir la :pep:`484` pour plus de détails et la comparaison avec d'autres "
 "sémantiques de typage."
 
-#: library/typing.rst:1931
+#: library/typing.rst:1965
 msgid ""
 "A decorator to indicate to type checkers that the decorated method cannot be "
 "overridden, and the decorated class cannot be subclassed. For example::"
@@ -2285,13 +2392,13 @@ msgstr ""
 "décorée ne peut pas être remplacée et que la classe décorée ne peut pas être "
 "sous-classée. Par exemple ::"
 
-#: library/typing.rst:1956
+#: library/typing.rst:1990
 msgid "Decorator to indicate that annotations are not type hints."
 msgstr ""
 "Décorateur pour indiquer que les annotations ne sont pas des indications de "
 "type."
 
-#: library/typing.rst:1958
+#: library/typing.rst:1992
 msgid ""
 "This works as class or function :term:`decorator`.  With a class, it applies "
 "recursively to all methods defined in that class (but not to methods defined "
@@ -2302,16 +2409,16 @@ msgstr ""
 "méthodes définies dans cette classe (mais pas aux méthodes définies dans ses "
 "superclasses ou sous-classes)."
 
-#: library/typing.rst:1962
+#: library/typing.rst:1996
 msgid "This mutates the function(s) in place."
 msgstr "Cela fait muter la ou les fonctions en place."
 
-#: library/typing.rst:1966
+#: library/typing.rst:2000
 msgid "Decorator to give another decorator the :func:`no_type_check` effect."
 msgstr ""
 "Décorateur pour donner à un autre décorateur l'effet :func:`no_type_check`."
 
-#: library/typing.rst:1968
+#: library/typing.rst:2002
 msgid ""
 "This wraps the decorator with something that wraps the decorated function "
 "in :func:`no_type_check`."
@@ -2319,13 +2426,13 @@ msgstr ""
 "Ceci enveloppe le décorateur avec quelque chose qui enveloppe la fonction "
 "décorée dans :func:`no_type_check`."
 
-#: library/typing.rst:1973
+#: library/typing.rst:2007
 msgid "Decorator to mark a class or function to be unavailable at runtime."
 msgstr ""
 "Décorateur pour marquer une classe ou une fonction comme étant indisponible "
 "au moment de l'exécution."
 
-#: library/typing.rst:1975
+#: library/typing.rst:2009
 msgid ""
 "This decorator is itself not available at runtime. It is mainly intended to "
 "mark classes that are defined in type stub files if an implementation "
@@ -2336,7 +2443,7 @@ msgstr ""
 "d'annotations de type (*type stub file*, en anglais) si une implémentation "
 "renvoie une instance d'une classe privée ::"
 
-#: library/typing.rst:1986
+#: library/typing.rst:2020
 msgid ""
 "Note that returning instances of private classes is not recommended. It is "
 "usually preferable to make such classes public."
@@ -2344,11 +2451,11 @@ msgstr ""
 "Notez qu'il n'est pas recommandé de renvoyer les instances des classes "
 "privées. Il est généralement préférable de rendre ces classes publiques."
 
-#: library/typing.rst:1990
+#: library/typing.rst:2024
 msgid "Introspection helpers"
 msgstr ""
 
-#: library/typing.rst:1994
+#: library/typing.rst:2028
 msgid ""
 "Return a dictionary containing type hints for a function, method, module or "
 "class object."
@@ -2356,7 +2463,7 @@ msgstr ""
 "renvoie un dictionnaire contenant des indications de type pour une fonction, "
 "une méthode, un module ou un objet de classe."
 
-#: library/typing.rst:1997
+#: library/typing.rst:2031
 msgid ""
 "This is often the same as ``obj.__annotations__``. In addition, forward "
 "references encoded as string literals are handled by evaluating them in "
@@ -2373,31 +2480,31 @@ msgstr ""
 "classe ``C``, renvoie un dictionnaire construit en fusionnant toutes les "
 "``__annotations__`` en parcourant ``C.__mro__`` en ordre inverse."
 
-#: library/typing.rst:2005
+#: library/typing.rst:2039
 msgid ""
 "The function recursively replaces all ``Annotated[T, ...]`` with ``T``, "
 "unless ``include_extras`` is set to ``True`` (see :class:`Annotated` for "
 "more information). For example::"
 msgstr ""
 
-#: library/typing.rst:2020
+#: library/typing.rst:2054
 msgid ""
 ":func:`get_type_hints` does not work with imported :ref:`type aliases <type-"
 "aliases>` that include forward references. Enabling postponed evaluation of "
 "annotations (:pep:`563`) may remove the need for most forward references."
 msgstr ""
 
-#: library/typing.rst:2025
+#: library/typing.rst:2059
 msgid "Added ``include_extras`` parameter as part of :pep:`593`."
 msgstr ""
 
-#: library/typing.rst:2031
+#: library/typing.rst:2065
 msgid "Provide basic introspection for generic types and special typing forms."
 msgstr ""
 "Fournit une introspection de base pour les types génériques et les formes "
 "spéciales de typage."
 
-#: library/typing.rst:2033
+#: library/typing.rst:2067
 #, fuzzy
 msgid ""
 "For a typing object of the form ``X[Y, Z, ...]`` these functions return "
@@ -2413,11 +2520,11 @@ msgstr ""
 "native ou de :mod:`collections`, il est normalisé en la classe originale. "
 "Pour les objets non gérés, renvoie la paire ``None`` , ``()``. Exemples ::"
 
-#: library/typing.rst:2052
+#: library/typing.rst:2086
 msgid "Check if a type is a :class:`TypedDict`."
 msgstr ""
 
-#: library/typing.rst:2067
+#: library/typing.rst:2101
 #, fuzzy
 msgid ""
 "A class used for internal typing representation of string forward "
@@ -2432,18 +2539,18 @@ msgstr ""
 "instanciée par un utilisateur, mais peut être utilisée par des outils "
 "d'introspection."
 
-#: library/typing.rst:2073
+#: library/typing.rst:2107
 msgid ""
 ":pep:`585` generic types such as ``list[\"SomeClass\"]`` will not be "
 "implicitly transformed into ``list[ForwardRef(\"SomeClass\")]`` and thus "
 "will not automatically resolve to ``list[SomeClass]``."
 msgstr ""
 
-#: library/typing.rst:2080
+#: library/typing.rst:2114
 msgid "Constant"
 msgstr "Constante"
 
-#: library/typing.rst:2084
+#: library/typing.rst:2118
 msgid ""
 "A special constant that is assumed to be ``True`` by 3rd party static type "
 "checkers. It is ``False`` at runtime. Usage::"
@@ -2451,7 +2558,7 @@ msgstr ""
 "Constante spéciale qui vaut ``True`` pour les vérificateurs de type "
 "statiques tiers et ``False`` à l'exécution. Utilisation ::"
 
-#: library/typing.rst:2093
+#: library/typing.rst:2127
 #, fuzzy
 msgid ""
 "The first type annotation must be enclosed in quotes, making it a \"forward "
@@ -2466,7 +2573,7 @@ msgstr ""
 "sorte que la deuxième annotation n'a pas besoin d'être placée entre "
 "guillemets."
 
-#: library/typing.rst:2100
+#: library/typing.rst:2134
 msgid ""
 "If ``from __future__ import annotations`` is used in Python 3.7 or later, "
 "annotations are not evaluated at function definition time. Instead, they are "
diff --git a/merge.py b/merge.py
index b5f862c51..d15bf23db 100644
--- a/merge.py
+++ b/merge.py
@@ -80,7 +80,9 @@ def update_makefile(cpython_repo: Path) -> None:
     used to generate the `po` files.
     """
     makefile = Path("Makefile").read_text(encoding="UTF-8")
-    head = run("git", "-C", cpython_repo, "rev-parse", "HEAD", stdout=PIPE).stdout
+    head = run(
+        "git", "-C", cpython_repo, "rev-parse", "HEAD", stdout=PIPE
+    ).stdout.strip()
     makefile = re.sub(
         "^CPYTHON_CURRENT_COMMIT :=.*$",
         f"CPYTHON_CURRENT_COMMIT := {head}",
diff --git a/reference/datamodel.po b/reference/datamodel.po
index 4a5580a7b..1395fc5eb 100644
--- a/reference/datamodel.po
+++ b/reference/datamodel.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Python 3\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-10-21 15:04+0200\n"
+"POT-Creation-Date: 2021-11-04 18:14+0100\n"
 "PO-Revision-Date: 2021-10-21 23:42+0200\n"
 "Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
 "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
@@ -4381,11 +4381,9 @@ msgstr ""
 
 #: reference/datamodel.rst:2544
 msgid ""
-"If :meth:`__int__` is not defined then the built-in function :func:`int` "
-"falls back to :meth:`__trunc__`."
+"The built-in function :func:`int` falls back to :meth:`__trunc__` if "
+"neither :meth:`__int__` nor :meth:`__index__` is defined."
 msgstr ""
-"Si :meth:`__int__` n'est pas définie, alors la fonction native :func:`int` "
-"se replie sur :meth:`__trunc__`."
 
 #: reference/datamodel.rst:2551
 msgid "With Statement Context Managers"
@@ -4881,6 +4879,13 @@ msgstr ""
 "(telle que :meth:`__add__`) échoue, alors l'opération en tant que telle "
 "n'est pas autorisée et donc la méthode symétrique n'est pas appelée."
 
+#~ msgid ""
+#~ "If :meth:`__int__` is not defined then the built-in function :func:`int` "
+#~ "falls back to :meth:`__trunc__`."
+#~ msgstr ""
+#~ "Si :meth:`__int__` n'est pas définie, alors la fonction native :func:"
+#~ "`int` se replie sur :meth:`__trunc__`."
+
 #~ msgid ""
 #~ "Special attributes: :attr:`~definition.__name__` is the class name; :attr:"
 #~ "`__module__` is the module name in which the class was defined; :attr:"