calibre - en to fr translation catalogue (104 entries)

en: Setting up a calibre development environment
fr: Mise en place d'un environnement de développement calibre

en: calibre is completely open source, licensed under the `GNU GPL v3 <https://www.gnu.org/licenses/gpl.html>`_. This means that you are free to download and modify the program to your heart's content. In this section, you will learn how to get a calibre development environment set up on the operating system of your choice. calibre is written primarily in `Python <https://www.python.org>`_ with some C/C++ code for speed and system interfacing. Note that calibre requires at least Python 3.8.
fr: calibre est complètement open source, sous licence `GNU GPL v3 <https://www.gnu.org/copyleft/gpl.html>`_. Cela signifie que vous êtes libre de télécharger et de modifier le programme à votre convenance. Dans cette section, vous apprendrez comment obtenir la mise en place d'un environnement de développement calibre sur le système d'exploitation de votre choix. calibre est principalement écrit en `Python <https://www.python.org>`_ avec un peu de code C/C++ pour la vitesse et l'interfaçage système. Notez que calibre requiert au moins Python 3.8.

en: Contents
fr: Contenu

en: Design philosophy
fr: Philosophie de conception

en: calibre has its roots in the Unix world, which means that its design is highly modular. The modules interact with each other via well defined interfaces. This makes adding new features and fixing bugs in calibre very easy, resulting in a frenetic pace of development. Because of its roots, calibre has a comprehensive command line interface for all its functions, documented in :doc:`generated/en/cli-index`.
fr: calibre a ses racines dans le monde UNIX, ce qui signifie que sa conception est très modulaire. Les modules interagissent les uns avec les autres par l'intermédiaire d'interfaces bien définies. C'est ce qui rend l'ajout de nouvelles fonctionnalités et la réparation des dysfonctionnements très faciles dans calibre, ayant pour résultat un rythme de développement frénétique. En raison de ses racines,calibre a une interface en ligne de commande complète pour toutes ses fonctions, documentée dans doc:`generated/fr/cli-index`.

en: The modular design of calibre is expressed via ``Plugins``. There is a :ref:`tutorial <customize>` on writing calibre plugins. For example, adding support for a new device to calibre typically involves writing fewer than 100 lines of code in the form of a device driver plugin. You can browse the `built-in drivers <https://github.com/kovidgoyal/calibre/tree/master/src/calibre/devices>`_. Similarly, adding support for new conversion formats involves writing input/output format plugins. Another example of the modular design is the :ref:`recipe system <news>` for fetching news. For more examples of plugins designed to add features to calibre, see the `Index of plugins <https://www.mobileread.com/forums/showthread.php?p=1362767#post1362767>`_.
fr: La conception modulaire de calibre est exprimée par l'intermédiaire des ``Extensions``. Il y a un :ref:`tutoriel <customize>` sur l'écriture d'extensions calibre. Par exemple, ajouter le support d'un nouveau périphérique à calibre implique typiquement d'écrire moins de 100 lignes de code sous forme d'une extension pilote de périphérique. Vous pouvez parcourir les `pilotes intégrés <https://github.com/kovidgoyal/calibre/tree/master/src/calibre/devices>`_. Similairement, ajouter le support pour de nouveaux formats de conversion implique l'écriture de nouvelles extensions de format entrée/sortie. Un autre exemple de la conception modulaire est le :ref:`système de recette <news>` pour récupérer des actualités. Pour plus d'exemples d'extensions conçues pour ajouter des fonctionnalités à calibre, voir l'`Index des extensions <https://www.mobileread.com/forums/showthread.php?p=1362767#post1362767>`_.

en: Code layout
fr: Disposition du code

en: All the calibre Python code is in the ``calibre`` package. This package contains the following main sub-packages
fr: Tout le code Python de calibre est dans le paquet ``calibre``. Ce paquet contient les principaux sous-paquets suivants :

en: devices - All the device drivers. Just look through some of the built-in drivers to get an idea for how they work.
fr: périphériques - Tous les pilotes de périphériques. Regardez juste certains des pilotes intégrés pour avoir une idée de la façon dont ils fonctionnent.

