# 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: 2022-03-23 18:39+0100\n" "PO-Revision-Date: 2021-11-21 16:49+0100\n" "Last-Translator: Philippe GALVAN \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" "X-Generator: Poedit 3.0\n" #: library/shelve.rst:2 msgid ":mod:`shelve` --- Python object persistence" msgstr ":mod:`shelve` — Persistance d’un objet Python" #: 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 "" "Une étagère (*shelf* en anglais) est un objet persistant similaire à un " "dictionnaire. La différence avec les bases de données *dbm* est que les " "valeurs (pas les clés !) dans une étagère 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 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 sérialiseurs créés avec :data:`pickle.DEFAULT_PROTOCOL` sont " "utilisés pour sérialiser les valeurs. La version du protocole de " "sérialisation peut être modifié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 de Python, une étagère ne peut pas savoir " "lorsqu'une entrée muable de dictionnaire persistant est modifiée. Par défaut " "les objets modifiés sont écrits *seulement* lorsqu'ils sont assignés à une " "étagère (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:145 msgid "" ":data:`pickle.DEFAULT_PROTOCOL` is now used as the default pickle protocol." msgstr "" ":data:`pickle.DEFAULT_PROTOCOL` est désormais utilisé en tant que protocole " "de sérialisation par défaut." #: library/shelve.rst:48 msgid "Accepts :term:`path-like object` for filename." msgstr "" #: library/shelve.rst:53 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 l’étagère ; 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:64 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 une étagère depuis une source non fiable. Comme " "avec *pickle*, charger une étagère peut exécuter du code arbitraire." #: library/shelve.rst:68 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 d’étagère gèrent la plupart des méthodes et opérations des " "dictionnaires (à l’exception de la copie, des constructeurs et des " "opérateurs ``|`` et ``|=``). Cela facilite la transition depuis les scripts " "utilisant des dictionnaires vers ceux nécessitant un stockage persistant." #: library/shelve.rst:72 msgid "Two additional methods are supported:" msgstr "Deux méthodes supplémentaires sont autorisées :" #: library/shelve.rst:76 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 l’étagère a été ouverte avec " "*writeback* passé à :const:`True`. Vide le cache et synchronise le " "dictionnaire persistant sur le disque, si faisable. Elle est appelée " "automatiquement quand l’étagère est fermée avec :meth:`close`." #: library/shelve.rst:83 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 une " "étagère fermée échouent avec une :exc:`ValueError`." #: library/shelve.rst:89 msgid "" "`Persistent dictionary recipe `_ with widely supported storage formats and having the speed of native " "dictionaries." msgstr "" "`Recette pour un dictionnaire persistant `_ avec un large panel de formats de stockage et ayant la " "vitesse des dictionnaires natifs." #: library/shelve.rst:95 msgid "Restrictions" msgstr "Limites" #: library/shelve.rst:101 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 sérialisée de) l'objet " "stocké dans la base de données doit être assez petit et, dans de rares cas, " "des collisions de clés peuvent entraîner le refus de mises à jour de la base " "de données." #: library/shelve.rst:109 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 une étagère ouverte en écriture, aucun autre programme " "ne doit l'avoir ouverte en écriture ou lecture. Le verrouillage des fichiers " "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:119 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 dans l'objet *dict*." #: library/shelve.rst:122 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* créés avec :data:`pickle.DEFAULT_PROTOCOL` sont " "utilisés pour sérialiser les valeurs. La version du protocole de " "sérialisation peut être modifiée avec le paramètre *protocol*. Voir la " "documentation de :mod:`pickle` pour plus d'informations sur les protocoles " "de sérialisation." #: library/shelve.rst:127 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 " "muables, mais peut consommer beaucoup plus de mémoire et rendre les temps de " "synchronisation et de fermeture très longs." #: library/shelve.rst:132 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:135 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` se " "termine." #: library/shelve.rst:138 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:142 msgid "Added context manager support." msgstr "Ajout de la gestion des gestionnaires de contexte." #: library/shelve.rst:152 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 `_ 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 `_ 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:165 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:176 msgid "Example" msgstr "Exemple" #: library/shelve.rst:178 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:215 msgid "Module :mod:`dbm`" msgstr "Module :mod:`dbm`" #: library/shelve.rst:215 msgid "Generic interface to ``dbm``-style databases." msgstr "Interface générique de base de données dans le style de ``dbm``." #: library/shelve.rst:217 msgid "Module :mod:`pickle`" msgstr "Module :mod:`pickle`" #: library/shelve.rst:218 msgid "Object serialization used by :mod:`shelve`." msgstr "Sérialisation d'objet utilisé par :mod:`shelve`."