# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-01-15 22:33+0100\n"
"PO-Revision-Date: 2021-11-06 19:31+0100\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0\n"

#: howto/instrumentation.rst:7
msgid "Instrumenting CPython with DTrace and SystemTap"
msgstr "Instrumenter CPython avec DTrace et SystemTap"

#: howto/instrumentation.rst:0
msgid "author"
msgstr "auteur"

#: howto/instrumentation.rst:9
msgid "David Malcolm"
msgstr "David Malcolm"

#: howto/instrumentation.rst:10
msgid "Łukasz Langa"
msgstr "Łukasz Langa"

#: howto/instrumentation.rst:12
msgid ""
"DTrace and SystemTap are monitoring tools, each providing a way to inspect "
"what the processes on a computer system are doing.  They both use domain-"
"specific languages allowing a user to write scripts which:"
msgstr ""
"*DTrace* et *SystemTap* sont des outils de surveillance, chacun fournissant "
"un moyen de d'inspecter ce que font les processus d'un système informatique. "
"Ils utilisent tous les deux des langages dédiés permettant à un utilisateur "
"d'écrire des scripts qui permettent de ::"

#: howto/instrumentation.rst:16
msgid "filter which processes are to be observed"
msgstr "Filtrer les processus à observer."

#: howto/instrumentation.rst:17
msgid "gather data from the processes of interest"
msgstr "Recueillir des données sur le processus choisi."

#: howto/instrumentation.rst:18
msgid "generate reports on the data"
msgstr "Générer des rapports sur les données."

#: howto/instrumentation.rst:20
msgid ""
"As of Python 3.6, CPython can be built with embedded \"markers\", also known "
"as \"probes\", that can be observed by a DTrace or SystemTap script, making "
"it easier to monitor what the CPython processes on a system are doing."
msgstr ""
"À partir de Python 3.6, CPython peut être compilé avec des « marqueurs » "
"intégrés, aussi appelés « sondes », qui peuvent être observés par un script "
"*DTrace* ou *SystemTap*, ce qui facilite le suivi des processus CPython."

#: howto/instrumentation.rst:27
msgid ""
"DTrace markers are implementation details of the CPython interpreter. No "
"guarantees are made about probe compatibility between versions of CPython. "
"DTrace scripts can stop working or work incorrectly without warning when "
"changing CPython versions."
msgstr ""
"Les marqueurs DTrace sont des détails d'implémentation de l'interpréteur "
"CPython. Aucune garantie n'est donnée quant à la compatibilité des sondes "
"entre les versions de CPython. Les scripts DTrace peuvent s'arrêter de "
"fonctionner ou fonctionner incorrectement sans avertissement lors du "
"changement de version de CPython."

#: howto/instrumentation.rst:34
msgid "Enabling the static markers"
msgstr "Activer les marqueurs statiques"

#: howto/instrumentation.rst:36
msgid ""
"macOS comes with built-in support for DTrace.  On Linux, in order to build "
"CPython with the embedded markers for SystemTap, the SystemTap development "
"tools must be installed."
msgstr ""
"macOS est livré avec un support intégré pour *DTrace*. Sous Linux, pour "
"construire CPython avec les marqueurs embarqués pour *SystemTap*, les outils "
"de développement *SystemTap* doivent être installés."

#: howto/instrumentation.rst:40
msgid "On a Linux machine, this can be done via::"
msgstr "Sur une machine Linux, cela se fait via ::"

#: howto/instrumentation.rst:44
msgid "or::"
msgstr "ou ::"

#: howto/instrumentation.rst:49
msgid ""
"CPython must then be :option:`configured with the --with-dtrace option <--"
"with-dtrace>`:"
msgstr "CPython doit être configuré avec l'option :option:`--with-dtrace` ::"

#: howto/instrumentation.rst:56
msgid ""
"On macOS, you can list available DTrace probes by running a Python process "
"in the background and listing all probes made available by the Python "
"provider::"
msgstr ""
"Sous macOS, vous pouvez lister les sondes *DTrace* disponibles en exécutant "
"un processus Python en arrière-plan et en listant toutes les sondes mises à "
"disposition par le fournisseur Python ::"

#: howto/instrumentation.rst:73
msgid ""
"On Linux, you can verify if the SystemTap static markers are present in the "
"built binary by seeing if it contains a \".note.stapsdt\" section."
msgstr ""
"Sous Linux, pour vérifier que les marqueurs statiques *SystemTap* sont "
"présents dans le binaire compilé, il suffit de regarder s'il contient une "
"section ``.note.stapsdt``."