en: For details, see: ``devices.interface`` which defines the interface supported by device drivers and ``devices.usbms`` which defines a generic driver that connects to a USBMS device. All USBMS based drivers in calibre inherit from it.
fr: Pour plus de détails, voir : ``devices.interface`` qui définit l'interface supportée par les pilotes de périphériques et ``devices.usbms`` qui définit un pilote générique qui connecte un périphérique USBMS. Tous les pilotes basés USBMS dans calibre héritent de lui.

en: e-books  - All the e-book conversion/metadata code. A good starting point is ``calibre.ebooks.conversion.cli`` which is the module powering the :command:`ebook-convert` command. The conversion process is controlled via ``conversion.plumber``. The format independent code is all in ``ebooks.oeb`` and the format dependent code is in ``ebooks.format_name``.
fr: livres numériques - Tout le code conversion/métadonnées de livre numérique. Un bon point de départ est ``calibre.ebooks.conversion.cli`` qui est le module alimentant la commande :command:`ebook-convert`. Le processus de conversion est contrôlé par l'intermédiaire de ``conversion.plumber``. Le code de format indépendant est entièrement dans ``ebooks.oeb`` et le code de format dépendant est dans ``ebooks.format_name``.

en: Metadata reading, writing, and downloading is all in ``ebooks.metadata``
fr: La lecture, l'écriture et le téléchargement des métadonnées est entièrement dans ``ebooks.metadata``

en: Conversion happens in a pipeline, for the structure of the pipeline, see :ref:`conversion-introduction`. The pipeline consists of an input plugin, various transforms and an output plugin. The code that constructs and drives the pipeline is in :file:`plumber.py`. The pipeline works on a representation of an e-book that is like an unzipped epub, with manifest, spine, toc, guide, html content, etc. The class that manages this representation is OEBBook in ``ebooks.oeb.base``. The various transformations that are applied to the book during conversions live in :file:`oeb/transforms/*.py`. And the input and output plugins live in :file:`conversion/plugins/*.py`.
fr: La conversion se produit dans un pipeline, pour la structure du pipeline, voir :ref:`conversion-introduction`. Le pipeline consiste en une extension d'entrée, différentes transformations et une extension de sortie. Le code qui construit et pilote le pipeline est dans :file:`plumber.py`. Le pipeline fonctionne sur une représentation d'un livre numérique qui est comme un epub décompressé, avec le manifeste, la structure organisationnelle, la TdM, le guide, le contenu html, etc. La classe qui gère cette représentation est OEBBook dans ``ebooks.oeb.base``. Les diverses transformations qui sont appliquées au livre durant la conversion se situent dans :file:`oeb/transforms/*.py`. Et les extensions d'origines et de sortie se situent dans :file:`conversion/plugins/*.py`.

en: E-book editing happens using a different container object. It is documented in :ref:`polish_api`.
fr: L'édition de livre numérique se produit en utilisant un objet conteneur différent. Il est documenté dans :ref:`polish_api`.

en: db - The database back-end. See :ref:`db_api` for the interface to the calibre library.
fr: db - Le back-end de la base de données. Voir :ref:`db_api` pour l'interface à la bibliothèque calibre.

en: Content server: ``srv`` is the calibre Content server.
fr: Serveur de contenu : ``srv`` est le Serveur de contenu calibre.

en: gui2 - The Graphical User Interface. GUI initialization happens in ``gui2.main`` and ``gui2.ui``. The e-book-viewer is in ``gui2.viewer``. The e-book editor is in ``gui2.tweak_book``.
fr: gui2 - L'Interface Graphique Utilisateur. L'initialisation du GUI se produit dans ``gui2.main`` et ``gui2.ui``. La visionneuse de livre numérique dans ``gui2.viewer``. L'éditeur de livre numérique dans ``gui2.tweak_book``.

en: If you want to locate the entry points for all the various calibre executables, look at the ``entry_points`` structure in `linux.py <https://github.com/kovidgoyal/calibre/blob/master/src/calibre/linux.py>`_.
fr: Si vous voulez localiser les points d'entrée de tous les différents exécutables de calibre, regardez à la structure ``entry_points`` dans `linux.py <https://github.com/kovidgoyal/calibre/blob/master/src/calibre/linux.py>`_.

