# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"PO-Revision-Date: 2019-09-04 11:44+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"
"X-Generator: Poedit 2.0.8\n"

#: library/shelve.rst:2
msgid ":mod:`shelve` --- Python object persistence"
msgstr ":mod:`shelve` — Objet Python persistant"

#: library/shelve.rst:7
msgid "**Source code:** :source:`Lib/shelve.py`"
msgstr "**Code source :** :source:`Lib/shelve.py`"

#: library/shelve.rst:13
msgid ""
"A \"shelf\" is a persistent, dictionary-like object.  The difference with "
"\"dbm\" databases is that the values (not the keys!) in a shelf can be "
"essentially arbitrary Python objects --- anything that the :mod:`pickle` "
"module can handle. This includes most class instances, recursive data types, "
"and objects containing lots of shared  sub-objects.  The keys are ordinary "
"strings."
msgstr ""
"Un *shelf* est un objet persistant, dictionnaire-compatible. La différence "
"avec les bases de données *dbm* est que les valeurs (pas les clés !) dans un "
"*shelf* peuvent être des objets Python arbitraires --- n'importe quoi que le "
"module :mod:`pickle` peut gérer. Cela inclut la plupart des instances de "
"classe, des types de données récursives, et les objets contenant beaucoup de "
"sous-objets partagés. Les clés sont des chaînes de caractères ordinaires."

#: library/shelve.rst:22
msgid ""
"Open a persistent dictionary.  The filename specified is the base filename "
"for the underlying database.  As a side-effect, an extension may be added to "
"the filename and more than one file may be created.  By default, the "
"underlying database file is opened for reading and writing.  The optional "
"*flag* parameter has the same interpretation as the *flag* parameter of :"
"func:`dbm.open`."
msgstr ""
"Ouvre un dictionnaire persistant. Le nom de fichier spécifié est le nom de "
"fichier sans (son) extension pour la base de données sous-jacente. Comme "
"effet de bord, une extension peut être ajoutée au nom de fichier et plus "
"d'un fichier peut être créé. Par défaut, le fichier de base de données sous-"
"jacente est ouvert en lecture et en écriture. Le paramètre optionnel *flag* "
"possède la même interprétation que le paramètre *flag* de :func:`dbm.open`."

#: library/shelve.rst:28
#, fuzzy
msgid ""
"By default, pickles created with :data:`pickle.DEFAULT_PROTOCOL` are used to "
"serialize values.  The version of the pickle protocol can be specified with "
"the *protocol* parameter."
msgstr ""
"Par défaut, les *pickles* de version 3 sont utilisés pour sérialiser des "
"valeurs. La version du protocole de *pickle* peut être spécifiée avec le "
"paramètre *protocol*."

#: library/shelve.rst:32
msgid ""
"Because of Python semantics, a shelf cannot know when a mutable persistent-"
"dictionary entry is modified.  By default modified objects are written "
"*only* when assigned to the shelf (see :ref:`shelve-example`).  If the "
"optional *writeback* parameter is set to ``True``, all entries accessed are "
"also cached in memory, and written back on :meth:`~Shelf.sync` and :meth:"
"`~Shelf.close`; this can make it handier to mutate mutable entries in the "
"persistent dictionary, but, if many entries are accessed, it can consume "
"vast amounts of memory for the cache, and it can make the close operation "
"very slow since all accessed entries are written back (there is no way to "
"determine which accessed entries are mutable, nor which ones were actually "
"mutated)."
msgstr ""
"À cause de la sémantique Python, un *shelf* ne peut pas savoir lorsqu'une "
"entrée modifiable de dictionnaire persistant est modifiée. Par défaut les "
"objets modifiés sont écrits *seulement* lorsqu'ils sont assignés à une "
"*shelf* (voir :ref:`shelve-example`). Si le paramètre optionnel *writeback* "
"est mis à ``True``, toutes les entrées déjà accédées sont aussi mises en "
"cache en mémoire, et ré-écrites sur :meth:`~Shelf.sync` et :meth:`~Shelf."
"close` ; cela peut faciliter la modification des entrées modifiables dans le "
"dictionnaire persistant, mais, si vous accédez à beaucoup d'entrées, cela "
"peut consommer beaucoup de mémoire cache, et cela peut rendre l'opération de "
"fermeture très lente puisque toutes les entrées déjà accédées sont ré-"
"écrites (il n'y a aucun moyen de savoir quelles entrées déjà accédées sont "
"mutables, ni lesquelles ont été vraiment modifiées)."