#: howto/instrumentation.rst:81
msgid ""
"If you've built Python as a shared library (with the :option:`--enable-"
"shared` configure option), you need to look instead within the shared "
"library.  For example::"
msgstr ""
"Si vous avez compilé Python en tant que bibliothèque partagée (avec "
"l'option :option:`--enable-shared` du script ``configure``), vous devez "
"plutôt regarder dans la bibliothèque partagée. Par exemple ::"

#: howto/instrumentation.rst:88
msgid "Sufficiently modern readelf can print the metadata::"
msgstr ""
"Une version suffisamment moderne de *readelf* peut afficher les "
"métadonnées ::"

#: howto/instrumentation.rst:125
#, fuzzy
msgid ""
"The above metadata contains information for SystemTap describing how it can "
"patch strategically placed machine code instructions to enable the tracing "
"hooks used by a SystemTap script."
msgstr ""
"Les métadonnées ci-dessus contiennent des informations pour *SystemTap* "
"décrivant comment il peut mettre à jour des instructions de code machine "
"stratégiquement placées pour activer les crochets de traçage utilisés par un "
"script *SystemTap*."

#: howto/instrumentation.rst:131
msgid "Static DTrace probes"
msgstr "Sondes DTrace statiques"

#: howto/instrumentation.rst:133
msgid ""
"The following example DTrace script can be used to show the call/return "
"hierarchy of a Python script, only tracing within the invocation of a "
"function called \"start\". In other words, import-time function invocations "
"are not going to be listed:"
msgstr ""
"L'exemple suivant de script *DTrace* montre la hiérarchie d'appel/retour "
"d'un script Python, en ne traçant que l'invocation d'une fonction ``start``. "
"En d'autres termes, les appels de fonctions lors de la phase d'import ne "
"seront pas répertoriées ::"

#: howto/instrumentation.rst:230
msgid "It can be invoked like this::"
msgstr "Il peut être utilisé de cette manière ::"

#: howto/instrumentation.rst:236
msgid "The output looks like this:"
msgstr "La sortie ressemble à ceci ::"

#: howto/instrumentation.rst:201
msgid "Static SystemTap markers"
msgstr "Marqueurs statiques *SystemTap*"

#: howto/instrumentation.rst:203
msgid ""
"The low-level way to use the SystemTap integration is to use the static "
"markers directly.  This requires you to explicitly state the binary file "
"containing them."
msgstr ""
"La façon la plus simple d'utiliser l'intégration *SystemTap* est d'utiliser "
"directement les marqueurs statiques. Pour cela vous devez pointer "
"explicitement le fichier binaire qui les contient."

#: howto/instrumentation.rst:207
msgid ""
"For example, this SystemTap script can be used to show the call/return "
"hierarchy of a Python script:"
msgstr ""
"Par exemple, ce script *SystemTap* peut être utilisé pour afficher la "
"hiérarchie d'appel/retour d'un script Python ::"

#: howto/instrumentation.rst:247
msgid "where the columns are:"
msgstr "où les colonnes sont ::"

#: howto/instrumentation.rst:249
msgid "time in microseconds since start of script"
msgstr "temps en microsecondes depuis le début du script"

#: howto/instrumentation.rst:251
msgid "name of executable"
msgstr "nom de l'exécutable"

#: howto/instrumentation.rst:253
msgid "PID of process"
msgstr "PID du processus"

#: howto/instrumentation.rst:255
msgid ""
"and the remainder indicates the call/return hierarchy as the script executes."
msgstr ""
"et le reste indique la hiérarchie d'appel/retour lorsque le script s'exécute."

#: howto/instrumentation.rst:257
msgid ""
"For a :option:`--enable-shared` build of CPython, the markers are contained "
"within the libpython shared library, and the probe's dotted path needs to "
"reflect this. For example, this line from the above example:"
msgstr ""
"Pour une compilation :option:`--enable-shared` de CPython, les marqueurs "
"sont contenus dans la bibliothèque partagée *libpython*, et le chemin du "
"module de la sonde doit le refléter. Par exemple, la ligne de l'exemple ci-"
"dessus :"

#: howto/instrumentation.rst:265
msgid "should instead read:"
msgstr "doit plutôt se lire comme ::"