en: If you need help understanding the code, post in the `development forum <https://www.mobileread.com/forums/forumdisplay.php?f=240>`_ and you will most likely get help from one of calibre's many developers.
fr: Si vous avez besoin d'aide pour comprendre le code, postez sur le  `forum de développement <https://www.mobileread.com/forums/forumdisplay.php?f=240>`_ et vous obtiendrez très probablement de l'aide de l'un des nombreux développeurs de calibre.

en: Getting the code
fr: Obtenir le code

en: You can get the calibre source code in two ways, using a version control system or directly downloading a :website_base:`tarball <dist/src>`.
fr: Vous pouvez obtenir le code source de calibre de deux manières soit en utilisant un système de contrôle de version soit en téléchargeant directement une :website_base:`tarball <dist/src>`.

en: calibre uses `Git <https://www.git-scm.com/>`_, a distributed version control system. Git is available on all the platforms calibre supports.  After installing Git, you can get the calibre source code with the command::
fr: calibre utilise  `Git <https://www.git-scm.com/>`_, un système de contrôle de version distribuée. Git est disponible sur toutes les plateformes supportées par calibre. Après avoir installé Git, vous pouvez obtenir le code source de calibre avec la commande::

en: On Windows you will need the complete path name, that will be something like :file:`C:\\Program Files\\Git\\git.exe`.
fr: Sous Windows, vous aurez besoin du nom de chemin complet, ce sera quelque chose comme :file:`C:\\Program Files\\Git\\git.exe`.

en: calibre is a very large project with a very long source control history, so the above can take a while (10 mins to an hour depending on your internet speed).
fr: calibre est un très grand projet, avec une très longue histoire de contrôle de source, aussi ce qui est décrit plus haut peut prendre un moment (10 minutes à une heure dépendant de la vitesse de votre connexion internet).

en: If you want to get the code faster, the source code for the latest release is always available as an :website_base:`archive <dist/src>`.
fr: Si vous voulez obtenir le code source plus rapidement, le code source de la dernière version est toujours disponible comme :website_base:`archive <dist/src>`.

en: To update a branch to the latest code, use the command::
fr: Pour mettre à jour une branche du dernier code, utilisez la commande::

en: You can also browse the code at `GitHub <https://github.com/kovidgoyal/calibre>`_.
fr: Vous pouvez également parcourir le code sur `GitHub <https://github.com/kovidgoyal/calibre>`_.

en: Submitting your changes to be included
fr: Soumettre vos changements à inclure

en: If you only plan to make a few small changes, you can make your changes and create a "merge directive" which you can then attach to a ticket in the calibre `bug tracker <https://bugs.launchpad.net/calibre>`_. To do this, make your changes, then run::
fr: Si vous planifiez de faire quelques petits changements, vous  pouvez faire vos changements et crée une  "directive de fusion" que vous pouvez alors attacher à un ticket dans le `bug tracker <https://bugs.launchpad.net/calibre>`_ de calibre. Pour faire cela, faites vos changements, et exécutez::

en: This will create a :file:`my-changes` file in the current folder, simply attach that to a ticket on the calibre `bug tracker <https://bugs.launchpad.net/calibre>`_. Note that this will include *all* the commits you have made. If you only want to send some commits, you have to change ``origin/master`` above. To send only the last commit, use::
fr: Cela créera un fichier :file:`my-changes` dans le dossier actuel, attachez le simplement à un ticket sur le `bug tracker <https://bugs.launchpad.net/calibre>`_ de calibre. Notez que ceci inclura *toutes* les validations effectuées. Si vous voulez seulement envoyer une partie des validations, vous devez changer ``origin/master`` ci-dessus. Pour envoyer seulement la dernière validation, employez::

en: To send the last *n* commits, replace *1* with *n*, for example, for the last 3 commits::
fr: Pour envoyer les dernières *n* validations, remplacer *1* avec *n*, par exemple, pour les 3 derniers validations::

en: Be careful to not include merges when using ``HEAD~n``.
fr: Faites attention à ne pas inclure des fusions en employant ``HEAD~n``.