#: library/shelve.rst:142
msgid ""
":data:`pickle.DEFAULT_PROTOCOL` is now used as the default pickle protocol."
msgstr ""

#: library/shelve.rst:50
msgid ""
"Do not rely on the shelf being closed automatically; always call :meth:"
"`~Shelf.close` explicitly when you don't need it any more, or use :func:"
"`shelve.open` as a context manager::"
msgstr ""
"Ne pas se fier à la fermeture automatique de *shelf* ; appelez toujours :"
"meth:`~Shelf.close` explicitement quand vous n'en avez plus besoin, ou "
"utilisez :func:`shelve.open` comme un gestionnaire de contexte ::"

#: library/shelve.rst:61
msgid ""
"Because the :mod:`shelve` module is backed by :mod:`pickle`, it is insecure "
"to load a shelf from an untrusted source.  Like with pickle, loading a shelf "
"can execute arbitrary code."
msgstr ""
"Puisque le module :mod:`shelve` utilise en arrière plan :mod:`pickle`, il "
"n'est pas sûr de charger un *shelf* depuis une source non fiable. Comme avec "
"*pickle*, charger un *shelf* peut exécuter du code arbitraire."

#: library/shelve.rst:65
#, fuzzy
msgid ""
"Shelf objects support most of methods and operations supported by "
"dictionaries (except copying, constructors and operators ``|`` and ``|=``).  "
"This eases the transition from dictionary based scripts to those requiring "
"persistent storage."
msgstr ""
"Les objets *shelf* gèrent toutes les méthodes des dictionnaires. Cela "
"facilite la transition depuis les scripts utilisant des dictionnaires à ceux "
"nécessitant un stockage persistant."

#: library/shelve.rst:69
msgid "Two additional methods are supported:"
msgstr "Deux méthodes supplémentaires sont supportées :"

#: library/shelve.rst:73
msgid ""
"Write back all entries in the cache if the shelf was opened with *writeback* "
"set to :const:`True`.  Also empty the cache and synchronize the persistent "
"dictionary on disk, if feasible.  This is called automatically when the "
"shelf is closed with :meth:`close`."
msgstr ""
"Réécrit toutes les entrées dans le cache si le *shelf* a été ouvert avec "
"*writeback* passé à :const:`True`. Vide le cache et synchronise le "
"dictionnaire persistant sur le disque, si faisable. Elle est appelée "
"automatiquement quand le *shelf* est fermé avec :meth:`close`."

#: library/shelve.rst:80
msgid ""
"Synchronize and close the persistent *dict* object.  Operations on a closed "
"shelf will fail with a :exc:`ValueError`."
msgstr ""
"Synchronise et ferme l'objet *dict* persistant. Les opérations sur un "
"*shelf* fermé échouent avec une :exc:`ValueError`."

#: library/shelve.rst:86
msgid ""
"`Persistent dictionary recipe <https://code.activestate.com/recipes/576642/"
">`_ with widely supported storage formats and having the speed of native "
"dictionaries."
msgstr ""
"`Recette pour un dictionnaire persistant <https://code.activestate.com/"
"recipes/576642/>`_ avec un large panel de formats de stockage et ayant la "
"vitesse des dictionnaires natifs."

#: library/shelve.rst:92
msgid "Restrictions"
msgstr "Limites"

