# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-08-24 09:01+0200\n" "PO-Revision-Date: 2018-10-04 12:26+0200\n" "Last-Translator: Julien Palard \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: c-api/stable.rst:7 msgid "Stable Application Binary Interface" msgstr "ABI Stable" #: c-api/stable.rst:9 msgid "" "Traditionally, the C API of Python will change with every release. Most " "changes will be source-compatible, typically by only adding API, rather than " "changing existing API or removing API (although some interfaces do get " "removed after being deprecated first)." msgstr "" "L'API C de Python change à chaque version. La majorité de ces changement " "n'affecte cependant pas la compatibilité du code source. Typiquement, des " "API sont ajoutées, mais ni modifiées ni supprimées (bien que certaines " "interfaces puissent être supprimées, après avoir d'abord été dépréciées)." #: c-api/stable.rst:14 msgid "" "Unfortunately, the API compatibility does not extend to binary compatibility " "(the ABI). The reason is primarily the evolution of struct definitions, " "where addition of a new field, or changing the type of a field, might not " "break the API, but can break the ABI. As a consequence, extension modules " "need to be recompiled for every Python release (although an exception is " "possible on Unix when none of the affected interfaces are used). In " "addition, on Windows, extension modules link with a specific pythonXY.dll " "and need to be recompiled to link with a newer one." msgstr "" "Malheureusement, la compatibilité de l'API ne s'étend pas à une " "compatibilité binaire (l'ABI). L'évolution des structures en est la raison " "principale : l'ajout de nouveaux attributs, ou le changement du type d'un " "attribut peut ne pas casser l'API mais casser l'ABI. Par conséquent, les " "modules d'extension doivent être recompilés à chaque nouvelle version de " "Python (ce n'est exceptionnellement pas nécessaire sur Unix, si aucune des " "interfaces modifiées n'est utilisée). De plus, sous Windows, les modules " "d'extension sont liés à un *pythonXY.dll* spécifique, ils est donc " "nécessaire de les recompiler pour les lier au nouveau DLL." #: c-api/stable.rst:23 msgid "" "Since Python 3.2, a subset of the API has been declared to guarantee a " "stable ABI. Extension modules wishing to use this API (called \"limited API" "\") need to define ``Py_LIMITED_API``. A number of interpreter details then " "become hidden from the extension module; in return, a module is built that " "works on any 3.x version (x>=2) without recompilation." msgstr "" "Depuis Python 3.2 il est garanti qu'une certaine partie de l'API gardera une " "ABI stable. Les modules d'extension souhaitant utiliser cette API (Appellée " "\"API limitée\") doivent définir ``Py_LIMITED_API``. Des spécificités de " "l'interpréteur sont alors cachées au module, en contrepartie le module " "devient compatible avec toutes les versions de Python 3.x (x>=2) sans " "recompilation." #: c-api/stable.rst:29 msgid "" "In some cases, the stable ABI needs to be extended with new functions. " "Extension modules wishing to use these new APIs need to set " "``Py_LIMITED_API`` to the ``PY_VERSION_HEX`` value (see :ref:" "`apiabiversion`) of the minimum Python version they want to support (e.g. " "``0x03030000`` for Python 3.3). Such modules will work on all subsequent " "Python releases, but fail to load (because of missing symbols) on the older " "releases." msgstr "" "Dans certains cas, il est nécessaire d'étendre l'ABI stable avec de " "nouvelles fonctions. Les modules d'extension souhaitant utiliser ces " "nouvelles APIs doivent configurer ``Py_LIMITED_API`` à la valeur " "``Py_VERSION_HEX`` correspondant à la plus ancienne version de Python qu'ils " "souhaitent supporter (voir :ref:`apiabiversion`, par exemple ``0x03030000`` " "pour Python 3.3). De tels modules fonctionneront dans toutes les versions " "ultérieures de Python, mais ne pourront pas se charger (dû à des symboles " "manquants) sur les versions plus anciennes." #: c-api/stable.rst:36 msgid "" "As of Python 3.2, the set of functions available to the limited API is " "documented in :pep:`384`. In the C API documentation, API elements that are " "not part of the limited API are marked as \"Not part of the limited API.\"" msgstr "" "Depuis Python 3.2, l'ensemble des fonctions exposées par l'API limitée est " "documentée dans la :pep:`384`. Dans la documentation de l'API C, les " "éléments ne faisant pas partie de l'API limitée sont notés \"Ne faisant pas " "partie de l'API limitée\" (*\"Not part of the limited API\"*)."