en: If you plan to do a lot of development on calibre, then the best method is to create a `GitHub <https://github.com>`__ account. Below is a basic guide to setting up your own fork of calibre in a way that will allow you to submit pull requests for inclusion into the main calibre repository:
fr: Si vous planifiez de faire beaucoup de développement sur calibre, alors la meilleure méthode est de créer un compte `GitHub <https://github.com>`__. Ci-dessous se trouve un guide basique pour mettre en place votre propre embranchement de calibre d'une manière qui vous permet de soumettre des requêtes de déchargement pour l'inclusion dans le dépôt principal calibre :

en: Setup git on your machine as described in this article: `Setup Git <https://help.github.com/articles/set-up-git>`_
fr: Installer git sur votre machine comme décrit dans cet article : `Installer Git <https://help.github.com/articles/set-up-git>`_

en: Setup ssh keys for authentication to GitHub, as described here: `Generating SSH keys <https://help.github.com/articles/generating-ssh-keys>`_
fr: Installez les clés SSH pour l'authentification sur GitHub, comme décrit ici : `Generating SSH keys <https://help.github.com/articles/generating-ssh-keys>`_

en: Go to https://github.com/kovidgoyal/calibre and click the :guilabel:`Fork` button.
fr: Allez sur https://github.com/kovidgoyal/calibre et cliquez sur le bouton :guilabel:`Fork`.

en: In a Terminal do::
fr: Dans un Terminal faites::

en: Replace <username> above with your GitHub username. That will get your fork checked out locally.
fr: Remplacez <username> ci-dessus par votre nom d'utilisateur Github. Cela obtiendra que votre embranchement sera vérifié localement.

en: You can make changes and commit them whenever you like. When you are ready to have your work merged, do a::
fr: Vous pouvez y faire des changements et des validations chaque fois que vous le désirez. Quand vous êtes prêt à fusionner votre travail, faites un::

en: and go to ``https://github.com/<username>/calibre`` and click the :guilabel:`Pull Request` button to generate a pull request that can be merged.
fr: et rendez vous sur ``https://github.com/<username>/calibre`` et cliquez le bouton :guilabel:`Pull Request` pour générer une requête de déchargement qui peut être fusionnée.

en: You can update your local copy with code from the main repo at any time by doing::
fr: Vous pouvez mettre à jour votre copie locale du code depuis le dépôt principal à n'importe quel moment en faisant::

en: You should also keep an eye on the calibre `development forum <https://www.mobileread.com/forums/forumdisplay.php?f=240>`_. Before making major changes, you should discuss them in the forum or contact Kovid directly (his email address is all over the source code).
fr: Vous devriez aussi garder un oeil sur le `forum de développement <https://www.mobileread.com/forums/forumdisplay.php?f=240>`_ calibre. Avant de faire des changements majeurs, vous devriez en discuter dans le forum ou contacter directement Kovid (son adresse mail est partout dans le code source).

en: Windows development environment
fr: Environnement de développement Windows

en: You must also get the calibre source code separately as described above.
fr: Vous devez aussi récupérer le code source calibre séparément comme décrit plus haut.

en: Install calibre normally, using the `Windows installer <https://calibre-ebook.com/download_windows>`__. Then open a Command Prompt and change to the previously checked out calibre code folder. For example::
fr: Installez calibre normalement, en utilisant `l'installateur de Windows <https://calibre-ebook.com/download_windows>`__. Ouvrez alors une Invite de Commande et changez le dossier calibre précédemment vérifié. Par exemple::

en: calibre is the folder that contains the src and resources sub-folders.
fr: calibre est le dossier qui contient les sous-dossiers src et resources.

en: The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to the absolute path of the src folder. So, following the example above, it would be ``C:\Users\kovid\work\calibre\src``. `Here is a short guide <https://docs.python.org/using/windows.html#excursus-setting-environment-variables>`_ to setting environment variables on Windows.
fr: L'étape suivante est de régler la variable d'environnement ``CALIBRE_DEVELOP_FROM`` au chemin absolu du dossier src. Ainsi, en suivant l'exemple ci-dessus, il devrait être ``C:\Users\kovid\work\calibre\src``.  `Voici un court guide <https://docs.python.org/using/windows.html#excursus-setting-environment-variables>`_ pour paramétrer les variables d'environnement sous Windows.

en: Once you have set the environment variable, open a new command prompt and check that it was correctly set by using the command::
fr: Une vois que vous avez réglé la variable d'environnement, ouvrez une nouvelle invite de commande et vérifiez qu'elle est correctement paramétrée en utilisant la commande::