#: library/shelve.rst:98
msgid ""
"The choice of which database package will be used (such as :mod:`dbm.ndbm` "
"or :mod:`dbm.gnu`) depends on which interface is available.  Therefore it is "
"not safe to open the database directly using :mod:`dbm`.  The database is "
"also (unfortunately) subject to the limitations of :mod:`dbm`, if it is used "
"--- this means that (the pickled representation of) the objects stored in "
"the database should be fairly small, and in rare cases key collisions may "
"cause the database to refuse updates."
msgstr ""
"Le choix du paquet de base de données à utiliser (comme :mod:`dbm.ndbm` ou :"
"mod:`dbm.gnu`) dépend de l'interface disponible. Donc c'est risqué d'ouvrir "
"la base de données directement en utilisant :mod:`dbm`. La base de données "
"est également (malheureusement) sujette à des limitations de :mod:`dbm`, si "
"c'est utilisé --- cela signifie que (la représentation *pickled* de) l'objet "
"stocké dans la base de données doit être assez petit et, dans de rare cas "
"des collisions de clés peuvent entraîner le refus de mises à jour de la base "
"de données."

#: library/shelve.rst:106
msgid ""
"The :mod:`shelve` module does not support *concurrent* read/write access to "
"shelved objects.  (Multiple simultaneous read accesses are safe.)  When a "
"program has a shelf open for writing, no other program should have it open "
"for reading or writing.  Unix file locking can be used to solve this, but "
"this differs across Unix versions and requires knowledge about the database "
"implementation used."
msgstr ""
"Le module :mod:`shelve` ne gère pas l'accès *concurrent* en lecture/écriture "
"sur les objets stockés (les accès simultanés en lecture sont sûrs). "
"Lorsqu'un programme a un *shelf* ouvert en écriture, aucun autre programme "
"ne doit l'avoir ouvert en écriture ou lecture. Le verrouillage des fichier "
"Unix peut être utilisé pour résoudre ce problème, mais cela dépend de la "
"version Unix et nécessite des connaissances à propos de l'implémentation de "
"la base de données utilisée."

#: library/shelve.rst:116
msgid ""
"A subclass of :class:`collections.abc.MutableMapping` which stores pickled "
"values in the *dict* object."
msgstr ""
"Sous-classe de :class:`collections.abc.MutableMapping` qui stocke les "
"valeurs sérialisées par *pickle* dans l'objet *dict*."

#: library/shelve.rst:119
#, fuzzy
msgid ""
"By default, pickles created with :data:`pickle.DEFAULT_PROTOCOL` are used to "
"serialize values.  The version of the pickle protocol can be specified with "
"the *protocol* parameter.  See the :mod:`pickle` documentation for a "
"discussion of the pickle protocols."
msgstr ""
"Par défaut, les *pickles* de version 3 sont utilisés pour sérialiser les "
"valeurs. La version du protocole *pickle* peut être spécifiée avec le "
"paramètre *protocol*. Voir la documentation de :mod:`pickle` pour plus "
"d'informations sur les protocoles *pickle*."

#: library/shelve.rst:124
msgid ""
"If the *writeback* parameter is ``True``, the object will hold a cache of "
"all entries accessed and write them back to the *dict* at sync and close "
"times. This allows natural operations on mutable entries, but can consume "
"much more memory and make sync and close take a long time."
msgstr ""
"Si le paramètre *writeback* est ``True``, l'objet garde en cache toutes les "
"entrées accédées et les écrit dans le *dict* aux moments de synchronisation "
"et de fermeture. Cela permet des opérations naturelles sur les entrées "
"modifiables, mais peut consommer beaucoup plus de mémoire et rendre les "
"temps de synchronisation et de fermeture très longs."

#: library/shelve.rst:129
msgid ""
"The *keyencoding* parameter is the encoding used to encode keys before they "
"are used with the underlying dict."
msgstr ""
"Le paramètre *keyencoding* est l'encodage utilisé pour encoder les clés "
"avant qu'elles soient utilisées avec le dictionnaire sous-jacent."

#: library/shelve.rst:132
msgid ""
"A :class:`Shelf` object can also be used as a context manager, in which case "
"it will be automatically closed when the :keyword:`with` block ends."
msgstr ""
"Un objet :class:`Shelf` peut également être utilisé comme un gestionnaire de "
"contexte ; il est automatiquement fermé lorsque le bloc :keyword:`with` est "
"terminé."

