Add a French translation of the README and the docs (#3166)

* Add a French translation of the README and the docs

* Put a documentation link in the README header
This commit is contained in:
Soxoj
2026-09-15 19:58:45 +03:00
committed by GitHub
parent c2655911fc
commit 5bf33eae8a
25 changed files with 7992 additions and 12 deletions
+1 -1
View File
@@ -450,7 +450,7 @@ Translations
The docs are translated via Sphinx's standard gettext workflow. English ``.rst`` files
are the source of truth; translations live as ``.po`` catalogs under
``docs/source/locale/<lang>/LC_MESSAGES/`` (currently only ``zh_CN``).
``docs/source/locale/<lang>/LC_MESSAGES/`` (currently ``zh_CN`` and ``fr``).
After editing any English ``.rst`` file, refresh the catalogs so existing
translations stay aligned with the new strings:
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+583
View File
@@ -0,0 +1,583 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/faq.rst:4 0da8c66733d348fc9b00ba5a1a76aa73
msgid "FAQ"
msgstr "FAQ"
#: ../../source/faq.rst:6 2ae724d004154176be5080383d04f54a
msgid ""
"Short answers to the questions users most often type into the docs "
"search. For deeper coverage each section links to the relevant page."
msgstr ""
"Réponses courtes aux questions que les utilisateurs tapent le plus "
"souvent dans la recherche de la documentation. Chaque section renvoie "
"vers la page correspondante pour plus de détails."
#: ../../source/faq.rst:10 9bb042d046f640119b891ab1c0435f0e
msgid "Can I search by email address?"
msgstr "Puis-je faire une recherche par adresse e-mail ?"
#: ../../source/faq.rst:12 92d82ec421f54914a366fff12bb10ba6
msgid ""
"**No.** Maigret only takes a username (or one of the :doc:`supported "
"identifier types <supported-identifier-types>`) as input — searching by "
"an email or mail address is out of scope. Looking up a mail address "
"requires different techniques (probing password-reset flows, registration"
" endpoints) and is the job of a separate class of tool."
msgstr ""
"**Non.** Maigret n'accepte en entrée qu'un nom d'utilisateur (ou l'un des"
" :doc:`types d'identifiants pris en charge <supported-identifier-types>`)"
" : la recherche par adresse e-mail sort de son périmètre. Retrouver une "
"adresse e-mail demande d'autres techniques (sonder les procédures de "
"réinitialisation de mot de passe, les points d'entrée d'inscription) et "
"relève d'une autre catégorie d'outils."
#: ../../source/faq.rst:19 3ddb8801c7294968ba06946911e0f4bc
msgid "Recommended open-source tools for email lookup:"
msgstr "Outils open source recommandés pour la recherche par e-mail :"
#: ../../source/faq.rst:21 ef0949e641b547239bf0abc2c39a5724
msgid "`mailcat <https://github.com/sharsil/mailcat>`_"
msgstr "`mailcat <https://github.com/sharsil/mailcat>`_"
#: ../../source/faq.rst:22 99b07239fa61487ab55e3bebfb8076f8
msgid "`holehe <https://github.com/megadose/holehe>`_"
msgstr "`holehe <https://github.com/megadose/holehe>`_"
#: ../../source/faq.rst:23 769abcb0d6814c859f9af00831f80620
msgid "`user-scanner <https://github.com/kaifcodec/user-scanner>`_"
msgstr "`user-scanner <https://github.com/kaifcodec/user-scanner>`_"
#: ../../source/faq.rst:25 c35794d9d73d469e97539a39527812cb
msgid "Online services:"
msgstr "Services en ligne :"
#: ../../source/faq.rst:27 189251bc33624e62b4a28aadbb2bcb50
msgid "`Noimosiny <https://noimosiny.com>`_"
msgstr "`Noimosiny <https://noimosiny.com>`_"
#: ../../source/faq.rst:28 401a10ff8ce74ceabb38fdb9fe8d0c56
msgid "`OSINT Industries <https://osint.industries>`_"
msgstr "`OSINT Industries <https://osint.industries>`_"
#: ../../source/faq.rst:29 3decfb5f127c47578076cd716cbc53c9
msgid "`Epieos <https://epieos.com>`_"
msgstr "`Epieos <https://epieos.com>`_"
#: ../../source/faq.rst:31 2a1148f2c20c48f19b3347ab344be010
msgid ""
"Note: if Maigret has already found an account for a username, it often "
"extracts the linked email from the profile page automatically — see :ref"
":`extracting-information-from-pages`."
msgstr ""
"À noter : si Maigret a déjà trouvé un compte pour un nom d'utilisateur, "
"il extrait souvent automatiquement l'e-mail associé depuis la page de "
"profil, voir :ref:`extracting-information-from-pages`."
#: ../../source/faq.rst:36 9bddb16d5c3d47d6b1825415599861dc
msgid "Can I configure a proxy / SOCKS / Tor / I2P?"
msgstr "Puis-je configurer un proxy / SOCKS / Tor / I2P ?"
#: ../../source/faq.rst:38 663009588299428985b0006fa0471a1a
msgid "**Yes.** Three flags cover three distinct goals:"
msgstr "**Oui.** Trois options couvrent trois objectifs distincts :"
#: ../../source/faq.rst:40 0a8ae8051ff64cc39c439eed7deb24b2
msgid ""
"``--proxy URL`` — route **every** check through the given HTTP or SOCKS "
"proxy (also the right flag for routing the whole run through Tor with "
"``socks5://127.0.0.1:9050``, a residential proxy, or a corporate "
"gateway)."
msgstr ""
"``--proxy URL`` — faire passer **toutes** les vérifications par le proxy "
"HTTP ou SOCKS indiqué (c'est aussi la bonne option pour faire passer "
"toute la recherche par Tor avec ``socks5://127.0.0.1:9050``, par un proxy"
" résidentiel ou par une passerelle d'entreprise)."
#: ../../source/faq.rst:44 5660a1a875684394be59c898612b05e0
msgid ""
"``--tor-proxy URL`` — used **only** for ``.onion`` sites in the database."
" Clearweb sites still go via your direct connection (or ``--proxy`` if "
"set)."
msgstr ""
"``--tor-proxy URL`` — utilisé **uniquement** pour les sites ``.onion`` de"
" la base. Les sites du web classique continuent de passer par votre "
"connexion directe (ou par ``--proxy`` s'il est défini)."
#: ../../source/faq.rst:47 aae64ef1456b4567acededd84132be89
msgid "``--i2p-proxy URL`` — same idea, only for ``.i2p`` hosts."
msgstr "``--i2p-proxy URL`` — même principe, uniquement pour les hôtes ``.i2p``."
#: ../../source/faq.rst:49 b324f9d45ec04859b5170140d8d2539c
msgid ""
"The most common confusion is ``--proxy`` vs ``--tor-proxy``: ``--proxy`` "
"is \"everything through this gateway\", ``--tor-proxy`` is \"only onion "
"sites through Tor\"."
msgstr ""
"La confusion la plus fréquente oppose ``--proxy`` à ``--tor-proxy`` : "
"``--proxy`` veut dire « tout passe par cette passerelle », ``--tor-"
"proxy`` veut dire « seuls les sites onion passent par Tor »."
#: ../../source/faq.rst:53 77baa5cf834548c4a18b1c3966a9132c
msgid ""
"Full walkthrough (Tor Browser vs system ``tor`` port numbers, Tails OS, "
"timeout / retry tuning): :doc:`tor-and-proxies`."
msgstr ""
"Explication complète (ports de Tor Browser et du ``tor`` système, Tails "
"OS, réglage des délais et des nouvelles tentatives) : :doc:`tor-and-"
"proxies`."
#: ../../source/faq.rst:56 145e05d0d19040a3bf5327d301ca9354
msgid ""
"If your goal is actually \"bypass WAF blocks / fix 403 errors\", see the "
"*Sites fail / timeout / 403* section below — a residential proxy almost "
"always outperforms Tor or a VPN for that."
msgstr ""
"Si votre objectif est en réalité de « contourner les blocages des WAF / "
"corriger les erreurs 403 », voir la section *Des sites échouent, expirent"
" ou renvoient 403* ci-dessous : pour cela, un proxy résidentiel fait "
"presque toujours mieux que Tor ou un VPN."
#: ../../source/faq.rst:61 04d8647301cc429c995b8d9dcd3d4932
msgid "Can I use a VPN with Maigret?"
msgstr "Puis-je utiliser un VPN avec Maigret ?"
#: ../../source/faq.rst:63 4f7ea8f6001b480ea0221702a1ca960c
msgid ""
"**Yes**, but ``--proxy`` is usually a better choice. A VPN works "
"transparently at the OS level — Maigret needs no special configuration to"
" use one. However:"
msgstr ""
"**Oui**, mais ``--proxy`` est généralement un meilleur choix. Un VPN agit"
" de façon transparente au niveau du système : Maigret n'a besoin d'aucune"
" configuration particulière pour en profiter. Cependant :"
#: ../../source/faq.rst:67 8976ab8ffdc045e2862d0dcb88a1015c
msgid ""
"``--proxy`` is per-process: it does not affect other apps and does not "
"leak when toggled."
msgstr ""
"``--proxy`` s'applique au seul processus : il n'affecte pas les autres "
"applications et ne fuit pas lorsqu'on l'active ou le désactive."
#: ../../source/faq.rst:69 bfb80e29a9b94b4bbd870de2e2ae8a34
msgid ""
"``--proxy`` makes the egress IP visible in logs, which is useful when "
"diagnosing why a batch of sites returned ``UNKNOWN``."
msgstr ""
"``--proxy`` rend l'IP de sortie visible dans les journaux, ce qui aide à "
"comprendre pourquoi un lot de sites a renvoyé ``UNKNOWN``."
#: ../../source/faq.rst:71 a1aaf0415a744afe89ffa0bb1c010d9a
msgid ""
"``--proxy`` accepts a different value per run, so you can rotate between "
"residential and datacenter exits without touching system network "
"settings."
msgstr ""
"``--proxy`` accepte une valeur différente à chaque exécution : vous "
"pouvez donc alterner entre sorties résidentielles et sorties de "
"datacenter sans toucher à la configuration réseau du système."
#: ../../source/faq.rst:75 c564d9c3962a402daa5caabc0fc7a561
msgid ""
"If a lot of sites are returning 403, the cause is almost certainly that "
"the VPN exit IP is on a WAF blocklist (Cloudflare, DDoS-Guard, Akamai all"
" blanket-block common VPN ranges). A residential proxy via ``--proxy`` is"
" the usual fix — see the `\"Lots of sites fail / timeout / return 403\" "
"section <https://github.com/soxoj/maigret/blob/main/TROUBLESHOOTING.md"
"#lots-of-sites-fail--timeout--return-403>`_ in TROUBLESHOOTING.md."
msgstr ""
"Si beaucoup de sites renvoient 403, la cause est presque certainement que"
" l'IP de sortie du VPN figure sur une liste de blocage de WAF "
"(Cloudflare, DDoS-Guard et Akamai bloquent en bloc les plages VPN "
"courantes). Un proxy résidentiel via ``--proxy`` est le remède habituel, "
"voir la `section « Lots of sites fail / timeout / return 403 » "
"<https://github.com/soxoj/maigret/blob/main/TROUBLESHOOTING.md#lots-of-"
"sites-fail--timeout--return-403>`_ de TROUBLESHOOTING.md."
#: ../../source/faq.rst:84 4ebf5be9a3504afd89108f38c4640260
msgid "Does Maigret check domains via DNS?"
msgstr "Maigret vérifie-t-il les domaines via DNS ?"
#: ../../source/faq.rst:86 6328b1f58f644ee6a94453221739d4e0
#, python-brace-format
msgid ""
"**Yes, experimentally.** With ``--with-domains`` Maigret resolves a small"
" set of ``{username}.<tld>`` patterns through DNS (A-records) in parallel"
" with the normal HTTP checks. The current set is ``.ddns.net``, ``.com``,"
" ``.pro``, ``.me``, ``.biz``, ``.email``, ``.guru`` — 7 entries in the "
"database with ``protocol: dns``."
msgstr ""
"**Oui, à titre expérimental.** Avec ``--with-domains``, Maigret résout "
"par DNS (enregistrements A) un petit ensemble de motifs "
"``{username}.<tld>``, en parallèle des vérifications HTTP habituelles. "
"L'ensemble actuel est ``.ddns.net``, ``.com``, ``.pro``, ``.me``, "
"``.biz``, ``.email``, ``.guru``, soit 7 entrées de la base avec "
"``protocol: dns``."
#: ../../source/faq.rst:96 78e55c6575b94ea9896e0cbb0dc5c27c
msgid ""
"The flag is marked **experimental**: DNS-only checks can flag parking "
"domains and catch-all wildcards as if the username were registered, so "
"treat hits as a lead rather than confirmation."
msgstr ""
"L'option est marquée **expérimentale** : une vérification purement DNS "
"peut signaler des domaines parqués ou des jokers attrape-tout comme si le"
" nom d'utilisateur était enregistré. Traitez donc un résultat comme une "
"piste, pas comme une confirmation."
#: ../../source/faq.rst:100 95168070d79f4ac8a01d23aa343cbd49
msgid ""
"If your task is wider DNS reconnaissance — subdomain enumeration, WHOIS "
"history, typo-squatting — Maigret is the wrong tool. Established "
"alternatives:"
msgstr ""
"Si votre tâche relève d'une reconnaissance DNS plus large (énumération de"
" sous-domaines, historique WHOIS, typosquattage), Maigret n'est pas le "
"bon outil. Les alternatives établies :"
#: ../../source/faq.rst:104 816dba62a5ec4c19b8a7410d8ba8bde1
msgid ""
"`dnstwist <https://github.com/elceef/dnstwist>`_ — typo-squatting and "
"look-alike domains."
msgstr ""
"`dnstwist <https://github.com/elceef/dnstwist>`_ — typosquattage et "
"domaines ressemblants."
#: ../../source/faq.rst:106 cdab0a3e38f64e27b731f643d90d1545
msgid ""
"`amass <https://github.com/owasp-amass/amass>`_ / `subfinder "
"<https://github.com/projectdiscovery/subfinder>`_ — subdomain "
"enumeration."
msgstr ""
"`amass <https://github.com/owasp-amass/amass>`_ / `subfinder "
"<https://github.com/projectdiscovery/subfinder>`_ — énumération de sous-"
"domaines."
#: ../../source/faq.rst:109 2a76a0bbf0c148c48e97f81d73f4cd18
msgid ""
"`theHarvester <https://github.com/laramies/theHarvester>`_ — email / host"
" / subdomain harvesting by domain."
msgstr ""
"`theHarvester <https://github.com/laramies/theHarvester>`_ — collecte "
"d'e-mails, d'hôtes et de sous-domaines à partir d'un domaine."
#: ../../source/faq.rst:113 44b36009952b48edb97d8a5c377a0a25
msgid "Is there a Maigret Telegram bot?"
msgstr "Existe-t-il un bot Telegram pour Maigret ?"
#: ../../source/faq.rst:115 7c1712f69ba543e6805e36ed15fb2b9e
msgid ""
"**Yes.** A community-maintained bot lets you run Maigret without "
"installing anything locally:"
msgstr ""
"**Oui.** Un bot maintenu par la communauté permet d'utiliser Maigret sans"
" rien installer en local :"
#: ../../source/faq.rst:118 e9be390bcfa74adf9a6bd84a0e98af79
msgid ""
"Working instance: `maigret.app/docs-en <https://maigret.app/docs-en>`_ "
"(redirect — the hosted bot may move between providers)."
msgstr ""
"Instance en service : `maigret.app/docs-en <https://maigret.app/docs-"
"en>`_ (redirection, car le bot hébergé peut changer d'hébergeur)."
#: ../../source/faq.rst:121 0e5a05c6e2a348c78b2ad7476f8e670d
msgid ""
"Source code: `github.com/soxoj/maigret-tg-bot <https://github.com/soxoj"
"/maigret-tg-bot>`_."
msgstr ""
"Code source : `github.com/soxoj/maigret-tg-bot <https://github.com/soxoj"
"/maigret-tg-bot>`_."
#: ../../source/faq.rst:124 3be3d00b7aff4ec6b627dfadf1bdc3c4
msgid ""
"On the question of *searching Telegram itself*: Maigret checks whether a "
"``t.me/<user>`` page exists as part of the normal run, but it does not "
"parse channels, posts, members, or message contents. For Telegram content"
" OSINT you need a dedicated tool."
msgstr ""
"Quant à la recherche *dans Telegram lui-même* : Maigret vérifie "
"l'existence d'une page ``t.me/<user>`` dans le cadre d'une recherche "
"normale, mais il n'analyse ni les canaux, ni les publications, ni les "
"membres, ni le contenu des messages. Pour de l'OSINT sur les contenus "
"Telegram, il vous faut un outil dédié."
#: ../../source/faq.rst:130 f922999a761a46c2a029255e30a1cdd6
msgid "Where is the web interface?"
msgstr "Où est l'interface web ?"
#: ../../source/faq.rst:136 1fa865f76f26450c922ccf0e8f90a4ac
msgid ""
"Then open http://127.0.0.1:5000. Screenshots and a full walkthrough are "
"in :ref:`web-interface`."
msgstr ""
"Ouvrez ensuite http://127.0.0.1:5000. Des captures d'écran et une "
"présentation complète se trouvent dans :ref:`web-interface`."
#: ../../source/faq.rst:140 3e436d461dec4cce96cf7b54f7f6e159
msgid "Sites fail / timeout / return 403 — connection failures"
msgstr "Des sites échouent, expirent ou renvoient 403 : les échecs de connexion"
#: ../../source/faq.rst:142 dabfefba32e84ab8a1f393f9d51b3ca5
msgid ""
"This is the most common report and is almost always caused by anti-bot "
"protection (Cloudflare, DDoS-Guard, Akamai) or a slow link, not by a bug "
"in Maigret. Quick tweaks, in order:"
msgstr ""
"C'est le problème le plus souvent signalé, et il vient presque toujours "
"d'une protection anti-bot (Cloudflare, DDoS-Guard, Akamai) ou d'une "
"liaison lente, pas d'un bug de Maigret. Les réglages rapides, dans "
"l'ordre :"
#: ../../source/faq.rst:146 30f82061263c4f1abb1e6048ab945631
msgid ""
"``--timeout 60`` — the default 30 s is tight for slow networks and for "
"Tor."
msgstr ""
"``--timeout 60`` — les 30 s par défaut sont justes pour les réseaux lents"
" et pour Tor."
#: ../../source/faq.rst:148 ed82c79d4ddf48feae90c1d03f7c1799
msgid "``--retries 2`` — covers transient failures."
msgstr "``--retries 2`` — couvre les échecs passagers."
#: ../../source/faq.rst:149 217b6eb8e9c64fffb996f1473a9613ff
msgid "``-n 20`` — lower concurrency reduces WAF rate-limiting."
msgstr ""
"``-n 20`` — une concurrence plus basse réduit la limitation de débit par "
"les WAF."
#: ../../source/faq.rst:150 aa11f1f1dae64d6bb96546179f7de99c
msgid ""
"``--proxy http://user:pass@residential-proxy:port`` — datacenter IPs "
"(AWS, GCP, DigitalOcean) and most VPN ranges are blanket-blocked; "
"residential / mobile exits usually fix the bulk of 403s."
msgstr ""
"``--proxy http://user:pass@residential-proxy:port`` — les IP de "
"datacenter (AWS, GCP, DigitalOcean) et la plupart des plages VPN sont "
"bloquées en bloc ; des sorties résidentielles ou mobiles règlent en "
"général l'essentiel des 403."
#: ../../source/faq.rst:154 56ef75bcc49c42e2ae7247820d1df35b
msgid ""
"The full troubleshooting matrix (per-error recipes for 403, timeout, SSL,"
" captcha, ``UNKNOWN`` floods) lives in `TROUBLESHOOTING.md "
"<https://github.com/soxoj/maigret/blob/main/TROUBLESHOOTING.md>`_."
msgstr ""
"La matrice de dépannage complète (recettes par type d'erreur pour les "
"403, les dépassements de délai, le SSL, les captchas et les vagues de "
"``UNKNOWN``) se trouve dans `TROUBLESHOOTING.md "
"<https://github.com/soxoj/maigret/blob/main/TROUBLESHOOTING.md>`_."
#: ../../source/faq.rst:160 98f6bcb928354d92bcdf560d15eeb4f0
msgid "How do I generate a PDF report?"
msgstr "Comment générer un rapport PDF ?"
#: ../../source/faq.rst:162 0b427429d75b4b1890dc20ec93d411e1
msgid ""
"PDF support is an optional extra because it pulls heavy graphics "
"dependencies:"
msgstr ""
"Le support du PDF est une extension facultative, car il entraîne de "
"lourdes dépendances graphiques :"
#: ../../source/faq.rst:170 5d96d3cc456c4b74a49c80adecc86d08
msgid ""
"On Linux / macOS you also need system libraries (Pango, Cairo, GDK-"
"PixBuf). Per-OS install steps are in the *Optional: PDF reports* section "
"of :doc:`installation`."
msgstr ""
"Sous Linux et macOS, il vous faut également des bibliothèques système "
"(Pango, Cairo, GDK-PixBuf). Les étapes d'installation par système "
"d'exploitation figurent dans la section *Optional: PDF reports* de "
":doc:`installation`."
#: ../../source/faq.rst:174 01f17b6d73e24c8aa9a03417fadbac0f
msgid ""
"For other report formats (``--html``, ``--md``, ``--json``, ``--csv``, "
"``--txt``, ``--xmind``), see :doc:`command-line-options`."
msgstr ""
"Pour les autres formats de rapport (``--html``, ``--md``, ``--json``, "
"``--csv``, ``--txt``, ``--xmind``), voir :doc:`command-line-options`."
#: ../../source/faq.rst:178 bdc2c81bf7b749e7b0eacf79b433a1df
msgid "``maigret: command not found``"
msgstr "``maigret: command not found``"
#: ../../source/faq.rst:180 93679e6cba864a0c84689ccffcda8ed7
msgid ""
"The install succeeded but your shell can't find the ``maigret`` launcher "
"(you may see ``-bash: maigret: command not found`` or a *not recognized* "
"message on Windows). The package is installed — only the entry-point "
"script is not on your ``PATH``. Fixes, in order of laziness:"
msgstr ""
"L'installation a réussi, mais votre shell ne trouve pas le lanceur "
"``maigret`` (vous verrez peut-être ``-bash: maigret: command not found``,"
" ou un message *not recognized* sous Windows). Le paquet est bien "
"installé : c'est seulement le script de point d'entrée qui n'est pas dans"
" votre ``PATH``. Les solutions, de la plus paresseuse à la moins "
"paresseuse :"
#: ../../source/faq.rst:185 83f7492c96894886af3bf56b83e75fcc
msgid "Run it as a module instead — this always works if the package imported:"
msgstr ""
"Lancez-le comme un module : cela fonctionne toujours si le paquet a pu "
"être importé."
#: ../../source/faq.rst:191 9b8678954f2e47759e3e8c0edc7d8f59
msgid ""
"``pip install --user`` puts the script in a per-user ``bin`` / "
"``Scripts`` directory that is often not on ``PATH``. The cleanest fix is "
"to install into an isolated environment that manages ``PATH`` for you:"
msgstr ""
"``pip install --user`` place le script dans un répertoire ``bin`` / "
"``Scripts`` propre à l'utilisateur, souvent absent du ``PATH``. La "
"solution la plus propre est d'installer dans un environnement isolé qui "
"gère le ``PATH`` pour vous :"
#: ../../source/faq.rst:199 194c5f44b5db4f10a8d009981d85a845
msgid ""
"On Windows, reopen the terminal after installing (``PATH`` is only read "
"at startup), or use the standalone ``maigret_standalone.exe`` — see "
":doc:`installation`."
msgstr ""
"Sous Windows, rouvrez le terminal après l'installation (le ``PATH`` n'est"
" lu qu'au démarrage), ou utilisez l'exécutable autonome "
"``maigret_standalone.exe``, voir :doc:`installation`."
#: ../../source/faq.rst:204 59342aea53064f56abcfd0fa7d228334
msgid "``error: metadata-generation-failed``"
msgstr "``error: metadata-generation-failed``"
#: ../../source/faq.rst:206 71790a70caa44957bf8f8a0cac42a2d2
msgid ""
"This comes from **pip**, not Maigret: pip could not build one of the "
"dependencies. Almost always the build toolchain is stale or a native "
"dependency is missing its system libraries. Try, in order:"
msgstr ""
"Cette erreur vient de **pip**, pas de Maigret : pip n'a pas réussi à "
"construire l'une des dépendances. Presque toujours, la chaîne de "
"compilation est trop ancienne, ou une dépendance native n'a pas ses "
"bibliothèques système. Essayez, dans l'ordre :"
#: ../../source/faq.rst:210 224b4f76b6ae4ce1aa9525cb3c3aad22
msgid "Upgrade the toolchain and retry:"
msgstr "Mettez à jour la chaîne d'outils et réessayez :"
#: ../../source/faq.rst:216 391579687d664158825de7fed4002bb0
msgid ""
"Use a supported interpreter (Python 3.103.12). Bleeding-edge or end-of-"
"life versions frequently have no prebuilt wheels, forcing a source build "
"that then fails."
msgstr ""
"Utilisez un interpréteur pris en charge (Python 3.10 à 3.12). Les "
"versions toutes fraîches ou en fin de vie n'ont souvent pas de wheels "
"précompilées, ce qui force une compilation depuis les sources, laquelle "
"échoue ensuite."
#: ../../source/faq.rst:219 2b28b6f59b8543e693478f9c37a4dd27
msgid ""
"If the failing package is a native one (``lxml``, ``reportlab``, "
"``_renderPM``, or an error mentioning ``ft2build.h`` / ``cairo``), you "
"need system build dependencies — see the *Troubleshooting* section of "
":doc:`installation`, or skip the compilers entirely and use Docker."
msgstr ""
"Si le paquet en échec est un paquet natif (``lxml``, ``reportlab``, "
"``_renderPM``, ou une erreur mentionnant ``ft2build.h`` / ``cairo``), il "
"vous faut les dépendances de compilation système : voir la section "
"*Troubleshooting* de :doc:`installation`, ou évitez complètement les "
"compilateurs en passant par Docker."
#: ../../source/faq.rst:225 eeea5be67b82440ca1189998429dc76d
msgid "``Too many errors of type \"...\"``"
msgstr "``Too many errors of type \"...\"``"
#: ../../source/faq.rst:227 d032a122036d453a9e756bb0c0dabc3b
msgid ""
"This is Maigret's **end-of-run summary**, not a crash — the run finished."
" It means a large share of sites failed the *same* way, so the fix "
"depends on the class printed in the quotes:"
msgstr ""
"C'est le **résumé de fin d'exécution** de Maigret, pas un plantage : la "
"recherche est allée à son terme. Cela signifie qu'une grande partie des "
"sites a échoué de la *même* façon ; le remède dépend donc de la catégorie"
" affichée entre guillemets :"
#: ../../source/faq.rst:231 bb55ffce4a3049d0b871229316d14d4b
msgid ""
"``Connecting failure`` — check your internet connection; if only a subset"
" of sites fails, lower parallelism with ``-n 10``."
msgstr ""
"``Connecting failure`` — vérifiez votre connexion internet ; si seule une"
" partie des sites échoue, baissez le parallélisme avec ``-n 10``."
#: ../../source/faq.rst:233 380f20253ca34c9ea8a7cde8c550cc36
msgid ""
"``Connecting failure (DNS)`` — DNS resolution failed for most sites. Try "
"``--dns-resolver threaded`` (often fixes Windows / VPN / corporate "
"networks); failing that, check your VPN / firewall and consider a public "
"resolver (``1.1.1.1`` or ``8.8.8.8``)."
msgstr ""
"``Connecting failure (DNS)`` — la résolution DNS a échoué pour la plupart"
" des sites. Essayez ``--dns-resolver threaded`` (cela règle souvent le "
"problème sous Windows, en VPN ou en réseau d'entreprise) ; sinon, "
"vérifiez votre VPN et votre pare-feu, et envisagez un résolveur public "
"(``1.1.1.1`` ou ``8.8.8.8``)."
#: ../../source/faq.rst:237 ed15f78ec1904519aab1309de90d0577
msgid "``Request timeout`` — raise ``--timeout`` or switch ISP / network."
msgstr ""
"``Request timeout`` — augmentez ``--timeout``, ou changez de fournisseur "
"d'accès ou de réseau."
#: ../../source/faq.rst:238 61df6881f45c4f64b728fed6c7719305
msgid "``Captcha`` — switch to another IP address, or supply service cookies."
msgstr "``Captcha`` — changez d'adresse IP, ou fournissez les cookies du service."
#: ../../source/faq.rst:239 2b68df5a17fd41d49b8d3f267e7bd99a
msgid ""
"``Bot protection`` / ``Access denied`` — switch IP; a residential "
"``--proxy`` or ``--cloudflare-bypass`` is the usual fix."
msgstr ""
"``Bot protection`` / ``Access denied`` — changez d'IP ; un ``--proxy`` "
"résidentiel ou ``--cloudflare-bypass`` est le remède habituel."
#: ../../source/faq.rst:241 153c51e51cca49968ba213f00de0fc00
msgid ""
"``Webgate unavailable`` — ``--cloudflare-bypass`` is on but no solver is "
"reachable; start FlareSolverr, or drop the flag to skip protected sites."
msgstr ""
"``Webgate unavailable`` — ``--cloudflare-bypass`` est actif, mais aucun "
"solveur n'est joignable ; démarrez FlareSolverr, ou retirez l'option pour"
" ignorer les sites protégés."
#: ../../source/faq.rst:244 fbfd239ae2544d29a6c3d5608e6537fb
msgid ""
"If most of your run is one of the last three, see the *Sites fail / "
"timeout / return 403* section above and the full `TROUBLESHOOTING.md "
"<https://github.com/soxoj/maigret/blob/main/TROUBLESHOOTING.md>`_."
msgstr ""
"Si l'essentiel de votre recherche tombe dans l'une des trois dernières "
"catégories, voir la section *Des sites échouent, expirent ou renvoient "
"403* ci-dessus, ainsi que le `TROUBLESHOOTING.md "
"<https://github.com/soxoj/maigret/blob/main/TROUBLESHOOTING.md>`_ "
"complet."
@@ -0,0 +1,658 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/features.rst:4 479e20927d724f059ad1ea5f902dc956
msgid "Features"
msgstr "Fonctionnalités"
#: ../../source/features.rst:6 6484d057341e4a168c97de336c5c2344
msgid "This is the list of Maigret features."
msgstr "Voici la liste des fonctionnalités de Maigret."
#: ../../source/features.rst:11 f61e2f47116d4b94972b0efaa6096fc6
msgid "Web Interface"
msgstr "Interface web"
#: ../../source/features.rst:13 294bbc18f2664c50a47136d1ead36ed5
msgid ""
"You can run Maigret with a web interface, where you can view the graph "
"with results and download reports of all formats on a single page."
msgstr ""
"Vous pouvez lancer Maigret avec une interface web, où vous pouvez "
"consulter le graphe des résultats et télécharger les rapports dans tous "
"les formats depuis une seule page."
#: ../../source/features.rst:16 60894afb27eb4a15b7da47e20f0101fb
msgid "Web interface: how to start"
msgstr "Interface web : comment la démarrer"
#: ../../source/features.rst:20 7fe46da3e65c422da7c757cbfdaf93b2
msgid "Web interface: results"
msgstr "Interface web : les résultats"
#: ../../source/features.rst:24 5e5351615ca64b27b939f0609d1ad1f1
msgid "Instructions:"
msgstr "Marche à suivre :"
#: ../../source/features.rst:26 22af91e9e7ff4a84a9a800944ef29413
msgid "Run Maigret with the ``--web`` flag and specify the port number."
msgstr "Lancez Maigret avec l'option ``--web`` en précisant le numéro de port."
#: ../../source/features.rst:32 c3440b2e4fa84098944e08f34c7b1ed3
msgid ""
"Open http://127.0.0.1:5000 in your browser and enter one or more "
"usernames to make a search."
msgstr ""
"Ouvrez http://127.0.0.1:5000 dans votre navigateur et saisissez un ou "
"plusieurs noms d'utilisateur pour lancer une recherche."
#: ../../source/features.rst:34 3dfd160b980f415da57058945a2f3919
msgid ""
"Wait a bit for the search to complete and view the graph with results, "
"the table with all accounts found, and download reports of all formats."
msgstr ""
"Patientez le temps que la recherche se termine, puis consultez le graphe "
"des résultats, le tableau de tous les comptes trouvés, et téléchargez les"
" rapports dans tous les formats."
#: ../../source/features.rst:39 50b6b82cf6c24d07a586fcb3d7d3997a
msgid "Telegram bot"
msgstr "Bot Telegram"
#: ../../source/features.rst:41 3c3166f22118428ca282adc1f4c4ff5b
msgid ""
"A community-maintained Telegram bot lets you run Maigret without "
"installing anything locally."
msgstr ""
"Un bot Telegram maintenu par la communauté permet d'utiliser Maigret sans"
" rien installer en local."
#: ../../source/features.rst:44 c8962593353244ccace601c7b80eb8df
msgid ""
"Working instance: `maigret.app/docs-en <https://maigret.app/docs-en>`_ "
"(redirect — the hosted bot may move between providers)."
msgstr ""
"Instance en service : `maigret.app/docs-en <https://maigret.app/docs-"
"en>`_ (redirection, car le bot hébergé peut changer d'hébergeur)."
#: ../../source/features.rst:47 342c0c7bd4d14f23a8708a07a480eda1
msgid ""
"Source code: `github.com/soxoj/maigret-tg-bot <https://github.com/soxoj"
"/maigret-tg-bot>`_."
msgstr ""
"Code source : `github.com/soxoj/maigret-tg-bot <https://github.com/soxoj"
"/maigret-tg-bot>`_."
#: ../../source/features.rst:51 ad736673a67c4c0da5d8055546b1595e
msgid "Personal info gathering"
msgstr "Collecte d'informations personnelles"
#: ../../source/features.rst:53 8018434bf9d44a7b8cc2d64329d90b8f
msgid ""
"Maigret does the `parsing of accounts webpages and extraction <https"
"://socid-extractor.readthedocs.io/en/latest/how-extraction-works.html>`_ "
"of personal info, links to other profiles, etc. Extracted info displayed "
"as an additional result in CLI output and as tables in HTML and PDF "
"reports. Also, Maigret use found ids and usernames from links to start a "
"recursive search."
msgstr ""
"Maigret effectue l'`analyse des pages de comptes et l'extraction <https"
"://socid-extractor.readthedocs.io/en/latest/how-extraction-works.html>`_ "
"des informations personnelles, des liens vers d'autres profils, etc. Les "
"informations extraites apparaissent comme résultat complémentaire dans la"
" sortie en ligne de commande, et sous forme de tableaux dans les rapports"
" HTML et PDF. Maigret utilise également les identifiants et noms "
"d'utilisateur trouvés dans les liens pour lancer une recherche récursive."
#: ../../source/features.rst:57 e816605686c14c2f86c08b9bb8a854e5
msgid "Enabled by default, can be disabled with ``--no extracting``."
msgstr "Activée par défaut, désactivable avec ``--no extracting``."
#: ../../source/features.rst:83 5f7a75cb1e534a1795713c3ca5fa3fc9
msgid "Recursive search"
msgstr "Recherche récursive"
#: ../../source/features.rst:85 b90df80adc2c4a9594cea049beb5db42
msgid ""
"Maigret has the ability to scan account pages for :ref:`common "
"identifiers <supported-identifier-types>` and usernames found in links. "
"When people include links to their other social media accounts, Maigret "
"can automatically detect and initiate new searches for those profiles. "
"Any information discovered through this process will be shown in both the"
" command-line interface output and generated reports."
msgstr ""
"Maigret est capable d'examiner les pages de comptes à la recherche "
"d':ref:`identifiants courants <supported-identifier-types>` et de noms "
"d'utilisateur présents dans les liens. Lorsque les gens incluent des "
"liens vers leurs autres comptes de réseaux sociaux, Maigret peut les "
"détecter automatiquement et lancer de nouvelles recherches sur ces "
"profils. Tout ce qui est découvert par ce biais apparaît à la fois dans "
"la sortie en ligne de commande et dans les rapports générés."
#: ../../source/features.rst:89 59c6a0ba733049eb8de9bdb518b0117f
msgid "Enabled by default, can be disabled with ``--no-recursion``."
msgstr "Activée par défaut, désactivable avec ``--no-recursion``."
#: ../../source/features.rst:122 f8537054424d4a019b8ae620c86104b4
msgid "Username permutations"
msgstr "Permutations de noms d'utilisateur"
#: ../../source/features.rst:124 aac4ccb303bb44849ae6ee621213e3d7
msgid ""
"Maigret can generate permutations of usernames. Just pass a few usernames"
" in the CLI and use ``--permute`` flag. Thanks to `@balestek "
"<https://github.com/balestek>`_ for the idea and implementation."
msgstr ""
"Maigret peut générer des permutations de noms d'utilisateur. Il suffit de"
" passer plusieurs noms d'utilisateur en ligne de commande et d'ajouter "
"l'option ``--permute``. Merci à `@balestek "
"<https://github.com/balestek>`_ pour l'idée et son implémentation."
#: ../../source/features.rst:149 209c9ad7230c4ac0970cf290fb49a3b4
msgid "Reports"
msgstr "Rapports"
#: ../../source/features.rst:151 b2b750c8109e49a8aef8ddf3609918d0
msgid ""
"Maigret currently supports HTML, PDF, TXT, CSV, XMind 8 mindmap, JSON, "
"and Markdown reports, plus graph exports: an interactive HTML graph "
"(``--graph``) and a Neo4j Cypher script (``--neo4j``) for loading the "
"results into a graph database."
msgstr ""
"Maigret prend actuellement en charge les rapports HTML, PDF, TXT, CSV, "
"carte mentale XMind 8, JSON et Markdown, ainsi que les exports de graphe "
": un graphe HTML interactif (``--graph``) et un script Cypher pour Neo4j "
"(``--neo4j``), qui charge les résultats dans une base de données orientée"
" graphe."
#: ../../source/features.rst:156 349b1030217b42fc8fc21bdbcc9a3d17
msgid "HTML/PDF reports contain:"
msgstr "Les rapports HTML et PDF contiennent :"
#: ../../source/features.rst:158 05417aab0c9340598c4663b376980288
msgid "profile photo"
msgstr "la photo de profil"
#: ../../source/features.rst:159 3bbd0fbc731a4c508f6f8bcfd5efdbbd
msgid "all the gathered personal info"
msgstr "toutes les informations personnelles collectées"
#: ../../source/features.rst:160 78847ee3e4984c3fb4388095808ee499
msgid ""
"additional information about supposed personal data (full name, gender, "
"location), resulting from statistics of all found accounts"
msgstr ""
"des informations complémentaires sur les données personnelles supposées "
"(nom complet, genre, localisation), déduites des statistiques de "
"l'ensemble des comptes trouvés"
#: ../../source/features.rst:162 3d7d6cb2d82d484a8a6450b4ed1e0c72
msgid ""
"Also, there is a short text report in the CLI output after the end of a "
"searching phase."
msgstr ""
"Un court rapport textuel est également affiché en ligne de commande à la "
"fin de la phase de recherche."
#: ../../source/features.rst:164 83fbef94d39847329f2ceae1d19f8d30
msgid ""
"The ``--neo4j`` flag serialises the same graph that ``--graph`` builds "
"into an idempotent ``.cypher`` script, importable with ``cypher-shell`` "
"or the Neo4j Browser. See :ref:`neo4j-export` for the schema and import "
"instructions."
msgstr ""
"L'option ``--neo4j`` sérialise le graphe construit par ``--graph`` dans "
"un script ``.cypher`` idempotent, importable avec ``cypher-shell`` ou le "
"Neo4j Browser. Voir :ref:`neo4j-export` pour le schéma et les "
"instructions d'import."
#: ../../source/features.rst:169 b13d136ad3054aaf82f50ccaf2c3c2d7
msgid "XMind 8 mindmaps are incompatible with XMind 2022!"
msgstr "Les cartes mentales XMind 8 sont incompatibles avec XMind 2022 !"
#: ../../source/features.rst:172 3de1b6a6ce0349548af48f2e049f1ec9
msgid "AI analysis"
msgstr "Analyse par IA"
#: ../../source/features.rst:174 94e92083aacb4e0bab22f0b03b7bbecc
msgid ""
"Maigret can produce a short, human-readable investigation summary on top "
"of the raw search results using the ``--ai`` flag. It builds the internal"
" Markdown report, sends it to an OpenAI-compatible chat completion "
"endpoint, and streams the model's reply directly to the terminal."
msgstr ""
"Avec l'option ``--ai``, Maigret peut produire une courte synthèse "
"d'enquête lisible, en plus des résultats bruts de la recherche. Il "
"construit le rapport Markdown interne, l'envoie à un point d'entrée de "
"complétion de conversation compatible OpenAI, et diffuse la réponse du "
"modèle directement dans le terminal."
#: ../../source/features.rst:185 2e295078a99c4e349478af255afdf1e5
msgid ""
"The summary uses a fixed format with the most likely real name, location,"
" occupation, interests, languages, main website, username variants, "
"number of platforms, active years, a confidence rating, and a short list "
"of follow-up leads. While ``--ai`` is active, per-site progress and the "
"short text report are suppressed so the streamed summary is the main "
"output."
msgstr ""
"La synthèse suit un format fixe : nom réel le plus probable, "
"localisation, profession, centres d'intérêt, langues, site web principal,"
" variantes de nom d'utilisateur, nombre de plateformes, années "
"d'activité, un indice de confiance et une courte liste de pistes à "
"creuser. Tant que ``--ai`` est actif, la progression site par site et le "
"court rapport textuel sont masqués, afin que la synthèse diffusée reste "
"la sortie principale."
#: ../../source/features.rst:192 5efa4c4e80864b3aab242f0fb06faa11
msgid ""
"The endpoint, model, and API key are configured via ``settings.json`` "
"(``openai_api_key``, ``openai_model``, ``openai_api_base_url``) or the "
"``OPENAI_API_KEY`` environment variable. Any OpenAI-compatible API can be"
" used (Azure OpenAI, OpenRouter, a local server, …). See :ref:`ai-"
"analysis` and :ref:`settings` for details."
msgstr ""
"Le point d'entrée, le modèle et la clé d'API se configurent via "
"``settings.json`` (``openai_api_key``, ``openai_model``, "
"``openai_api_base_url``) ou via la variable d'environnement "
"``OPENAI_API_KEY``. N'importe quelle API compatible OpenAI convient "
"(Azure OpenAI, OpenRouter, un serveur local, etc.). Voir :ref:`ai-"
"analysis` et :ref:`settings` pour les détails."
#: ../../source/features.rst:199 fd0a6689621246be8249f3506802dbd3
msgid "Tags"
msgstr "Tags"
#: ../../source/features.rst:201 d4b844a709234973b8d25c1cdc7c5e6e
msgid ""
"The Maigret sites database very big (and will be bigger), and it is maybe"
" an overhead to run a search for all the sites. Also, it is often hard to"
" understand, what sites more interesting for us in the case of a certain "
"person."
msgstr ""
"La base de sites de Maigret est très grande (et continuera de grandir) : "
"lancer une recherche sur tous les sites est parfois excessif. De plus, il"
" est souvent difficile de savoir quels sites nous intéressent vraiment "
"dans le cas d'une personne donnée."
#: ../../source/features.rst:204 0e1d4cf2b29f45e99f8eba51c6a55990
msgid ""
"Tags markup allows selecting a subset of sites by interests (photo, "
"messaging, finance, etc.) or by country. Tags of found accounts grouped "
"and displayed in the reports."
msgstr ""
"Le balisage par tags permet de sélectionner un sous-ensemble de sites par"
" centre d'intérêt (photo, messagerie, finance, etc.) ou par pays. Les "
"tags des comptes trouvés sont regroupés et affichés dans les rapports."
#: ../../source/features.rst:206 ea8c630e68174ea99427d3e75a9b8dbc
msgid "See full description :doc:`in the Tags Wiki page <tags>`."
msgstr "Voir la description complète :doc:`sur la page Tags <tags>`."
#: ../../source/features.rst:209 a5ac0a8df67f40f2838b46116c6702f2
msgid "Censorship and captcha detection"
msgstr "Détection de la censure et des captchas"
#: ../../source/features.rst:211 832f8e2b8a804d81a93f71ac8f662ff2
#, python-format
msgid ""
"Maigret can detect common errors such as censorship stub pages, "
"CloudFlare captcha pages, and others. If you get more them 3% errors of a"
" certain type in a session, you've got a warning message in the CLI "
"output with recommendations to improve performance and avoid problems."
msgstr ""
"Maigret sait repérer les erreurs courantes : pages de blocage liées à la "
"censure, pages de captcha CloudFlare, et d'autres encore. Si plus de 3 % "
"des résultats d'une session relèvent d'un même type d'erreur, un "
"avertissement s'affiche en ligne de commande, avec des recommandations "
"pour améliorer les performances et éviter les problèmes."
#: ../../source/features.rst:215 f802bac3b7da45088d444fa30278700e
msgid "Retries"
msgstr "Nouvelles tentatives"
#: ../../source/features.rst:217 883e29ba66584ce5989807e91f2b9d36
msgid ""
"Maigret will do retries of the requests with temporary errors got "
"(connection failures, proxy errors, etc.)."
msgstr ""
"Maigret réessaie les requêtes ayant rencontré une erreur temporaire "
"(échec de connexion, erreur de proxy, etc.)."
#: ../../source/features.rst:219 d620f8f374f5495fb6f86697f474d306
msgid "One attempt by default, can be changed with option ``--retries N``."
msgstr "Une tentative par défaut, modifiable avec l'option ``--retries N``."
#: ../../source/features.rst:222 992f53992514497b8ea244dd679cc29a
msgid "Database self-check"
msgstr "Auto-vérification de la base"
#: ../../source/features.rst:224 056b798c883845179a9a7645849c4e99
msgid ""
"Maigret includes a self-check mode (``--self-check``) that validates "
"every site in the database by looking up its known-claimed and known-"
"unclaimed usernames and verifying that the detection results match "
"expectations."
msgstr ""
"Maigret dispose d'un mode d'auto-vérification (``--self-check``) qui "
"valide chaque site de la base : il recherche les noms d'utilisateur "
"connus comme existants et comme inexistants, puis vérifie que les "
"résultats de détection correspondent aux attentes."
#: ../../source/features.rst:228 5198351c6e054d71bd7e4713ba07af29
msgid ""
"The self-check is **error-resilient**: if an individual site check raises"
" an unexpected exception (e.g. a network error or a parsing failure), the"
" error is caught, logged, and recorded as an issue — the remaining sites "
"continue to be checked without interruption. This means the process "
"always runs to completion, even when checking hundreds of sites with ``-a"
" --self-check``."
msgstr ""
"L'auto-vérification est **résistante aux erreurs** : si la vérification "
"d'un site déclenche une exception inattendue (erreur réseau, échec "
"d'analyse, etc.), l'erreur est capturée, journalisée et enregistrée comme"
" un problème, et les sites restants continuent d'être vérifiés sans "
"interruption. Le processus va donc toujours jusqu'au bout, même en "
"vérifiant des centaines de sites avec ``-a --self-check``."
#: ../../source/features.rst:234 9607ee58ae894d45bffdce32b4afeeb3
msgid ""
"Use ``--auto-disable`` together with ``--self-check`` to automatically "
"disable sites that fail checks. Without it, issues are only reported. Use"
" ``--diagnose`` to print detailed per-site diagnosis including the check "
"type, specific issues, and recommendations."
msgstr ""
"Utilisez ``--auto-disable`` avec ``--self-check`` pour désactiver "
"automatiquement les sites qui échouent. Sans cette option, les problèmes "
"sont seulement signalés. Utilisez ``--diagnose`` pour afficher un "
"diagnostic détaillé par site, comprenant le type de vérification, les "
"problèmes précis et des recommandations."
#: ../../source/features.rst:251 17167ef126684ef08e1204c050c09b04
msgid "Archives and mirrors checking"
msgstr "Vérification des archives et des miroirs"
#: ../../source/features.rst:253 b18f2af770cb45368a948821d4df5c38
msgid ""
"The Maigret database contains not only the original websites, but also "
"mirrors, archives, and aggregators. For example:"
msgstr ""
"La base de Maigret contient non seulement les sites d'origine, mais aussi"
" des miroirs, des archives et des agrégateurs. Par exemple :"
#: ../../source/features.rst:255 b0a8dbb769a144b792207968d13013bf
msgid "`Picuki <https://www.picuki.com/>`_, Instagram mirror"
msgstr "`Picuki <https://www.picuki.com/>`_, un miroir d'Instagram"
#: ../../source/features.rst:256 e4fcdf7b43894ea18390e499271ab2c8
msgid ""
"(no longer available) `Reddit BigData search <https://camas.github.io"
"/reddit-search/>`_"
msgstr ""
"(n'est plus disponible) `la recherche Reddit BigData "
"<https://camas.github.io/reddit-search/>`_"
#: ../../source/features.rst:257 b3f099e32909431eb66efb0c15cc4f01
msgid "(no longer available) `Twitter shadowban <https://shadowban.eu/>`_ checker"
msgstr ""
"(n'est plus disponible) le vérificateur de `shadowban Twitter "
"<https://shadowban.eu/>`_"
#: ../../source/features.rst:259 c1b8bf1cd73845479a486bbdfc3b7eeb
msgid ""
"It allows getting additional info about the person and checking the "
"existence of the account even if the main site is unavailable (bot "
"protection, captcha, etc.)"
msgstr ""
"Cela permet d'obtenir des informations supplémentaires sur la personne et"
" de vérifier l'existence du compte même lorsque le site principal est "
"inaccessible (protection anti-bot, captcha, etc.)"
#: ../../source/features.rst:264 b67a0daf798149dbb527019cc0eb419a
msgid "Cloudflare webgate bypass"
msgstr "Contournement du webgate Cloudflare"
#: ../../source/features.rst:268 7546a25ae1f04cb3a2de678c604965b7
msgid ""
"**Experimental feature.** The Cloudflare webgate is under active "
"development. The configuration schema, CLI flag behaviour, and the set of"
" sites that route through it may change without backwards-compatibility "
"guarantees. Expect rough edges (CF rate limits, occasional solver "
"failures) and report issues so they can be ironed out."
msgstr ""
"**Fonctionnalité expérimentale.** Le webgate Cloudflare est en cours de "
"développement actif. Le schéma de configuration, le comportement de "
"l'option en ligne de commande et l'ensemble des sites qui y sont routés "
"peuvent changer sans garantie de compatibilité ascendante. Attendez-vous "
"à quelques aspérités (limites de débit CF, échecs occasionnels du "
"solveur) et signalez les problèmes pour qu'ils puissent être corrigés."
#: ../../source/features.rst:274 e13b5e80e27d4347918380b7c974d318
msgid ""
"Some sites sit behind a full Cloudflare JavaScript challenge or a CF "
"firewall hard block — these are tagged ``protection: "
"[\"cf_js_challenge\"]`` or ``protection: [\"cf_firewall\"]`` in the "
"database and are normally kept disabled because neither aiohttp nor "
"curl_cffi can solve the JS challenge on their own."
msgstr ""
"Certains sites sont protégés par un défi JavaScript Cloudflare complet ou"
" par un blocage ferme du pare-feu CF : ils portent ``protection: "
"[\"cf_js_challenge\"]`` ou ``protection: [\"cf_firewall\"]`` dans la base"
" et sont normalement désactivés, car ni aiohttp ni curl_cffi ne savent "
"résoudre seuls le défi JavaScript."
#: ../../source/features.rst:279 e14e98d42ed44fb9845f4a2f6bca7059
msgid ""
"Maigret can offload these checks to a local Chrome-based solver. Two "
"backends are supported, configured in ``settings.json`` under "
"``cloudflare_bypass.modules`` (the first reachable module wins; "
"subsequent ones are tried as a fallback chain):"
msgstr ""
"Maigret peut déléguer ces vérifications à un solveur local basé sur "
"Chrome. Deux backends sont pris en charge, configurés dans "
"``settings.json`` sous ``cloudflare_bypass.modules`` (le premier module "
"joignable l'emporte ; les suivants forment une chaîne de repli) :"
#: ../../source/features.rst:284 53658267d63d4ee0975d88a63ab246cd
msgid ""
"**FlareSolverr** (recommended). Runs a real Chrome instance and exposes a"
" JSON API. The upstream HTTP status, headers and final URL are preserved,"
" so ``checkType: status_code`` and ``checkType: response_url`` keep "
"working through the bypass."
msgstr ""
"**FlareSolverr** (recommandé). Fait tourner une véritable instance de "
"Chrome et expose une API JSON. Le statut HTTP en amont, les en-têtes et "
"l'URL finale sont préservés : les vérifications ``checkType: "
"status_code`` et ``checkType: response_url`` continuent donc de "
"fonctionner à travers le contournement."
#: ../../source/features.rst:293 8f2f975ca31940aeb6430c09a7e5f3ab
msgid ""
"**CloudflareBypassForScraping** (legacy fallback). Returns rendered HTML "
"only, so the upstream status code is lost — ``checkType: message`` keeps "
"working but ``status_code`` checks misfire (treated as 200 on success)."
msgstr ""
"**CloudflareBypassForScraping** (repli hérité). Ne renvoie que du HTML "
"rendu : le code de statut en amont est perdu. Les vérifications "
"``checkType: message`` continuent de fonctionner, mais celles de type "
"``status_code`` se déclenchent à tort (un succès est traité comme un "
"200)."
#: ../../source/features.rst:297 649fdad8fc8d4fffa0e9066e394f2747
msgid "Activate the bypass either with the CLI flag::"
msgstr "Activez le contournement soit avec l'option de ligne de commande ::"
#: ../../source/features.rst:301 f2df085e2974481bbe96d03c1dd54c46
msgid ""
"or by setting ``cloudflare_bypass.enabled`` to ``true`` in "
"``settings.json``. The web UI (``python -m maigret.web.app``) reads the "
"same setting — there is no separate toggle in the form, so flipping "
"``enabled`` is what activates the bypass for browser-driven runs."
msgstr ""
"soit en mettant ``cloudflare_bypass.enabled`` à ``true`` dans "
"``settings.json``. L'interface web (``python -m maigret.web.app``) lit le"
" même paramètre : il n'y a pas d'interrupteur distinct dans le "
"formulaire, c'est donc bien ``enabled`` qui active le contournement pour "
"les recherches lancées depuis le navigateur."
#: ../../source/features.rst:306 30203a1de79a4ec38594f56133db3bb4
msgid ""
"The bypass only fires for sites whose ``protection`` field intersects "
"``cloudflare_bypass.trigger_protection`` (default ``[\"cf_js_challenge\","
" \"cf_firewall\", \"webgate\"]``); all other sites use the normal aiohttp"
" / curl_cffi path."
msgstr ""
"Le contournement ne se déclenche que pour les sites dont le champ "
"``protection`` recoupe ``cloudflare_bypass.trigger_protection`` (par "
"défaut ``[\"cf_js_challenge\", \"cf_firewall\", \"webgate\"]``) ; tous "
"les autres sites empruntent le chemin habituel, aiohttp / curl_cffi."
#: ../../source/features.rst:311 b0cee78cdffd468a8422bb75dad37cc0
msgid ""
"If all configured modules are unreachable, affected sites get an UNKNOWN "
"status with an actionable error pointing at the first module's URL — the "
"fix is almost always to start the FlareSolverr container."
msgstr ""
"Si aucun des modules configurés n'est joignable, les sites concernés "
"reçoivent le statut UNKNOWN, accompagné d'une erreur explicite pointant "
"vers l'URL du premier module : le remède consiste presque toujours à "
"démarrer le conteneur FlareSolverr."
#: ../../source/features.rst:315 1f7ba21a5e8a4ce8b9239dffb4619306
msgid ""
"FlareSolverr session reuse is automatic: Maigret pins a single ``session:"
" <session_prefix>-<pid>`` per run, so cf_clearance cookies are shared "
"between checks of the same domain (510× faster on subsequent requests to"
" that host)."
msgstr ""
"La réutilisation des sessions FlareSolverr est automatique : Maigret fixe"
" une seule ``session: <session_prefix>-<pid>`` par exécution, si bien que"
" les cookies cf_clearance sont partagés entre les vérifications d'un même"
" domaine (5 à 10 fois plus rapide pour les requêtes suivantes vers cet "
"hôte)."
#: ../../source/features.rst:321 f9215d5c4d494d8ebb416dd81a6f7bb3
msgid "Activation"
msgstr "Activation"
#: ../../source/features.rst:322 caa751fc5dee4a57af2b85cfa91eb239
msgid ""
"The activation mechanism helps make requests to sites requiring "
"additional authentication like cookies, JWT tokens, or custom headers."
msgstr ""
"Le mécanisme d'activation permet d'interroger les sites qui exigent une "
"authentification supplémentaire : cookies, jetons JWT ou en-têtes "
"personnalisés."
#: ../../source/features.rst:324 2c80373446a74fa3aa0f8b7929a142ed
msgid "It works by implementing a custom function that:"
msgstr "Il repose sur une fonction dédiée qui :"
#: ../../source/features.rst:326 3520e93d4f284550a37046b054d4681b
msgid "Makes a specialized HTTP request to a specific website endpoint"
msgstr "Envoie une requête HTTP spécifique à un point d'entrée précis du site"
#: ../../source/features.rst:327 ac6abe41f22d47f38e582e12b9bb7f57
msgid "Processes the response"
msgstr "Traite la réponse"
#: ../../source/features.rst:328 fe331ebd523d4f6bbe86eff5eb387b65
msgid "Updates the headers/cookies for that site in the local Maigret database"
msgstr ""
"Met à jour les en-têtes et les cookies de ce site dans la base locale de "
"Maigret"
#: ../../source/features.rst:330 11b64bdd8d4442fbb48dbb61aa169ff1
msgid ""
"Since activation only triggers after encountering specific errors, a "
"retry (or another Maigret run) is needed to obtain a valid response with "
"the updated authentication."
msgstr ""
"Comme l'activation ne se déclenche qu'après certaines erreurs, il faut "
"une nouvelle tentative (ou une nouvelle exécution de Maigret) pour "
"obtenir une réponse valide avec l'authentification mise à jour."
#: ../../source/features.rst:332 d3aab7ded9564938bbfd7edd7beef961
msgid ""
"The activation mechanism is enabled by default, and cannot be disabled at"
" the moment."
msgstr ""
"Le mécanisme d'activation est activé par défaut et ne peut pas être "
"désactivé pour l'instant."
#: ../../source/features.rst:334 e1fb739f230343648a9269e9156d8f1b
msgid "See for more details in Development section :ref:`activation-mechanism`."
msgstr ""
"Plus de détails dans la section Développement : :ref:`activation-"
"mechanism`."
#: ../../source/features.rst:339 1562cfeb06714cdb8ef1a326975aa934
msgid "Extraction of information from account pages"
msgstr "Extraction d'informations depuis les pages de comptes"
#: ../../source/features.rst:341 c2fe7d33ae3b4e5f9407da29a74ec0a0
msgid ""
"Maigret can parse URLs and content of web pages by URLs to extract info "
"about account owner and other meta information."
msgstr ""
"Maigret peut analyser des URL et le contenu des pages web correspondantes"
" pour en extraire des informations sur le titulaire du compte, ainsi que "
"d'autres métadonnées."
#: ../../source/features.rst:343 662b33d4252b4479a952d390a29d66a5
msgid ""
"You must specify the URL with the option ``--parse``, it's can be a link "
"to an account or an online document. List of supported sites `see here "
"<https://github.com/soxoj/socid-extractor#sites>`_."
msgstr ""
"Vous devez indiquer l'URL avec l'option ``--parse`` ; ce peut être un "
"lien vers un compte ou vers un document en ligne. La liste des sites pris"
" en charge est `consultable ici <https://github.com/soxoj/socid-"
"extractor#sites>`_."
#: ../../source/features.rst:345 8c959114771d4786b7ab897d2c5adb9d
msgid ""
"After the end of the parsing phase, Maigret will start the search phase "
"by :doc:`supported identifiers <supported-identifier-types>` found "
"(usernames, ids, etc.)."
msgstr ""
"Une fois la phase d'analyse terminée, Maigret lance la phase de recherche"
" à partir des :doc:`identifiants pris en charge <supported-identifier-"
"types>` qu'il a trouvés (noms d'utilisateur, identifiants, etc.)."
#: ../../source/features.rst:373 ef504f888bbc4e16ba26424238ba6b5a
msgid "Simple API"
msgstr "Une API simple"
#: ../../source/features.rst:375 323a72fa184646b893b6db3ab5bdb0e6
msgid ""
"Maigret can be easily integrated with the use of Python package `maigret "
"<https://pypi.org/project/maigret/>`_."
msgstr ""
"Maigret s'intègre facilement grâce au paquet Python `maigret "
"<https://pypi.org/project/maigret/>`_."
#: ../../source/features.rst:377 6c84748652ae44458942673e05b2e7b3
msgid ""
"Example: the community `Telegram bot <https://github.com/soxoj/maigret-"
"tg-bot>`_"
msgstr ""
"Exemple : le `bot Telegram <https://github.com/soxoj/maigret-tg-bot>`_ "
"communautaire"
+136
View File
@@ -0,0 +1,136 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/index.rst:37
msgid "Sections"
msgstr "Sections"
#: ../../source/index.rst:54
msgid "Advanced usage"
msgstr "Utilisation avancée"
#: ../../source/index.rst:62
msgid "Use cases"
msgstr "Cas d'usage"
#: ../../source/index.rst:4 fad01d7dff7f42f68a16deaa3fd906e4
msgid "Welcome to the Maigret docs!"
msgstr "Bienvenue dans la documentation de Maigret !"
#: ../../source/index.rst:6 900b077c3fb44cbe92ad5c2b8be261a9
msgid ""
"**Maigret** is an easy-to-use and powerful OSINT tool for collecting a "
"dossier on a person by a username (alias) only."
msgstr ""
"**Maigret** est un outil OSINT puissant et simple d'utilisation qui "
"rassemble un dossier sur une personne à partir d'un simple nom "
"d'utilisateur (alias)."
#: ../../source/index.rst:8 55318f1d11ad471e9b6b39ca59512f7c
msgid ""
"This is achieved by checking for accounts on a huge number of sites and "
"gathering all the available information from web pages."
msgstr ""
"Pour cela, il recherche des comptes sur un très grand nombre de sites et "
"collecte toutes les informations disponibles sur les pages web."
#: ../../source/index.rst:10 9794f69651da48878e7d8d0ce2cea9f3
msgid ""
"The project's main goal — give to OSINT researchers and pentesters a "
"**universal tool** to get maximum information about a person of interest "
"by a username and integrate it with other tools in automatization "
"pipelines."
msgstr ""
"L'objectif principal du projet est de donner aux chercheurs OSINT et aux "
"pentesteurs un **outil universel** pour obtenir un maximum d'informations"
" sur une personne d'intérêt à partir d'un nom d'utilisateur, et pour "
"l'intégrer à d'autres outils dans des chaînes d'automatisation."
#: ../../source/index.rst:14 720aeb80d8a24cb9b674429476305f4f
msgid ""
"**This tool is intended for educational and lawful purposes only.** The "
"developers do not endorse or encourage any illegal activities or misuse "
"of this tool. Regulations regarding the collection and use of personal "
"data vary by country and region, including but not limited to GDPR in the"
" EU, CCPA in the USA, and similar laws worldwide."
msgstr ""
"**Cet outil est destiné à un usage éducatif et légal uniquement.** Les "
"développeurs n'approuvent ni n'encouragent aucune activité illégale ou "
"aucun usage abusif de cet outil. La réglementation sur la collecte et "
"l'utilisation des données personnelles varie selon les pays et les "
"régions, notamment le RGPD dans l'Union européenne, le CCPA aux États-"
"Unis et des lois similaires partout dans le monde."
#: ../../source/index.rst:19 d4f32a286e3c4c7a898ab0b82dc633d1
msgid ""
"It is your sole responsibility to ensure that your use of this tool "
"complies with all applicable laws and regulations in your jurisdiction. "
"Any illegal use of this tool is strictly prohibited, and you are fully "
"accountable for your actions."
msgstr ""
"Il vous appartient de vous assurer que votre utilisation de cet outil "
"respecte l'ensemble des lois et réglementations en vigueur dans votre "
"juridiction. Toute utilisation illégale de cet outil est strictement "
"interdite et vous êtes seul responsable de vos actes."
#: ../../source/index.rst:23 4fa98ee9737e41538fa3347940b4fdac
msgid ""
"The authors and developers of this tool bear no responsibility for any "
"misuse or unlawful activities conducted by its users."
msgstr ""
"Les auteurs et les développeurs de cet outil déclinent toute "
"responsabilité en cas d'usage abusif ou d'activité illégale de la part de"
" ses utilisateurs."
#: ../../source/index.rst:27 9a0991e8625d4602969c0714dc9ecc48
msgid "You may be interested in:"
msgstr "Cela pourrait vous intéresser :"
#: ../../source/index.rst:28 37d9aa336989400696700609c83cf4ee
msgid ":doc:`Quick start <quick-start>`"
msgstr ":doc:`Démarrage rapide <quick-start>`"
#: ../../source/index.rst:29 ec10922b61ac4fcda95dcdf834b2a91a
msgid ":doc:`Usage examples <usage-examples>`"
msgstr ":doc:`Exemples d'utilisation <usage-examples>`"
#: ../../source/index.rst:30 566754f6b68949b3a912c31f86c09691
msgid ":doc:`FAQ <faq>`"
msgstr ":doc:`FAQ <faq>`"
#: ../../source/index.rst:31 65182c75c2e74e3184bd9a0ef18a91e7
msgid ":doc:`Command line options <command-line-options>`"
msgstr ":doc:`Options de ligne de commande <command-line-options>`"
#: ../../source/index.rst:32 d9ca5fb8c2994a62ab07c8d7cc468eb8
msgid ":doc:`Features list <features>`"
msgstr ":doc:`Liste des fonctionnalités <features>`"
#: ../../source/index.rst:33 4f370d1bdd7a43fbb67896a61d1869f2
msgid ":doc:`Library usage <library-usage>`"
msgstr ":doc:`Utilisation en tant que bibliothèque <library-usage>`"
#: ../../source/index.rst:34 9f5ac354804b47fdbdc079cc529e527b
msgid ":doc:`Tor, I2P, and proxies <tor-and-proxies>`"
msgstr ":doc:`Tor, I2P et proxys <tor-and-proxies>`"
#: ../../source/index.rst:35 2ee7f1fe29a64905a8ef4b91d635bcb0
msgid "`Run it online without installing <https://maigret.app/docs-en>`_"
msgstr "`Lancez-le en ligne, sans rien installer <https://maigret.app/docs-en>`_"
@@ -0,0 +1,571 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/installation.rst:4 06a66d93711c44e098e3199117c071a0
msgid "Installation"
msgstr "Installation"
#: ../../source/installation.rst:6 1f3e8df4b1594961a5b2017919d2ece1
msgid ""
"Maigret can be installed using pip, Docker, or simply can be launched "
"from the cloned repo. Also, it is available online via the `community "
"Telegram bot <https://maigret.app/docs-en>`_, source code of a bot is "
"`available on GitHub <https://github.com/soxoj/maigret-tg-bot>`_."
msgstr ""
"Maigret s'installe avec pip ou Docker, ou peut simplement être lancé "
"depuis le dépôt cloné. Il est également accessible en ligne via le `bot "
"Telegram communautaire <https://maigret.app/docs-en>`_, dont le code "
"source est `disponible sur GitHub <https://github.com/soxoj/maigret-tg-"
"bot>`_."
#: ../../source/installation.rst:11 b7a88c45e72c47eeb2f162626ef22c76
msgid "Windows Standalone EXE-binaries"
msgstr "Binaires EXE autonomes pour Windows"
#: ../../source/installation.rst:13 c2809428072744c588eacec66d8bcdd0
msgid ""
"A standalone ``maigret_standalone.exe`` for Windows is published in the "
"`Releases section <https://github.com/soxoj/maigret/releases>`_ of the "
"GitHub repository. A fresh build is produced automatically after each "
"commit to the **main** and **dev** branches."
msgstr ""
"Un ``maigret_standalone.exe`` autonome pour Windows est publié dans la "
"`section Releases <https://github.com/soxoj/maigret/releases>`_ du dépôt "
"GitHub. Une nouvelle version est construite automatiquement après chaque "
"commit sur les branches **main** et **dev**."
#: ../../source/installation.rst:18 e30c98267c014253bc76467286f392e6
msgid "There are two ways to launch the EXE:"
msgstr "Il y a deux façons de lancer l'EXE :"
#: ../../source/installation.rst:20 c4a5b9064afd4e1fabf88db60e4b9bdf
msgid ""
"**Double-click it from Explorer.** Maigret will prompt you for a "
"username, run a default search, and pause at the end so the printed "
"report links remain on screen until you press Enter."
msgstr ""
"**Double-cliquez dessus depuis l'Explorateur.** Maigret vous demandera un"
" nom d'utilisateur, lancera une recherche par défaut et marquera une "
"pause à la fin, afin que les liens des rapports affichés restent à "
"l'écran jusqu'à ce que vous appuyiez sur Entrée."
#: ../../source/installation.rst:23 e5f7ec1cf9304f6eae6c22cd2b5618ff
msgid "**Run it from a terminal** for full control over options:"
msgstr "**Lancez-le depuis un terminal** pour maîtriser toutes les options :"
#: ../../source/installation.rst:25 dbdee53d7f3b43dcaed861971bc41d8e
msgid "Press ``Win+R``, type ``cmd``, and hit Enter (or use PowerShell)."
msgstr ""
"Appuyez sur ``Win+R``, tapez ``cmd`` et appuyez sur Entrée (ou utilisez "
"PowerShell)."
#: ../../source/installation.rst:26 a8729a58fb004d1ab4ce2fc46aecbcc0
msgid ""
"Change to the folder where you saved the file, e.g. ``cd "
"%USERPROFILE%\\Downloads``."
msgstr ""
"Placez-vous dans le dossier où vous avez enregistré le fichier, par "
"exemple ``cd %USERPROFILE%\\Downloads``."
#: ../../source/installation.rst:28 eb986c4f79ee4fd09db66e3ee2a8553b
msgid "Run it with at least one username:"
msgstr "Lancez-le avec au moins un nom d'utilisateur :"
#: ../../source/installation.rst:37 5af6dbd07f1c415486c2886d222b84a5
msgid "Reports are written next to the EXE in a ``reports\\`` subfolder."
msgstr ""
"Les rapports sont écrits à côté de l'EXE, dans un sous-dossier "
"``reports\\``."
#: ../../source/installation.rst:39 54a2539fd6154a4fbd391f335ab1b37e
msgid "Video guide on how to run it: https://youtu.be/qIgwTZOmMmM."
msgstr "Guide vidéo pour le lancer : https://youtu.be/qIgwTZOmMmM."
#: ../../source/installation.rst:42 94d7a2c0f5d548d39505a7603c7d2b85
msgid "Code signing"
msgstr "Signature du code"
#: ../../source/installation.rst:44 1ab5c3b634424b88bef4ff2ed94037e9
msgid ""
"Windows binaries are built on GitHub Actions from this repository. The "
"project has applied to the `SignPath Foundation <https://signpath.org/>`_"
" for a free code signing certificate; once issued, released Windows "
"binaries will be signed as part of the same automated build."
msgstr ""
"Les binaires Windows sont construits par GitHub Actions depuis ce dépôt. "
"Le projet a déposé une demande de certificat de signature de code gratuit"
" auprès de la `SignPath Foundation <https://signpath.org/>`_ ; une fois "
"le certificat délivré, les binaires Windows publiés seront signés dans le"
" cadre de la même construction automatisée."
#: ../../source/installation.rst:51 856db4923f7a434ea6697835d01204cf
msgid "Cloud Shells and Jupyter notebooks"
msgstr "Shells cloud et notebooks Jupyter"
#: ../../source/installation.rst:53 a41bfce77f3f4edf9fc072968525b594
msgid ""
"In case you don't want to install Maigret locally, you can use cloud "
"shells and Jupyter notebooks. Press one of the buttons below and follow "
"the instructions to launch it in your browser."
msgstr ""
"Si vous ne souhaitez pas installer Maigret en local, vous pouvez passer "
"par un shell cloud ou un notebook Jupyter. Cliquez sur l'un des boutons "
"ci-dessous et suivez les instructions pour le lancer dans votre "
"navigateur."
#: ../../source/installation.rst:58 b58b319427fe45c3a4c39224369ad653
msgid "Open in Cloud Shell"
msgstr "Ouvrir dans Cloud Shell"
#: ../../source/installation.rst:62 ef3ca92574364f68a70558ebb085e6d3
msgid "Run on Replit"
msgstr "Exécuter sur Replit"
#: ../../source/installation.rst:67 6e04705fe7be4601911d0882d3da201d
msgid "Open In Colab"
msgstr "Ouvrir dans Colab"
#: ../../source/installation.rst:72 0b998ed69a2d4831b6c64bd98a83fdfe
msgid "Open In Binder"
msgstr "Ouvrir dans Binder"
#: ../../source/installation.rst:79 1f97c5338f344107b23874e0ff130513
msgid ""
"Cloud Shell: "
"https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/soxoj/maigret&tutorial=README.md"
msgstr ""
"Cloud Shell : "
"https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/soxoj/maigret&tutorial=README.md"
#: ../../source/installation.rst:81 0997baf81bf34042b29f8ae53ba80296
msgid "Replit: https://repl.it/github/soxoj/maigret"
msgstr "Replit : https://repl.it/github/soxoj/maigret"
#: ../../source/installation.rst:83 86c39f5e02f441e69c36261eeed262f1
msgid ""
"Google Colab: "
"https://colab.research.google.com/gist/soxoj/879b51bc3b2f8b695abb054090645000"
"/maigret-collab.ipynb"
msgstr ""
"Google Colab : "
"https://colab.research.google.com/gist/soxoj/879b51bc3b2f8b695abb054090645000"
"/maigret-collab.ipynb"
#: ../../source/installation.rst:85 d2f5724223e84c4d95f4ab49a8ce0d9e
msgid ""
"Binder: "
"https://mybinder.org/v2/gist/soxoj/9d65c2f4d3bec5dd25949197ea73cf3a/HEAD"
msgstr ""
"Binder : "
"https://mybinder.org/v2/gist/soxoj/9d65c2f4d3bec5dd25949197ea73cf3a/HEAD"
#: ../../source/installation.rst:88 89ed6a6dd30c4182aaf4f2fa3e9c7a4f
msgid "Snap (Linux)"
msgstr "Snap (Linux)"
#: ../../source/installation.rst:90 92125d486460422f8b24cea270654837
msgid ""
"Maigret is on the `Snap Store <https://snapcraft.io/maigret>`_ for amd64 "
"and arm64. It needs neither Python nor pip:"
msgstr ""
"Maigret est sur le `Snap Store <https://snapcraft.io/maigret>`_ pour "
"amd64 et arm64. Il ne nécessite ni Python ni pip :"
#: ../../source/installation.rst:95 9dce1ae260ec48888b7ff6ef434552eb
msgid "Get it from the Snap Store"
msgstr "Télécharger depuis le Snap Store"
#: ../../source/installation.rst:107 9bed91bd19c04740a85961e314059b77
msgid ""
"The snap is strictly confined: it can read and write your home directory "
"and very little else. Run it from a directory under ``$HOME`` and reports"
" land in ``./reports`` as usual. Running it from somewhere it cannot see,"
" ``/tmp`` for instance, fails before the search starts."
msgstr ""
"Le snap est strictement confiné : il peut lire et écrire dans votre "
"répertoire personnel, et presque rien d'autre. Lancez-le depuis un "
"répertoire situé sous ``$HOME`` et les rapports atterriront dans "
"``./reports`` comme d'habitude. Le lancer depuis un endroit qu'il ne voit"
" pas, ``/tmp`` par exemple, échoue avant même le début de la recherche."
#: ../../source/installation.rst:112 ace0141ecf294c5f8d14e138b89b5ba7
msgid ""
"Access to USB drives and other removable media is not connected by "
"default:"
msgstr ""
"L'accès aux clés USB et autres supports amovibles n'est pas connecté par "
"défaut :"
#: ../../source/installation.rst:118 0828b539d0f34b6aaacf3d43288a613a
msgid ""
"Updates arrive on their own through snapd, so the bundled site database "
"and the code both stay current without any action."
msgstr ""
"Les mises à jour arrivent d'elles-mêmes via snapd : la base de sites "
"embarquée et le code restent donc à jour sans aucune intervention."
#: ../../source/installation.rst:122 1ec82465d26b4120b3d3d4fcbb19dee0
msgid "Local installation from PyPi"
msgstr "Installation locale depuis PyPI"
#: ../../source/installation.rst:124 12173ce540f5403388ccc280f250cabd
msgid ""
"Maigret ships with a bundled site database. After installation from PyPI "
"(or any other method), it can **automatically fetch a newer compatible "
"database from GitHub** when you run it—see :ref:`database-auto-update` in"
" :doc:`settings`."
msgstr ""
"Maigret est livré avec une base de sites embarquée. Après une "
"installation depuis PyPI (ou par toute autre méthode), il peut "
"**récupérer automatiquement depuis GitHub une base plus récente et "
"compatible** lors de son exécution, voir :ref:`database-auto-update` dans"
" :doc:`settings`."
#: ../../source/installation.rst:127 919ab3e4873d4aff96827d2db9de1cb6
msgid "Python 3.10 or higher and pip is required, **Python 3.11 is recommended.**"
msgstr ""
"Python 3.10 ou supérieur et pip sont requis, **Python 3.11 est "
"recommandé.**"
#: ../../source/installation.rst:137 1103ac355d6640da9b52fbb153170e1f
msgid ""
"PDF report support is shipped as an **optional extra** because it relies "
"on system-level graphics libraries that pip cannot install for you. If "
"you plan to use ``--pdf``, install Maigret with the ``pdf`` extra:"
msgstr ""
"La prise en charge des rapports PDF est fournie comme **extra "
"facultatif**, car elle repose sur des bibliothèques graphiques système "
"que pip ne peut pas installer à votre place. Si vous comptez utiliser "
"``--pdf``, installez Maigret avec l'extra ``pdf`` :"
#: ../../source/installation.rst:145 e97dcce05ad04b538bdc67ee648fe977
msgid ""
"See :ref:`pdf-extra` below for the full background on why PDF support is "
"optional and how to fix the most common build errors."
msgstr ""
"Voir :ref:`pdf-extra` plus bas pour comprendre en détail pourquoi le PDF "
"est facultatif et comment corriger les erreurs de compilation les plus "
"courantes."
#: ../../source/installation.rst:149 65b089af5d28448a9ee0ad1dc8d9a0a2
msgid "Isolated installation with pipx"
msgstr "Installation isolée avec pipx"
#: ../../source/installation.rst:151 276b036bb3c64ba9917e07a42ee7a5e5
msgid ""
"``pip3 install maigret`` drops Maigret and its dependencies into "
"whichever Python environment happens to be active. If that is the system "
"Python, the install can collide with packages your distribution manages, "
"and on recent Debian, Ubuntu and Fedora pip refuses outright with "
"``error: externally-managed-environment``."
msgstr ""
"``pip3 install maigret`` installe Maigret et ses dépendances dans "
"l'environnement Python actif, quel qu'il soit. Si c'est le Python du "
"système, l'installation peut entrer en conflit avec des paquets gérés par"
" votre distribution ; sur les versions récentes de Debian, Ubuntu et "
"Fedora, pip refuse d'ailleurs catégoriquement, avec ``error: externally-"
"managed-environment``."
#: ../../source/installation.rst:157 078d4e27d6f74638a16d696510d4dc70
msgid ""
"`pipx <https://pipx.pypa.io>`_ avoids all of that. It gives Maigret its "
"own virtual environment, puts only the ``maigret`` command on your "
"``PATH``, and keeps the dependencies away from everything else on the "
"machine:"
msgstr ""
"`pipx <https://pipx.pypa.io>`_ évite tout cela. Il donne à Maigret son "
"propre environnement virtuel, ne place que la commande ``maigret`` dans "
"votre ``PATH`` et tient ses dépendances à l'écart du reste de la machine "
":"
#: ../../source/installation.rst:168 9317bc2f43ad4f458e577bb555a1d242
msgid "The ``pdf`` extra works the same way:"
msgstr "L'extra ``pdf`` fonctionne de la même façon :"
#: ../../source/installation.rst:174 1c98ca1719c0422fbd032def184d62c0
msgid "Upgrading and removing are one command each:"
msgstr "La mise à jour et la désinstallation tiennent chacune en une commande :"
#: ../../source/installation.rst:182 bfff887fdbf84278989660d995b1d905
msgid ""
"If you already use `uv <https://docs.astral.sh/uv/>`_, ``uv tool install "
"maigret`` does the same job."
msgstr ""
"Si vous utilisez déjà `uv <https://docs.astral.sh/uv/>`_, ``uv tool "
"install maigret`` fait le même travail."
#: ../../source/installation.rst:186 71e910c286c24fa49484357d20120531
msgid "Development version (GitHub)"
msgstr "Version de développement (GitHub)"
#: ../../source/installation.rst:204 2cc8141fb061418bbb9232680bf0e13f
msgid "Docker"
msgstr "Docker"
#: ../../source/installation.rst:218 97a9de8e485947b1bd8ac653b104c859
msgid "Troubleshooting"
msgstr "Dépannage"
#: ../../source/installation.rst:220 522571e237844c87aae52c6e86c584eb
msgid ""
"If you encounter build errors during installation such as ``cannot find "
"ft2build.h`` or errors related to ``reportlab`` / ``_renderPM``, you need"
" to install system-level dependencies required to compile native "
"extensions."
msgstr ""
"Si vous rencontrez des erreurs de compilation pendant l'installation, du "
"type ``cannot find ft2build.h``, ou des erreurs liées à ``reportlab`` / "
"``_renderPM``, vous devez installer les dépendances système nécessaires à"
" la compilation des extensions natives."
#: ../../source/installation.rst:224 0ee73bf0a7c9417b8c7a9847fe20e853
msgid "**Debian/Ubuntu/Kali:**"
msgstr "**Debian/Ubuntu/Kali :**"
#: ../../source/installation.rst:230 9e36d358b98f45a1961561607fc4162a
msgid "**Fedora/RHEL/CentOS:**"
msgstr "**Fedora/RHEL/CentOS :**"
#: ../../source/installation.rst:236 ../../source/installation.rst:321
#: c36e50a1c5b24578a4962ae622b47e8e d5a516382529413e8be81b95cb0be1a9
msgid "**Arch Linux:**"
msgstr "**Arch Linux :**"
#: ../../source/installation.rst:242 ../../source/installation.rst:335
#: 666c0f5d202e41c3bd86cb77c223926c beb188bcaf4c42508de02f870c4f704f
msgid "**macOS (Homebrew):**"
msgstr "**macOS (Homebrew) :**"
#: ../../source/installation.rst:248 9e78be48570447adb214c02a9b625213
msgid "After installing the system dependencies, retry the maigret installation."
msgstr ""
"Une fois les dépendances système installées, relancez l'installation de "
"Maigret."
#: ../../source/installation.rst:250 bd967f67b9784fdfa617dc6e53f3b789
msgid ""
"If you continue to have issues, consider using Docker instead, which "
"includes all necessary dependencies."
msgstr ""
"Si le problème persiste, envisagez plutôt Docker, qui embarque toutes les"
" dépendances nécessaires."
#: ../../source/installation.rst:256 3ecbbfd49e9348139ee72e10512df817
msgid "Optional: PDF reports (``maigret[pdf]``)"
msgstr "Facultatif : les rapports PDF (``maigret[pdf]``)"
#: ../../source/installation.rst:258 fc50376c42d942509ae889b0ada51093
msgid "The ``--pdf`` report format is shipped as an optional extra. To enable it:"
msgstr ""
"Le format de rapport ``--pdf`` est fourni comme extra facultatif. Pour "
"l'activer :"
#: ../../source/installation.rst:264 c49adf2626ba433295a740db9484d06e
msgid ""
"If PDF support is not installed and you pass ``--pdf``, Maigret prints a "
"warning and continues without crashing — every other output format "
"(``--html``, ``--json``, ``--csv``, ``--txt``, ``--xmind``, ``--graph``) "
"keeps working."
msgstr ""
"Si la prise en charge du PDF n'est pas installée et que vous passez "
"``--pdf``, Maigret affiche un avertissement et continue sans planter : "
"tous les autres formats de sortie (``--html``, ``--json``, ``--csv``, "
"``--txt``, ``--xmind``, ``--graph``) continuent de fonctionner."
#: ../../source/installation.rst:270 a7010a5e92e84074ab24613ff6740fea
msgid "Why is PDF optional?"
msgstr "Pourquoi le PDF est-il facultatif ?"
#: ../../source/installation.rst:272 f2d8cf8c6aac4147a14eca93d6f0fd87
msgid ""
"Maigret renders PDFs by converting an HTML template, and that conversion "
"pipeline ultimately depends on the ``cairo`` graphics library through a "
"chain of Python packages roughly shaped like::"
msgstr ""
"Maigret produit ses PDF en convertissant un modèle HTML, et cette chaîne "
"de conversion dépend au bout du compte de la bibliothèque graphique "
"``cairo``, via une succession de paquets Python à peu près comme ceci ::"
#: ../../source/installation.rst:278 8567fbe97a6c47fab6fab0eebaaf8838
msgid ""
"The bottom of that chain is a C library — ``libcairo2`` — that has to "
"exist on the host *before* pip can build the Python bindings. The Python "
"binding package (``pycairo``) currently ships **only Windows wheels** on "
"PyPI; on Linux and macOS pip falls back to building from source, and the "
"build fails the moment ``pkg-config`` cannot find ``cairo``. The error "
"looks like::"
msgstr ""
"Au bas de cette chaîne se trouve une bibliothèque C, ``libcairo2``, qui "
"doit être présente sur la machine *avant* que pip ne puisse construire "
"les liaisons Python. Le paquet de liaison Python (``pycairo``) ne publie "
"actuellement **que des wheels Windows** sur PyPI ; sous Linux et macOS, "
"pip se rabat donc sur une compilation depuis les sources, qui échoue dès "
"que ``pkg-config`` ne trouve pas ``cairo``. L'erreur ressemble à ceci ::"
#: ../../source/installation.rst:288 62199bb508f74bc3813f257546f83759
msgid ""
"Pulling this whole chain for every Maigret install just so the much "
"smaller group of users who actually want PDFs can have them is a poor "
"trade — so ``xhtml2pdf`` is gated behind the ``pdf`` extra."
msgstr ""
"Imposer toute cette chaîne à chaque installation de Maigret, uniquement "
"pour que le groupe bien plus restreint d'utilisateurs qui veulent "
"vraiment des PDF puisse en avoir, serait un mauvais compromis : "
"``xhtml2pdf`` est donc placé derrière l'extra ``pdf``."
#: ../../source/installation.rst:292 a4126865ad10432ab9cf6b2d33e26480
msgid ""
"Two more packages — ``arabic-reshaper`` and ``python-bidi`` — are bundled"
" into the same extra. Maigret core never imports them; they are only used"
" by ``xhtml2pdf`` to shape Arabic glyphs and lay out right-to-left text "
"in PDFs. ``python-bidi`` v0.5+ is also a Rust binding, so on niche "
"platforms without a published wheel it would otherwise pull in a Cargo "
"build for users who never asked for PDF support."
msgstr ""
"Deux autres paquets, ``arabic-reshaper`` et ``python-bidi``, sont réunis "
"dans le même extra. Le cœur de Maigret ne les importe jamais ; ils ne "
"servent qu'à ``xhtml2pdf``, pour façonner les glyphes arabes et mettre en"
" page le texte de droite à gauche dans les PDF. ``python-bidi`` v0.5+ est"
" en outre une liaison Rust : sur les plateformes de niche sans wheel "
"publiée, il déclencherait une compilation Cargo chez des utilisateurs qui"
" n'ont jamais demandé le PDF."
#: ../../source/installation.rst:300 d9c3f909c29441c283b07779c370e608
msgid "Installing the system prerequisites"
msgstr "Installer les prérequis système"
#: ../../source/installation.rst:302 4e207f5b27854c2d8b1dcedea0289a20
msgid ""
"Install the cairo headers, ``pkg-config``, and a working C toolchain "
"*before* running ``pip install 'maigret[pdf]'``."
msgstr ""
"Installez les en-têtes de cairo, ``pkg-config`` et une chaîne de "
"compilation C fonctionnelle *avant* de lancer ``pip install "
"'maigret[pdf]'``."
#: ../../source/installation.rst:305 ab52341b4c6f4a62b58624da37566ec2
msgid "**Debian / Ubuntu / Linux Mint / Kali:**"
msgstr "**Debian / Ubuntu / Linux Mint / Kali :**"
#: ../../source/installation.rst:314 dad4389c52bc4db7984b188d2525ed5d
msgid "**Fedora / RHEL / CentOS:**"
msgstr "**Fedora / RHEL / CentOS :**"
#: ../../source/installation.rst:328 f3a52a0a27c14654b3f15601a8dcdbfe
msgid "**Alpine Linux:**"
msgstr "**Alpine Linux :**"
#: ../../source/installation.rst:343 bd33aa76918847e7af4087328369d212
msgid "**Windows:**"
msgstr "**Windows :**"
#: ../../source/installation.rst:345 a3d64de62d56499fa54e306c20e8c052
msgid ""
"No system packages are needed — ``pycairo`` ships prebuilt wheels for "
"Windows. Just run:"
msgstr ""
"Aucun paquet système n'est nécessaire : ``pycairo`` publie des wheels "
"précompilées pour Windows. Lancez simplement :"
#: ../../source/installation.rst:352 b905ed5326634b5ba7624b27b6c99499
msgid "**Google Cloud Shell / Colab / Replit / generic CI:**"
msgstr "**Google Cloud Shell / Colab / Replit / CI générique :**"
#: ../../source/installation.rst:354 0b9a480210c44561a1c2954d9650dacf
msgid ""
"These environments behave like Debian/Ubuntu — install the same "
"``libcairo2-dev pkg-config python3-dev build-essential`` triple before "
"``pip install 'maigret[pdf]'``. If you do not control the base image and "
"cannot ``apt install``, skip the extra and use ``--html`` reports "
"instead; HTML reports contain the same data and open in any browser."
msgstr ""
"Ces environnements se comportent comme Debian/Ubuntu : installez le même "
"trio ``libcairo2-dev pkg-config python3-dev build-essential`` avant ``pip"
" install 'maigret[pdf]'``. Si vous ne maîtrisez pas l'image de base et ne"
" pouvez pas faire ``apt install``, laissez tomber l'extra et utilisez les"
" rapports ``--html`` : ils contiennent les mêmes données et s'ouvrent "
"dans n'importe quel navigateur."
#: ../../source/installation.rst:361 294ca985b3a9483985b2b65888a845bf
msgid "``maigret: command not found`` after install"
msgstr "``maigret: command not found`` après l'installation"
#: ../../source/installation.rst:363 80541d64922147d98cecd810f48a6d12
msgid "If pip prints warnings like::"
msgstr "Si pip affiche des avertissements du type ::"
#: ../../source/installation.rst:368 c241b60227bf46188300c27f8abbe41c
msgid ""
"…and ``maigret --version`` then fails with ``command not found``, your "
"``--user`` install put the entry-point script in a directory the shell "
"does not search. Add it to ``PATH``:"
msgstr ""
"…et que ``maigret --version`` échoue ensuite avec ``command not found``, "
"c'est que votre installation ``--user`` a placé le script de point "
"d'entrée dans un répertoire que le shell ne parcourt pas. Ajoutez-le au "
"``PATH`` :"
#: ../../source/installation.rst:377 de778c1f45e34d23900fd1945882fe9d
msgid ""
"Or install into a virtual environment, where the entry point lands in the"
" venv's ``bin/`` automatically:"
msgstr ""
"Ou installez dans un environnement virtuel, où le point d'entrée atterrit"
" automatiquement dans le ``bin/`` du venv :"
#: ../../source/installation.rst:387 0360ba072a0b44589d39d7066b682e68
msgid "Optional: Cloudflare bypass solver"
msgstr "Facultatif : le solveur de contournement Cloudflare"
#: ../../source/installation.rst:391 80057a95b58b4a8db8f45bbd2830826f
msgid ""
"**Experimental.** The Cloudflare webgate is under active development; the"
" configuration schema and CLI behaviour may change without backwards-"
"compatibility guarantees."
msgstr ""
"**Expérimental.** Le webgate Cloudflare est en cours de développement "
"actif ; le schéma de configuration et le comportement en ligne de "
"commande peuvent changer sans garantie de compatibilité ascendante."
#: ../../source/installation.rst:395 079b60030ede488eaf4b51a68abd3af7
msgid ""
"Sites tagged ``cf_js_challenge`` / ``cf_firewall`` need a real browser to"
" pass their JavaScript challenge. To check those sites you can run a "
"local `FlareSolverr <https://github.com/FlareSolverr/FlareSolverr>`_ "
"instance — Maigret will route protected checks to it when ``--cloudflare-"
"bypass`` is set:"
msgstr ""
"Les sites marqués ``cf_js_challenge`` / ``cf_firewall`` exigent un vrai "
"navigateur pour passer leur défi JavaScript. Pour vérifier ces sites, "
"vous pouvez lancer une instance locale de `FlareSolverr "
"<https://github.com/FlareSolverr/FlareSolverr>`_ : Maigret y redirigera "
"les vérifications protégées lorsque ``--cloudflare-bypass`` est activé :"
#: ../../source/installation.rst:404 cd5f65e9e39049988fbdd7e9a488db44
msgid ""
"This is **optional** — Maigret runs without it; only sites whose "
"``protection`` field intersects "
"``settings.cloudflare_bypass.trigger_protection`` require the solver. See"
" :ref:`cloudflare-bypass` for details."
msgstr ""
"C'est **facultatif** : Maigret fonctionne sans. Seuls les sites dont le "
"champ ``protection`` recoupe "
"``settings.cloudflare_bypass.trigger_protection`` ont besoin du solveur. "
"Voir :ref:`cloudflare-bypass` pour les détails."
@@ -0,0 +1,142 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/library-usage.rst:4 912ee46973c845bb83e2007caf60807d
msgid "Library usage"
msgstr "Utilisation en tant que bibliothèque"
#: ../../source/library-usage.rst:6 1dc5af2d1bc94caf898ae0dfba28ab99
msgid ""
"Maigret's CLI is a thin wrapper around an async Python API. You can embed"
" Maigret in your own tools, pipelines, and OSINT workflows — no need to "
"shell out."
msgstr ""
"L'interface en ligne de commande de Maigret n'est qu'une fine couche au-"
"dessus d'une API Python asynchrone. Vous pouvez intégrer Maigret à vos "
"propres outils, pipelines et workflows OSINT, sans passer par un appel "
"système."
#: ../../source/library-usage.rst:8 689a5527381f4eb2986c9928ea5063cd
msgid ""
"This page covers the common patterns. For the full argument list of the "
"underlying function, see ``maigret.checking.maigret`` in the source."
msgstr ""
"Cette page couvre les usages courants. Pour la liste complète des "
"arguments de la fonction sous-jacente, voir ``maigret.checking.maigret`` "
"dans le code source."
#: ../../source/library-usage.rst:11 9fc2fae4f56f467c98d82f2eb5cae83f
msgid "Installation"
msgstr "Installation"
#: ../../source/library-usage.rst:18 3593c7ee3c024bb3932f00ce062d2918
msgid "Minimal example"
msgstr "Exemple minimal"
#: ../../source/library-usage.rst:20 163725f129db46428386562d5e60daf3
msgid "A working end-to-end search against the top 500 sites:"
msgstr "Une recherche complète et fonctionnelle sur les 500 premiers sites :"
#: ../../source/library-usage.rst:52 1b8d59523b644de2826a34890bb83005
msgid "Key points:"
msgstr "Points importants :"
#: ../../source/library-usage.rst:54 9febe61ea25341fe89f67792bce0dd7b
msgid ""
"``maigret_search`` is an ``async`` function — wrap it with "
"``asyncio.run(...)`` or ``await`` it from inside your own event loop."
msgstr ""
"``maigret_search`` est une fonction ``async`` : encapsulez-la dans "
"``asyncio.run(...)`` ou faites ``await`` depuis votre propre boucle "
"d'événements."
#: ../../source/library-usage.rst:55 94cba639a3fd48d59f757a97923bbcce
msgid ""
"``is_parsing_enabled=True`` turns on ``socid_extractor`` so "
"``result[\"ids_data\"]`` is populated with profile fields (bio, linked "
"accounts, uids, etc.). See its `Library usage <https://socid-"
"extractor.readthedocs.io/en/latest/library-usage.html>`_ page for calling"
" it directly, and `Maigret integration <https://socid-"
"extractor.readthedocs.io/en/latest/maigret-integration.html>`_ for how "
"the two projects fit together."
msgstr ""
"``is_parsing_enabled=True`` active ``socid_extractor``, si bien que "
"``result[\"ids_data\"]`` est rempli avec les champs du profil "
"(biographie, comptes liés, uids, etc.). Voir sa page `Library usage "
"<https://socid-extractor.readthedocs.io/en/latest/library-usage.html>`_ "
"pour l'appeler directement, et `Maigret integration <https://socid-"
"extractor.readthedocs.io/en/latest/maigret-integration.html>`_ pour "
"comprendre comment les deux projets s'articulent."
#: ../../source/library-usage.rst:56 9d8f67adc20e46818a07c55a1e8d0d1c
msgid ""
"Each entry in the returned dict has a ``\"status\"`` object with "
"``is_found()``, plus ``url_user``, ``http_status``, ``rank``, "
"``ids_data``, and more."
msgstr ""
"Chaque entrée du dictionnaire renvoyé contient un objet ``\"status\"`` "
"avec ``is_found()``, ainsi que ``url_user``, ``http_status``, ``rank``, "
"``ids_data``, et d'autres champs."
#: ../../source/library-usage.rst:59 cf296c815a41463dba25bdac37e1ea1f
msgid "Filtering sites"
msgstr "Filtrer les sites"
#: ../../source/library-usage.rst:61 4f08358e924546e78d3120153934da7f
msgid "``ranked_sites_dict`` accepts the same filters as the CLI:"
msgstr "``ranked_sites_dict`` accepte les mêmes filtres que la ligne de commande :"
#: ../../source/library-usage.rst:78 7bf2776ae3014fe581e9b36eacd7f9eb
msgid "Running inside an existing event loop"
msgstr "Exécution dans une boucle d'événements existante"
#: ../../source/library-usage.rst:80 10de59061386431aa4d2f569c60eff6b
msgid ""
"If your application already runs an asyncio loop (FastAPI, aiohttp "
"server, a Discord bot, etc.), ``await`` ``maigret_search`` directly "
"instead of calling ``asyncio.run``:"
msgstr ""
"Si votre application fait déjà tourner une boucle asyncio (FastAPI, un "
"serveur aiohttp, un bot Discord, etc.), faites directement ``await`` sur "
"``maigret_search`` au lieu d'appeler ``asyncio.run`` :"
#: ../../source/library-usage.rst:98 70183995fad54862aa732fc4a9790811
msgid "Routing through a proxy"
msgstr "Passer par un proxy"
#: ../../source/library-usage.rst:100 c960cc0b366f4d05a2a658b63825ad93
msgid ""
"The same proxy / Tor / I2P flags the CLI exposes are plain keyword "
"arguments:"
msgstr ""
"Les options proxy / Tor / I2P de la ligne de commande sont de simples "
"arguments nommés :"
#: ../../source/library-usage.rst:115 b29d27764029441fa483a633e5da903b
msgid "Full function signature"
msgstr "Signature complète de la fonction"
#: ../../source/library-usage.rst:139 cae3576edbd84cf89e8857094185c1b0
msgid ""
"See :doc:`command-line-options` for a description of each option — the "
"semantics match the CLI flags one-to-one."
msgstr ""
"Voir :doc:`command-line-options` pour la description de chaque option : "
"la sémantique correspond exactement aux options de la ligne de commande."
@@ -0,0 +1,131 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/philosophy.rst:4 9419a206dfa64d9f9bf6375368d36521
msgid "Philosophy"
msgstr "Philosophie"
#: ../../source/philosophy.rst:6 50632721642b477ab022ab1b137949d4
msgid ""
"*The Commissioner Jules Maigret is a fictional French police detective, "
"created by Georges Simenon. His investigation method is based on "
"understanding the personality of different people and their "
"interactions.*"
msgstr ""
"*Le commissaire Jules Maigret est un policier de fiction français, créé "
"par Georges Simenon. Sa méthode d'enquête repose sur la compréhension de "
"la personnalité des gens et de leurs interactions.*"
#: ../../source/philosophy.rst:10 cfee4a15fc074a97aaa20c8a272c7087
msgid "TL;DR: Username => Dossier"
msgstr "En bref : un nom d'utilisateur => un dossier"
#: ../../source/philosophy.rst:12 8d4120f7e65d4cf0bf1ec2f1394234bb
msgid ""
"Maigret is designed to gather all the available information about person "
"by his username."
msgstr ""
"Maigret est conçu pour rassembler toutes les informations disponibles sur"
" une personne à partir de son nom d'utilisateur."
#: ../../source/philosophy.rst:14 3d6c38de4f3d46b29532fd470a6eac0c
msgid ""
"What kind of information is this? First, links to person accounts. "
"Secondly, all the machine-extractable pieces of info, such as: other "
"usernames, full name, URLs to people's images, birthday, location "
"(country, city, etc.), gender."
msgstr ""
"De quelles informations s'agit-il ? D'abord, des liens vers les comptes "
"de la personne. Ensuite, tous les éléments extractibles automatiquement, "
"tels que : d'autres noms d'utilisateur, le nom complet, les URL des "
"photos, la date de naissance, la localisation (pays, ville, etc.) et le "
"genre."
#: ../../source/philosophy.rst:18 8d2202a1c40341d7ba45ddd5d1aa8b9f
msgid ""
"All this information forms some dossier, but it also useful for other "
"tools and analytical purposes. Each collected piece of data has a label "
"of a certain format (for example, ``follower_count`` for the number of "
"subscribers or ``created_at`` for account creation time) so that it can "
"be parsed and analyzed by various systems and stored in databases."
msgstr ""
"Toutes ces informations forment un dossier, mais elles sont aussi utiles "
"à d'autres outils et à des fins analytiques. Chaque donnée collectée "
"porte une étiquette d'un format précis (par exemple ``follower_count`` "
"pour le nombre d'abonnés ou ``created_at`` pour la date de création du "
"compte), afin de pouvoir être analysée par différents systèmes et stockée"
" dans des bases de données."
#: ../../source/philosophy.rst:24 1ae72284813b436aa617c2ec0b2221c9
msgid "Origins"
msgstr "Origines"
#: ../../source/philosophy.rst:26 99f6cd04767e447ab5438cc079c92739
msgid ""
"Maigret started from studying what OSINT investigators actually use in "
"practice — and from the realization that many popular tools do not "
"deliver real investigative value. The original research behind this "
"observation is summarized in the article `What's wrong with namecheckers "
"<https://soxoj.medium.com/whats-wrong-with-namecheckers-981e5cba600e>`_. "
"For a broader landscape of username-checking tools, see the curated "
"`OSINT namecheckers list <https://github.com/soxoj/osint-namecheckers-"
"list>`_."
msgstr ""
"Maigret est né de l'étude de ce que les enquêteurs OSINT utilisent "
"réellement sur le terrain, et du constat que beaucoup d'outils populaires"
" n'apportent pas de véritable valeur d'enquête. La recherche à l'origine "
"de ce constat est résumée dans l'article `What's wrong with namecheckers "
"<https://soxoj.medium.com/whats-wrong-with-namecheckers-981e5cba600e>`_. "
"Pour un panorama plus large des outils de vérification de noms "
"d'utilisateur, voir la `liste d'outils OSINT namecheckers "
"<https://github.com/soxoj/osint-namecheckers-list>`_."
#: ../../source/philosophy.rst:33 74d74e5ae95b48ad82039fd1c87d75f0
msgid "Two ideas grew out of that research:"
msgstr "Deux idées sont nées de cette recherche :"
#: ../../source/philosophy.rst:35 b76d9b534a7947b0a821d62c550fd835
msgid ""
"`socid-extractor <https://github.com/soxoj/socid-extractor>`_ "
"(`documentation <https://socid-extractor.readthedocs.io/>`_) — a library "
"focused on pulling structured identity data (user IDs, full names, linked"
" accounts, bios, timestamps, etc.) out of account pages and public API "
"responses, so that finding an account is not the end of the pipeline."
msgstr ""
"`socid-extractor <https://github.com/soxoj/socid-extractor>`_ "
"(`documentation <https://socid-extractor.readthedocs.io/>`_) — une "
"bibliothèque dédiée à l'extraction de données d'identité structurées "
"(identifiants d'utilisateur, noms complets, comptes liés, biographies, "
"horodatages, etc.) depuis les pages de comptes et les réponses d'API "
"publiques, pour que trouver un compte ne soit pas la fin de la chaîne."
#: ../../source/philosophy.rst:39 7c7af688ca7b4d78a78f6dafc5d1e959
msgid ""
"**Maigret** itself — which started as a fork of `Sherlock "
"<https://github.com/sherlock-project/sherlock>`_ but has long since "
"outgrown the original project in coverage, extraction depth, and check "
"reliability. Today Maigret is used as a component by major OSINT vendors "
"in their commercial products."
msgstr ""
"**Maigret** lui-même, qui a commencé comme un fork de `Sherlock "
"<https://github.com/sherlock-project/sherlock>`_ mais a depuis longtemps "
"dépassé le projet d'origine en couverture, en profondeur d'extraction et "
"en fiabilité des vérifications. Aujourd'hui, Maigret est utilisé comme "
"composant par de grands éditeurs OSINT dans leurs produits commerciaux."
@@ -0,0 +1,54 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/privacy.rst:4 3ea365e65eb64603a69b0bab4828d720
msgid "Privacy"
msgstr "Confidentialité"
#: ../../source/privacy.rst:6 7245b4e2ae184a61aea5a951d22c1a08
msgid ""
"Maigret runs entirely on your machine. It has no telemetry, no analytics "
"and no update pings, and it sends nothing to the project maintainers."
msgstr ""
"Maigret s'exécute entièrement sur votre machine. Il n'y a ni télémétrie, "
"ni statistiques d'usage, ni vérification de mise à jour, et rien n'est "
"envoyé aux mainteneurs du projet."
#: ../../source/privacy.rst:9 eac51965e9034c3da052c5809dce3215
msgid ""
"The usernames you search for are sent to the websites being checked, "
"because that is how the check works: Maigret requests public profile URLs"
" the same way a browser would. Reports are written to local files only."
msgstr ""
"Les noms d'utilisateur que vous recherchez sont envoyés aux sites "
"vérifiés, car c'est ainsi que fonctionne la vérification : Maigret "
"demande les URL des profils publics exactement comme le ferait un "
"navigateur. Les rapports sont écrits uniquement dans des fichiers locaux."
#: ../../source/privacy.rst:13 a1b4b0ea5592439396e88743155ce39d
msgid ""
"One feature is opt-in and involves a third party: the AI analysis of a "
"report is sent to the OpenAI API, and only if you supply your own API "
"key. Without a key the feature is inactive."
msgstr ""
"Une seule fonctionnalité fait intervenir un tiers, et elle est "
"facultative : l'analyse d'un rapport par IA est envoyée à l'API d'OpenAI,"
" et uniquement si vous fournissez votre propre clé d'API. Sans clé, la "
"fonctionnalité reste inactive."
@@ -0,0 +1,60 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/quick-start.rst:4 03d07f6e7c524cac827c0528846e6f0b
msgid "Quick start"
msgstr "Démarrage rapide"
#: ../../source/quick-start.rst:6 009c3ff4ff9f4c95a6ac4812c50fb91b
msgid ""
"After :doc:`installing Maigret <installation>`, you can begin searching "
"by providing one or more usernames to look up:"
msgstr ""
"Une fois :doc:`Maigret installé <installation>`, vous pouvez lancer une "
"recherche en fournissant un ou plusieurs noms d'utilisateur :"
#: ../../source/quick-start.rst:8 06ab1e6636264f909fde1256f92e87d0
msgid "``maigret username1 username2 ...``"
msgstr "``maigret nomdutilisateur1 nomdutilisateur2 ...``"
#: ../../source/quick-start.rst:10 303ee7d0f61848bfa82a56ae5677b3f8
msgid ""
"Maigret will search for accounts with the specified usernames across a "
"vast number of websites. It will provide you with a list of URLs to any "
"discovered accounts, along with relevant information extracted from those"
" profiles."
msgstr ""
"Maigret recherche les comptes correspondant aux noms d'utilisateur "
"indiqués sur un très grand nombre de sites. Il vous renvoie la liste des "
"URL des comptes trouvés, accompagnée des informations pertinentes "
"extraites de ces profils."
#: ../../source/quick-start.rst:14 be975e1e40c04e8d85e6db9c24148640
msgid ""
"Don't want to install anything? Run Maigret in your browser via the "
"`Telegram bot <https://maigret.app/docs-en>`_ — same engine, no setup."
msgstr ""
"Vous ne voulez rien installer ? Lancez Maigret dans votre navigateur via "
"le `bot Telegram <https://maigret.app/docs-en>`_ : le même moteur, sans "
"aucune configuration."
#: ../../source/quick-start.rst:17 b0e7682f1d984b1b93a62a16712b62d5
msgid "Maigret search results screenshot"
msgstr "Capture d'écran des résultats de recherche de Maigret"
@@ -0,0 +1,326 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/release-process.rst:4 17a339e706284f4a85c691897df85738
msgid "Release process"
msgstr "Processus de publication"
#: ../../source/release-process.rst:6 aefbb5a49b9341f68f5086531f4363de
msgid ""
"This page describes how a Maigret release is cut, what each git tag in "
"the repository means, and which automation reacts to what. It is written "
"for maintainers and for downstream packagers who need to know which ref "
"to build from."
msgstr ""
"Cette page décrit comment une version de Maigret est publiée, ce que "
"signifie chaque tag git du dépôt et quelle automatisation réagit à quoi. "
"Elle s'adresse aux mainteneurs et aux empaqueteurs en aval, qui doivent "
"savoir depuis quelle référence construire."
#: ../../source/release-process.rst:12 1e74bb38a83f4bf2bcb877afebcf6256
msgid "Where the version lives"
msgstr "Où se trouve le numéro de version"
#: ../../source/release-process.rst:14 b6576061e660449893640bc12d1697e5
msgid "The version is stored in two files and both have to be changed together:"
msgstr ""
"La version est stockée dans deux fichiers, qui doivent être modifiés "
"ensemble :"
#: ../../source/release-process.rst:16 bdc5ce0a756048588fc6bd4fc5babe57
msgid "``pyproject.toml``, the ``version`` field under ``[tool.poetry]``"
msgstr "``pyproject.toml``, le champ ``version`` sous ``[tool.poetry]``"
#: ../../source/release-process.rst:17 cef162954f8e4b84bc1a036aba630ad8
msgid "``maigret/__version__.py``, the ``__version__`` string"
msgstr "``maigret/__version__.py``, la chaîne ``__version__``"
#: ../../source/release-process.rst:19 237e5c1ed8cf4a2a9b443fe1f4b1281e
msgid ""
"``maigret/__version__.py`` is what the snap packaging reads through "
"``craftctl set version``, and ``pyproject.toml`` is what ends up in the "
"PyPI metadata. A mismatch between them produces a package that reports "
"one version and is published as another."
msgstr ""
"``maigret/__version__.py`` est ce que lit l'empaquetage snap via "
"``craftctl set version``, et ``pyproject.toml`` est ce qui se retrouve "
"dans les métadonnées PyPI. Une divergence entre les deux produit un "
"paquet qui annonce une version et qui est publié sous une autre."
#: ../../source/release-process.rst:25 a92d26566ec94a2f940411d2aaf8dbf4
msgid "Cutting a release"
msgstr "Préparer une version"
#: ../../source/release-process.rst:27 f34e7a60d13d4d379930f58cee1bf22b
msgid ""
"Branch off ``main``. The branch is normally named after the version, for "
"example ``0.6.5``."
msgstr ""
"Créez une branche à partir de ``main``. Elle porte normalement le nom de "
"la version, par exemple ``0.6.5``."
#: ../../source/release-process.rst:29 025928a1d2054936a551727ac52e5a34
msgid "Bump the two version files on that branch."
msgstr "Incrémentez les deux fichiers de version sur cette branche."
#: ../../source/release-process.rst:30 b576ce4c678a4c62ae94596beba1db7c
msgid ""
"Open a pull request for the bump, so the change is reviewed like any "
"other."
msgstr ""
"Ouvrez une pull request pour cette montée de version, afin qu'elle soit "
"relue comme n'importe quel autre changement."
#: ../../source/release-process.rst:32 ad1c5257714046a1b132082636dcbd73
msgid ""
"The release branch is where the tag will live. It is deliberately "
"separate from ``main``: the tag has to point at a commit whose version "
"files already say the new number, and ``main`` only receives that commit "
"after the release is out."
msgstr ""
"C'est sur la branche de version que vivra le tag. Elle est volontairement"
" distincte de ``main`` : le tag doit pointer sur un commit dont les "
"fichiers de version annoncent déjà le nouveau numéro, et ``main`` ne "
"reçoit ce commit qu'une fois la version publiée."
#: ../../source/release-process.rst:37 9b0fd23d4f83496aa2b3b0339aa9b63b
msgid "Publishing"
msgstr "Publication"
#: ../../source/release-process.rst:39 cd1ba051900c45f68ad00bc86f881d50
msgid ""
"Create a GitHub Release whose tag is ``vX.Y.Z`` and whose target is the "
"release branch. Publishing it is the event that starts everything else, "
"so the release notes should be finished before you publish rather than "
"after."
msgstr ""
"Créez une GitHub Release dont le tag est ``vX.Y.Z`` et dont la cible est "
"la branche de version. C'est sa publication qui déclenche tout le reste, "
"donc les notes de version doivent être terminées avant de publier, pas "
"après."
#: ../../source/release-process.rst:43 564a58b206c14bc8a6ad3b7404fa9fff
msgid "Two workflows listen for ``release: types: [published]``:"
msgstr "Deux workflows écoutent ``release: types: [published]`` :"
#: ../../source/release-process.rst:45 ea4d208e7f084977a98696fbff688f94
msgid ""
"``python-publish.yml`` builds the source distribution and the wheel and "
"uploads them to PyPI through trusted publishing."
msgstr ""
"``python-publish.yml`` construit la distribution source et la wheel, puis"
" les téléverse sur PyPI via le trusted publishing."
#: ../../source/release-process.rst:47 af70ac77d9864f228f7ca81e486f3876
msgid ""
"``pyinstaller.yml`` builds ``maigret_standalone.exe`` under Wine and "
"attaches it to the release. The binary appears a few minutes after the "
"release itself, because PyInstaller is slow under Wine."
msgstr ""
"``pyinstaller.yml`` construit ``maigret_standalone.exe`` sous Wine et "
"l'attache à la release. Le binaire apparaît quelques minutes après la "
"release elle-même, car PyInstaller est lent sous Wine."
#: ../../source/release-process.rst:51 dcbf2f54af9d498d9ab76133fe766e0f
msgid ""
"Both check out ``refs/tags/vX.Y.Z``, so both build the released code "
"rather than the current head of a branch."
msgstr ""
"Les deux font un checkout de ``refs/tags/vX.Y.Z`` : ils construisent donc"
" le code publié, et non la tête actuelle d'une branche."
#: ../../source/release-process.rst:55 795f5e6ef9c54986aafe1e91e65752e7
msgid ""
"The ``pypi`` environment has no protection rules, so publishing any "
"release sends a package straight to PyPI with no human gate. Publishing a"
" test release from a branch whose version is not yet on PyPI will publish"
" that version for real."
msgstr ""
"L'environnement ``pypi`` n'a aucune règle de protection : publier une "
"release quelconque envoie le paquet directement sur PyPI, sans validation"
" humaine. Publier une release de test depuis une branche dont la version "
"n'est pas encore sur PyPI publiera cette version pour de bon."
#: ../../source/release-process.rst:61 5ddb2c3d69154ecbb85d3409d3322111
msgid "After the release"
msgstr "Après la publication"
#: ../../source/release-process.rst:63 517ac4e667aa440c80cd998100432260
msgid ""
"Merge the release branch into ``main``. In practice this happens a couple"
" of minutes after the release is published."
msgstr ""
"Fusionnez la branche de version dans ``main``. En pratique, cela se fait "
"quelques minutes après la publication."
#: ../../source/release-process.rst:66 07b11fd6ec564244a88153832522526f
msgid ""
"The push to ``main`` is a separate trigger and starts the routine "
"automation: the nightly Windows build, the Docker Hub images, the site "
"database refresh and the test suite."
msgstr ""
"Le push sur ``main`` est un déclencheur distinct, qui lance "
"l'automatisation de routine : la construction nocturne pour Windows, les "
"images Docker Hub, le rafraîchissement de la base de sites et la suite de"
" tests."
#: ../../source/release-process.rst:70 daa606217c2a4fad89b8dc9a1cbe017f
msgid ""
"Because the release branch is merged with a squash, the commit that lands"
" on ``main`` is not the commit the tag points at. This means ``vX.Y.Z`` "
"is not an ancestor of ``main``. It is expected, and it is why a packager "
"should build from the tag rather than looking for it in the branch "
"history."
msgstr ""
"Comme la branche de version est fusionnée en squash, le commit qui arrive"
" sur ``main`` n'est pas celui sur lequel pointe le tag. Autrement dit, "
"``vX.Y.Z`` n'est pas un ancêtre de ``main``. C'est attendu, et c'est la "
"raison pour laquelle un empaqueteur doit construire depuis le tag plutôt "
"que de le chercher dans l'historique de la branche."
#: ../../source/release-process.rst:76 1fc5ebf8ebde4634917f70b5e6a06681
msgid "Tags in this repository"
msgstr "Les tags de ce dépôt"
#: ../../source/release-process.rst:78 b3d0729bb2b2432fac9969ed9600c617
msgid ""
"**Release tags**, ``vX.Y.Z``. Immutable, one per release, pointing at the"
" tip of a release branch. These are the only tags a packager should build"
" from."
msgstr ""
"**Tags de version**, ``vX.Y.Z``. Immuables, un par version, pointant sur "
"la tête d'une branche de version. Ce sont les seuls tags depuis lesquels "
"un empaqueteur doit construire."
#: ../../source/release-process.rst:81 6328e93333ab4c8e8204cf15a6f9b3f0
msgid ""
"**Nightly tags**, ``nightly-main`` and ``nightly-dev``. Moving tags. "
"Every push to the matching branch rebuilds the Windows binary and force-"
"updates the tag to the built commit, so the tag always matches the "
"attached ``.exe``. The releases behind them are marked as prereleases so "
"they never take the \"latest\" marker from a real release. Never pin "
"anything to these: the ref is stable but its content is not."
msgstr ""
"**Tags nocturnes**, ``nightly-main`` et ``nightly-dev``. Des tags "
"mobiles. Chaque push sur la branche correspondante reconstruit le binaire"
" Windows et force la mise à jour du tag vers le commit construit, de "
"sorte que le tag corresponde toujours au ``.exe`` attaché. Les releases "
"associées sont marquées comme préversions, afin de ne jamais prendre le "
"marqueur « latest » d'une vraie version. N'épinglez jamais quoi que ce "
"soit dessus : la référence est stable, mais son contenu ne l'est pas."
#: ../../source/release-process.rst:88 7403364086e84a208f960ad875e398b6
msgid ""
"**Legacy tags**, ``main``, ``dev``, ``test`` and ``dev-564`` through "
"``dev-571``. Left over from an earlier version of the Windows build, "
"which used the branch name directly as the tag name. Nothing creates or "
"updates them any more. Two of them still carry GitHub releases with a "
"Windows binary attached, built in April 2026, so anything downloaded from"
" them is old."
msgstr ""
"**Tags hérités**, ``main``, ``dev``, ``test`` et ``dev-564`` à "
"``dev-571``. Reliquats d'une ancienne version de la construction Windows,"
" qui utilisait directement le nom de la branche comme nom de tag. Plus "
"rien ne les crée ni ne les met à jour. Deux d'entre eux portent encore "
"des releases GitHub avec un binaire Windows attaché, construit en avril "
"2026 : tout ce qui en est téléchargé est donc ancien."
#: ../../source/release-process.rst:95 499996b2bb6e49f2841c32bb58528637
msgid ""
"A tag named ``main`` shadows the branch of the same name. ``git rev-parse"
" main`` warns that the refname is ambiguous and answers with the tag, so "
"``git show main:some/file`` reads from the tag's commit and not from the "
"branch head. Tools that resolve a bare ref hit this too: a remote build "
"that is told to build ``main`` may build the tag. Use ``refs/heads/main``"
" explicitly, or clone with ``--no-tags``. The site data workflow works "
"around it with a ``git tag -d main`` step before it touches any ref."
msgstr ""
"Un tag nommé ``main`` masque la branche du même nom. ``git rev-parse "
"main`` avertit que la référence est ambiguë et répond avec le tag, si "
"bien que ``git show main:un/fichier`` lit le commit du tag et non la tête"
" de la branche. Les outils qui résolvent une référence nue tombent dans "
"le même piège : une construction distante à laquelle on demande ``main`` "
"risque de construire le tag. Utilisez explicitement ``refs/heads/main``, "
"ou clonez avec ``--no-tags``. Le workflow des données de sites contourne "
"le problème avec une étape ``git tag -d main`` avant de toucher à la "
"moindre référence."
#: ../../source/release-process.rst:104 24e401ea5e3c47e686b40255ab6cedaf
msgid "Where the artifacts end up"
msgstr "Où atterrissent les artefacts"
#: ../../source/release-process.rst:106 181b3e7dbf0f41799e28eb956e8f3e66
msgid "Published automatically on release:"
msgstr "Publiés automatiquement à chaque release :"
#: ../../source/release-process.rst:108 ad0c797d160441e199fecf92ff51f677
msgid "**PyPI**, the source distribution and the wheel."
msgstr "**PyPI**, la distribution source et la wheel."
#: ../../source/release-process.rst:109 f83b2aa49f584014ab6a2516b60ce11b
msgid "**GitHub release assets**, the Windows ``maigret_standalone.exe``."
msgstr ""
"**Les assets de la release GitHub**, le ``maigret_standalone.exe`` pour "
"Windows."
#: ../../source/release-process.rst:111 27c81092af374faa8a7bdd3eec745e1b
msgid "Published automatically on every push to ``main``:"
msgstr "Publiés automatiquement à chaque push sur ``main`` :"
#: ../../source/release-process.rst:113 b4f0d324b8794cf4a27fc500fa138912
msgid "**Docker Hub**, the CLI and web images."
msgstr "**Docker Hub**, les images CLI et web."
#: ../../source/release-process.rst:115 d7a8efffcb2844a0b8eed26caf6da766
msgid "Published by hand:"
msgstr "Publiés à la main :"
#: ../../source/release-process.rst:117 e45ef970948044078020146a411921ee
msgid ""
"**Snap**, built with ``snapcraft`` and uploaded to the ``latest/stable`` "
"channel for amd64 and arm64. Uploading a revision does not touch the "
"store listing: the summary, the description and the icon change only when"
" ``snapcraft upload-metadata <snap-file>`` is run, so run it whenever "
"those fields change in ``snap/snapcraft.yaml``, or the store keeps "
"serving the old text."
msgstr ""
"**Snap**, construit avec ``snapcraft`` et téléversé sur le canal "
"``latest/stable`` pour amd64 et arm64. Téléverser une révision ne touche "
"pas à la fiche du store : le résumé, la description et l'icône ne "
"changent que lorsque ``snapcraft upload-metadata <fichier-snap>`` est "
"exécuté. Lancez-le donc dès que ces champs changent dans "
"``snap/snapcraft.yaml``, sinon le store continue de servir l'ancien "
"texte."
#: ../../source/release-process.rst:124 edcc5592473f4eb5bbf9f9fab4d50848
msgid "Maintained downstream, outside this repository:"
msgstr "Maintenus en aval, en dehors de ce dépôt :"
#: ../../source/release-process.rst:126 da25d33954774695b15ca4ea695982ba
msgid ""
"The AUR, Homebrew core, MacPorts and nixpkgs normally follow a new "
"release within a day or two without being asked."
msgstr ""
"AUR, Homebrew core, MacPorts et nixpkgs suivent normalement une nouvelle "
"version en un jour ou deux, sans qu'on ait à le demander."
#: ../../source/release-process.rst:128 edbbf6cb578d4be9acbbfb2d7a000193
msgid "BlackArch is updated through a pull request to the BlackArch repository."
msgstr "BlackArch est mis à jour via une pull request sur le dépôt BlackArch."
@@ -0,0 +1,569 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/settings.rst:4 712aa27723a44c47a41b5ec1c1c6f9a4
msgid "Settings"
msgstr "Paramètres"
#: ../../source/settings.rst:7 c5ccdfd8a85f4cbdac40dabb3e2b82a2
msgid "The settings system is under development and may be subject to change."
msgstr "Le système de paramètres est en cours de développement et peut évoluer."
#: ../../source/settings.rst:9 1699072abb98497c98cb9f53aec2cbb4
msgid ""
"Options are also configurable through settings files. See `settings JSON "
"file "
"<https://github.com/soxoj/maigret/blob/main/maigret/resources/settings.json>`_"
" for the list of currently supported options."
msgstr ""
"Les options sont également configurables via des fichiers de paramètres. "
"Voir le `fichier JSON de paramètres "
"<https://github.com/soxoj/maigret/blob/main/maigret/resources/settings.json>`_"
" pour la liste des options actuellement prises en charge."
#: ../../source/settings.rst:13 c6cbc3056c9343738eda818a9f364130
msgid ""
"After start Maigret tries to load configuration from the following "
"sources in exactly the same order:"
msgstr ""
"Au démarrage, Maigret tente de charger sa configuration depuis les "
"sources suivantes, exactement dans cet ordre :"
#: ../../source/settings.rst:29 7a538929815f498187ca348a85567bea
msgid ""
"Missing any of these files is not an error. If the next settings file "
"contains already known option, this option will be rewritten. So it is "
"possible to make custom configuration for different users and "
"directories."
msgstr ""
"L'absence de l'un de ces fichiers n'est pas une erreur. Si le fichier de "
"paramètres suivant contient une option déjà connue, cette option est "
"écrasée. Il est donc possible d'avoir une configuration différente selon "
"les utilisateurs et les répertoires."
#: ../../source/settings.rst:37 a4f24518d9984c04b0e8a8b2fee23b6a
msgid "Database auto-update"
msgstr "Mise à jour automatique de la base"
#: ../../source/settings.rst:39 402f5cc3c5634bc6863e5b69bcf977d6
msgid ""
"Maigret ships with a bundled site database, but it gets outdated between "
"releases. To keep the database current, Maigret automatically checks for "
"updates on startup."
msgstr ""
"Maigret est livré avec une base de sites embarquée, mais celle-ci se "
"périme entre deux versions. Pour la garder à jour, Maigret vérifie "
"automatiquement au démarrage si une mise à jour est disponible."
#: ../../source/settings.rst:41 669b989f8d8d4ed38786d6595015e2ec
msgid "**How it works:**"
msgstr "**Comment cela fonctionne :**"
#: ../../source/settings.rst:43 38c301861c6747e7a5324bfc4fe1c32d
msgid ""
"On startup, Maigret checks if more than 24 hours have passed since the "
"last update check."
msgstr ""
"Au démarrage, Maigret regarde si plus de 24 heures se sont écoulées "
"depuis la dernière vérification."
#: ../../source/settings.rst:44 514089cd2e0e4c9e8b143fe28da78667
msgid ""
"If so, it fetches a lightweight metadata file (~200 bytes) from GitHub to"
" see if a newer database is available."
msgstr ""
"Si c'est le cas, il récupère depuis GitHub un fichier de métadonnées "
"léger (environ 200 octets) pour savoir si une base plus récente est "
"disponible."
#: ../../source/settings.rst:45 cd91691de90d491fb891524cedf55218
msgid ""
"If a newer, compatible database exists, Maigret downloads it to "
"``~/.maigret/data.json`` and uses it instead of the bundled copy."
msgstr ""
"S'il existe une base plus récente et compatible, Maigret la télécharge "
"dans ``~/.maigret/data.json`` et l'utilise à la place de la copie "
"embarquée."
#: ../../source/settings.rst:46 837e88ded4ad42e4b3d3a70dd57e81f2
msgid ""
"If the download fails or the new database is incompatible with your "
"Maigret version, the bundled database is used as a fallback."
msgstr ""
"Si le téléchargement échoue ou si la nouvelle base est incompatible avec "
"votre version de Maigret, la base embarquée sert de solution de repli."
#: ../../source/settings.rst:48 13f6ae56504342d9be93259b0fa33003
msgid ""
"The downloaded database has **higher priority** than the bundled one — it"
" replaces, not overlays."
msgstr ""
"La base téléchargée a une **priorité supérieure** à la base embarquée : "
"elle la remplace, elle ne se superpose pas à elle."
#: ../../source/settings.rst:50 b3f4963f12094f9e8546f5d595197bb6
msgid "**Status messages** are printed only when an action occurs:"
msgstr "**Les messages d'état** ne sont affichés que lorsqu'une action a lieu :"
#: ../../source/settings.rst:59 42e5b4887cde4660a2f0542c07dcedf7
msgid "**Forcing an update:**"
msgstr "**Forcer une mise à jour :**"
#: ../../source/settings.rst:61 89faa3328804430cbf93746ada4a4d88
msgid ""
"Use the ``--force-update`` flag to check for updates immediately, "
"ignoring the check interval:"
msgstr ""
"Utilisez l'option ``--force-update`` pour vérifier immédiatement les "
"mises à jour, sans tenir compte de l'intervalle de vérification :"
#: ../../source/settings.rst:67 220037a894014d9dbd366fb2a99e6119
msgid ""
"The update happens at startup, then the search continues normally with "
"the freshly downloaded database."
msgstr ""
"La mise à jour a lieu au démarrage, puis la recherche se poursuit "
"normalement avec la base fraîchement téléchargée."
#: ../../source/settings.rst:69 0cdb36848da640d7b692f7977f1725a1
msgid "**Disabling auto-update:**"
msgstr "**Désactiver la mise à jour automatique :**"
#: ../../source/settings.rst:71 6db5793be50e4c90a24734da0cec98ee
msgid "Use the ``--no-autoupdate`` flag to skip the update check entirely:"
msgstr ""
"Utilisez l'option ``--no-autoupdate`` pour ignorer complètement la "
"vérification :"
#: ../../source/settings.rst:77 17cfc74f62cf46c7bc54a75f1cca8802
msgid "Or set it permanently in ``~/.maigret/settings.json``:"
msgstr "Ou définissez-la de façon permanente dans ``~/.maigret/settings.json`` :"
#: ../../source/settings.rst:85 18273bd5be604dd5ad97821b35719b1b
msgid ""
"This is recommended for **Docker containers**, **CI pipelines**, and "
"**air-gapped environments**."
msgstr ""
"C'est recommandé pour les **conteneurs Docker**, les **pipelines "
"d'intégration continue** et les **environnements isolés du réseau**."
#: ../../source/settings.rst:87 0faa9c4c7e424e399b9f835443034182
msgid "**Configuration options** (in ``settings.json``):"
msgstr "**Options de configuration** (dans ``settings.json``) :"
#: ../../source/settings.rst:93 ../../source/settings.rst:266
#: 054564c056d1494597e89a3b742ed39e 98e3efc70a3447bc94d733611d6e6975
msgid "Setting"
msgstr "Paramètre"
#: ../../source/settings.rst:94 ../../source/settings.rst:267
#: 7e337b8f63fe4f32be13ca02bb5ace44 e25fa57cf77e4ab889a5bf5a992825f9
msgid "Default"
msgstr "Valeur par défaut"
#: ../../source/settings.rst:95 ../../source/settings.rst:207
#: ../../source/settings.rst:268 1eef0cc76a07448095ccd2b997421ef9
#: 787e234e02fd4f7a99cbe355d077843d e77ed8266a944fcaa3f90d87537d3095
msgid "Description"
msgstr "Description"
#: ../../source/settings.rst:96 06d5a75f72a345fba5c82712a61e59a1
msgid "``no_autoupdate``"
msgstr "``no_autoupdate``"
#: ../../source/settings.rst:97 f17a17726d7f4ee8ae5d59efe7d4dca8
msgid "``false``"
msgstr "``false``"
#: ../../source/settings.rst:98 95e7c7537f0144dcb59cdb9a2eab5b6f
msgid "Disable auto-update entirely"
msgstr "Désactive entièrement la mise à jour automatique"
#: ../../source/settings.rst:99 83fcbad2d96647989c7c711cf5305975
msgid "``autoupdate_check_interval_hours``"
msgstr "``autoupdate_check_interval_hours``"
#: ../../source/settings.rst:100 cdf137d498454401827eb2036818e001
msgid "``24``"
msgstr "``24``"
#: ../../source/settings.rst:101 6c2b200410174d0e934b4c975d0bee3e
msgid "How often to check for updates (in hours)"
msgstr "Fréquence de vérification des mises à jour (en heures)"
#: ../../source/settings.rst:102 5005644bf3194dcbb9af0cfaf0f046c8
msgid "``db_update_meta_url``"
msgstr "``db_update_meta_url``"
#: ../../source/settings.rst:103 29ba9a1f3730400bb470873a1621dc7b
msgid "GitHub raw URL"
msgstr "URL brute GitHub"
#: ../../source/settings.rst:104 0fdbf51eb2a54f9bb9016db8680409d2
msgid "URL of the metadata file (for custom mirrors)"
msgstr "URL du fichier de métadonnées (pour un miroir personnalisé)"
#: ../../source/settings.rst:106 84cd7381bc154facaad49be53c844b1b
msgid ""
"**Using a custom database** with ``--db`` always skips auto-update — you "
"are explicitly choosing your data source."
msgstr ""
"**Utiliser une base personnalisée** avec ``--db`` désactive toujours la "
"mise à jour automatique : vous choisissez explicitement votre source de "
"données."
#: ../../source/settings.rst:111 0e60ce383c304cd79a73b9ba9900aa90
msgid "Activation token cache"
msgstr "Cache des jetons d'activation"
#: ../../source/settings.rst:113 88fccff8940b44f689a41f95715e0c15
msgid ""
"A handful of sites reject anonymous requests until a short-lived token is"
" obtained: Twitter needs a guest token, Vimeo a JWT, Weibo and Wikimapia "
"a session cookie, OnlyFans a signed header pair, ProtonMail a bearer "
"token. Maigret mints these during a run, the first time such a site "
"answers with a challenge instead of a profile page."
msgstr ""
"Quelques sites rejettent les requêtes anonymes tant qu'un jeton de courte"
" durée n'a pas été obtenu : Twitter demande un jeton invité, Vimeo un "
"JWT, Weibo et Wikimapia un cookie de session, OnlyFans une paire d'en-"
"têtes signés, ProtonMail un jeton bearer. Maigret les génère en cours "
"d'exécution, la première fois qu'un tel site répond par un défi plutôt "
"que par une page de profil."
#: ../../source/settings.rst:115 2a4f0dcd05724ed49fcffb57e8e6a8e2
msgid "Minted values are cached in:"
msgstr "Les valeurs générées sont mises en cache dans :"
#: ../../source/settings.rst:121 714de8be43ad497d9418deb973aae4f0
msgid ""
"so the next run starts with a warm token and skips the extra round trip. "
"The file is created with ``0600`` permissions because these tokens are "
"session credentials — treat it as one, and do not attach it to a bug "
"report."
msgstr ""
"de sorte que l'exécution suivante démarre avec un jeton déjà chaud et "
"évite un aller-retour supplémentaire. Le fichier est créé avec les "
"permissions ``0600``, car ces jetons sont des identifiants de session : "
"traitez-le comme tel et ne le joignez pas à un rapport de bug."
#: ../../source/settings.rst:123 270653671f0449f2ad474d0e10f5af8a
msgid ""
"**What is stored:** only the header values that differ from what the site"
" database shipped. Storing the whole header set would pin the shipped "
"values, so a later database update could never change them again."
msgstr ""
"**Ce qui est stocké :** uniquement les valeurs d'en-tête qui diffèrent de"
" celles fournies par la base de sites. Stocker l'ensemble des en-têtes "
"figerait les valeurs livrées, et une mise à jour ultérieure de la base ne"
" pourrait plus jamais les modifier."
#: ../../source/settings.rst:125 98960ee7d2374592994f81ea5ccdca2d
msgid ""
"**Safe to delete:** yes. The next run mints whatever it needs again; the "
"only cost is one extra request per affected site."
msgstr ""
"**Peut-on le supprimer sans risque :** oui. L'exécution suivante regénère"
" ce dont elle a besoin ; cela ne coûte qu'une requête supplémentaire par "
"site concerné."
#: ../../source/settings.rst:127 ac64c5f1e78c45c2a293c37c9876b7e7
msgid ""
"**Why it is not kept in the site database:** the database is package "
"data. It is versioned, checksum-verified and replaced wholesale by :ref"
":`database-auto-update`, and on a system-wide install (distribution "
"package, snap, ``/nix/store``) its directory is not writable at all. "
"Tokens are per-user state with a different lifetime, so they live in a "
"separate file."
msgstr ""
"**Pourquoi il n'est pas conservé dans la base de sites :** la base fait "
"partie des données du paquet. Elle est versionnée, vérifiée par somme de "
"contrôle et remplacée intégralement par la :ref:`database-auto-update` ; "
"de plus, lors d'une installation à l'échelle du système (paquet de "
"distribution, snap, ``/nix/store``), son répertoire n'est pas du tout "
"accessible en écriture. Les jetons, eux, sont un état propre à "
"l'utilisateur, avec une durée de vie différente : ils vivent donc dans un"
" fichier séparé."
#: ../../source/settings.rst:130 ebb029ea82714466a8b97d847050b429
msgid "Cloudflare webgate"
msgstr "Webgate Cloudflare"
#: ../../source/settings.rst:134 202f1602b947481783614809cdbc065e
msgid ""
"**Experimental.** The ``cloudflare_bypass`` block is under active "
"development; field names, defaults, and the trigger-protection routing "
"rules may change without backwards-compatibility guarantees."
msgstr ""
"**Expérimental.** Le bloc ``cloudflare_bypass`` est en cours de "
"développement actif ; les noms de champs, les valeurs par défaut et les "
"règles de routage par protection déclenchante peuvent changer sans "
"garantie de compatibilité ascendante."
#: ../../source/settings.rst:138 cb36b917c00e40fb8d3ba14fc8a395fe
msgid ""
"The ``cloudflare_bypass`` block in ``settings.json`` configures the "
"optional bypass described in :ref:`cloudflare-bypass`. The same block is "
"honoured by the CLI, the Python API, and the web UI (``python -m "
"maigret.web.app``); set ``enabled: true`` once and every entry point "
"routes cf-protected sites through the solver."
msgstr ""
"Le bloc ``cloudflare_bypass`` de ``settings.json`` configure le "
"contournement facultatif décrit dans :ref:`cloudflare-bypass`. Ce même "
"bloc est pris en compte par la ligne de commande, l'API Python et "
"l'interface web (``python -m maigret.web.app``) : définissez ``enabled: "
"true`` une fois et tous les points d'entrée feront passer les sites "
"protégés par Cloudflare via le solveur."
#: ../../source/settings.rst:144 3b75de84595f42028bfffc394e04e301
msgid ""
"**Minimal FlareSolverr setup.** Start the solver in Docker, then drop the"
" following snippet into ``~/.maigret/settings.json`` (or any path listed "
"in :ref:`settings`):"
msgstr ""
"**Configuration FlareSolverr minimale.** Démarrez le solveur dans Docker,"
" puis déposez l'extrait suivant dans ``~/.maigret/settings.json`` (ou "
"dans l'un des chemins listés dans :ref:`settings`) :"
#: ../../source/settings.rst:169 3d652af4ea5a4865a6e16540c63c8ac9
msgid ""
"That is enough — ``session_prefix`` and ``trigger_protection`` fall back "
"to sensible defaults (``\"maigret\"`` and ``[\"cf_js_challenge\", "
"\"cf_firewall\", \"webgate\"]`` respectively). On the next run, Maigret "
"logs ``Cloudflare webgate active: ...`` and routes matching sites through"
" the solver."
msgstr ""
"Cela suffit : ``session_prefix`` et ``trigger_protection`` reprennent des"
" valeurs par défaut raisonnables (respectivement ``\"maigret\"`` et "
"``[\"cf_js_challenge\", \"cf_firewall\", \"webgate\"]``). À l'exécution "
"suivante, Maigret journalise ``Cloudflare webgate active: ...`` et fait "
"passer les sites correspondants par le solveur."
#: ../../source/settings.rst:175 2097863779d344e1ae247dc569b4b68f
msgid "Default value (full schema with every supported field):"
msgstr "Valeur par défaut (schéma complet, avec tous les champs pris en charge) :"
#: ../../source/settings.rst:200 06eb5435ed3146a6971008b016481164
msgid "**Fields.**"
msgstr "**Champs.**"
#: ../../source/settings.rst:206 07846b8d0d0a45ba804c0ec91d6e180b
msgid "Field"
msgstr "Champ"
#: ../../source/settings.rst:208 02494ad45b71492a9e303b7d8f6c52dc
msgid "``enabled``"
msgstr "``enabled``"
#: ../../source/settings.rst:209 e1811ab924fa4ac0a7b2635c203141a2
msgid ""
"When ``true``, the bypass is active for every run; when ``false`` (the "
"default), it activates only on ``--cloudflare-bypass``."
msgstr ""
"Lorsqu'il vaut ``true``, le contournement est actif à chaque exécution ; "
"lorsqu'il vaut ``false`` (par défaut), il ne s'active qu'avec "
"``--cloudflare-bypass``."
#: ../../source/settings.rst:211 9ea31bd9dff64928906a771fff1a2379
msgid "``trigger_protection``"
msgstr "``trigger_protection``"
#: ../../source/settings.rst:212 ca70603566b84654ad457beed9aa9d0f
msgid ""
"List of ``site.protection`` values that route a check through the "
"webgate. Sites whose protection is empty or doesn't intersect this list "
"use the default (aiohttp / curl_cffi) checker."
msgstr ""
"Liste des valeurs de ``site.protection`` qui font passer une vérification"
" par le webgate. Les sites dont la protection est vide, ou ne recoupe pas"
" cette liste, utilisent le vérificateur par défaut (aiohttp / curl_cffi)."
#: ../../source/settings.rst:215 3bfd5c6ea6404a489dded9f36f7c89f2
msgid "``session_prefix``"
msgstr "``session_prefix``"
#: ../../source/settings.rst:216 fff9872f0a094dd6998b4b6967874ec7
msgid ""
"Prefix for the FlareSolverr ``session`` field. Maigret appends the "
"process PID so concurrent runs don't collide. Reusing a session caches "
"cf_clearance between checks of the same domain."
msgstr ""
"Préfixe du champ ``session`` de FlareSolverr. Maigret y ajoute le PID du "
"processus pour que des exécutions concurrentes n'entrent pas en "
"collision. Réutiliser une session met en cache le cf_clearance entre les "
"vérifications d'un même domaine."
#: ../../source/settings.rst:219 9df6df011a394313b225a818cc62c8b9
msgid "``modules``"
msgstr "``modules``"
#: ../../source/settings.rst:220 a9fe0c319fb246e9998bebc72113fd48
msgid ""
"Ordered list of backend modules. The first reachable module handles the "
"check; later ones serve as a fallback chain."
msgstr ""
"Liste ordonnée des modules de backend. Le premier module joignable traite"
" la vérification ; les suivants forment une chaîne de repli."
#: ../../source/settings.rst:223 c06ae16380b24123b94106c7e1167569
msgid "**Module methods.**"
msgstr "**Méthodes des modules.**"
#: ../../source/settings.rst:225 3d04b828e60845028a7f0481de8f0542
msgid ""
"``json_api`` — FlareSolverr-compatible POST endpoint at ``url``. "
"Preserves real upstream HTTP status, headers and final URL. Optional "
"``max_timeout_ms`` (default ``60000``) is the per-request budget the "
"solver is allowed to spend on the JS challenge."
msgstr ""
"``json_api`` — point d'entrée POST compatible FlareSolverr à l'adresse "
"``url``. Préserve le vrai statut HTTP en amont, les en-têtes et l'URL "
"finale. Le champ facultatif ``max_timeout_ms`` (``60000`` par défaut) est"
" le budget par requête que le solveur peut consacrer au défi JavaScript."
#: ../../source/settings.rst:229 1420b85d982147069d53596ac7f48bce
#, python-brace-format
msgid ""
"``url_rewrite`` — legacy CloudflareBypassForScraping endpoint. The "
"``url`` must contain a ``{url}`` placeholder; the original probe URL is "
"URL-encoded and substituted in. Returns rendered HTML only — ``checkType:"
" status_code`` and ``response_url`` checks misfire under this method "
"(treated as a synthetic HTTP 200 on success)."
msgstr ""
"``url_rewrite`` — ancien point d'entrée CloudflareBypassForScraping. "
"L'``url`` doit contenir un emplacement ``{url}`` ; l'URL de sonde "
"d'origine y est insérée après encodage. Ne renvoie que du HTML rendu : "
"les vérifications ``checkType: status_code`` et ``response_url`` se "
"déclenchent donc à tort avec cette méthode (un succès est traité comme un"
" HTTP 200 synthétique)."
#: ../../source/settings.rst:235 1b9745c5d3af407a9288281aee2fe95e
msgid "**Optional ``proxy`` field (``json_api`` only).**"
msgstr "**Champ facultatif ``proxy`` (``json_api`` uniquement).**"
#: ../../source/settings.rst:237 b6c0c59d51a94d08ba4d073fdd37b32e
msgid ""
"A module may carry a ``proxy`` entry that the solver routes the upstream "
"request through. Useful when a site enforces ``ip_reputation`` rules that"
" block the solver host. Two forms are accepted:"
msgstr ""
"Un module peut porter une entrée ``proxy``, par laquelle le solveur fait "
"passer la requête en amont. C'est utile quand un site applique des règles"
" d'``ip_reputation`` qui bloquent la machine du solveur. Deux formes sont"
" acceptées :"
#: ../../source/settings.rst:251 0ac86ff3f5044119a00dbdf68a58a185
msgid ""
"Only ``url``/``username``/``password`` are forwarded; other keys are "
"dropped. Cloudflare ``Error 1015 / 1020`` responses indicate the IP is "
"rate-limited or banned — switch the proxy rather than retrying. .. _ai-"
"analysis-settings:"
msgstr ""
"Seuls ``url``/``username``/``password`` sont transmis ; les autres clés "
"sont ignorées. Une réponse Cloudflare ``Error 1015 / 1020`` signale que "
"l'IP est limitée en débit ou bannie : changez de proxy plutôt que de "
"réessayer. .. _ai-analysis-settings:"
#: ../../source/settings.rst:257 a1e518dd3b5947d39bd7987a5cc798a5
msgid "AI analysis"
msgstr "Analyse par IA"
#: ../../source/settings.rst:259 e19f1fb9a5cc4be5a6b9e128953afeb9
msgid ""
"The ``--ai`` flag (see :ref:`ai-analysis`) talks to an OpenAI-compatible "
"chat completion API. Three settings control how that request is made:"
msgstr ""
"L'option ``--ai`` (voir :ref:`ai-analysis`) interroge une API de "
"complétion de conversation compatible OpenAI. Trois paramètres contrôlent"
" la façon dont cette requête est faite :"
#: ../../source/settings.rst:269 31b8625625904e5483c9f9639ab2bca1
msgid "``openai_api_key``"
msgstr "``openai_api_key``"
#: ../../source/settings.rst:270 2863d798e677471fab8d2b8f48ffbc5a
msgid "``\"\"`` (empty)"
msgstr "``\"\"`` (vide)"
#: ../../source/settings.rst:271 26e54b9ec8054552b525569a0a11a5e0
msgid ""
"API key. If empty, Maigret falls back to the ``OPENAI_API_KEY`` "
"environment variable."
msgstr ""
"Clé d'API. Si elle est vide, Maigret se rabat sur la variable "
"d'environnement ``OPENAI_API_KEY``."
#: ../../source/settings.rst:273 ceb65e8a17544b47b0b6efe6d7209ca0
msgid "``openai_model``"
msgstr "``openai_model``"
#: ../../source/settings.rst:274 81861a14dba74c349adac984cb651b9f
msgid "``gpt-4o``"
msgstr "``gpt-4o``"
#: ../../source/settings.rst:275 6131b48ea228457d9ae08a4fd376b145
msgid "Default model name. Overridable per-run with ``--ai-model``."
msgstr ""
"Nom du modèle par défaut. Remplaçable à chaque exécution avec ``--ai-"
"model``."
#: ../../source/settings.rst:276 c852e9ea39044dde86a4654d01d1f875
msgid "``openai_api_base_url``"
msgstr "``openai_api_base_url``"
#: ../../source/settings.rst:277 5be258415c7a4149817299b196894f5d
msgid "``https://api.openai.com/v1``"
msgstr "``https://api.openai.com/v1``"
#: ../../source/settings.rst:278 1369709baf5e4a4687c0a7cd466d5000
msgid ""
"Base URL of the chat completion API. Point this at any OpenAI-compatible "
"service (Azure OpenAI, OpenRouter, a local server, …) to use it instead "
"of OpenAI directly."
msgstr ""
"URL de base de l'API de complétion de conversation. Pointez-la vers "
"n'importe quel service compatible OpenAI (Azure OpenAI, OpenRouter, un "
"serveur local, etc.) pour l'utiliser à la place d'OpenAI."
#: ../../source/settings.rst:282 63d2dbcdd40a40f085fffa6529ec3bcf
msgid "Example ``~/.maigret/settings.json`` snippet using a non-OpenAI endpoint:"
msgstr ""
"Exemple d'extrait de ``~/.maigret/settings.json`` utilisant un point "
"d'entrée autre qu'OpenAI :"
#: ../../source/settings.rst:293 71073712475a480e91641719e3bb8f01
msgid ""
"The key resolution order is ``settings.openai_api_key`` → "
"``OPENAI_API_KEY`` environment variable; the first non-empty value wins."
msgstr ""
"L'ordre de résolution de la clé est ``settings.openai_api_key`` → "
"variable d'environnement ``OPENAI_API_KEY`` ; la première valeur non vide"
" l'emporte."
#: ../../source/settings.rst:298 f39019712ea04850b9f4cfb253e2ed9e
msgid ""
"``--ai`` sends the full internal Markdown report (which contains the "
"gathered profile data) to the configured endpoint. Only use providers and"
" accounts you trust with that data."
msgstr ""
"``--ai`` envoie au point d'entrée configuré l'intégralité du rapport "
"Markdown interne, qui contient les données de profil collectées. "
"N'utilisez donc que des fournisseurs et des comptes auxquels vous confiez"
" ces données."
@@ -0,0 +1,151 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/supported-identifier-types.rst:4
#: 4e3ddb50a05a41aa8214a14b15d3adc2
msgid "Supported identifier types"
msgstr "Types d'identifiants pris en charge"
#: ../../source/supported-identifier-types.rst:6
#: e9df9fe1a98a46fd8df7aece5a7aee6d
msgid ""
"Maigret can search against not only ordinary usernames, but also through "
"certain common identifiers. There is a list of all currently supported "
"identifiers."
msgstr ""
"Maigret peut effectuer des recherches non seulement sur des noms "
"d'utilisateur ordinaires, mais aussi sur certains identifiants courants. "
"Voici la liste de tous les identifiants actuellement pris en charge."
#: ../../source/supported-identifier-types.rst:8
#: f49a3ce4a041444e87b581bc53fbd426
msgid ""
"**gaia_id** - Google inner numeric user identifier, in former times was "
"placed in a Google Plus account URL."
msgstr ""
"**gaia_id** - identifiant numérique interne d'un utilisateur Google, "
"autrefois présent dans l'URL d'un compte Google Plus."
#: ../../source/supported-identifier-types.rst:9
#: e7a2c873d0d545729a3a56a7a7eceb88
msgid "**steam_id** - Steam inner numeric user identifier."
msgstr "**steam_id** - identifiant numérique interne d'un utilisateur Steam."
#: ../../source/supported-identifier-types.rst:10
#: cb153f404b2b4d7091352146268d2338
msgid "**wikimapia_uid** - Wikimapia.org inner numeric user identifier."
msgstr ""
"**wikimapia_uid** - identifiant numérique interne d'un utilisateur "
"Wikimapia.org."
#: ../../source/supported-identifier-types.rst:11
#: fdd65b9f7a4f43079409417deb8061d4
msgid "**uidme_uguid** - uID.me inner numeric user identifier."
msgstr "**uidme_uguid** - identifiant numérique interne d'un utilisateur uID.me."
#: ../../source/supported-identifier-types.rst:12
#: 09f3da88f83149ed966de82bb2fb6fc9
msgid ""
"**yandex_public_id** - Yandex sites inner letter user identifier. See "
"also: `YaSeeker <https://github.com/HowToFind-bot/YaSeeker>`_."
msgstr ""
"**yandex_public_id** - identifiant alphabétique interne d'un utilisateur "
"des sites Yandex. Voir aussi : `YaSeeker <https://github.com/HowToFind-"
"bot/YaSeeker>`_."
#: ../../source/supported-identifier-types.rst:13
#: 7c1bb033f4ce4410b1e785545fe3f596
msgid "**vk_id** - VK.com inner numeric user identifier."
msgstr "**vk_id** - identifiant numérique interne d'un utilisateur VK.com."
#: ../../source/supported-identifier-types.rst:14
#: e9fa70fec80d43c6ae5469e23015687b
msgid "**ok_id** - OK.ru inner numeric user identifier."
msgstr "**ok_id** - identifiant numérique interne d'un utilisateur OK.ru."
#: ../../source/supported-identifier-types.rst:15
#: 33a528dbf2b448878889bc9be31d2cbe
msgid "**yelp_userid** - Yelp inner user identifier."
msgstr "**yelp_userid** - identifiant interne d'un utilisateur Yelp."
#: ../../source/supported-identifier-types.rst:16
#: f508891fe0a6448c83ed1f5239265b72
msgid ""
"**qq_id** - QQ (Tencent) numeric account number, also used as the Qzone "
"profile id."
msgstr ""
"**qq_id** - numéro de compte QQ (Tencent), également utilisé comme "
"identifiant de profil Qzone."
#: ../../source/supported-identifier-types.rst:17
#: cab2098d1f2e444a8050027f792d61cb
#, python-brace-format
msgid ""
"**bilibili_id** - Bilibili numeric user id (the ``mid`` in a "
"``space.bilibili.com/{mid}`` profile URL)."
msgstr ""
"**bilibili_id** - identifiant numérique d'un utilisateur Bilibili (le "
"``mid`` dans l'URL de profil ``space.bilibili.com/{mid}``)."
#: ../../source/supported-identifier-types.rst:20
#: d71124dfbca84622aa08ac9b8d3de901
msgid "Example"
msgstr "Exemple"
#: ../../source/supported-identifier-types.rst:22
#: cd630b1843694f8f81ad45c30a60de23
msgid ""
"Pass the identifier as the target and select its type with ``--id-type``."
" For example, to look up the QQ number ``10001``:"
msgstr ""
"Passez l'identifiant comme cible et précisez son type avec ``--id-type``."
" Par exemple, pour rechercher le numéro QQ ``10001`` :"
#: ../../source/supported-identifier-types.rst:28
#: 9f2559fbc479410a8add02b958af9dfd
msgid ""
"Maigret resolves the account via the Qzone portrait API and, when found, "
"extracts the nickname and avatar. Any site whose ``type`` does not match "
"the given ``--id-type`` is skipped, so a plain ``maigret 10001`` (default"
" ``username``) will not query QQ."
msgstr ""
"Maigret résout le compte via l'API des portraits Qzone et, s'il le "
"trouve, en extrait le pseudonyme et l'avatar. Tout site dont le ``type`` "
"ne correspond pas au ``--id-type`` fourni est ignoré : un simple "
"``maigret 10001`` (``username`` par défaut) n'interrogera donc pas QQ."
#: ../../source/supported-identifier-types.rst:30
#: 3fe42649f19140f99c779b2a13da004e
msgid ""
"Or, to look up the Bilibili user id ``2`` (the ``mid`` from "
"``space.bilibili.com/2``):"
msgstr ""
"Ou, pour rechercher l'identifiant d'utilisateur Bilibili ``2`` (le "
"``mid`` de ``space.bilibili.com/2``) :"
#: ../../source/supported-identifier-types.rst:36
#: 7b504dd341e7488eb77881a83c9a55a5
msgid ""
"Maigret resolves the account via the Bilibili user-card API and, when "
"found, extracts the nickname, avatar, signature and follower count."
msgstr ""
"Maigret résout le compte via l'API de fiche utilisateur de Bilibili et, "
"s'il le trouve, en extrait le pseudonyme, l'avatar, la signature et le "
"nombre d'abonnés."
+185
View File
@@ -0,0 +1,185 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/tags.rst:4 d0898894c3044d8bb72beefefba4506b
msgid "Tags"
msgstr "Tags"
#: ../../source/tags.rst:6 6ca5a94c373f4ffaa82b41e62d2b0351
msgid ""
"The use of tags allows you to select a subset of the sites from big "
"Maigret DB for search."
msgstr ""
"Les tags permettent de sélectionner, pour une recherche, un sous-ensemble"
" de sites dans la grande base de Maigret."
#: ../../source/tags.rst:9 0bf981113d014f9c948857e5b9cf6c12
msgid "Tags markup is still not stable."
msgstr "Le balisage par tags n'est pas encore stabilisé."
#: ../../source/tags.rst:11 307d8a38b7d24f3aaca7e9f6d50f9f89
msgid "There are several types of tags:"
msgstr "Il existe plusieurs types de tags :"
#: ../../source/tags.rst:13 804c2388c8d44b5da2f728db804e108e
msgid ""
"**Country codes**: ``us``, ``jp``, ``br``... (`ISO 3166-1 alpha-2 "
"<https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2>`_). A country tag "
"means that having an account on the site implies a connection to that "
"country — either origin or residence. The goal is attribution, not "
"perfect accuracy."
msgstr ""
"**Codes pays** : ``us``, ``jp``, ``br``... (`ISO 3166-1 alpha-2 "
"<https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2>`_). Un tag pays "
"signifie qu'avoir un compte sur le site implique un lien avec ce pays, "
"par origine ou par résidence. Le but est l'attribution, pas une "
"exactitude parfaite."
#: ../../source/tags.rst:15 6d1b4db6ab784ccc9f97bd39eb839aa7
msgid ""
"**Global sites** (GitHub, YouTube, Reddit, Medium, etc.) get **no country"
" tag** — an account there says nothing about where a person is from."
msgstr ""
"**Les sites mondiaux** (GitHub, YouTube, Reddit, Medium, etc.) ne "
"reçoivent **aucun tag pays** : y avoir un compte ne dit rien de l'origine"
" d'une personne."
#: ../../source/tags.rst:16 6fa52a5c2b9140e88e8da02992263d89
msgid ""
"**Regional/local sites** where an account implies a specific country "
"**must** have a country tag: ``VK`` → ``ru``, ``Naver`` → ``kr``, "
"``Zhihu`` → ``cn``."
msgstr ""
"**Les sites régionaux ou locaux**, où un compte implique un pays précis, "
"**doivent** porter un tag pays : ``VK`` → ``ru``, ``Naver`` → ``kr``, "
"``Zhihu`` → ``cn``."
#: ../../source/tags.rst:17 79797bb380154145a63a54699e0dec22
msgid ""
"Multiple country tags are allowed when a service is used predominantly in"
" a few countries (e.g. ``Xing`` → ``de``, ``eu``)."
msgstr ""
"Plusieurs tags pays sont admis lorsqu'un service est majoritairement "
"utilisé dans quelques pays (par exemple ``Xing`` → ``de``, ``eu``)."
#: ../../source/tags.rst:18 f3b5028f93c8463ba11c209f07a11af0
msgid ""
"Do **not** assign country tags based on traffic statistics alone — a site"
" popular in India by traffic is not \"Indian\" if it is used globally."
msgstr ""
"N'attribuez **pas** de tag pays sur la seule base des statistiques de "
"trafic : un site populaire en Inde en volume de trafic n'est pas « indien"
" » s'il est utilisé dans le monde entier."
#: ../../source/tags.rst:20 b7bf1e92c0434b75be439d4aaf02c4e6
msgid ""
"**Site engines**. Most of them are forum engines now: ``uCoz``, "
"``vBulletin``, ``XenForo`` et al. Full list of engines stored in the "
"Maigret database."
msgstr ""
"**Moteurs de sites**. La plupart sont aujourd'hui des moteurs de forum : "
"``uCoz``, ``vBulletin``, ``XenForo`` et consorts. La liste complète des "
"moteurs est stockée dans la base de Maigret."
#: ../../source/tags.rst:22 2e0e7a897ea647f9b0c21c11323c9e0a
msgid ""
"**Sites' subject/type and interests of its users**. Full list of "
"\"standard\" tags is `present in the source code "
"<https://github.com/soxoj/maigret/blob/main/maigret/sites.py#L13>`_ only "
"for a moment."
msgstr ""
"**Thématique ou type de site, et centres d'intérêt de ses utilisateurs**."
" La liste complète des tags « standard » n'est pour l'instant `présente "
"que dans le code source "
"<https://github.com/soxoj/maigret/blob/main/maigret/sites.py#L13>`_."
#: ../../source/tags.rst:25 cc5161c0bd4246b69140fad2513e9abc
msgid "Usage"
msgstr "Utilisation"
#: ../../source/tags.rst:26 b5a35114e48f4be19013c720f9a0e7c3
msgid ""
"``--tags us,jp`` -- search on US and Japanese sites (actually marked as "
"such in the Maigret database)"
msgstr ""
"``--tags us,jp`` -- rechercher sur les sites américains et japonais (ceux"
" qui sont effectivement marqués comme tels dans la base de Maigret)"
#: ../../source/tags.rst:28 e110dee84ee54cf28f7209fc15c22fba
msgid "``--tags coding`` -- search on sites related to software development."
msgstr ""
"``--tags coding`` -- rechercher sur les sites liés au développement "
"logiciel."
#: ../../source/tags.rst:30 83d737e40edc4e8ab8225029c4a151e0
msgid "``--tags ucoz`` -- search on uCoz sites only (mostly CIS countries)"
msgstr ""
"``--tags ucoz`` -- rechercher uniquement sur les sites uCoz "
"(principalement dans les pays de la CEI)"
#: ../../source/tags.rst:33 6da443326d5c41eaaa009020d0f5750a
msgid "Blacklisting (excluding) tags"
msgstr "Exclure des tags"
#: ../../source/tags.rst:34 8f43b8871bfb445abe634af4b31416d9
msgid ""
"You can exclude sites with certain tags from the search using "
"``--exclude-tags``:"
msgstr ""
"Vous pouvez exclure de la recherche les sites portant certains tags avec "
"``--exclude-tags`` :"
#: ../../source/tags.rst:36 b988c1bff07d4b55b98971506ca4d460
msgid ""
"``--exclude-tags porn,dating`` -- skip all sites tagged with ``porn`` or "
"``dating``."
msgstr ""
"``--exclude-tags porn,dating`` -- ignorer tous les sites marqués ``porn``"
" ou ``dating``."
#: ../../source/tags.rst:38 81f4ce2351c34ab48895b996506d1bde
msgid "``--exclude-tags ru`` -- skip all Russian sites."
msgstr "``--exclude-tags ru`` -- ignorer tous les sites russes."
#: ../../source/tags.rst:40 1d37e3fb745843c4b656a01548e5dde1
msgid ""
"You can combine ``--tags`` and ``--exclude-tags`` to fine-tune your "
"search:"
msgstr ""
"Vous pouvez combiner ``--tags`` et ``--exclude-tags`` pour affiner la "
"recherche :"
#: ../../source/tags.rst:42 54fd1187559b4fb68daca202196ba853
msgid ""
"``--tags forum --exclude-tags ru`` -- search on forum sites, but skip "
"Russian ones."
msgstr ""
"``--tags forum --exclude-tags ru`` -- rechercher sur les forums, mais en "
"ignorant les forums russes."
#: ../../source/tags.rst:44 641c53fa9db44ab5bf6575600be686ce
msgid ""
"In the web interface, the tag cloud supports three states per tag: click "
"once to **include** (green), click again to **exclude** "
"(dark/strikethrough), and click once more to return to **neutral** (red)."
msgstr ""
"Dans l'interface web, le nuage de tags propose trois états par tag : un "
"clic pour **inclure** (vert), un deuxième pour **exclure** "
"(sombre/barré), et un troisième pour revenir à l'état **neutre** (rouge)."
@@ -0,0 +1,356 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/tor-and-proxies.rst:4 fa6f7546f68f4faaa3ec42a09f34b4d0
msgid "Tor, I2P, and proxies"
msgstr "Tor, I2P et proxys"
#: ../../source/tor-and-proxies.rst:6 171191cfd184493b9a244848468f6b79
msgid ""
"Maigret can route checks through an HTTP/SOCKS proxy, the Tor network, or"
" I2P. Three CLI flags cover three distinct goals — knowing which one you "
"need is the most common stumbling block."
msgstr ""
"Maigret peut faire passer ses vérifications par un proxy HTTP/SOCKS, par "
"le réseau Tor ou par I2P. Trois options de ligne de commande couvrent "
"trois objectifs distincts, et savoir laquelle il vous faut est le point "
"de confusion le plus fréquent."
#: ../../source/tor-and-proxies.rst:9 e71e2266acee47639dba1726d2f105b6
msgid "``--proxy`` vs ``--tor-proxy`` (and ``--i2p-proxy``)"
msgstr "``--proxy`` ou ``--tor-proxy`` (et ``--i2p-proxy``)"
#: ../../source/tor-and-proxies.rst:11 1b6c77669e314f4781ff5266c321fef0
msgid ""
"The most-asked question (see `issue #544 "
"<https://github.com/soxoj/maigret/issues/544>`_):"
msgstr ""
"La question la plus posée (voir l'`issue #544 "
"<https://github.com/soxoj/maigret/issues/544>`_) :"
#: ../../source/tor-and-proxies.rst:13 98ea5fc1c82a41f9a37b009f0aa4e143
msgid ""
"**You want every check to go through Tor** (e.g. you're on Tails OS, or "
"behind a country-level block, or your IP is rate-limited). → Use "
"``--proxy``, pointing at your Tor SOCKS port:"
msgstr ""
"**Vous voulez que toutes les vérifications passent par Tor** (par exemple"
" sous Tails OS, derrière un blocage national, ou parce que votre IP est "
"soumise à une limitation de débit). → Utilisez ``--proxy`` en le pointant"
" sur votre port SOCKS Tor :"
#: ../../source/tor-and-proxies.rst:19 d0830f7ce17e43c28b7d4508bc43a58f
msgid ""
"**You want to reach ``.onion`` sites in the Maigret database**, while the"
" rest of the run still uses your normal connection. → Use ``--tor-"
"proxy``:"
msgstr ""
"**Vous voulez atteindre les sites ``.onion`` de la base de Maigret**, "
"tandis que le reste de la recherche continue d'utiliser votre connexion "
"habituelle. → Utilisez ``--tor-proxy`` :"
#: ../../source/tor-and-proxies.rst:25 6a0a1236378540c38daa0fce6bd37467
msgid ""
"``--tor-proxy`` is **only** consulted for sites whose ``url`` is a "
"``.onion`` host. For every other site Maigret uses your direct connection"
" (or ``--proxy`` if set). Without ``--tor-proxy``, ``.onion`` sites are "
"silently skipped."
msgstr ""
"``--tor-proxy`` n'est consulté **que** pour les sites dont l'``url`` est "
"un hôte ``.onion``. Pour tous les autres sites, Maigret utilise votre "
"connexion directe (ou ``--proxy`` s'il est défini). Sans ``--tor-proxy``,"
" les sites ``.onion`` sont silencieusement ignorés."
#: ../../source/tor-and-proxies.rst:27 045ad9aabb5041d4a691e23e24da4f1c
msgid ""
"The same split applies to ``--i2p-proxy``: it is consulted only for "
"``.i2p`` hosts, never for clearweb sites."
msgstr ""
"Le même partage vaut pour ``--i2p-proxy`` : il n'est consulté que pour "
"les hôtes ``.i2p``, jamais pour les sites du web classique."
#: ../../source/tor-and-proxies.rst:29 6251510d9e294f96a2009752e4ecab50
msgid ""
"Defaults: ``--tor-proxy`` defaults to ``socks5://127.0.0.1:9050`` and "
"``--i2p-proxy`` to ``http://127.0.0.1:4444``. ``--proxy`` has no default."
" Maigret does **not** launch ``tor`` or an I2P router for you — start the"
" daemon first."
msgstr ""
"Valeurs par défaut : ``--tor-proxy`` vaut ``socks5://127.0.0.1:9050`` et "
"``--i2p-proxy`` vaut ``http://127.0.0.1:4444``. ``--proxy`` n'a pas de "
"valeur par défaut. Maigret ne lance **pas** ``tor`` ni de routeur I2P à "
"votre place : démarrez le démon d'abord."
#: ../../source/tor-and-proxies.rst:32 12112483f3d34d5e85f17f090d3904e8
msgid "Tor Browser vs system ``tor``: port numbers"
msgstr "Tor Browser ou ``tor`` système : les numéros de port"
#: ../../source/tor-and-proxies.rst:34 b90ae276b41d47769726848e88af3694
msgid "The SOCKS port differs by Tor installation:"
msgstr "Le port SOCKS dépend de l'installation de Tor :"
#: ../../source/tor-and-proxies.rst:36 fdaa66c468b447cbb88ef4984f8c4831
msgid ""
"**System ``tor`` daemon** (``apt install tor``, ``brew install tor``, "
"Tails) listens on ``9050``."
msgstr ""
"**Le démon ``tor`` système** (``apt install tor``, ``brew install tor``, "
"Tails) écoute sur ``9050``."
#: ../../source/tor-and-proxies.rst:37 66adcfa24d5f40088b638e3f29102dc6
msgid "**Tor Browser bundle** ships its own ``tor`` listening on ``9150``."
msgstr ""
"**Le Tor Browser Bundle** embarque son propre ``tor``, qui écoute sur "
"``9150``."
#: ../../source/tor-and-proxies.rst:39 38d89ff5ac4849c6b130e35e7de91671
msgid "If a connection refuses, try the other port:"
msgstr "Si la connexion est refusée, essayez l'autre port :"
#: ../../source/tor-and-proxies.rst:50 1ad8da514e5e44bfacb06c73b2f577ce
msgid "A note on results over Tor"
msgstr "Une remarque sur les résultats via Tor"
#: ../../source/tor-and-proxies.rst:52 561fa718451d47a78eefe40558e75b0b
msgid ""
"Most public WAFs (Cloudflare, DDoS-Guard, AWS WAF, Akamai) block Tor exit"
" nodes by default — usually more aggressively than they block datacenter "
"IPs. A Tor run typically produces **more UNKNOWNs and fewer CLAIMEDs** "
"than the same run from a residential connection. This is not a bug in "
"Maigret; it is the cost of anonymity."
msgstr ""
"La plupart des WAF publics (Cloudflare, DDoS-Guard, AWS WAF, Akamai) "
"bloquent les nœuds de sortie Tor par défaut, en général plus "
"agressivement que les IP de datacenter. Une recherche via Tor produit "
"donc typiquement **plus de UNKNOWN et moins de CLAIMED** que la même "
"recherche depuis une connexion résidentielle. Ce n'est pas un bug de "
"Maigret, c'est le prix de l'anonymat."
#: ../../source/tor-and-proxies.rst:54 f87daa4aeb08476ca863155f04b8dfc7
msgid "Recommended flags for a Tor run:"
msgstr "Options recommandées pour une recherche via Tor :"
#: ../../source/tor-and-proxies.rst:60 74e517aacedc483c98933ce39b49f875
msgid ""
"``--timeout 60`` — Tor circuits add 13 seconds per request; the default "
"30 s causes spurious timeouts."
msgstr ""
"``--timeout 60`` — les circuits Tor ajoutent 1 à 3 secondes par requête ;"
" les 30 s par défaut provoquent de faux dépassements de délai."
#: ../../source/tor-and-proxies.rst:61 69b6401b67104be98e8919fec581bfee
msgid ""
"``--retries 2`` — retries cover transient circuit failures, which are "
"common on Tor."
msgstr ""
"``--retries 2`` — les nouvelles tentatives couvrent les défaillances "
"passagères de circuit, fréquentes sur Tor."
#: ../../source/tor-and-proxies.rst:62 3cc986f733604f85a76a529455340dd3
msgid ""
"Optional ``-n 20`` — lowering concurrency (default 100) reduces the "
"chance of exits rate-limiting you."
msgstr ""
"Éventuellement ``-n 20`` — baisser la concurrence (100 par défaut) réduit"
" le risque de se faire limiter par les nœuds de sortie."
#: ../../source/tor-and-proxies.rst:64 21bf124edd304df0aedfbb6f3b19e6f7
msgid ""
"If you mainly need to bypass WAFs (rather than to remain anonymous), a "
"residential proxy will usually outperform Tor by a wide margin. See the "
"**\"Lots of sites fail / timeout / return 403\"** section in "
"`TROUBLESHOOTING.md "
"<https://github.com/soxoj/maigret/blob/main/TROUBLESHOOTING.md>`_."
msgstr ""
"Si votre objectif est surtout de contourner les WAF (et non de rester "
"anonyme), un proxy résidentiel fera en général bien mieux que Tor. Voir "
"la section **« Lots of sites fail / timeout / return 403 »** dans "
"`TROUBLESHOOTING.md "
"<https://github.com/soxoj/maigret/blob/main/TROUBLESHOOTING.md>`_."
#: ../../source/tor-and-proxies.rst:67 a6bb212ed1bf46a98733fc79cd456ded
msgid "Running on Tails OS"
msgstr "Utilisation sous Tails OS"
#: ../../source/tor-and-proxies.rst:69 c9fcdae23de34d1bafbbb43de5107a6e
msgid ""
"Tails forces every outbound connection through Tor at the network layer. "
"Maigret needs no special configuration to comply — pointing ``--proxy`` "
"at the Tails Tor daemon is enough:"
msgstr ""
"Tails force toutes les connexions sortantes à passer par Tor, au niveau "
"réseau. Maigret n'a besoin d'aucune configuration particulière pour s'y "
"conformer : pointer ``--proxy`` sur le démon Tor de Tails suffit :"
#: ../../source/tor-and-proxies.rst:75 0abaf5f98caf4efa9afe2fa2ba92fff6
msgid "Things that are **not** needed:"
msgstr "Ce qui n'est **pas** nécessaire :"
#: ../../source/tor-and-proxies.rst:77 9e6309b4249443609a2e011b8d8550ac
msgid ""
"``torsocks maigret …`` and ``torify maigret …`` — these wrap libc socket "
"calls, but Maigret's HTTP client (``aiohttp`` / ``curl_cffi``) bypasses "
"libc for network I/O, so the wrapper has no effect. Use ``--proxy`` "
"instead."
msgstr ""
"``torsocks maigret …`` et ``torify maigret …`` — ces commandes "
"enveloppent les appels de sockets de la libc, mais le client HTTP de "
"Maigret (``aiohttp`` / ``curl_cffi``) contourne la libc pour ses entrées-"
"sorties réseau : l'enveloppe n'a donc aucun effet. Utilisez ``--proxy`` à"
" la place."
#: ../../source/tor-and-proxies.rst:78 4621d1bb50734600a8b2a3d438452508
msgid ""
"``--tor-proxy`` — on Tails, *everything* must go via Tor (the OS enforces"
" this), so the niche \"only .onion via Tor\" mode that ``--tor-proxy`` "
"provides does not apply."
msgstr ""
"``--tor-proxy`` — sous Tails, *tout* doit passer par Tor (le système "
"l'impose), donc le mode de niche « uniquement les .onion via Tor » "
"qu'offre ``--tor-proxy`` ne s'applique pas."
#: ../../source/tor-and-proxies.rst:81 0c3703841ff84c038c799ef8626734e1
msgid "Installation over Tor on Tails"
msgstr "Installation via Tor sous Tails"
#: ../../source/tor-and-proxies.rst:83 fa45ad606e2846afabbe8ccce89ba9b3
msgid ""
"``pip`` itself does not know about Tor; on Tails you need ``torsocks`` to"
" wrap it:"
msgstr ""
"``pip`` lui-même ne connaît rien à Tor ; sous Tails, il faut l'envelopper"
" avec ``torsocks`` :"
#: ../../source/tor-and-proxies.rst:89 c4d8e21e134949c78c785038627b1f0a
msgid ""
"After install, the binary lands in ``~/.local/bin/maigret``. If "
"``maigret: command not found``, either add ``~/.local/bin`` to ``PATH`` "
"or invoke it as ``python3 -m maigret <username>``."
msgstr ""
"Après l'installation, le binaire se trouve dans ``~/.local/bin/maigret``."
" Si vous obtenez ``maigret: command not found``, ajoutez ``~/.local/bin``"
" au ``PATH`` ou lancez-le avec ``python3 -m maigret <nomdutilisateur>``."
#: ../../source/tor-and-proxies.rst:92 32d9f33c67b04ae9b554f2eb53526da9
msgid "Persisting Maigret across Tails sessions"
msgstr "Conserver Maigret d'une session Tails à l'autre"
#: ../../source/tor-and-proxies.rst:94 374910a59f7e44898db86c0b2dc6f743
msgid ""
"Tails wipes ``~/.local/`` on reboot unless you configure the Persistent "
"Storage to keep it. This is Tails configuration, not Maigret "
"configuration — see the official Tails docs:"
msgstr ""
"Tails efface ``~/.local/`` à chaque redémarrage, sauf si vous configurez "
"le stockage persistant pour le conserver. Cela relève de la configuration"
" de Tails, pas de celle de Maigret : voir la documentation officielle de "
"Tails."
#: ../../source/tor-and-proxies.rst:96 b55d4cc6ea5f451b905f0d8316bccdaa
msgid ""
"`Persistent Storage on Tails "
"<https://tails.boum.org/doc/persistent_storage/>`_"
msgstr ""
"`Le stockage persistant sur Tails "
"<https://tails.boum.org/doc/persistent_storage/>`_"
#: ../../source/tor-and-proxies.rst:97 2d87c620f5694824bfa6688c2de9422b
msgid ""
"`Configuring Persistent Storage features "
"<https://tails.boum.org/doc/persistent_storage/configure/>`_"
msgstr ""
"`Configurer les fonctionnalités du stockage persistant "
"<https://tails.boum.org/doc/persistent_storage/configure/>`_"
#: ../../source/tor-and-proxies.rst:99 3c11ded4586246b99b7a399f0d52cf58
msgid ""
"A step-by-step recipe contributed by a user (persisting "
"``~/.local/lib/python3.9`` and ``~/.local/bin`` and patching ``.bashrc``)"
" is in `issue #544 "
"<https://github.com/soxoj/maigret/issues/544#issuecomment-1356469171>`__."
" Treat it as a starting point: the Python version and Tails internals "
"change between Tails releases."
msgstr ""
"Une recette pas à pas proposée par un utilisateur (conserver "
"``~/.local/lib/python3.9`` et ``~/.local/bin``, et adapter ``.bashrc``) "
"se trouve dans l'`issue #544 "
"<https://github.com/soxoj/maigret/issues/544#issuecomment-1356469171>`__."
" Prenez-la comme point de départ : la version de Python et les rouages "
"internes de Tails changent d'une version de Tails à l'autre."
#: ../../source/tor-and-proxies.rst:102 fbf222bfd6304e13815575af814fdd3f
msgid "Reports on Tails — where to save them"
msgstr "Les rapports sous Tails : où les enregistrer"
#: ../../source/tor-and-proxies.rst:104 50579126fd04472caa715826fe9018ea
msgid ""
"The default ``reports/`` directory lives next to the working directory "
"and is wiped with the amnesiac session. To save reports somewhere "
"persistent, either pass ``-fo``:"
msgstr ""
"Le répertoire ``reports/`` par défaut se trouve à côté du répertoire de "
"travail et disparaît avec la session amnésique. Pour enregistrer les "
"rapports à un endroit persistant, passez ``-fo`` :"
#: ../../source/tor-and-proxies.rst:110 51bef7dd6fe648b299e2b01fb58470ed
msgid ""
"or set ``\"reports_path\"`` in your ``settings.json`` to a persistent "
"path. See :doc:`settings`."
msgstr ""
"ou définissez ``\"reports_path\"`` dans votre ``settings.json`` avec un "
"chemin persistant. Voir :doc:`settings`."
#: ../../source/tor-and-proxies.rst:113 30b403ee53ab4f95bc005902e4cdfbf8
msgid "Programmatic equivalents (Python library)"
msgstr "Équivalents programmatiques (bibliothèque Python)"
#: ../../source/tor-and-proxies.rst:115 3b01135fb81e45ba8ada55ff186d97e9
msgid ""
"The same options are available through the Python API. See :doc:`library-"
"usage` — the relevant keyword arguments are ``proxy=``, ``tor_proxy=`` "
"and ``i2p_proxy=``, accepting the same URL formats as the CLI flags."
msgstr ""
"Les mêmes options sont disponibles via l'API Python. Voir :doc:`library-"
"usage` : les arguments nommés correspondants sont ``proxy=``, "
"``tor_proxy=`` et ``i2p_proxy=``, et ils acceptent les mêmes formats "
"d'URL que les options de la ligne de commande."
#: ../../source/tor-and-proxies.rst:118 590b68e4e6bf436190e1b915a38a9873
msgid "See also"
msgstr "Voir aussi"
#: ../../source/tor-and-proxies.rst:120 de259856ac8948ff9d4f65ba07320707
msgid ":doc:`command-line-options` — full reference for the three flags."
msgstr ":doc:`command-line-options` — la référence complète des trois options."
#: ../../source/tor-and-proxies.rst:121 8e7c5aeb11da4c6eb400e7ffb4dd486a
msgid ""
"`TROUBLESHOOTING.md "
"<https://github.com/soxoj/maigret/blob/main/TROUBLESHOOTING.md>`_ — quick"
" recipes for ``.onion`` / I2P sites and for WAF-induced 403s."
msgstr ""
"`TROUBLESHOOTING.md "
"<https://github.com/soxoj/maigret/blob/main/TROUBLESHOOTING.md>`_ — des "
"recettes rapides pour les sites ``.onion`` / I2P et pour les 403 "
"provoqués par un WAF."
#: ../../source/tor-and-proxies.rst:122 900071a16a8f4bb18dc8374f5eff6740
msgid ":doc:`library-usage` — proxy options for embedded use."
msgstr ":doc:`library-usage` — les options de proxy pour un usage embarqué."
@@ -0,0 +1,143 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/usage-examples.rst:4 f63f7ddec3f94e128aceb617a25999c6
msgid "Usage examples"
msgstr "Exemples d'utilisation"
#: ../../source/usage-examples.rst:6 7fa1788c3e694e36ad28dab71e1b20da
msgid "You can use Maigret as:"
msgstr "Vous pouvez utiliser Maigret :"
#: ../../source/usage-examples.rst:8 3146fce50ff449ab95f9382aa0ee3a4e
msgid "a command line tool: initial and a default mode"
msgstr "en ligne de commande : le mode initial et par défaut"
#: ../../source/usage-examples.rst:9 b99de81bfb5a487cad6416c4acc3c62b
msgid ""
"a `web interface <#web-interface>`_: view the graph with results and "
"download all report formats on a single page"
msgstr ""
"via une `interface web <#web-interface>`_ : afficher le graphe des "
"résultats et télécharger tous les formats de rapport depuis une seule "
"page"
#: ../../source/usage-examples.rst:10 bd5f91f517374dbfb04b2858221aabf0
msgid "a library: integrate Maigret into your own project"
msgstr "comme bibliothèque : intégrer Maigret à votre propre projet"
#: ../../source/usage-examples.rst:13 2fb65b9f51bf44ed8b03e0f5dc2db402
msgid "Use Cases"
msgstr "Cas d'usage"
#: ../../source/usage-examples.rst:16 3406325edcf545cb80589b1aefc01dd4
msgid ""
"Search for accounts with username ``machine42`` on top 500 sites (by "
"default, according to Majestic Million rank) from the Maigret DB."
msgstr ""
"Rechercher des comptes portant le nom d'utilisateur ``machine42`` sur les"
" 500 premiers sites (par défaut, selon le classement Majestic Million) de"
" la base de Maigret."
#: ../../source/usage-examples.rst:22 fb1b3df0e08d4a27a4fdf731dbc96371
msgid ""
"Search for accounts with username ``machine42`` on **all sites** from the"
" Maigret DB."
msgstr ""
"Rechercher des comptes portant le nom d'utilisateur ``machine42`` sur "
"**tous les sites** de la base de Maigret."
#: ../../source/usage-examples.rst:29 76e664ed9de14dacad8b986c02ec566d
msgid ""
"Maigret will search for accounts on a huge number of sites, and some of "
"them may return false positive results. At the moment, we are working on "
"autorepair mode to deliver the most accurate results."
msgstr ""
"Maigret recherche des comptes sur un très grand nombre de sites, et "
"certains d'entre eux peuvent renvoyer des faux positifs. Nous travaillons"
" actuellement sur un mode de réparation automatique afin de fournir les "
"résultats les plus précis possible."
#: ../../source/usage-examples.rst:33 9582720f4e424daa8f46de69ec95a43f
msgid "If you experience many false positives, you can do the following:"
msgstr "Si vous rencontrez beaucoup de faux positifs, vous pouvez procéder ainsi :"
#: ../../source/usage-examples.rst:35 150ca233315d43f99412c013883038fc
msgid "Install the last development version of Maigret from GitHub"
msgstr "Installer la dernière version de développement de Maigret depuis GitHub"
#: ../../source/usage-examples.rst:36 bf9c9afb734f4245b0e5ff0a11cb7dda
msgid ""
"Run Maigret with ``--self-check --auto-disable`` flag and agree on "
"disabling of problematic sites"
msgstr ""
"Lancer Maigret avec les options ``--self-check --auto-disable`` et "
"accepter la désactivation des sites problématiques"
#: ../../source/usage-examples.rst:38 27110026e8bc43bc91e7e4b3f475d788
msgid ""
"Search for accounts with username ``machine42`` and generate HTML and PDF"
" reports."
msgstr ""
"Rechercher des comptes portant le nom d'utilisateur ``machine42`` et "
"générer des rapports HTML et PDF."
#: ../../source/usage-examples.rst:44 964877386e19484f860bb041f0238431
msgid "or"
msgstr "ou"
#: ../../source/usage-examples.rst:51 092bce4e7bb343d28f76d0e22e6b2b9f
msgid "Search for accounts with username ``machine42`` on Facebook only."
msgstr ""
"Rechercher des comptes portant le nom d'utilisateur ``machine42`` sur "
"Facebook uniquement."
#: ../../source/usage-examples.rst:57 294b7878d0bb406483c31185847d61ae
msgid ""
"Extract information from the Steam page by URL and start a search for "
"accounts with found username ``machine42``."
msgstr ""
"Extraire les informations d'une page Steam à partir de son URL, puis "
"lancer une recherche de comptes avec le nom d'utilisateur ``machine42`` "
"ainsi trouvé."
#: ../../source/usage-examples.rst:63 f9e86af822e44c17bfbf626ab152ef9e
msgid ""
"Search for accounts with username ``machine42`` only on US and Japanese "
"sites."
msgstr ""
"Rechercher des comptes portant le nom d'utilisateur ``machine42`` "
"uniquement sur les sites américains et japonais."
#: ../../source/usage-examples.rst:69 9d16792882d1486f99e7dbcd1aa62a0f
msgid ""
"Search for accounts with username ``machine42`` only on sites related to "
"software development."
msgstr ""
"Rechercher des comptes portant le nom d'utilisateur ``machine42`` "
"uniquement sur les sites liés au développement logiciel."
#: ../../source/usage-examples.rst:75 473b81473b344deea48862316675f99a
msgid ""
"Search for accounts with username ``machine42`` on uCoz sites only "
"(mostly CIS countries)."
msgstr ""
"Rechercher des comptes portant le nom d'utilisateur ``machine42`` "
"uniquement sur les sites uCoz (principalement dans les pays de la CEI)."
@@ -0,0 +1,563 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/use-cases/crypto.rst:4 ad5968f74ecb4ec89aef75ae544fbc29
msgid "Cryptocurrency & Web3 Investigations"
msgstr "Enquêtes cryptomonnaies et Web3"
#: ../../source/use-cases/crypto.rst:6 4e690b83e18b47a695f9367062c40134
msgid ""
"Blockchain transactions are public, but the people behind wallets are "
"not. Maigret helps bridge this gap by finding Web3 accounts tied to a "
"username, revealing the person behind a pseudonymous crypto persona."
msgstr ""
"Les transactions de la blockchain sont publiques, mais pas les personnes "
"derrière les portefeuilles. Maigret aide à combler cet écart en "
"retrouvant les comptes Web3 liés à un nom d'utilisateur, et révèle ainsi "
"la personne derrière une identité crypto pseudonyme."
#: ../../source/use-cases/crypto.rst:9 f73fcb5f2a8a48b89855e0e3f0b9ab93
msgid "Why it matters"
msgstr "Pourquoi c'est important"
#: ../../source/use-cases/crypto.rst:11 0b01faa3fff84d91a337f6ec1debd594
msgid ""
"Crypto investigations often start with a wallet address or an ENS name "
"but hit a wall — the blockchain tells you *what* happened, not *who* did "
"it. A username, however, is reused across platforms. If someone trades on"
" OpenSea as ``zachxbt`` and posts on Warpcast as ``zachxbt``, Maigret "
"connects the dots and builds a full profile."
msgstr ""
"Les enquêtes crypto partent souvent d'une adresse de portefeuille ou d'un"
" nom ENS, puis se heurtent à un mur : la blockchain dit *ce qui* s'est "
"passé, pas *qui* l'a fait. Un nom d'utilisateur, en revanche, est "
"réutilisé d'une plateforme à l'autre. Si quelqu'un échange sur OpenSea "
"sous le pseudo ``zachxbt`` et publie sur Warpcast sous ``zachxbt``, "
"Maigret relie les points et construit un profil complet."
#: ../../source/use-cases/crypto.rst:13 428909a013294e51a223ae633ba9dac0
msgid "Common scenarios:"
msgstr "Scénarios courants :"
#: ../../source/use-cases/crypto.rst:15 9c839780b8bc41569e798989b8aeab1c
msgid ""
"**Scam attribution.** A rug-pull promoter uses the same alias on Fragment"
" (Telegram username marketplace), OpenSea, and a personal blog."
msgstr ""
"**Attribution d'une arnaque.** Le promoteur d'un rug pull utilise le même"
" pseudo sur Fragment (la place de marché des noms d'utilisateur "
"Telegram), sur OpenSea et sur un blog personnel."
#: ../../source/use-cases/crypto.rst:16 b9582bc453a641fbb09ef0a1cc695be6
msgid ""
"**Sanctions compliance.** Verifying whether a counterparty's online "
"footprint matches known sanctioned individuals."
msgstr ""
"**Conformité aux sanctions.** Vérifier si l'empreinte en ligne d'une "
"contrepartie correspond à des personnes connues comme sanctionnées."
#: ../../source/use-cases/crypto.rst:17 03a16ee8ce7e40079d0def9b98ca8af3
msgid ""
"**Due diligence.** Before an OTC deal or DAO vote, checking whether the "
"other party has a consistent online presence or is a freshly created "
"sockpuppet."
msgstr ""
"**Due diligence.** Avant une transaction de gré à gré ou un vote de DAO, "
"vérifier si l'autre partie a une présence en ligne cohérente ou s'il "
"s'agit d'une marionnette fraîchement créée."
#: ../../source/use-cases/crypto.rst:18 64d680470eb04e43b8eae25764ed4717
msgid ""
"**Stolen funds tracing.** A stolen NFT appears on OpenSea under a new "
"account — but the username matches a Warpcast profile with real-world "
"links."
msgstr ""
"**Traçage de fonds volés.** Un NFT volé réapparaît sur OpenSea sous un "
"nouveau compte, mais le nom d'utilisateur correspond à un profil Warpcast"
" qui comporte des liens vers le monde réel."
#: ../../source/use-cases/crypto.rst:21 21c7efb026774d378ba1f99d2fedf131
msgid "Supported sites"
msgstr "Sites pris en charge"
#: ../../source/use-cases/crypto.rst:23 aa04605c201b48328b689aec29b54564
msgid "Maigret currently checks the following crypto and Web3 platforms:"
msgstr "Maigret vérifie actuellement les plateformes crypto et Web3 suivantes :"
#: ../../source/use-cases/crypto.rst:29 74d2ab3196234ed0a24bba6f77d7e1a6
msgid "Site"
msgstr "Site"
#: ../../source/use-cases/crypto.rst:30 1c327513f9e2490f959352ef7472620e
msgid "What it reveals"
msgstr "Ce qu'il révèle"
#: ../../source/use-cases/crypto.rst:31 a37a5624f8664bedb4664d2b7e86e1c0
msgid "Notes"
msgstr "Remarques"
#: ../../source/use-cases/crypto.rst:32 e8b649cb3f8c4d66bfbf3b304840d3d4
msgid "**OpenSea**"
msgstr "**OpenSea**"
#: ../../source/use-cases/crypto.rst:33 0bf75621ef5e445c8d6e735b28f052b8
msgid "NFT collections, trading history, profile bio, linked website"
msgstr ""
"Collections de NFT, historique des échanges, biographie du profil, site "
"web associé"
#: ../../source/use-cases/crypto.rst:35 b642c2d480ae4503bbcf961c8e8b5f67
msgid "**Rarible**"
msgstr "**Rarible**"
#: ../../source/use-cases/crypto.rst:36 2cf8e4b6305f403f88583da83cd69453
msgid "NFT marketplace profile, collections, listing history"
msgstr "Profil de place de marché NFT, collections, historique des mises en vente"
#: ../../source/use-cases/crypto.rst:37 455441ef60704ddfb6c542417e8670ef
msgid "Complements OpenSea for NFT attribution across marketplaces"
msgstr "Complète OpenSea pour l'attribution de NFT d'une place de marché à l'autre"
#: ../../source/use-cases/crypto.rst:38 df35b69bc3664e2091b7aa51004eed7a
msgid "**Zora**"
msgstr "**Zora**"
#: ../../source/use-cases/crypto.rst:39 bfa1623d071449ea9b10b54231dd1466
msgid "Zora Network profile, minted NFTs, creator activity"
msgstr "Profil Zora Network, NFT frappés, activité de créateur"
#: ../../source/use-cases/crypto.rst:40 563ccd10999449e695f04a52cf817e22
msgid "Ethereum L2 creator platform; useful for on-chain art attribution"
msgstr ""
"Plateforme de créateurs sur un L2 Ethereum ; utile pour l'attribution "
"d'art on-chain"
#: ../../source/use-cases/crypto.rst:41 b6edd130b2d7463488219cef179f7c07
msgid "**Polymarket**"
msgstr "**Polymarket**"
#: ../../source/use-cases/crypto.rst:42 4456236df6d64e4b9ea67cd20f27ed47
msgid "Prediction-market profile, positions, public portfolio P&L"
msgstr ""
"Profil sur le marché prédictif, positions, gains et pertes du "
"portefeuille public"
#: ../../source/use-cases/crypto.rst:43 cc25827172b0419fa04045aab5448eb3
msgid "Useful for political/financial prediction attribution"
msgstr "Utile pour l'attribution de prédictions politiques ou financières"
#: ../../source/use-cases/crypto.rst:44 f34a2f9604b14a2a92750483eebddfed
msgid "**Warpcast** (Farcaster)"
msgstr "**Warpcast** (Farcaster)"
#: ../../source/use-cases/crypto.rst:45 b4094c34bd824915b7b07cadc1d2325d
msgid "Decentralized social profile, posts, follower graph, Farcaster ID"
msgstr ""
"Profil social décentralisé, publications, graphe d'abonnés, identifiant "
"Farcaster"
#: ../../source/use-cases/crypto.rst:46 956648fde130495390d546d664d4cde0
msgid ""
"Every Farcaster ID maps to an Ethereum address via the on-chain ID "
"registry"
msgstr ""
"Chaque identifiant Farcaster correspond à une adresse Ethereum via le "
"registre d'identifiants on-chain"
#: ../../source/use-cases/crypto.rst:47 6441dd6494ee4c2981e526fb4cd6ae3f
msgid "**Fragment**"
msgstr "**Fragment**"
#: ../../source/use-cases/crypto.rst:48 e7cd915496c648c6a5d3cae77464ae25
msgid "Telegram username ownership, TON wallet address, purchase date and price"
msgstr ""
"Propriété d'un nom d'utilisateur Telegram, adresse de portefeuille TON, "
"date et prix d'achat"
#: ../../source/use-cases/crypto.rst:49 3915106557874a708db74a66627f5995
msgid "Valuable for linking Telegram identities to TON wallets"
msgstr "Précieux pour relier des identités Telegram à des portefeuilles TON"
#: ../../source/use-cases/crypto.rst:50 d70a37c44d6c4c5792604c9b10295974
msgid "**Paragraph**"
msgstr "**Paragraph**"
#: ../../source/use-cases/crypto.rst:51 06abf366d32647cdad079565e676c65a
msgid "Web3 blog/newsletter, ETH wallet address, linked Twitter handle"
msgstr ""
"Blog ou newsletter Web3, adresse de portefeuille ETH, compte Twitter "
"associé"
#: ../../source/use-cases/crypto.rst:52 1782e0619d884ee4ab6b300cdb7bd99e
msgid "Richest cross-platform data among crypto sites"
msgstr "Les données inter-plateformes les plus riches parmi les sites crypto"
#: ../../source/use-cases/crypto.rst:53 394ec42393ab49b4950f473012e4003f
msgid "**Tonometerbot**"
msgstr "**Tonometerbot**"
#: ../../source/use-cases/crypto.rst:54 ad20409e25f64f0a8fdbf76976afdb35
msgid "TON wallet balance, subscriber count, NFT collection, rankings"
msgstr ""
"Solde du portefeuille TON, nombre d'abonnés, collection de NFT, "
"classements"
#: ../../source/use-cases/crypto.rst:55 6155483eaa594eb2b7299147ec38be1f
msgid "TON blockchain analytics"
msgstr "Analyse de la blockchain TON"
#: ../../source/use-cases/crypto.rst:56 5d08b167816c45629afd8f3c75cb566c
msgid "**Spatial**"
msgstr "**Spatial**"
#: ../../source/use-cases/crypto.rst:57 c4bc4d772e534f43848a6badacdde61e
msgid ""
"Metaverse profile, linked social accounts (Discord, Twitter, Instagram, "
"LinkedIn, TikTok)"
msgstr ""
"Profil metaverse, comptes sociaux associés (Discord, Twitter, Instagram, "
"LinkedIn, TikTok)"
#: ../../source/use-cases/crypto.rst:58 35dc8e345fa04e50948bea44b38d905c
msgid "Rich cross-platform links"
msgstr "Nombreux liens inter-plateformes"
#: ../../source/use-cases/crypto.rst:59 4df056e2f6fc41faab036e7d982d68cd
msgid "**Revolut.me**"
msgstr "**Revolut.me**"
#: ../../source/use-cases/crypto.rst:60 78c7530532aa4477839d9feff980bae3
msgid ""
"Payment handle: first/last name, country code, base currency, supported "
"payment methods"
msgstr ""
"Identifiant de paiement : prénom et nom, code pays, devise de référence, "
"moyens de paiement acceptés"
#: ../../source/use-cases/crypto.rst:61 d3608dbc954b4bff93a1babddfe28cdc
msgid ""
"Not strictly Web3, but widely used by crypto OTC traders for fiat off-"
"ramps; the public API returns structured KYC-adjacent data"
msgstr ""
"Pas vraiment du Web3, mais très utilisé par les traders crypto de gré à "
"gré pour convertir en monnaie fiduciaire ; l'API publique renvoie des "
"données structurées proches du KYC"
#: ../../source/use-cases/crypto.rst:64 64ea641f9f484d36af8aeeba844aa40b
msgid "Real-world example: zachxbt"
msgstr "Un exemple réel : zachxbt"
#: ../../source/use-cases/crypto.rst:66 e8c55d73d1fa41cfbcc66b5df9e8d507
msgid ""
"`ZachXBT <https://twitter.com/zachxbt>`_ is a well-known on-chain "
"investigator. Let's see what Maigret can find from just the username "
"``zachxbt``:"
msgstr ""
"`ZachXBT <https://twitter.com/zachxbt>`_ est un enquêteur on-chain bien "
"connu. Voyons ce que Maigret trouve à partir du seul nom d'utilisateur "
"``zachxbt`` :"
#: ../../source/use-cases/crypto.rst:72 10e57caefe734f94b05a25e173bcdefe
msgid ""
"Maigret finds 5 accounts and automatically extracts structured data from "
"each:"
msgstr ""
"Maigret trouve 5 comptes et en extrait automatiquement des données "
"structurées :"
#: ../../source/use-cases/crypto.rst:74 3617b511943a493ab596981f956c9a86
msgid ""
"**Fragment** — confirms the Telegram username ``@zachxbt`` is claimed, "
"reveals the TON wallet address (``EQBisZrk...``), purchase price (10 "
"TON), and date (January 2023)."
msgstr ""
"**Fragment** — confirme que le nom d'utilisateur Telegram ``@zachxbt`` "
"est pris, révèle l'adresse du portefeuille TON (``EQBisZrk...``), le prix"
" d'achat (10 TON) et la date (janvier 2023)."
#: ../../source/use-cases/crypto.rst:76 ffb9995d96bb427b8346b03e69940a91
msgid ""
"**Paragraph** — the richest result. Returns the real name used on the "
"platform (``ZachXBT``), bio (``Scam survivor turned 2D investigator``), "
"an Ethereum wallet address (``0x23dBf066...``), and a linked Twitter "
"handle (``zachxbt``). The ``wallet_address`` field is especially valuable"
" — it directly links the pseudonym to an on-chain identity."
msgstr ""
"**Paragraph** — le résultat le plus riche. Il renvoie le nom réel utilisé"
" sur la plateforme (``ZachXBT``), la biographie (``Scam survivor turned "
"2D investigator``), une adresse de portefeuille Ethereum "
"(``0x23dBf066...``) et un compte Twitter associé (``zachxbt``). Le champ "
"``wallet_address`` est particulièrement précieux : il relie directement "
"le pseudonyme à une identité on-chain."
#: ../../source/use-cases/crypto.rst:78 30bc828de2384a779def798b7e020704
msgid ""
"**Warpcast** — Farcaster profile with a Farcaster ID (``fid: 20931``), "
"profile image, and social graph (33K followers). Every Farcaster ID is "
"tied to an Ethereum address via the on-chain ID registry, so this is "
"another on-chain anchor."
msgstr ""
"**Warpcast** — profil Farcaster avec un identifiant Farcaster (``fid: "
"20931``), une photo de profil et un graphe social (33 000 abonnés). "
"Chaque identifiant Farcaster est lié à une adresse Ethereum via le "
"registre d'identifiants on-chain : voilà donc un autre point d'ancrage "
"on-chain."
#: ../../source/use-cases/crypto.rst:80 72082fea4d4a4e3e87496872b0443734
msgid ""
"**OpenSea** — NFT marketplace profile with bio (``On-chain sleuth | 10x "
"rug pull survivor``), avatar (hosted on ``seadn.io`` with an Ethereum "
"address in the URL path), and a link to an external investigations page."
msgstr ""
"**OpenSea** — profil de place de marché NFT avec une biographie (``On-"
"chain sleuth | 10x rug pull survivor``), un avatar (hébergé sur "
"``seadn.io``, avec une adresse Ethereum dans le chemin de l'URL) et un "
"lien vers une page d'enquêtes externe."
#: ../../source/use-cases/crypto.rst:82 ae0b864542004812bea0fbc8152a5d8d
msgid ""
"**Hive Blog** — blockchain-based blog account created in March 2025. Low "
"activity (1 post), but confirms the username is claimed across blockchain"
" ecosystems."
msgstr ""
"**Hive Blog** — compte de blog sur blockchain créé en mars 2025. Peu "
"d'activité (1 publication), mais cela confirme que le nom d'utilisateur "
"est pris dans les écosystèmes blockchain."
#: ../../source/use-cases/crypto.rst:84 819b44f6666a4fc0b768b411bcc3e7f5
msgid "From a single username, Maigret produces:"
msgstr "À partir d'un seul nom d'utilisateur, Maigret produit :"
#: ../../source/use-cases/crypto.rst:86 b70bb3546f9947bbb20aa33a50b53d75
msgid ""
"**2 wallet addresses** — one TON (from Fragment), one Ethereum (from "
"Paragraph)"
msgstr ""
"**2 adresses de portefeuille** — une TON (via Fragment), une Ethereum "
"(via Paragraph)"
#: ../../source/use-cases/crypto.rst:87 9785a32767ce470284606aa06a490d9f
msgid "**1 confirmed Twitter handle** — ``zachxbt`` (from Paragraph)"
msgstr "**1 compte Twitter confirmé** — ``zachxbt`` (via Paragraph)"
#: ../../source/use-cases/crypto.rst:88 e0bcc86d5b8b46b5a197d5ca7724e36d
msgid "**1 Telegram username** — ``@zachxbt`` (from Fragment)"
msgstr "**1 nom d'utilisateur Telegram** — ``@zachxbt`` (via Fragment)"
#: ../../source/use-cases/crypto.rst:89 27b0ecce165740a98ced8efa87d8be6c
msgid "**1 external link** — ``investigations.notion.site`` (from OpenSea)"
msgstr "**1 lien externe** — ``investigations.notion.site`` (via OpenSea)"
#: ../../source/use-cases/crypto.rst:90 8b3cd61f67004c7bbdb2f543efcb7497
msgid "**Social graph data** — 33K Farcaster followers, blog activity timestamps"
msgstr ""
"**Des données de graphe social** — 33 000 abonnés Farcaster, horodatages "
"de l'activité du blog"
#: ../../source/use-cases/crypto.rst:92 1ad051a0bb96496ab3f1e712d8020c67
msgid ""
"This is enough to pivot into blockchain analysis tools (Etherscan, "
"Arkham, Nansen) using the wallet addresses, or into social media analysis"
" using the Twitter handle."
msgstr ""
"C'est assez pour rebondir vers des outils d'analyse blockchain "
"(Etherscan, Arkham, Nansen) grâce aux adresses de portefeuille, ou vers "
"l'analyse des réseaux sociaux grâce au compte Twitter."
#: ../../source/use-cases/crypto.rst:95 0a44f303252b423d8a1d7cdac7a4a7e2
msgid "Workflow: from username to wallet"
msgstr "Méthode : du nom d'utilisateur au portefeuille"
#: ../../source/use-cases/crypto.rst:97 c6611f6f46384343a8bbad6a96c9b7b8
msgid "**Step 1: Search crypto platforms**"
msgstr "**Étape 1 : chercher sur les plateformes crypto**"
#: ../../source/use-cases/crypto.rst:103 d64c8d200f3a45219c275796f59be0b7
msgid "Review the results. Pay attention to:"
msgstr "Passez les résultats en revue. Regardez en particulier :"
#: ../../source/use-cases/crypto.rst:105 b7062a8925d5403e99ec0445316071de
msgid ""
"**Fragment** — if the username is claimed, you get a TON wallet address "
"directly."
msgstr ""
"**Fragment** — si le nom d'utilisateur est pris, vous obtenez directement"
" une adresse de portefeuille TON."
#: ../../source/use-cases/crypto.rst:106 5c13573ef4c5406081cc741e4ec92221
msgid ""
"**Paragraph** — blog profiles often contain an ETH address and a Twitter "
"handle."
msgstr ""
"**Paragraph** — les profils de blog contiennent souvent une adresse ETH "
"et un compte Twitter."
#: ../../source/use-cases/crypto.rst:107 f5ad2cc976594773894e3e5c07913d3c
msgid ""
"**Warpcast** — Farcaster IDs map to Ethereum addresses via the on-chain "
"registry."
msgstr ""
"**Warpcast** — les identifiants Farcaster correspondent à des adresses "
"Ethereum via le registre on-chain."
#: ../../source/use-cases/crypto.rst:108 41f7062dca4142a78f5b9a421560dd74
msgid "**OpenSea** — avatar URLs sometimes contain wallet addresses in the path."
msgstr ""
"**OpenSea** — les URL d'avatar contiennent parfois des adresses de "
"portefeuille dans leur chemin."
#: ../../source/use-cases/crypto.rst:110 90b45493a4904b10a8ee0e556e178e44
msgid "**Step 2: Expand with extracted identifiers**"
msgstr "**Étape 2 : élargir avec les identifiants extraits**"
#: ../../source/use-cases/crypto.rst:112 24abbd1123d84029b19f16109c85b0d8
msgid ""
"Maigret automatically extracts additional identifiers from found profiles"
" (real names, linked accounts, profile URLs) and recursively searches for"
" them. This is enabled by default. If Maigret finds a linked Twitter "
"handle on a Paragraph profile, it will automatically search for that "
"handle across all sites."
msgstr ""
"Maigret extrait automatiquement des identifiants supplémentaires des "
"profils trouvés (noms réels, comptes associés, URL de profil) et les "
"recherche à son tour, de façon récursive. Cette fonction est activée par "
"défaut. Si Maigret trouve un compte Twitter associé sur un profil "
"Paragraph, il recherchera automatiquement ce compte sur tous les sites."
#: ../../source/use-cases/crypto.rst:114 08463a16d98d46bd9f240ccfb4e04e05
msgid "**Step 3: Cross-reference with non-crypto platforms**"
msgstr "**Étape 3 : recouper avec les plateformes non crypto**"
#: ../../source/use-cases/crypto.rst:116 41434769c1ba43a586e9d1511fc64b6e
msgid ""
"The real power is connecting crypto personas to mainstream accounts. Drop"
" the tag filter:"
msgstr ""
"La vraie puissance consiste à relier des identités crypto à des comptes "
"grand public. Retirez le filtre par tag :"
#: ../../source/use-cases/crypto.rst:122 dde1e0066e7f4488aae95c979134e2b1
msgid ""
"This checks all 3000+ sites. A match on GitHub, Reddit, or a forum can "
"reveal the person behind the wallet."
msgstr ""
"Cela vérifie plus de 3 000 sites. Une correspondance sur GitHub, sur "
"Reddit ou sur un forum peut révéler la personne derrière le portefeuille."
#: ../../source/use-cases/crypto.rst:125 6997e5e52cb24fcab99dd0e437adee62
msgid "Workflow: from wallet to identity"
msgstr "Méthode : du portefeuille à l'identité"
#: ../../source/use-cases/crypto.rst:127 9386d3fcae5e42ecbda223074e6e6cd0
msgid ""
"If you start with a wallet address rather than a username, you can use "
"complementary tools to get a username first:"
msgstr ""
"Si vous partez d'une adresse de portefeuille plutôt que d'un nom "
"d'utilisateur, des outils complémentaires permettent d'obtenir d'abord un"
" nom d'utilisateur :"
#: ../../source/use-cases/crypto.rst:129 64b47fd982bc4a35afcf41c4170445e1
msgid ""
"**ENS / Unstoppable Domains** — resolve the wallet address to a human-"
"readable name (``vitalik.eth``). Then search that name in Maigret."
msgstr ""
"**ENS / Unstoppable Domains** — résoudre l'adresse du portefeuille en un "
"nom lisible (``vitalik.eth``). Recherchez ensuite ce nom dans Maigret."
#: ../../source/use-cases/crypto.rst:130 d129a77a233f45ba8454b34f24cdef3d
msgid ""
"**Etherscan labels** — check if the address has a public label (exchange,"
" known entity)."
msgstr ""
"**Étiquettes Etherscan** — vérifier si l'adresse porte une étiquette "
"publique (plateforme d'échange, entité connue)."
#: ../../source/use-cases/crypto.rst:131 f2fdef2540214fc3a9fcc3561c2d9c10
msgid ""
"**Fragment** — search the TON wallet address to find which Telegram "
"usernames it purchased."
msgstr ""
"**Fragment** — rechercher l'adresse du portefeuille TON pour savoir quels"
" noms d'utilisateur Telegram elle a achetés."
#: ../../source/use-cases/crypto.rst:132 abc6d3019c7c4c22865bcb86eb41e7b5
msgid ""
"**Arkham Intelligence / Nansen** — blockchain attribution platforms that "
"may tag the address with a known identity."
msgstr ""
"**Arkham Intelligence / Nansen** — des plateformes d'attribution "
"blockchain, susceptibles d'associer l'adresse à une identité connue."
#: ../../source/use-cases/crypto.rst:134 033a0ba3d36d430283c6a12956018fd5
msgid "Once you have a username candidate, feed it to Maigret."
msgstr "Une fois un nom d'utilisateur candidat en main, donnez-le à Maigret."
#: ../../source/use-cases/crypto.rst:137 2ce159d123b14d288c5d33703af6f3bc
msgid "Tips"
msgstr "Conseils"
#: ../../source/use-cases/crypto.rst:139 956c475b1ca54dd4a5deadc9977207da
msgid ""
"**Username reuse is the #1 signal.** Crypto-native users often reuse "
"their ENS name (``alice.eth``) or a variation (``alice_eth``, "
"``aliceeth``) across platforms. Try all variations."
msgstr ""
"**La réutilisation du nom d'utilisateur est le signal numéro un.** Les "
"utilisateurs nés dans la crypto réutilisent souvent leur nom ENS "
"(``alice.eth``) ou une variante (``alice_eth``, ``aliceeth``) d'une "
"plateforme à l'autre. Essayez toutes les variantes."
#: ../../source/use-cases/crypto.rst:140 7b8f774e36fe49d5bff1cb2b41795ff2
msgid ""
"**Fragment is uniquely valuable** because it directly links Telegram "
"usernames to TON wallet addresses — a rare on-chain / off-chain bridge."
msgstr ""
"**Fragment a une valeur unique**, car il relie directement des noms "
"d'utilisateur Telegram à des adresses de portefeuille TON : un pont on-"
"chain / off-chain rare."
#: ../../source/use-cases/crypto.rst:141 04ce594675e048e1b5c68685ad64803a
msgid ""
"**Warpcast profiles are Ethereum-native.** Every Farcaster account is "
"tied to an Ethereum address via the ID registry contract. If you find a "
"Warpcast profile, you implicitly have a wallet address."
msgstr ""
"**Les profils Warpcast sont nativement liés à Ethereum.** Chaque compte "
"Farcaster est rattaché à une adresse Ethereum via le contrat de registre "
"d'identifiants. Trouver un profil Warpcast, c'est donc disposer "
"implicitement d'une adresse de portefeuille."
#: ../../source/use-cases/crypto.rst:142 63a2fb8b549042b59231e844f8564901
msgid ""
"**Paragraph often has the richest data** — wallet address, Twitter "
"handle, bio, and activity timestamps in a single API response."
msgstr ""
"**Paragraph offre souvent les données les plus riches** : adresse de "
"portefeuille, compte Twitter, biographie et horodatages d'activité, le "
"tout dans une seule réponse d'API."
#: ../../source/use-cases/crypto.rst:143 550dc55e4dd94524b296fbc402354403
msgid ""
"**Use** ``--exclude-tags`` **to skip irrelevant sites** when you're "
"focused on crypto:"
msgstr ""
"**Utilisez** ``--exclude-tags`` **pour écarter les sites hors sujet** "
"lorsque vous vous concentrez sur la crypto :"
@@ -0,0 +1,485 @@
# French translation of the Maigret documentation.
# Copyright (C) 2025, soxoj
# This file is distributed under the same license as the Maigret package.
#
msgid ""
msgstr ""
"Project-Id-Version: Maigret 0.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-09-15 17:05+0200\n"
"PO-Revision-Date: 2026-09-15 17:20+0200\n"
"Last-Translator: \n"
"Language: fr\n"
"Language-Team: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"
#: ../../source/use-cases/scientists.rst:4 ee298635fb4742a48e2945efa81688f8
msgid "Academic & Research Investigations"
msgstr "Enquêtes universitaires et scientifiques"
#: ../../source/use-cases/scientists.rst:6 e6975c6d0c6f447a9c6a23b397d56e10
msgid ""
"Academic identity has a unique anchor that social-media identity does "
"not: the **ORCID** (Open Researcher and Contributor ID). Every ORCID is "
"verified, globally unique, and tied to a confirmed email — a single "
"confirmed ORCID match between two platforms means the **same human**, "
"with effectively zero false-positive rate."
msgstr ""
"L'identité universitaire dispose d'un point d'ancrage que l'identité des "
"réseaux sociaux n'a pas : l'**ORCID** (Open Researcher and Contributor "
"ID). Chaque ORCID est vérifié, unique au monde et rattaché à une adresse "
"e-mail confirmée. Une seule correspondance d'ORCID confirmée entre deux "
"plateformes signifie donc qu'il s'agit du **même être humain**, avec un "
"taux de faux positifs pratiquement nul."
#: ../../source/use-cases/scientists.rst:8 951b76d507194d8c94cf29a7c89354c8
msgid ""
"Maigret uses ORCID as a first-class identifier: extract it once from a "
"username-keyed profile (iNaturalist, GitHub bio, lab homepage), then "
"pivot into the academic graph (ORCID, OpenAlex, arXiv, DBLP, Scholia) — a"
" chain of HTTP calls that turns an anonymous handle into a CV with "
"employer, education, publication list, citation count, co-author graph, "
"and topical area."
msgstr ""
"Maigret traite l'ORCID comme un identifiant de premier rang : extrayez-le"
" une fois depuis un profil indexé par nom d'utilisateur (iNaturalist, "
"biographie GitHub, page d'un laboratoire), puis rebondissez dans le "
"graphe universitaire (ORCID, OpenAlex, arXiv, DBLP, Scholia). Cette "
"chaîne d'appels HTTP transforme un pseudo anonyme en CV, avec employeur, "
"formation, liste de publications, nombre de citations, graphe de co-"
"auteurs et domaines de recherche."
#: ../../source/use-cases/scientists.rst:11 ed48f48ba1f048e5b57a8b0deeaddef5
msgid "Why it matters"
msgstr "Pourquoi c'est important"
#: ../../source/use-cases/scientists.rst:13 0707507f77414ba4aa1f1098298d5e61
msgid ""
"Most OSINT work on academic targets stalls at the same bottleneck: people"
" use one alias on a citizen-science site, a different alias on Twitter, a"
" third in a forum signature, and only their real name on PubMed. "
"Connecting the personas by hand means trawling Google Scholar, "
"ResearchGate, university web pages, and old conference programmes. ORCID "
"short-circuits this entirely — one verified identifier resolves all of "
"them."
msgstr ""
"La plupart des travaux OSINT sur des cibles universitaires butent sur le "
"même goulot d'étranglement : les gens utilisent un pseudo sur un site de "
"science participative, un autre sur Twitter, un troisième dans la "
"signature d'un forum, et leur vrai nom uniquement sur PubMed. Relier ces "
"identités à la main suppose de ratisser Google Scholar, ResearchGate, les"
" pages des universités et de vieux programmes de conférences. L'ORCID "
"court-circuite tout cela : un seul identifiant vérifié les résout toutes."
#: ../../source/use-cases/scientists.rst:15 a21c00e5e60e42458fa6d6a08f0a1d15
msgid "Common scenarios:"
msgstr "Scénarios courants :"
#: ../../source/use-cases/scientists.rst:17 0d6ca7debd5d44aea14c0d24101f5e71
msgid ""
"**Researcher background check.** Before a collaboration, a preprint "
"review, or a grant decision — verifying that a claimed h-index, "
"employment history, and publication count actually match the public ORCID"
" record."
msgstr ""
"**Vérification du parcours d'un chercheur.** Avant une collaboration, la "
"relecture d'une préimpression ou une décision de financement, vérifier "
"qu'un indice h annoncé, un parcours professionnel et un nombre de "
"publications correspondent bien au dossier ORCID public."
#: ../../source/use-cases/scientists.rst:18 8e40cd767dec4332a379f3682699a1c3
msgid ""
"**Co-author graph reconstruction.** From a single ORCID, OpenAlex returns"
" every co-author, their institutions, and topical clusters — useful for "
"spotting undisclosed conflicts of interest."
msgstr ""
"**Reconstitution du graphe de co-auteurs.** À partir d'un seul ORCID, "
"OpenAlex renvoie tous les co-auteurs, leurs institutions et leurs "
"regroupements thématiques, ce qui aide à repérer des conflits d'intérêts "
"non déclarés."
#: ../../source/use-cases/scientists.rst:19 e03c81341117451e99b83d91c7314c2d
msgid ""
"**Paper mill / fraud investigation.** When a suspicious paper's authors "
"share an ORCID-claimed identity, the cross-platform footprint (or absence"
" of one) is itself evidence."
msgstr ""
"**Enquête sur une usine à articles ou une fraude.** Lorsque les auteurs "
"d'un article suspect partagent une identité revendiquée par un ORCID, "
"l'empreinte inter-plateformes, ou son absence, constitue en soi un "
"indice."
#: ../../source/use-cases/scientists.rst:20 ce7f90e5993848f6ba33e6907f0a5ec9
msgid ""
"**Pseudonym deanonymisation.** A wildlife photographer posts naturalist "
"observations under the handle ``kueda``. iNaturalist's public API returns"
" their ORCID, and one further request reveals their real name, employer "
"(California Academy of Sciences), education (UC Berkeley), and 700+ "
"citable observations."
msgstr ""
"**Désanonymisation d'un pseudonyme.** Un photographe animalier publie ses"
" observations naturalistes sous le pseudo ``kueda``. L'API publique "
"d'iNaturalist renvoie son ORCID, et une requête de plus révèle son vrai "
"nom, son employeur (California Academy of Sciences), sa formation (UC "
"Berkeley) et plus de 700 observations citables."
#: ../../source/use-cases/scientists.rst:21 db11da3e39074a36b5765df716326430
msgid ""
"**Award / appointment due diligence.** Confirming a Turing-Award claim, a"
" tenure status, or a society fellowship via the DBLP and ORCID activity "
"timelines rather than a CV PDF."
msgstr ""
"**Due diligence sur une récompense ou une nomination.** Confirmer "
"l'obtention d'un prix Turing, une titularisation ou une distinction d'une"
" société savante à partir des chronologies d'activité DBLP et ORCID, "
"plutôt qu'à partir d'un CV en PDF."
#: ../../source/use-cases/scientists.rst:24 a178ac647726484a84ef53f127734613
msgid "Supported sites"
msgstr "Sites pris en charge"
#: ../../source/use-cases/scientists.rst:26 10b6d6aeb0f1409fb0aa1b088a5bc5c7
msgid ""
"Maigret currently checks the following ORCID-keyed platforms (use ``--id-"
"type orcid`` when starting from a bare ORCID, or rely on the recursive "
"chain when starting from a username):"
msgstr ""
"Maigret vérifie actuellement les plateformes indexées par ORCID suivantes"
" (utilisez ``--id-type orcid`` si vous partez d'un ORCID seul, ou laissez"
" faire la chaîne récursive si vous partez d'un nom d'utilisateur) :"
#: ../../source/use-cases/scientists.rst:32 3f65871241f84c0e8e101c8537eda85a
msgid "Site"
msgstr "Site"
#: ../../source/use-cases/scientists.rst:33 03ff3bfe5ab54bb2979013d8d1c23fc8
msgid "What it reveals"
msgstr "Ce qu'il révèle"
#: ../../source/use-cases/scientists.rst:34 804b0a7b47f64aab951de81195af0bc0
msgid "Notes"
msgstr "Remarques"
#: ../../source/use-cases/scientists.rst:35 ca39813258694acaaa241fdf366d9e4d
msgid "**ORCID**"
msgstr "**ORCID**"
#: ../../source/use-cases/scientists.rst:36 54a63873fa1740008b556fb13f8090f5
msgid ""
"Full name, biography, employment, education, researcher URLs (homepages "
"and social), keywords, country, linked external IDs (Scopus, "
"ResearcherID, Loop), publication summary, email-verified status"
msgstr ""
"Nom complet, biographie, emploi, formation, URL du chercheur (pages "
"personnelles et réseaux sociaux), mots-clés, pays, identifiants externes "
"associés (Scopus, ResearcherID, Loop), résumé des publications, statut de"
" vérification de l'e-mail"
#: ../../source/use-cases/scientists.rst:37 1b41a5076121434e831dfee66091796e
msgid ""
"All disciplines — ORCID is a field-agnostic identifier issued to any "
"researcher."
msgstr ""
"Toutes les disciplines : l'ORCID est un identifiant indépendant du "
"domaine, délivré à tout chercheur."
#: ../../source/use-cases/scientists.rst:38 f97f67a7ee96484fb9eef1e6f0d11ea1
msgid "**OpenAlex**"
msgstr "**OpenAlex**"
#: ../../source/use-cases/scientists.rst:39 3c9c15e70646477fa5fb3dc23d7bd5f7
msgid ""
"Display name and name alternatives, works count, total citations, "
"h-index, i10-index, last-known institutions (with country), topical "
"areas, raw author-name variants from publications"
msgstr ""
"Nom affiché et variantes de nom, nombre de travaux, total des citations, "
"indice h, indice i10, dernières institutions connues (avec le pays), "
"domaines thématiques, variantes brutes du nom d'auteur issues des "
"publications"
#: ../../source/use-cases/scientists.rst:40 ce4c81289ac74c9bbacccec349db2df9
msgid ""
"All disciplines — indexes works across the entire scholarly literature, "
"from humanities to medicine."
msgstr ""
"Toutes les disciplines : il indexe les travaux de toute la littérature "
"scientifique, des sciences humaines à la médecine."
#: ../../source/use-cases/scientists.rst:41 f007230daa414d54922bc1025b0e8d90
msgid "**arXiv**"
msgstr "**arXiv**"
#: ../../source/use-cases/scientists.rst:42 582078eee6e84c0da02cbd5fbeaf6dea
msgid "Author preprint listing — paper titles, IDs, dates"
msgstr ""
"Liste des préimpressions de l'auteur : titres, identifiants et dates des "
"articles"
#: ../../source/use-cases/scientists.rst:43 bddc096db3e949eeac716f08857bba0b
msgid ""
"Strongly biased toward physics, math, CS (and quantitative biology, "
"statistics, EE, quantitative finance, economics)."
msgstr ""
"Fortement orienté physique, mathématiques et informatique (ainsi que "
"biologie quantitative, statistiques, génie électrique, finance "
"quantitative et économie)."
#: ../../source/use-cases/scientists.rst:44 dfeed256081e4cdba98f7a0dc34b62cc
msgid "**DBLP**"
msgstr "**DBLP**"
#: ../../source/use-cases/scientists.rst:45 09b26e4280694028b8858f837ed04f9d
msgid ""
"Full name, DBLP person ID, paper count, affiliation, awards (e.g. Turing "
"Award), homepage URLs, links to Google Scholar / ResearchGate / Scopus"
msgstr ""
"Nom complet, identifiant DBLP de la personne, nombre d'articles, "
"affiliation, récompenses (prix Turing, par exemple), URL de pages "
"personnelles, liens vers Google Scholar / ResearchGate / Scopus"
#: ../../source/use-cases/scientists.rst:46 79307d06313c4a64b193a320dc19e081
msgid ""
"Computer science only — a biologist or pure economist will not be in the "
"index."
msgstr ""
"Informatique uniquement : un biologiste ou un économiste pur ne figurera "
"pas dans l'index."
#: ../../source/use-cases/scientists.rst:47 9f6da096997544caa7cb79b109c3eb9f
msgid "**Scholia**"
msgstr "**Scholia**"
#: ../../source/use-cases/scientists.rst:48 813bb08484964990b333ccfdd8cbbfe4
msgid ""
"Wikidata QID for the author, linked publications, co-author graph, "
"employer/affiliation timeline, topical clusters"
msgstr ""
"QID Wikidata de l'auteur, publications associées, graphe de co-auteurs, "
"chronologie des employeurs et affiliations, regroupements thématiques"
#: ../../source/use-cases/scientists.rst:49 a1b58b6ea56a42c1bb357dedd13ca055
msgid ""
"All disciplines, but only if the author has been curated in Wikidata — "
"coverage is broadest for prominent figures (award winners, senior "
"faculty, deceased researchers)."
msgstr ""
"Toutes les disciplines, mais uniquement si l'auteur a été référencé dans "
"Wikidata ; la couverture est la plus large pour les figures en vue "
"(lauréats de prix, professeurs de rang élevé, chercheurs décédés)."
#: ../../source/use-cases/scientists.rst:52 de06a749073b46328f9aea93e421fefe
msgid "Workflow: from username to ORCID"
msgstr "Méthode : du nom d'utilisateur à l'ORCID"
#: ../../source/use-cases/scientists.rst:54 5891cccad461443091c2e7927af13841
msgid "**Step 1: Find a profile that publishes ORCID**"
msgstr "**Étape 1 : trouver un profil qui publie un ORCID**"
#: ../../source/use-cases/scientists.rst:56 c94819f103da4cfc8ec58159de9f585d
msgid ""
"The most reliable bridges from a username to an ORCID are platforms whose"
" users *want* their academic identity discoverable. In practice:"
msgstr ""
"Les passerelles les plus fiables entre un nom d'utilisateur et un ORCID "
"sont les plateformes dont les utilisateurs *souhaitent* que leur identité"
" universitaire soit trouvable. En pratique :"
#: ../../source/use-cases/scientists.rst:58 af0ebe5051a9413283aa3c86bf2ead8b
#, python-brace-format
msgid ""
"**iNaturalist** — biologists, naturalists, citizen scientists. Public API"
" ``api.inaturalist.org/v1/users/{username}`` returns the ORCID directly "
"in the ``orcid`` field. Maigret extracts it automatically."
msgstr ""
"**iNaturalist** — biologistes, naturalistes, scientifiques amateurs. "
"L'API publique ``api.inaturalist.org/v1/users/{username}`` renvoie "
"directement l'ORCID dans le champ ``orcid``. Maigret l'extrait "
"automatiquement."
#: ../../source/use-cases/scientists.rst:59 c46df7f429da4704b01deacdada3972a
#, python-brace-format
msgid ""
"**GitHub** — scientists often paste their ORCID URL into the **bio** or "
"**blog** field on their GitHub profile, or under a *generic* entry in "
"``/users/{u}/social_accounts``. A pattern like "
"``orcid\\.org/(\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX])`` matches both "
"``http://orcid.org/...`` and ``orcid.org/...`` variants."
msgstr ""
"**GitHub** — les scientifiques collent souvent l'URL de leur ORCID dans "
"le champ **bio** ou **blog** de leur profil GitHub, ou dans une entrée "
"*generic* de ``/users/{u}/social_accounts``. Un motif comme "
"``orcid\\.org/(\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX])`` capture aussi bien "
"les variantes ``http://orcid.org/...`` que ``orcid.org/...``."
#: ../../source/use-cases/scientists.rst:60 9aff91d6847f427aab3845da0b17f789
msgid ""
"**Lab homepage / institutional bio.** Use ``--parse <URL>`` to scrape an "
"arbitrary page for known identifiers — useful when the target's footprint"
" lives at ``faculty.example.edu/~jdoe``."
msgstr ""
"**Page d'un laboratoire ou biographie institutionnelle.** Utilisez "
"``--parse <URL>`` pour extraire les identifiants connus d'une page "
"quelconque : utile quand l'empreinte de la cible se trouve à "
"``faculty.example.edu/~jdoe``."
#: ../../source/use-cases/scientists.rst:62 a4b9e1231c484587ad3ee03658d3f0f1
msgid "**Step 2: Let the recursive search run**"
msgstr "**Étape 2 : laisser tourner la recherche récursive**"
#: ../../source/use-cases/scientists.rst:68 60b30eddb42343e4bd9ee036d8b17301
msgid ""
"Recursive search is enabled by default. As soon as Maigret extracts an "
"``orcid`` field from any found profile, it queues an ``--id-type orcid`` "
"second wave automatically. No manual chaining needed."
msgstr ""
"La recherche récursive est activée par défaut. Dès que Maigret extrait un"
" champ ``orcid`` d'un profil trouvé, il met automatiquement en file "
"d'attente une deuxième vague en ``--id-type orcid``. Aucun enchaînement "
"manuel n'est nécessaire."
#: ../../source/use-cases/scientists.rst:70 d7f8ce57148949bd97e19554276d3274
msgid "**Step 3: Start from a bare ORCID**"
msgstr "**Étape 3 : partir d'un ORCID seul**"
#: ../../source/use-cases/scientists.rst:72 38d34cdd4316459ca47872c652aa6521
msgid ""
"If you already have the ORCID (e.g. from a paper's author footer, a grant"
" database, or a Wikidata entry):"
msgstr ""
"Si vous disposez déjà de l'ORCID (repris du pied de page des auteurs d'un"
" article, d'une base de données de financements ou d'une fiche Wikidata) "
":"
#: ../../source/use-cases/scientists.rst:78 f708738f23654018827a8decf9ebe403
msgid "This bypasses the username-bridge step entirely."
msgstr "Cela évite complètement l'étape de la passerelle par nom d'utilisateur."
#: ../../source/use-cases/scientists.rst:81 457da1bf6f0f434e9e55a60cfce9f633
msgid "Workflow: from ORCID to mainstream identity"
msgstr "Méthode : de l'ORCID à l'identité grand public"
#: ../../source/use-cases/scientists.rst:83 28a7cf74523b4964b3fb48bf8c97ffd4
msgid ""
"The ORCID record itself contains the link back to ordinary social "
"platforms:"
msgstr ""
"Le dossier ORCID lui-même contient le chemin de retour vers les "
"plateformes sociales ordinaires :"
#: ../../source/use-cases/scientists.rst:85 20779e6815804c14b7954df92c053c1e
msgid ""
"**ORCID ``researcher-urls``** — a list of self-declared external links. "
"Typical entries: lab homepage, Twitter/Bluesky/Mastodon profile, personal"
" blog. These are entered by the researcher and therefore confirmed."
msgstr ""
"**Les ``researcher-urls`` d'ORCID** — une liste de liens externes "
"déclarés par le chercheur. On y trouve typiquement la page du "
"laboratoire, un profil Twitter/Bluesky/Mastodon ou un blog personnel. "
"Comme ils sont saisis par le chercheur, ils sont confirmés."
#: ../../source/use-cases/scientists.rst:86 db3d799271fb4908a688ae71a915c16a
msgid ""
"**ORCID ``external-identifiers``** — IDs from sibling academic systems "
"(Scopus Author ID, ResearcherID/Publons, Loop profile). Each unlocks "
"another extraction pipeline."
msgstr ""
"**Les ``external-identifiers`` d'ORCID** — des identifiants issus de "
"systèmes universitaires voisins (Scopus Author ID, ResearcherID/Publons, "
"profil Loop). Chacun ouvre une nouvelle chaîne d'extraction."
#: ../../source/use-cases/scientists.rst:87 0fcfe145df09492db565f203dfec1a46
msgid ""
"**OpenAlex ``last_known_institutions``** — current employer with country,"
" ROR ID, and OpenAlex institution ID; useful for pivoting into the "
"institution's directory."
msgstr ""
"**Les ``last_known_institutions`` d'OpenAlex** — l'employeur actuel avec "
"son pays, son identifiant ROR et son identifiant d'institution OpenAlex ;"
" utile pour rebondir vers l'annuaire de l'établissement."
#: ../../source/use-cases/scientists.rst:88 2f353ffc031b4ce5acb3693d1994cfb6
msgid ""
"**DBLP** ``<url>`` **tags** — DBLP records often embed direct links to "
"Google Scholar, ResearchGate, and personal pages."
msgstr ""
"**Les balises** ``<url>`` **de DBLP** — les fiches DBLP intègrent souvent"
" des liens directs vers Google Scholar, ResearchGate et des pages "
"personnelles."
#: ../../source/use-cases/scientists.rst:89 68839ebbc7fa4b54bdd9f8234a71e7d6
msgid ""
"**Scholia ``wikidata_qid``** — once you have a Wikidata QID, the SPARQL "
"endpoint unlocks the broadest external ID set in any single OSINT system:"
" VIAF, LCCN, GND, Twitter handle, Mastodon handle, IMDb, GitHub, ORCID, "
"and ~200 others."
msgstr ""
"**Le ``wikidata_qid`` de Scholia** — une fois le QID Wikidata en main, le"
" point d'accès SPARQL ouvre l'ensemble d'identifiants externes le plus "
"large de tous les systèmes OSINT : VIAF, LCCN, GND, compte Twitter, "
"compte Mastodon, IMDb, GitHub, ORCID, et environ deux cents autres."
#: ../../source/use-cases/scientists.rst:92 cda3de64d967460bad46e0cf70ef7881
msgid "Tips"
msgstr "Conseils"
#: ../../source/use-cases/scientists.rst:94 399546fd2d2a4aa3a35b86e2ec768d2f
msgid ""
"**Email comes from ORCID** — within the academic chain (ORCID, OpenAlex, "
"arXiv, DBLP, Scholia) it is the only source that returns an email "
"address, and only when the researcher has marked their primary email "
"public. The same response also carries ``history.verified-primary-"
"email``, an ORCID-confirmed flag that means the address was email-"
"validated at registration. Use this as a strong pivot into email-keyed "
"lookups (Holehe, HIBP, Gravatar, etc.)."
msgstr ""
"**L'e-mail vient d'ORCID.** Dans la chaîne universitaire (ORCID, "
"OpenAlex, arXiv, DBLP, Scholia), c'est la seule source qui renvoie une "
"adresse e-mail, et uniquement si le chercheur a rendu publique son "
"adresse principale. La même réponse porte aussi ``history.verified-"
"primary-email``, un indicateur confirmé par ORCID qui signifie que "
"l'adresse a été validée par e-mail lors de l'inscription. C'est un "
"excellent point de pivot vers les recherches par e-mail (Holehe, HIBP, "
"Gravatar, etc.)."
#: ../../source/use-cases/scientists.rst:95 4d19a19bbc1e4d7db060191d281c3d16
msgid ""
"**Outside the academic chain, GitLab is the dev platform most likely to "
"leak an email** via its public ``public_email`` field — relevant for "
"scientists who self-host code on a CERN/research-institute GitLab. "
"GitHub's REST API does not expose email by default."
msgstr ""
"**En dehors de la chaîne universitaire, GitLab est la plateforme de "
"développement la plus susceptible de laisser fuiter un e-mail**, via son "
"champ public ``public_email`` : cela concerne les scientifiques qui "
"hébergent leur code sur le GitLab du CERN ou d'un institut de recherche. "
"L'API REST de GitHub, elle, n'expose pas l'e-mail par défaut."
#: ../../source/use-cases/scientists.rst:96 1df0af5167e840019bf394062fc398a4
msgid ""
"**Compare OpenAlex** ``raw_author_names`` **against the ORCID** ``other-"
"names``. Discrepancies often expose pre-marriage names, transliterations "
"from non-Latin scripts, or co-author misattributions worth flagging."
msgstr ""
"**Comparez les** ``raw_author_names`` **d'OpenAlex aux** ``other-names`` "
"**d'ORCID.** Les écarts révèlent souvent des noms de jeune fille, des "
"translittérations depuis des écritures non latines, ou des attributions "
"erronées de co-auteurs, qu'il vaut la peine de signaler."
#: ../../source/use-cases/scientists.rst:97 6a915278a67a4998b3ac1e611999893d
#, python-brace-format
msgid ""
"**Anything fed into** ``--id-type orcid`` **must match** "
"``^\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]$``. The trailing character may "
"legitimately be ``X`` (ISO checksum); strip ``https://orcid.org/`` "
"prefixes before passing the bare ID."
msgstr ""
"**Tout ce que vous passez à** ``--id-type orcid`` **doit correspondre à**"
" ``^\\d{4}-\\d{4}-\\d{4}-\\d{3}[\\dX]$``. Le dernier caractère peut "
"légitimement être un ``X`` (somme de contrôle ISO) ; retirez le préfixe "
"``https://orcid.org/`` avant de passer l'identifiant nu."
@@ -970,12 +970,12 @@ msgstr "翻译"
msgid ""
"The docs are translated via Sphinx's standard gettext workflow. English "
"``.rst`` files are the source of truth; translations live as ``.po`` "
"catalogs under ``docs/source/locale/<lang>/LC_MESSAGES/`` (currently only"
" ``zh_CN``)."
"catalogs under ``docs/source/locale/<lang>/LC_MESSAGES/`` (currently "
"``zh_CN`` and ``fr``)."
msgstr ""
"文档通过 Sphinx 的标准 gettext 工作流进行翻译。英文 ``.rst`` 文件是事实来源(source of truth);翻译以 "
"``.po`` 目录形式存放在 ``docs/source/locale/<lang>/LC_MESSAGES/`` 之下(目前有 "
"``zh_CN``)。"
"``.po`` 目录形式存放在 ``docs/source/locale/<lang>/LC_MESSAGES/`` 之下(目前有 "
"``zh_CN`` 和 ``fr``)。"
#: ../../source/development.rst:366 92131512d2e146ebbc98e23c3fb2bb53
msgid ""