en: Setting this environment variable means that calibre will now load all its Python code from the specified location.
fr: Paramétrer cette variable d'environnement signifie que calibre chargera maintenant tout son code Python à partir de l'emplacement spécifié.

en: That's it! You are now ready to start hacking on the calibre code. For example, open the file :file:`src\\calibre\\__init__.py` in your favorite editor and add the line::
fr: Voilà. vous êtes maintenant prêt à commencer à bidouiller le code calibre. Par exemple, ouvrez le fichier :file:`src\\calibre\\__init__.py` dans votre éditeur préféré et ajoutez la ligne::

en: near the top of the file. Now run the command :command:`calibredb`. The very first line of output should be ``Hello, world!``.
fr: près du dessus du ficher. Exécutez maintenant la commande :command:`calibredb`. La toute première ligne de production devrait être ``Hello, world!``.

en: You can also setup a calibre development environment inside the free Microsoft Visual Studio, if you like, following the instructions `here <https://www.mobileread.com/forums/showthread.php?t=251201>`_.
fr: Vous pouvez également mettre en place l'environnement de développement dans le Microsoft Visual Studion libre, si vous préférez, suivre les instructions `ici <https://www.mobileread.com/forums/showthread.php?t=251201>`_.

en: macOS development environment
fr: Environnement de développement macOS

en: Install calibre normally using the `provided .dmg <https://calibre-ebook.com/download_osx>`__. Then open a Terminal and change to the previously checked out calibre code folder, for example::
fr: Installez calibre normalement en utilisant les `.dmg mis à disposition <https://calibre-ebook.com/download_osx>`__. Ouvrez alors un Terminal et changez pour le dossier de code précédemment vérifié, par exemple::

en: calibre is the folder that contains the src and resources sub-folders. The calibre command line tools are found inside the calibre app bundle, in :file:`/Applications/calibre.app/Contents/MacOS` you should add this folder to your PATH environment variable, if you want to run the command line tools easily.
fr: calibre est le dossier qui contient les sous-dossiers src et resources. Les outils en ligne de commande calibre se trouvent à l'intérieur du paquet d'applications calibre, dans :file:`/Applications/calibre.app/Contents/MacOS` vous devez ajouter ce dossier à votre variable d'environnement PATH, si vous voulez exécuter facilement les outils en ligne de commande.

en: The next step is to create a bash script that will set the environment variable ``CALIBRE_DEVELOP_FROM`` to the absolute path of the src folder when running calibre in debug mode.
fr: L'étape suivante est de créer un script bash qui paramétrera les variables d'environnement `CALIBRE_DEVELOP_FROM`` au chemin absolu du dossier src lors de l'exécution de calibre en mode dépannage.

en: Create a plain text file::
fr: Créez un fichier texte brut::

en: Save this file as :file:`/usr/local/bin/calibre-develop`, then set its permissions so that it can be executed::
fr: Sauvegardez le fichier comme :file:`/usr/bin/calibre-develop`, paramétrer alors ses permissions afin qu'il puisse être exécuté ::

en: Once you have done this, run::
fr: Une fois que vous avez fait cela, exécuter :

en: You should see some diagnostic information in the Terminal window as calibre starts up, and you should see an asterisk after the version number in the GUI window, indicating that you are running from source.
fr: Vous devriez voir quelques informations diagnostiques dans la fenêtre Terminal au démarrage de calibre, et vous devriez voir une astérisque après le numéro de version dans la fenêtre GUI, indiquant que vous exécutez depuis la source.

en: Linux development environment
fr: Environnement de développement Linux

en: calibre is primarily developed on Linux. You have two choices in setting up the development environment. You can install the calibre binary as normal and use that as a runtime environment to do your development. This approach is similar to that used in Windows and macOS. Alternatively, you can install calibre from source. Instructions for setting up a development environment from source are in the INSTALL file in the source tree. Here we will address using the binary as a runtime, which is the recommended method.
fr: calibre est principalement développé sous Linux. Vous avez deux choix pour paramétrer l'environnement de développement. Vous pouvez installer le binaire calibre comme à la normale et l'employer comme environnement d'exécution pour faire votre développement. Cette approche est similaire à celle utilisée dans Windows et macOS. Alternativement, vous pouvez installer calibre depuis la source. Les instructions pour installer un environnement de développement depuis la source sont dans le fichier INSTALL dans l'arborescence de source. Ici nous nous adresserons en utilisant le binaire d'exécution, qui est la méthode recommandée.

en: Install calibre using the `binary installer <https://calibre-ebook.com/download_linux>`_. Then open a terminal and change to the previously checked out calibre code folder, for example::
fr: Installer calibre en utilisant `l'installateur binaire <https://calibre-ebook.com/download_linux>`_. Ouvrez alors un terminal et changez le dossier du code calibre précédemment vérifié, par exemple::