#: howto/instrumentation.rst:271
msgid "(assuming a :ref:`debug build <debug-build>` of CPython 3.6)"
msgstr ""
"(en supposant une version de CPython 3.6 compilée avec le :ref:`débogage "
"<debug-build>` activé)"

#: howto/instrumentation.rst:275
msgid "Available static markers"
msgstr "Marqueurs statiques disponibles"

#: howto/instrumentation.rst:279
msgid ""
"This marker indicates that execution of a Python function has begun. It is "
"only triggered for pure-Python (bytecode) functions."
msgstr ""
"Ce marqueur indique que l'exécution d'une fonction Python a commencé. Il "
"n'est déclenché que pour les fonctions en Python pur (code intermédiaire)."

#: howto/instrumentation.rst:282
msgid ""
"The filename, function name, and line number are provided back to the "
"tracing script as positional arguments, which must be accessed using "
"``$arg1``, ``$arg2``, ``$arg3``:"
msgstr ""
"Le nom de fichier, le nom de la fonction et le numéro de ligne sont renvoyés "
"au script de traçage sous forme d'arguments positionnels, auxquels il faut "
"accéder en utilisant ``$arg1``, ``$arg2``, ``$arg3`` :"

#: howto/instrumentation.rst:286
msgid ""
"``$arg1`` : ``(const char *)`` filename, accessible using "
"``user_string($arg1)``"
msgstr ""
"``$arg1`` : ``(const char *)`` nom de fichier, accessible via "
"``user_string($arg1)``"

#: howto/instrumentation.rst:288
msgid ""
"``$arg2`` : ``(const char *)`` function name, accessible using "
"``user_string($arg2)``"
msgstr ""
"``$arg2`` : ``(const char *)`` nom de la fonction, accessible via "
"``user_string($arg2)``"

#: howto/instrumentation.rst:291
msgid "``$arg3`` : ``int`` line number"
msgstr "``$arg3`` : numéro de ligne ``int``"

#: howto/instrumentation.rst:295
msgid ""
"This marker is the converse of :c:func:`function__entry`, and indicates that "
"execution of a Python function has ended (either via ``return``, or via an "
"exception).  It is only triggered for pure-Python (bytecode) functions."
msgstr ""
"Ce marqueur est l'inverse de :c:func:`function__entry`, et indique que "
"l'exécution d'une fonction Python est terminée (soit via ``return``, soit "
"via une exception). Il n'est déclenché que pour les fonctions en Python pur "
"(code intermédiaire)."

#: howto/instrumentation.rst:299
msgid "The arguments are the same as for :c:func:`function__entry`"
msgstr "Les arguments sont les mêmes que pour :c:func:`function__entry`"

#: howto/instrumentation.rst:303
msgid ""
"This marker indicates a Python line is about to be executed.  It is the "
"equivalent of line-by-line tracing with a Python profiler.  It is not "
"triggered within C functions."
msgstr ""
"Ce marqueur indique qu'une ligne Python est sur le point d'être exécutée. "
"C'est l'équivalent du traçage ligne par ligne avec un profileur Python. Il "
"n'est pas déclenché dans les fonctions C."

#: howto/instrumentation.rst:307
msgid "The arguments are the same as for :c:func:`function__entry`."
msgstr "Les arguments sont les mêmes que pour :c:func:`function__entry`."

#: howto/instrumentation.rst:311
msgid ""
"Fires when the Python interpreter starts a garbage collection cycle. "
"``arg0`` is the generation to scan, like :func:`gc.collect()`."
msgstr ""
"Fonction appelée lorsque l'interpréteur Python lance un cycle de collecte du "
"ramasse-miettes. ``arg0`` est la génération à scanner, comme :func:`gc."
"collect()`."

#: howto/instrumentation.rst:316
msgid ""
"Fires when the Python interpreter finishes a garbage collection cycle. "
"``arg0`` is the number of collected objects."
msgstr ""
"Fonction appelée lorsque l'interpréteur Python termine un cycle de collecte "
"du ramasse-miettes. ``Arg0`` est le nombre d'objets collectés."

#: howto/instrumentation.rst:321
msgid ""
"Fires before :mod:`importlib` attempts to find and load the module. ``arg0`` "
"is the module name."
msgstr ""
"Fonction appelée avant que :mod:`importlib` essaye de trouver et de charger "
"le module. ``arg0`` est le nom du module."