#: library/shelve.rst:135
msgid ""
"Added the *keyencoding* parameter; previously, keys were always encoded in "
"UTF-8."
msgstr ""
"Ajout du paramètre *keyencoding* ; précédemment, les clés étaient toujours "
"encodées en UTF-8."

#: library/shelve.rst:139
msgid "Added context manager support."
msgstr "Ajout de la gestion des gestionnaires de contexte."

#: library/shelve.rst:149
msgid ""
"A subclass of :class:`Shelf` which exposes :meth:`first`, :meth:`!next`, :"
"meth:`previous`, :meth:`last` and :meth:`set_location` which are available "
"in the third-party :mod:`bsddb` module from `pybsddb <https://www.jcea.es/"
"programacion/pybsddb.htm>`_ but not in other database modules.  The *dict* "
"object passed to the constructor must support those methods.  This is "
"generally accomplished by calling one of :func:`bsddb.hashopen`, :func:"
"`bsddb.btopen` or :func:`bsddb.rnopen`.  The optional *protocol*, "
"*writeback*, and *keyencoding* parameters have the same interpretation as "
"for the :class:`Shelf` class."
msgstr ""
"Sous-classe de :class:`Shelf` qui propose :meth:`first`, :meth:`!next`, :"
"meth:`previous`, :meth:`last` et :meth:`set_location` qui sont disponibles "
"dans le module tiers :mod:`bsddb` de `pybsddb <https://www.jcea.es/"
"programacion/pybsddb.htm>`_ mais non dans les autres modules de base de "
"données. L'objet *dict* passé au constructeur doit savoir gérer ces "
"méthodes. Cela est généralement fait en appelant une des fonctions "
"suivantes : :func:`bsddb.hashopen`, :func:`bsddb.btopen` ou :func:`bsddb."
"rnopen`. Les paramètres optionnels *protocol*, *writeback*, et *keyencoding* "
"ont la même signification que pour la classe :class:`Shelf`."

#: library/shelve.rst:162
msgid ""
"A subclass of :class:`Shelf` which accepts a *filename* instead of a dict-"
"like object.  The underlying file will be opened using :func:`dbm.open`.  By "
"default, the file will be created and opened for both read and write.  The "
"optional *flag* parameter has the same interpretation as for the :func:`."
"open` function.  The optional *protocol* and *writeback* parameters have the "
"same interpretation as for the :class:`Shelf` class."
msgstr ""
"Sous-classe de :class:`Shelf` qui accepte un *filename* au lieu d'un objet "
"dictionnaire-compatible. Le fichier sous-jacent est ouvert avec :func:`dbm."
"open`. Par défaut le fichier est créé en lecture et en écriture. Le "
"paramètre optionnel *flag* peut être interprété de la même manière que pour "
"la fonction :func:`.open`. Les paramètres optionnels *protocol* et "
"*writeback* s'interprètent de la même manière que pour la classe :class:"
"`Shelf`."

#: library/shelve.rst:173
msgid "Example"
msgstr "Exemple"

#: library/shelve.rst:175
msgid ""
"To summarize the interface (``key`` is a string, ``data`` is an arbitrary "
"object)::"
msgstr ""
"Pour résumer l'interface (``key`` est une chaîne de caractère, ``data`` est "
"un objet arbitraire) ::"

#: library/shelve.rst:212
msgid "Module :mod:`dbm`"
msgstr "Module :mod:`dbm`"

#: library/shelve.rst:212
msgid "Generic interface to ``dbm``-style databases."
msgstr "Interface générique de base de données style ``dbm``."

#: library/shelve.rst:214
msgid "Module :mod:`pickle`"
msgstr "Module :mod:`pickle`"

#: library/shelve.rst:215
msgid "Object serialization used by :mod:`shelve`."
msgstr "Sérialisation d'objet utilisé par :mod:`shelve`."