en: The next step is to set the environment variable ``CALIBRE_DEVELOP_FROM`` to the absolute path of the src folder. So, following the example above, it would be ``/home/kovid/work/calibre/src``. How to set environment variables depends on your Linux distribution and what shell you are using.
fr: L'étape suivante est de créer un script bash qui paramétrera les variables d'environnement ``CALIBRE_DEVELOP_FROM`` au chemin absolu du dossier src. Aussi, en suivant l'exemple ci-dessus, il devrait être ``/home/kovid/work/calibre/src``. Comment paramétrer les variables d'environnement dépend de votre distribution Linux et de quel shell vous utilisez.

en: It is recommended to use the binary installer provided from upstream. Should you insist on using a package provided by your distribution, use the ``CALIBRE_PYTHON_PATH`` and ``CALIBRE_RESOURCES_PATH`` variables instead. You can get these by running ``calibre-debug --paths``. But note that distribution calibre packages are often terminally broken and are completely unsupported.
fr: Il est recommandé d'utiliser l'installeur binaire fourni en amont. Si vous insistez pour utiliser un paquet fourni par votre distribution, utilisez plutôt les variables ``CALIBRE_PYTHON_PATH`` et ``CALIBRE_RESOURCES_PATH``. Vous pouvez les obtenir en exécutant ``calibre-debug --paths``. Mais notez que les paquets de distribution calibre sont souvent cassé au niveau du terminal et ne sont absolument pas pris en charge.

en: Once you have set the environment variable, open a new terminal and check that it was correctly set by using the command::
fr: Une fois que vous avez paramétré la variable d'environnement, ouvrez un nouveau terminal et vérifiez qu'elle a été correctement paramétrée en utilisant la commande::

en: That's it! You are now ready to start hacking on the calibre code. For example, open the file :file:`src/calibre/__init__.py` in your favorite editor and add the line::
fr: Voilà ! Vous êtes maintenant prêt à commencer à bidouiller le code calibre. Par exemple, ouvrez le fichier :file:`src\\calibre\\__init__.py` dans votre éditeur préféré et ajoutez la ligne::

en: Having separate "normal" and "development" calibre installs on the same computer
fr: Avoir des installations séparées de calibre "normale" et "développement" sur le même ordinateur

en: The calibre source tree is very stable and rarely breaks, but if you feel the need to run from source on a separate test library and run the released calibre version with your everyday library, you can achieve this easily using .bat files or shell scripts to launch calibre. The example below shows how to do this on Windows using .bat files (the instructions for other platforms are the same, just use a shell script instead of a .bat file)
fr: L'arborescence de source calibre est très stable et se rompt rarement, mais si vous sentez la nécessité d'exécuter depuis la source sur une bibliothèque distincte d'essai et de d'exécuter une version libre de calibre avec votre bibliothèque quotidienne, vous pouvez réaliser ceci facilement en utilisant des fichiers .bat ou des scripts shell pour lancer calibre. L'exemple ci-dessous expose comment faire ceci sur Windows utilisant des fichiers .bat (les instructions pour d'autres plates-formes sont identiques, employez juste un script shell au lieu d'un fichier .bat)

en: To launch the release version of calibre with your everyday library:
fr: Pour lancer la nouvelle version de calibre avec votre bibliothèque quotidienne :

en: Debugging tips
fr: Astuces de dépannage