#: howto/instrumentation.rst:328
msgid ""
"Fires after :mod:`importlib`'s find_and_load function is called. ``arg0`` is "
"the module name, ``arg1`` indicates if module was successfully loaded."
msgstr ""
"Fonction appelée après que la fonction ``find_and_load`` du module :mod:"
"`importlib` soit appelée. ``arg0`` est le nom du module, ``arg1`` indique si "
"le module a été chargé avec succès."

#: howto/instrumentation.rst:337
msgid ""
"Fires when :func:`sys.audit` or :c:func:`PySys_Audit` is called. ``arg0`` is "
"the event name as C string, ``arg1`` is a :c:type:`PyObject` pointer to a "
"tuple object."
msgstr ""
"Fonction appelée quand les fonctions :func:`sys.audit` ou :c:func:"
"`PySys_Audit` sont appelées. ``arg0`` est le nom de l'évènement de type "
"chaîne de caractère C. ``arg1`` est un pointeur sur un *n*-uplet d'objet de "
"type :c:type:`PyObject`."

#: howto/instrumentation.rst:345
msgid "SystemTap Tapsets"
msgstr "*Tapsets* de *SystemTap*"

#: howto/instrumentation.rst:347
msgid ""
"The higher-level way to use the SystemTap integration is to use a "
"\"tapset\": SystemTap's equivalent of a library, which hides some of the "
"lower-level details of the static markers."
msgstr ""
"La façon la plus simple d'utiliser l'intégration *SystemTap* est d'utiliser "
"un *« tapset »*. L'équivalent pour *SystemTap* d'une bibliothèque, qui "
"permet de masquer les détails de niveau inférieur des marqueurs statiques."

#: howto/instrumentation.rst:351
msgid "Here is a tapset file, based on a non-shared build of CPython:"
msgstr ""
"Voici un fichier *tapset*, basé sur une version non partagée compilée de "
"CPython ::"

#: howto/instrumentation.rst:374
msgid ""
"If this file is installed in SystemTap's tapset directory (e.g. ``/usr/share/"
"systemtap/tapset``), then these additional probepoints become available:"
msgstr ""
"Si ce fichier est installé dans le répertoire *tapset* de *SystemTap* (par "
"exemple ``/usr/share/systemtap/tapset``), alors ces sondes supplémentaires "
"deviennent disponibles ::"

#: howto/instrumentation.rst:380
msgid ""
"This probe point indicates that execution of a Python function has begun. It "
"is only triggered for pure-Python (bytecode) functions."
msgstr ""
"Cette sonde indique que l'exécution d'une fonction Python a commencé. Elle "
"n'est déclenchée que pour les fonctions en Python pur (code intermédiaire)."

#: howto/instrumentation.rst:385
msgid ""
"This probe point is the converse of ``python.function.return``, and "
"indicates that execution of a Python function has ended (either via "
"``return``, or via an exception).  It is only triggered for pure-Python "
"(bytecode) functions."
msgstr ""
"Cette sonde est l'inverse de ``python.function.return``, et indique que "
"l'exécution d'une fonction Python est terminée (soit via ``return``, soit "
"via une exception). Elle est uniquement déclenchée pour les fonctions en "
"Python pur (code intermédiaire ou *bytecode*)."

#: howto/instrumentation.rst:392
msgid "Examples"
msgstr "Exemples"

#: howto/instrumentation.rst:393
msgid ""
"This SystemTap script uses the tapset above to more cleanly implement the "
"example given above of tracing the Python function-call hierarchy, without "
"needing to directly name the static markers:"
msgstr ""
"Ce script *SystemTap* utilise le *tapset* ci-dessus pour implémenter plus "
"proprement l'exemple précédent de traçage de la hiérarchie des appels de "
"fonctions Python, sans avoir besoin de nommer directement les marqueurs "
"statiques ::"

#: howto/instrumentation.rst:412
#, fuzzy
msgid ""
"The following script uses the tapset above to provide a top-like view of all "
"running CPython code, showing the top 20 most frequently entered bytecode "
"frames, each second, across the whole system:"
msgstr ""
"Le script suivant utilise le *tapset* ci-dessus pour fournir une vue de "
"l'ensemble du code CPython en cours d'exécution, montrant les 20 cadres de "
"la pile d'appel (*stack frames*) les plus fréquemment utilisées du code "
"intermédiaire, chaque seconde, sur l'ensemble du système ::"