en: Python is a dynamically typed language with excellent facilities for introspection. Kovid wrote the core calibre code without once using a debugger. There are many strategies to debug calibre code:
fr: Python est un langage opérant sur des objets de types déterminés dynamiquement avec d'excellents équipements pour l'introspection. Kovid a écrit le noyau du code calibre sans utiliser une fois un débogueur. Il y a beaucoup de stratégies pour corriger le code calibre :

en: Using print statements
fr: En utilisant les déclarations d'impression

en: This is Kovid's favorite way to debug. Simply insert print statements at points of interest and run your program in the terminal. For example, you can start the GUI from the terminal as::
fr: C'est la manière favorite de Kovid pour dépanner. Insérez simplement des déclarations d'impression aux points d'intérêt et exécuter votre programme dans le terminal. Par exemple : vous pouvez démarrer le GUI à partir du terminal comme::

en: Similarly, you can start the E-book viewer as::
fr: Similairement, vous pouvez démarrer la visionneuse de livre numérique comme ::

en: The e-book editor can be started as::
fr: L'éditeur de livre numérique peut être démarré comme ::

en: Using an interactive Python interpreter
fr: Utilisation d'un interpréte Python interactif

en: You can insert the following two lines of code to start an interactive Python session at that point::
fr: Vous pouvez insérer les deux lignes de code suivantes pour démarrer la session interactive Python à cet endroit::

en: When running from the command line, this will start an interactive Python interpreter with access to all locally defined variables (variables in the local scope). The interactive prompt even has :kbd:`Tab` completion for object properties and you can use the various Python facilities for introspection, such as :func:`dir`, :func:`type`, :func:`repr`, etc.
fr: Lors de l'exécution à partir de la ligne de commande, cela démarrera l'interpréteur python interactif avec accès à toutes les variables définies localement (variables dans la portée locale). L'invite interactive a même une complétion :kbd:`Tab` pour les propriétés d'objet et vous pouvez utiliser les diverses facilités Python pour l'introspection, telles que :func:`dir`, :func:`type`, :func:`repr`, etc.

en: Using the Python debugger as a remote debugger
fr: Utiliser le débogueur de Python comme débogueur à distance

en: You can use the builtin Python debugger (pdb) as a remote debugger from the command line. First, start the remote debugger at the point in the calibre code you are interested in, like this::
fr: Vous pouvez utiliser le débogueur intégré de Python (pdb) comme débogueur à distance en ligne de commande. D'abord, démarrez le débogueur à distance au point qui vous intéresse dans le code de calibre, comme ceci::

en: Then run calibre, either as normal, or using one of the calibre-debug commands described in the previous section. Once the above point in the code is reached, calibre will freeze, waiting for the debugger to connect.
fr: Exécuter alors calibre, soit comme normal, ou en utilisant une des commandes calibre-debug décrite dans la section précédente. Une fois le point ci-dessus atteint dans le code, calibre gèlera, attendant le débogueur pour se connecter.

en: Now open a terminal or command prompt and use the following command to start the debugging session::
fr: Ouvrez maintenant un terminal ou une invite de commande et utilisez la commande suivante pour démarrer la session de débogage::

en: You can read about how to use the Python debugger in the `Python stdlib docs for the pdb module <https://docs.python.org/library/pdb.html#debugger-commands>`_.
fr: Vous pouvez lire à propos de comment utiliser le débogueur Python dans `Python stdlib docs for the pdb module <https://docs.python.org/library/pdb.html#debugger-commands>`_.

en: By default, the remote debugger will try to connect on port 4444. You can change it, by passing the port parameter to both the set_trace() and the cli() functions above, like this: ``set_trace(port=1234)`` and ``cli(port=1234)``.
fr: Par défaut, le débogueur à distance essaiera de se connecter sur le port 4444. Vous pouvez le changer, en modifiant le paramètre de port des fonctions set_trace() et cli() ci-dessus, comme ceci : ``set_trace(port=1234)`` et ``cli(port=1234)``.

en: The Python debugger cannot handle multiple threads, so you have to call set_trace once per thread, each time with a different port number.
fr: Le débogueur de Python ne peut pas manipuler des fils multiples, aussi vous devez appeler le set_trace une fois par fil, chaque fois avec un numéro de port différent.

en: Using the debugger in your favorite Python IDE
fr: Utiliser le débogueur dans votre IDE Python préféré

en: It is possible to use the builtin debugger in your favorite Python IDE, if it supports remote debugging. The first step is to add the calibre src checkout to the ``PYTHONPATH`` in your IDE. In other words, the folder you set as ``CALIBRE_DEVELOP_FROM`` above, must also be in the ``PYTHONPATH`` of your IDE.
fr: Il est possible d'utiliser le débogueur intégré dans votre IDE Python préféré, s'il supporte le débogage à distance. La première étape est d'ajouter la src vérifiée calibre au ``PYTHONPATH`` dans votre IDE. En d'autres mots, le dossier que vous avec paramétré plus haut comme ``CALIBRE_DEVELOP_FROM``, doit aussi être dans le ``PYTHONPATH`` de votre IDE.

en: Then place the IDE's remote debugger module into the :file:`src` sub-folder of the calibre source code checkout. Add whatever code is needed to launch the remote debugger to calibre at the point of interest, for example in the main function. Then run calibre as normal. Your IDE should now be able to connect to the remote debugger running inside calibre.
fr: Placez alors me module IDE de débogage à distance dans le sous-dossier :file:`src` du code source vérifié calibre. Ajoutez ni'importe quel nécessaire pour lancer le débogueur à distance sur calibre au point d'intérêt, par exemple dans la fonction principale. Exécutez alors calibre comme normalement. Votre IDE devrait être capable de se connecter au débogueur à distance s'exécutant dans calibre.

en: Executing arbitrary scripts in the calibre Python environment
fr: Exécuter des scripts quelconques dans l'environnement Python calibre

en: The :command:`calibre-debug` command provides a couple of handy switches to execute your own code, with access to the calibre modules::
fr: La commande :command:`calibre-debug` fournit quelques commutateurs pratiques pour exécuter votre propre code, avec l'accès aux modules calibre::

en: is great for testing a little snippet of code on the command line. It works in the same way as the -c switch to the Python interpreter::
fr: est bien pour examiner un petit extrait de code sur la ligne de commande. Cela fonctionne de la même manière que le commutateur -c de l’interpréteur Python::

en: can be used to execute your own Python script. It works in the same way as passing the script to the Python interpreter, except that the calibre environment is fully initialized, so you can use all the calibre code in your script. To use command line arguments with your script, use the form::
fr: peut être employé pour exécuter votre propre script python. Cela fonctionne de la même manière que de passer le script à l'interpréteur python, sauf que l'environnement de calibre est entièrement initialisé, ainsi vous pouvez employer tout le code de calibre dans votre script. Pour employer les arguments en ligne de commande avec votre script, utilisez la forme::

en: The ``--`` causes all subsequent arguments to be passed to your script.
fr: ``--`` entraîne tous les arguments suivants d'être passés à votre script.

en: Running the calibre test suite
fr: Exécution de la suite de tests de Calibre

en: The calibre test suite can be run by::
fr: La suite de tests Calibre peut être exécutée de la manière suivante ::

en: Using calibre in your projects
fr: Utilisation de calibre dans vos projets

en: It is possible to directly use calibre functions/code in your Python project. Two ways exist to do this:
fr: Il est possible d'utiliser d'utiliser les fonctions/code calibre dans votre projet Python. Deux manières existent pour faire cela :

en: Binary install of calibre
fr: Installation binaire de calibre

en: If you have a binary install of calibre, you can use the Python interpreter bundled with calibre, like this::
fr: Si vous avez une installation binaire de calibre, vous pouvez utiliser l'interpréteur  python empaqueté avec calibre, comme ceci::

en: Source install on Linux
fr: Installez les sources sur Linux

en: In addition to using the above technique, if you do a source install on Linux, you can also directly import calibre, as follows::
fr: En complément de l'utilisation de la technique ci-dessus, si vos faites une installation des sources sur Linux, vous pouvez aussi importer directement calibre, comme suit::

en: It is essential that you import the init_calibre module before any other calibre modules/packages as it sets up the interpreter to run calibre code.
fr: Il est essentiel que vous importiez le module init_calibre avant tout autre modules/package calibre comme il a installé l'interpréteur pour exécuter le code calibre.

en: API documentation for various parts of calibre
fr: Documentation  API pour différentes parties de calibre
