canaille-globuzma/doc/locales/fr/LC_MESSAGES/doc.po
Hosted Weblate ac532558ec
Update translation files
Updated by "Update PO files to match POT (msgmerge)" add-on in Weblate.

Translation: Canaille/Documentation
Translate-URL: https://hosted.weblate.org/projects/canaille/documentation/
2025-01-10 12:37:16 +01:00

8720 lines
371 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2024, Yaal Coop
# This file is distributed under the same license as the canaille package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
msgid ""
msgstr ""
"Project-Id-Version: canaille 0.0.56\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-01-10 12:36+0100\n"
"PO-Revision-Date: 2025-01-10 09:00+0000\n"
"Last-Translator: Éloi Rivard <eloi.rivard@nubla.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/canaille/"
"documentation/fr/>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.10-dev\n"
"Generated-By: Babel 2.16.0\n"
#: ../development/changelog.rst:2 1f34b2340e8b40bebbbb26b15e68b03b
msgid "Release notes"
msgstr "Notes de version"
#: ../development/changelog.rst:4 974a9ddc92084ba885466bd64dd8473e
msgid "All notable changes to this project will be documented in there."
msgstr "Tous les changements notables du projet seront documentés ici."
#: ../development/changelog.rst:6 412266a64b564ebd8cf722ee2e952ea5
msgid ""
"The format is based on `Keep a Changelog <https://keepachangelog.com/"
"en/1.0.0/>`_, and this project adheres to `Semantic Versioning <https://"
"semver.org/spec/v2.0.0.html>`_."
msgstr ""
"Le format est basé sur `Keep a Changelog <https://keepachangelog.com/"
"fr/1.0.0/>`_, et ce projet adhère à la politique de `versionnage sémantique "
"<https://semver.org/lang/fr/spec/v2.0.0.html>`_."
#: ../../CHANGES.rst:2 8e30b80f3f94498da6f59c6f63a94ec5
msgid "[0.0.58] - Unreleased"
msgstr "[0.0.58] - Inédit"
#: ../../CHANGES.rst:5 ../../CHANGES.rst:23 ../../CHANGES.rst:57
#: ../../CHANGES.rst:85 ../../CHANGES.rst:104 ../../CHANGES.rst:111
#: ../../CHANGES.rst:130 ../../CHANGES.rst:190 ../../CHANGES.rst:216
#: ../../CHANGES.rst:231 ../../CHANGES.rst:280 ../../CHANGES.rst:306
#: ../../CHANGES.rst:325 ../../CHANGES.rst:333 ../../CHANGES.rst:342
#: ../../CHANGES.rst:368 ../../CHANGES.rst:403 ../../CHANGES.rst:429
#: ../../CHANGES.rst:478 ../../CHANGES.rst:506 ../../CHANGES.rst:536
#: ../../CHANGES.rst:592 ../../CHANGES.rst:625 ../../CHANGES.rst:646
#: ../../CHANGES.rst:656 ../../CHANGES.rst:679 ../../CHANGES.rst:746
#: ../../CHANGES.rst:784 ../../CHANGES.rst:801 ../../CHANGES.rst:837
#: 74bd8e6a205c4a06b55ec9b1b8d86f48 4b956af725cc45d0ab80a2fdd02a4b9a
#: b8d535f039134b0a9afd68f7f8713d0c 879c4a3feec54624b5c16345690f94dd
#: 1985623df8644a759ff789f1fef96076 383ea6426a8f484f9ffb40a520830935
#: ac97d42167a54f52a4f4387433d4f2a6 51abb94c86684f0e98aa85821b3b55de
#: b7a9f2fff1f842a7b3df26649bc8bc63 cbc8dd1774c44a428cb21e8f4c9d8f2e
#: 240d272f380e4681987edd02c169246e 15e513215a474d70b40edf12381e72f7
#: 0418257ecc0c44959535ccb1f84887ed 105bf789bacd488b9547c456c678ce9a
#: 941f4be6c4fc4387a16a415291dcea10 39fb9e60582f4e7b849c6b352d4b8900
#: ba1f31ddd6a54152b9ec60ff8dc828e3 29032d8c22424133893779341d9a3cc4
#: 5becffbb07f9439f8f8e5128f6ae4b4c 5dca26ae33b5403883d0624bbebb09d3
#: 82f1ceff9a0449798fd2cda980481ef5 6f19ab064ce74b30a553a9c7f40734cc
#: 5bb5974e718c4fd898c6951c84e83fd8 e73ec88847a5405c83925f07aa1c9fa4
#: d0ecd5272cb842a39060ae5357ffdea1 668f2ebaabe94e7cae8d43c6ae82b8c0
#: fce964069b044cf3a9ef4c7b514572bc d889698da80b4ae486084b2081c9aaea
#: 18a1a9aca2364d989bed0ef2e1c05083 efcfdd51c4fe4adb81edbcb955eaec75
msgid "Added"
msgstr "Ajouté"
#: ../../CHANGES.rst:6 2deee404aef64ad3803993329510bc5a
msgid "``--version`` option to the CLI. :pr:`209`"
msgstr "Option ``--version`` pour l'interface en ligne de commandes :pr:`209`"
#: ../../CHANGES.rst:7 d659628d516c40b0a36d750e59d99921
#, fuzzy
#| msgid ""
#| ":attr:`~canaille.backends.sql.configuration.SQLSettings."
#| "PASSWORD_SCHEMES` :issue:`175`"
msgid ""
"Password hashing scheme customization with the :attr:`~canaille.backends.sql."
"configuration.SQLSettings.PASSWORD_SCHEMES` parameter. :issue:`175`"
msgstr ""
":attr:`~canaille.backends.sql.configuration.SQLSettings.PASSWORD_SCHEMES` :"
"issue:`175`"
#: ../../CHANGES.rst:8 63808a8f2ece4e8299c1d6a3d48678fb
#, fuzzy
#| msgid "`canaille get --all` command option to perform full database dumps"
msgid "`canaille dump` command option to perform full database dumps."
msgstr ""
"Option ``canaille get--all`` pour effectuer des sauvegardes complètes de la "
"base de données"
#: ../../CHANGES.rst:9 23d1dcb15ca24490ba863091cd087ff0
#, fuzzy
#| msgid "Email verification. :issue:`41` :pr:`147`"
msgid "Automatic SQL database migrations. :issue:`217` :pr:`214`"
msgstr "Vérification des adresses email. :issue:`41`:pr:`147`"
#: ../../CHANGES.rst:12 ../../CHANGES.rst:45 ../../CHANGES.rst:65
#: ../../CHANGES.rst:78 ../../CHANGES.rst:90 ../../CHANGES.rst:115
#: ../../CHANGES.rst:123 ../../CHANGES.rst:171 ../../CHANGES.rst:197
#: ../../CHANGES.rst:249 ../../CHANGES.rst:286 ../../CHANGES.rst:355
#: ../../CHANGES.rst:373 ../../CHANGES.rst:411 ../../CHANGES.rst:450
#: ../../CHANGES.rst:485 ../../CHANGES.rst:528 ../../CHANGES.rst:632
#: ../../CHANGES.rst:686 ../../CHANGES.rst:718 ../../CHANGES.rst:732
#: 9d6779c7467447bf9348630f9df9f7a6 b71b6cc4093d47b0a025a6084ee10b82
#: 3a1c46806f3a4fcd9bbcf94b8f2ecd6f 4ecdd331965d4307bcae6b8e23cc2758
#: 3007fe60da8b497489115528ff73a22a d97da6e417504c30905b3bbbcff0a3e5
#: 8379ca38044741609b60ac5563f117e8 a65d6cf0ec7440a89b6e4e26bcee20a9
#: 603c0752d0754d31ba81c98b44689841 803aba2541184a568053711d70a98172
#: a0d9788d439b4e76a40fecbedda27dd7 61a3b7ac77f1470db2511ddd0f4fb557
#: 893961704a1d436cbd4ca48dfb664ace 104393fcd7b0433cb2600fa15b60db74
#: 2900ac4761c1410c94519e4d29763ec5 e32378837b094cbbbf4e2446f6454991
#: 3cc46ac4032447bcb723f9c694279c51 47d34ef97528461eb4b152543826122d
#: 12cf7bbc8c624173a724dd66eea7edf2 b974765388144565a52c260b58adca84
#: 303ba7514eba49cda1e049ff223d146c
msgid "Changed"
msgstr "Modifié"
#: ../../CHANGES.rst:13 fe7429ca2df94118964bd4c3ea5cb945
msgid "CLI commands dump hashed passwords. :issue:`214`"
msgstr ""
#: ../../CHANGES.rst:16 ../../CHANGES.rst:53 ../../CHANGES.rst:95
#: ../../CHANGES.rst:134 ../../CHANGES.rst:142 ../../CHANGES.rst:150
#: ../../CHANGES.rst:157 ../../CHANGES.rst:164 ../../CHANGES.rst:178
#: ../../CHANGES.rst:208 ../../CHANGES.rst:221 ../../CHANGES.rst:239
#: ../../CHANGES.rst:258 ../../CHANGES.rst:266 ../../CHANGES.rst:292
#: ../../CHANGES.rst:300 ../../CHANGES.rst:320 ../../CHANGES.rst:350
#: ../../CHANGES.rst:382 ../../CHANGES.rst:390 ../../CHANGES.rst:416
#: ../../CHANGES.rst:436 ../../CHANGES.rst:460 ../../CHANGES.rst:470
#: ../../CHANGES.rst:491 ../../CHANGES.rst:499 ../../CHANGES.rst:522
#: ../../CHANGES.rst:545 ../../CHANGES.rst:557 ../../CHANGES.rst:566
#: ../../CHANGES.rst:575 ../../CHANGES.rst:584 ../../CHANGES.rst:604
#: ../../CHANGES.rst:611 ../../CHANGES.rst:661 ../../CHANGES.rst:669
#: ../../CHANGES.rst:694 ../../CHANGES.rst:702 ../../CHANGES.rst:710
#: ../../CHANGES.rst:723 ../../CHANGES.rst:737 ../../CHANGES.rst:769
#: ../../CHANGES.rst:792 ../../CHANGES.rst:823 a91b918636794649b7d165413624cf43
#: 53c5a65f508e4ce4a2cdb301851dd948 b274bbd1b95e42bcb8153fc3514259ce
#: 2533d3c823f74185b35b06fa4e1b80e3 ed1e8ab37be64a8f8ca5ffecb229e0ad
#: df88f1d57bf34873bffea45537b3af4c 6172e8c8655f4dcc9adc6bea34c0fc95
#: f69752d371734b35af74db0812516dd9 e84d4fc2503b4cb9bc30b43d71515f3d
#: de5ce855802f402a8b90fd3f7401d7d9 b0d8d589bafb44e7a50e1df6b5a2c0ee
#: df7c8e6f591146ae9d0214b5cf2ef20c 01c7173e0c4f4edd9b9435c71cf0b42f
#: f852bdbb77364a7e9cc6b146e56ed402 0fde0faefcc74c63814c308767cfece9
#: 646698a0b8834d5a82e6251501ac750e 72754d5c2e904a22a329f4254a514e9c
#: 7e1ac803c25144c0b2b9c902530a21a2 526a14aecd6f4e87b95a6edb635fc92c
#: 194cefb8995b489fb1cedfa349a864c0 50050907eee8458fb96d8c32a755b0d4
#: acbb3ec553594f6680d223653479eff4 089020254ca745848ba3bc24c50f593b
#: 2dccac9b689a4eefab864be77ee5a433 7ac15c877d0e44deadcfbb9c99e14ca6
#: 0606f5a65c6d412a96cb74b9eaf59706 08260e612848485cb1928449b08ddfa2
#: 0a5801741e6e4f68b248e8eefc11e32e d6643e325d37484d9c9b14c4dc3e26ff
#: ff19c7e139e64f40be24d0d3766e12d1 70025a466d2940dd82bb4d943cae9cbc
#: bc7c7a9dc156475c8a65bfe5b94c66df 10d045405e844791b053eee9e1f845e2
#: 66784d9272f44414a23d2b25cc73b179 02d5e48f9ea0441688e6d8e75da2bc20
#: daca4e664b6d4a949f8825c48941a1f2 42fe0d93e6da4649b6315591d95fabfd
#: e344dc15cfcd4ebaa54ed440b8745fd8 52a9e522d4784784aa9db400ec187e1f
#: 0d260c98b74242b0bde5f2cca4aca9b0 7f343e5272b14cdabcd8606c3af8de59
#: 6c2e38da89e548bcb490b4ef93d4cdd1 27d0795441ff491e8d5599a42d03f41b
#: e74496b8550542b7a5061fffdd77cddc
msgid "Fixed"
msgstr "Corrigé"
#: ../../CHANGES.rst:17 2bd1e492a77e48be91838061fed5e7b8
#, fuzzy
#| msgid "fixed a bug on updating user's settings :issue:`206`"
msgid "A bug on updating user's settings. :issue:`206`"
msgstr ""
"Correction d'un bug sur la mise à jours des paramètres utilisateurs :issue:"
"`206`"
#: ../../CHANGES.rst:20 a9391eece84240bb82abe2cbcd0d2367
msgid "[0.0.57] - 2024-12-31"
msgstr "[0.0.57] - 2024-12-31"
#: ../../CHANGES.rst:24 fb0fd10598b4464dae61d7edea3f3246
msgid "Intruder lockout :issue:`173`"
msgstr "Blocage des connexions après échecs :issue:`173`"
#: ../../CHANGES.rst:25 ac217f88cae6455a91e3240120afecd1
msgid ""
":attr:`~canaille.core.configuration.CoreSettings.ENABLE_INTRUDER_LOCKOUT` :"
"issue:`173`"
msgstr ""
":attr:`~canaille.core.configuration.CoreSettings.ENABLE_INTRUDER_LOCKOUT` :"
"issue:`173`"
#: ../../CHANGES.rst:27 61171b21dcc64e56b9a6d1b8fe1aa10e
msgid "Multi-factor authentication :issue:`47`"
msgstr "Authentification multi-facteurs :issue:`47`"
#: ../../CHANGES.rst:28 00fe2c01e8e741fbafa9004b6cbde2ae
msgid ""
":attr:`~canaille.core.configuration.CoreSettings.OTP_METHOD` and :attr:"
"`~canaille.core.configuration.CoreSettings.EMAIL_OTP` and :attr:`~canaille."
"core.configuration.CoreSettings.SMS_OTP` and :attr:`~canaille.core."
"configuration.CoreSettings.SMPP` :issue:`47`"
msgstr ""
":attr:`~canaille.core.configuration.CoreSettings.OTP_METHOD`, :attr:"
"`~canaille.core.configuration.CoreSettings.EMAIL_OTP`  :attr:`~canaille.core."
"configuration.CoreSettings.SMS_OTP` et :attr:`~canaille.core.configuration."
"CoreSettings.SMPP` :issue:`47`"
#: ../../CHANGES.rst:33 81230933555848b4b7db27a802f7445f
msgid "Password compromission check :issue:`179`"
msgstr "Vérification de la compromission des mots de passe :issue:`179`"
#: ../../CHANGES.rst:34 283ab183148249a2b3eab298fc7746c6
msgid ""
":attr:`~canaille.core.configuration.CoreSettings.ADMIN_EMAIL` and :attr:"
"`~canaille.core.configuration.CoreSettings."
"ENABLE_PASSWORD_COMPROMISSION_CHECK` and :attr:`~canaille.core.configuration."
"CoreSettings.PASSWORD_COMPROMISSION_CHECK_API_URL` :issue:`179`"
msgstr ""
":attr:`~canaille.core.configuration.CoreSettings.ADMIN_EMAIL` et :attr:"
"`~canaille.core.configuration.CoreSettings."
"ENABLE_PASSWORD_COMPROMISSION_CHECK` et :attr:`~canaille.core.configuration."
"CoreSettings.PASSWORD_COMPROMISSION_CHECK_API_URL` :issue:`179`"
#: ../../CHANGES.rst:38 935d8279dbc64e649d6d647c5747456a
msgid "Implement OIDC client_credentials flow. :issue:`207`"
msgstr "Implémentation du flux OIDC `client_credentials`. :issue:`207`"
#: ../../CHANGES.rst:39 cde005956a384cc2a9c6e19cb14e6c99
msgid "Button in the client admin page to create client tokens."
msgstr "Bouton de création de jetons sur la page dadministration des clients."
#: ../../CHANGES.rst:40 2f64a0f5e56f40c093e7c8bb34e57b21
msgid "Basic SCIM implementation. :issue:`116` :pr:`197`"
msgstr "Implémentation basique du protocole SCIM. :issue:`116` :pr:`197`"
#: ../../CHANGES.rst:41 e1497232147641ed858b53ca6d1a0c4d
msgid "Password expiry policy :issue:`176`"
msgstr "Politique dexpiration des mots de passe :issue:`176`"
#: ../../CHANGES.rst:42 452b760e978e47dc91176f653dc53d5b
msgid ":attr:`~canaille.core.configuration.CoreSettings.PASSWORD_LIFETIME`"
msgstr ":attr:`~canaille.core.configuration.CoreSettings.PASSWORD_LIFETIME`"
#: ../../CHANGES.rst:46 7f89d7aba58f465eab40eb10192962c4
msgid ""
"PostgreSQL and MySQL extras does not rely on libraries that need to be "
"compiled."
msgstr ""
"Les extras PostgreSQL et MySQL ne dépendent plus de bibliothèques qui "
"doivent être compilées."
#: ../../CHANGES.rst:47 da03a9cd311a416bbb18aed6783e2855
msgid ""
"``.env`` files are not loaded by default. The ``ENV_FILE`` env var must be "
"passed so ``.env`` files are loaded."
msgstr ""
"Les fichiers ``.env`` ne sont pas chargés par défaut. La variable "
"d'environnement ``ENV_FILE`` doit être passé pour que les fichiers ``.env`` "
"soient chargées."
#: ../../CHANGES.rst:50 50fe28668fa04a39b0004b6cd8cb9e68
msgid "[0.0.56] - 2024-11-07"
msgstr "[0.0.56] - 2024-11-07"
#: ../../CHANGES.rst:54 d1079f04609745a5b2b84388ffbafe12
msgid ""
"With LDAP backend, updating another user groups could result in a permission "
"lost for the editor. :issue:`202`"
msgstr ""
"Avec la base de données LDAP, la mise à jour des groupes dutilisateurs "
"pouvait engendrer une perte de permissions de léditeur. :issue:`202`"
#: ../../CHANGES.rst:58 5064e81a1a254f5cae3b89c8d59a263d
msgid ""
":attr:`~canaille.core.configuration.CoreSettings.MAX_PASSWORD_LENGTH` and :"
"attr:`~canaille.core.configuration.CoreSettings.MIN_PASSWORD_LENGTH` "
"configuration options :issue:`174`"
msgstr ""
"Options de configuration :attr:`~canaille.core.configuration.CoreSettings."
"MAX_PASSWORD_LENGTH` et :attr:`~canaille.core.configuration.CoreSettings."
"MIN_PASSWORD_LENGTH` :issue:`174`"
#: ../../CHANGES.rst:60 26e4f63a1064497b93ca4f9849d60b6e
msgid "Password strength visual indicator. :issue:`174`"
msgstr "Indicateur visuel de la force des mots de passe :issue:`174`"
#: ../../CHANGES.rst:61 a2fdef5b105b41d5ad708fe077dd6ea5
msgid "Security events logs. :issue:`177`"
msgstr "Journalisation des évènements de sécurité. :issue:`177`"
#: ../../CHANGES.rst:62 c01dd0db19874fb1a2bce1ab058ff012
msgid "Support for Python 3.13. :pr:`186`"
msgstr "Support de Python 3.13. :pr:`186`"
#: ../../CHANGES.rst:66 123ca7470aaa4f0ea643e898579c3cdb
msgid "Update to `HTMX` 2.0.3. :pr:`184`"
msgstr "Mise à jour vers HTMX 2.0.3. :pr:`184`"
#: ../../CHANGES.rst:67 289367c535344e859b7a42df83c7cf4f
msgid "Migrate the Python project management tool from poetry to uv. :pr:`187`"
msgstr ""
"Migration de poetry à uv comme outil de gestion de projet Python. :pr:`187`"
#: ../../CHANGES.rst:68 b553f5d728d74f9ea62e87cbf8472ef2
msgid ""
"The ``sql`` package extra is now split between ``sqlite``, ``postgresql`` "
"and ``mysql``."
msgstr ""
"Lextra de paquet ``sql`` a été divisé en ``sqlite``, ``postgresql`` et "
"``mysql``."
#: ../../CHANGES.rst:71 ../../CHANGES.rst:421 ../../CHANGES.rst:829
#: ac38305d876e48789c182a1fbf0483ac 022fcf9dd0534233866aa0d9974e2987
#: 29bdcf38f9d748fe90268b40a612f081
msgid "Removed"
msgstr "Supprimé"
#: ../../CHANGES.rst:72 943bfc081ef14407995de675069f94d1
msgid "End support for Python 3.9. :pr:`179`"
msgstr "Fin de support pour Python 3.9. :pr:`179`"
#: ../../CHANGES.rst:75 1329245bc09c41e790e01b07835c59a9
msgid "[0.0.55] - 2024-08-30"
msgstr "[0.0.55] - 2024-08-30"
#: ../../CHANGES.rst:79 79310b4f35ed49b980404e77433ad344
msgid "Use poetry-core build backend. :pr:`178`"
msgstr ""
"Utilisation de `poetry-core` comme outil de construction de paquets. :pr:"
"`178`"
#: ../../CHANGES.rst:82 b1c2cc3b8f1644cba3e1e82dfd2eda3b
msgid "[0.0.54] - 2024-07-25"
msgstr "[0.0.54] - 2024-07-25"
#: ../../CHANGES.rst:86 ebb97b0ad729407381eafd00a0345db4
msgid ""
"Group member removal can be achieved from the group edition page. :issue:"
"`192`"
msgstr ""
"La suppression des membres de groupes peut être effectuée depuis la page "
"dédition des groupes. :issue:`192`"
#: ../../CHANGES.rst:87 b938d978231f485d96dd65c284b50c75
msgid "Model management commands. :issue:`117` :issue:`54`"
msgstr "Commande de gestion des modèles. :issue:`117` :issue:`54`"
#: ../../CHANGES.rst:91 194419a0a61744cabd33b572a65b9ebb
msgid "Model `identifier_attributes` are fixed."
msgstr "Lattribut `identifier_attributes` des models est fixe."
#: ../../CHANGES.rst:92 38cf7ccdf64844b3b46da32df1b7e6c3
msgid "Bump to `HTMX` 1.9.12. :pr:`172`"
msgstr "Mise-à-jour vers `HTMX` 1.9.12. :pr:`172`"
#: ../../CHANGES.rst:97 03e01fffdd994e5688cff3e313bd4402
msgid "Dark theme colors for better readability."
msgstr "Couleurs des champs dans le thème sombre."
#: ../../CHANGES.rst:98 d0f2bd58fbd24866855da92cff441bbf
msgid ""
"Crash for passwordless users at login when no SMTP server was configured."
msgstr ""
"Erreur lorsque les utilisateurs sans mots de passe lorsquaucun serveur SMTP "
"na été configuré."
#: ../../CHANGES.rst:101 a93bd621e6d442e09311f9a527e82cb5
msgid "[0.0.53] - 2024-04-22"
msgstr "[0.0.53] - 2024-04-22"
#: ../../CHANGES.rst:105 e57b8cfe44ef43fdb1cb5c6796f6f07e
msgid ""
"`env_prefix` `create_app`` variable can select the environment var prefix."
msgstr ""
"La variable `env_prefix`de la méthode ``create_app`` permet de choisir le "
"préfixe des variables denvironnement."
#: ../../CHANGES.rst:108 5f3aedb0fb95429c948c48a44ce99bc9
msgid "[0.0.52] - 2024-04-22"
msgstr "[0.0.52] - 2024-04-22"
#: ../../CHANGES.rst:112 fc80c3f894ac496da58299137473570f
msgid "`env_file` create_app variable can customize/disable the .env file."
msgstr ""
"La variable `env_file` de la méthode `create_app` permet de désactiver ou "
"personnaliser le fichier `.env`."
#: ../../CHANGES.rst:116 dfee8d84d47a46d4a02626043ad3c378
msgid "Locked users cannot be impersonated anymore."
msgstr "Les comptes verrouillés ne peuvent plus être incarnés."
#: ../../CHANGES.rst:117 50b623665b86438d8d94f754ddfec814
msgid "Minimum Python requirement is 3.9."
msgstr "La version minimum requise de Python est 3.9."
#: ../../CHANGES.rst:120 2aef1c38709f40de94070e2591894618
msgid "[0.0.51] - 2024-04-09"
msgstr "[0.0.51] - 2024-04-09"
#: ../../CHANGES.rst:124 b7591b424f2e45788b23199143298a26
msgid "Display the menu bar on error pages."
msgstr "Affichage de la barre de menu sur les pages derreur."
#: ../../CHANGES.rst:127 0482caf34246470a9cad38fb5494ec06
msgid "[0.0.50] - 2024-04-09"
msgstr "[0.0.50] - 2024-04-09"
#: ../../CHANGES.rst:131 1ac6b68041ac41b588d06ee7289d7b54
msgid "Sign in/out events are logged in. :issue:`177`"
msgstr ""
"Journalisation des évènements de connexion et déconnexion. :issue:`177`"
#: ../../CHANGES.rst:135 c3deb238bd1448c384f74146a0cb34c1
msgid "`HTMX` and `JAVASCRIPT` configuration settings."
msgstr "Paramètres de configuration `HTMX` et `JAVASCRIPT`."
#: ../../CHANGES.rst:136 7e5dc3a8203f4975938a56512527ce61
msgid "Compatibility with old sessions IDs."
msgstr "Compatibilité avec les anciens identifiants de session."
#: ../../CHANGES.rst:139 e7a941e0a4d841fba7e67ca25ddf14a7
msgid "[0.0.49] - 2024-04-08"
msgstr "[0.0.49] - 2024-04-08"
#: ../../CHANGES.rst:143 d2faee827c5b40b68570ab1c02b3d467
msgid "LDAP user group removal."
msgstr "Suppression des groupes dutilisateurs avec LDAP."
#: ../../CHANGES.rst:144 3530ff4f5a494c97be1248713efad111
msgid ""
"Display an error message when trying to remove the last user from a group."
msgstr ""
"Affichage dun message derreur lors de tentatives de suppression du dernier "
"utilisateur dun groupe."
#: ../../CHANGES.rst:147 37b850b8747f4885bb59c4b600f07e39
msgid "[0.0.48] - 2024-04-08"
msgstr "[0.0.48] - 2024-04-08"
#: ../../CHANGES.rst:151 43fcc4664e2c493e8d6fe0db840fe372
msgid "LDAP ``objectClass`` guessing exception."
msgstr "Exception lors de la détection des classes dobjet LDAP."
#: ../../CHANGES.rst:154 ae0eb5c761394db2b1d091e6fa1cb7b6
msgid "[0.0.47] - 2024-04-08"
msgstr "[0.0.47] - 2024-04-08"
#: ../../CHANGES.rst:158 cf62cb736d744b53b5968b84e6b3b424
msgid "Lazy permission loading exception."
msgstr "Exception lors du chargement paresseux des permissions."
#: ../../CHANGES.rst:161 c5ba2703aa9742a8957fcb6a15a22298
msgid "[0.0.46] - 2024-04-08"
msgstr "[0.0.46] - 2024-04-08"
#: ../../CHANGES.rst:165 d9150b7d06724be49a3d165891332d9e
msgid ""
"Saving an object with the LDAP backend keeps the ``objectClass`` un-managed "
"by Canaille. :pr:`171`"
msgstr ""
"La sauvegarde des objets avec LDAP garde les valeurs de ``objectClass`` non "
"gérés par Canaille. :pr:`171`"
#: ../../CHANGES.rst:168 aa1459361e01481a9f2f9e3e29927db4
msgid "[0.0.45] - 2024-04-04"
msgstr "[0.0.45] - 2024-04-04"
#: ../../CHANGES.rst:172 5f111a4408054a86a564f89965320a0e
msgid "Internal indexation mechanism of ``MemoryModel``."
msgstr "Mécanisme dindexation interne de ``MemoryModel``."
#: ../../CHANGES.rst:175 4ec01913c134471ba2c9bc6c7d6594a0
msgid "[0.0.44] - 2024-03-29"
msgstr "[0.0.44] - 2024-03-29"
#: ../../CHANGES.rst:179 96427ccf2ab844e09af39f35d99e62f4
msgid "Fix the default LDAP ``USER_FILTER`` value."
msgstr "Correction de la valeur par défaut de ``USER_FILTER`` pour LDAP."
#: ../../CHANGES.rst:180 bdc76b00698649b0a1662a4f4574295e
msgid "Fix the OIDC feature detection."
msgstr "Correction de la détection de la fonctionnalité OIDC."
#: ../../CHANGES.rst:183 aac8fcfe3c274caf955d0c0ec4d56a95
msgid "[0.0.43] - 2024-03-29"
msgstr "[0.0.43] - 2024-03-29"
#: ../../CHANGES.rst:187 ../../CHANGES.rst:446 580f0fc146ec498a9bab5ebbcc1a075d
#: 50bb86bd7d0e43d6807b49af9344f81f
msgid "Configuration files must be updated."
msgstr "Les fichiers de configuration doivent être mis à jour."
#: ../../CHANGES.rst:192 5e07cdf3619e479d8481e119065404ec
msgid "Add ``created`` and ``last_modified`` datetime for all models."
msgstr ""
"Ajout des dates ``created`` et ``last_modified`` pour tous les modèles."
#: ../../CHANGES.rst:193 3102a152b0dd403b86e27d64a971ce87
msgid "Sitemap to the documentation. :pr:`169`"
msgstr "Cartographie de la documentation. :pr:`169"
#: ../../CHANGES.rst:194 0219c78a44ed414fa3c72cf01961951b
msgid ""
"Configuration management with `pydantic-settings`. :issue:`138` :pr:`170`"
msgstr ""
"Gestion des paramètres de configuration avec `pydantic-settings`. :issue:"
"`138` :pr:`170`"
#: ../../CHANGES.rst:199 b3186678446f4f74aad4f014d22d39be
msgid "Use default Python logging configuration format. :issue:`188` :pr:`165`"
msgstr ""
"Utilisation de la configuration de journalisation par défaut de Python. :"
"issue:`188` :pr:`165`"
#: ../../CHANGES.rst:200 fd5c70ba10bc4ea199529498765da9c8
msgid "Bump to `HTMX` 1.99.11. :pr:`166`"
msgstr "Mise à jour vers ``HTMX`` 1.9.11. :pr:`166`"
#: ../../CHANGES.rst:201 97733b3cecda49b59eda7684cbcf0bdc
msgid ""
"Use the standard tomllib Python module instead of `toml` starting from "
"Python 3.11. :pr:`167`"
msgstr ""
"Utilisation du module Python standard `tomllib` à la place de `toml` à "
"partir de Python 3.11. :pr:`167`"
#: ../../CHANGES.rst:202 417ca230093143fd898eacb9326a5bce
msgid "Use shibuya as the documentation theme :pr:`168`"
msgstr "Utilisation du thème de documentation `shibuya`. :pr:`168`"
#: ../../CHANGES.rst:205 265939621caf4ae4be01d355c819a1a4
msgid "[0.0.42] - 2023-12-29"
msgstr "[0.0.42] - 2023-12-29"
#: ../../CHANGES.rst:210 8ff42abcf9f14d8cb6acb1252cb72185
msgid "Avoid to fail on imports if ``cryptography`` is missing."
msgstr ""
"Correction dune erreur dimport lorsque ``cryptography`` était manquant."
#: ../../CHANGES.rst:213 a3b54c69b61f4cab9c33ccffaa2ccb1d
msgid "[0.0.41] - 2023-12-25"
msgstr "[0.0.41] - 2023-12-25"
#: ../../CHANGES.rst:218 b7be279b17f04cdead0f43eb1263cc8f
msgid ""
"OIDC support for the ``create`` value of the ``prompt`` parameter. :issue:"
"`185` :pr:`164`"
msgstr ""
"Support pour la valeur ``create`` du paramètre ``prompt`` dOIDC. :issue:"
"`185` :pr:`164`"
#: ../../CHANGES.rst:223 c2131815b4ee4e53854f1c9801b81672
msgid ""
"Correctly set up :attr:`~canaille.oidc.basemodels.Client.audience` during "
"OIDC dynamic registration."
msgstr ""
"Configuration correcte de l:attr:`~canaille.oidc.basemodels.Client."
"audience` durant lenregistrement dynamique OIDC."
#: ../../CHANGES.rst:224 674bd58192194c48872f1bceb85b64b9
msgid ""
"``post_logout_redirect_uris`` was ignored during OIDC dynamic registration."
msgstr ""
"``post_logout_redirect_uris`` était ignoré durant lenregistrement dynamique "
"OIDC."
#: ../../CHANGES.rst:225 f00edc3069de458793e37db8f46cf24c
msgid "Group field error prevented the registration form validation."
msgstr ""
"Une erreur sur le champ `groupe` empêchait la validation du formulaire "
"denregistrement."
#: ../../CHANGES.rst:228 acfe93442a3e445daccb56cb0a977bd5
msgid "[0.0.40] - 2023-12-22"
msgstr "[0.0.40] - 2023-12-22"
#: ../../CHANGES.rst:233 e963680d5372445bb660af444ebc5fc3
msgid "The ``THEME`` setting can be a relative path."
msgstr "Le paramètre de configuration ``THEME`` peut être un chemin relatif."
#: ../../CHANGES.rst:236 13b3c18f8c344461a0f22041afdce696
msgid "[0.0.39] - 2023-12-15"
msgstr "[0.0.39] - 2023-12-15"
#: ../../CHANGES.rst:241 346414ba0ed545abaa3c92f8e00e4573
msgid "Crash when no ACL were defined."
msgstr "Erreur lorsquaucun ACL nétait défini."
#: ../../CHANGES.rst:242 b1302bfb48c5482e84720a6ad95541b0
msgid "OIDC Userinfo endpoint is also available in POST."
msgstr ""
"Le point de terminaison OIDC `Userinfo` est aussi disponible avec la méthode "
"POST."
#: ../../CHANGES.rst:243 7923b8de73af4dce9521620ee749336f
msgid "Fix redirection after password reset. :issue:`159`"
msgstr ""
"Correction de la redirection après réinitialisation du mot de passe. :issue:"
"`159`"
#: ../../CHANGES.rst:246 52a4d55d277f4b7389318b494216b17b
msgid "[0.0.38] - 2023-12-15"
msgstr "[0.0.38] - 2023-12-15"
#: ../../CHANGES.rst:251 7ce633eaccb84a0abe491918a8a48b6d
msgid "Convert all the `PNG` pictures in `Webp`. :pr:`162`"
msgstr "Conversion de toutes les images `PNG` en `Webp`. :pr:`162`"
#: ../../CHANGES.rst:252 3fcb891995404ae99d79ce23eb8caa0d
msgid "Update to Flask 3. :issue:`161` :pr:`163`"
msgstr "Mise à jour vers Flask 3. :issue:`161` :pr:`163`"
#: ../../CHANGES.rst:255 cbee12051316441698e3c2c15d6ede8a
msgid "[0.0.37] - 2023-12-01"
msgstr "[0.0.37] - 2023-12-01"
#: ../../CHANGES.rst:260 01c5325fd82c43d9b530c2dac22b5fe6
msgid "Handle 4xx and 5xx error codes with HTMX. :issue:`171` :pr:`161`"
msgstr ""
"Gestion des codes derreur 4xx et 5xx avec `HTMX`. :issue:`171` :pr:`161`"
#: ../../CHANGES.rst:263 9a17c644884048a2992dd5428c40d05f
msgid "[0.0.36] - 2023-12-01"
msgstr "[0.0.36] - 2023-12-01"
#: ../../CHANGES.rst:268 96261936841c49d9ace436ca743e1e9f
msgid "Avoid crashing when LDAP groups references unexisting users."
msgstr ""
"Correction dune erreur avec LDAP lorsque des groupes référencent des "
"utilisateurs inexistants."
#: ../../CHANGES.rst:269 7acc84b824d0448c97a734b600f5c421
msgid ""
"Password reset and initialization mails were only sent to the preferred user "
"email address."
msgstr ""
"Les courriels dinitialisation et de réinitialisation de mots de passe "
"nétaient envoyés quà ladresse préférée des utilisateurs."
#: ../../CHANGES.rst:271 4312e1ec50d3417fae1c5274518b4603
msgid ""
"Password reset and initialization mails were not sent at all the user "
"addresses if one email address could not be reached."
msgstr ""
"Les courriels dinitialisation et de réinitialisation de mots de passe "
"nétaient pas tous envoyés si lun des envois échouait."
#: ../../CHANGES.rst:273 2252295c032d4e41a5d6a38857a2f5cf
msgid "Password comparison was too permissive on login."
msgstr "La comparaison des mots de passe était trop permissive à la connexion."
#: ../../CHANGES.rst:274 27ed494c0fd942129181c56473fa068e
msgid "Encrypt passwords in the SQL backend."
msgstr "Chiffrement des mots de passe dans la base de données SQL."
#: ../../CHANGES.rst:277 e5a596d2090c48589c732902e4ea1715
msgid "[0.0.35] - 2023-11-25"
msgstr "[0.0.35] - 2023-11-25"
#: ../../CHANGES.rst:282 6f53586e55d14c0a88ce91b1d3dd5a0e
msgid ""
"Refresh token grant supports other client authentication methods. :pr:`157`"
msgstr ""
"Support de méthodes dauthentifications additionnels pour les jetons de "
"rafraîchissement. :pr:`157`"
#: ../../CHANGES.rst:283 b11afbdb2b1c4d37b7364fa8426cd740
msgid "Implement a SQLAlchemy backend. :issue:`30` :pr:`158`"
msgstr ""
"Support des bases de données SQL avec SQLAlchemy. :issue:`30` :pr:`158`"
#: ../../CHANGES.rst:288 092696abad604e50a28844294cc25b5b
msgid "Model attributes cardinality is closer to SCIM model. :pr:`155`"
msgstr ""
"La cardinalité des attributs des modèles est un peu plus ressemblante à "
"celle des attributs de modèles SCIM. :pr:`155`"
#: ../../CHANGES.rst:289 8e581ce7d30d47d7a98ae99979bf471f
msgid "Bump to `HTMX` 1.9.9. :pr:`159`"
msgstr "Mise à jour vers `HTMX` 1.9.9. :pr:`159`"
#: ../../CHANGES.rst:294 bc46a9529f664beeb57d37afb6538007
msgid "Disable `HTMX` boosting during the OIDC dance. :pr:`160`"
msgstr ""
"Désactivation de `HTMX` pendant la phase didentification OIDC. :pr:`160`"
#: ../../CHANGES.rst:297 4cc90925acde46e6bc670a73abcfd2b1
msgid "[0.0.34] - 2023-10-02"
msgstr "[0.0.34] - 2023-10-02"
#: ../../CHANGES.rst:302 aeca0dbe6dd646a182af06ae52e21bab
msgid ""
"Canaille installations without account lockabilty could not delete users. :"
"pr:`153`"
msgstr ""
"Les installations de Canaille nayant pas la fonctionnalité de verrouillage "
"des comptes ne pouvaient pas supprimer des utilisateurs. :pr:`153`"
#: ../../CHANGES.rst:308 e2e75a18ecd34793a12ed5b1b116202b
msgid ""
"If users register or authenticate during a OAuth Authorization phase, they "
"get redirected back to that page afterwards. :issue:`168` :pr:`151`"
msgstr ""
"Si les utilisateurs senregistrent durant la phase dauthentification OAuth, "
"ils sont ensuite redirigés vers la page dont ils viennent. :issue:`168` :pr:"
"`151`"
#: ../../CHANGES.rst:311 f4f96c897ca841af8798712e0f0dcd41
msgid ""
"The `flask-babel` and `pytz` libraries are now part of the `front` packaging "
"extras."
msgstr ""
"Les bibliothèques `flask-babel` et `pytz` font désormais partie de lextra "
"d'empaquetage `front`."
#: ../../CHANGES.rst:312 d9d9125da5484af3b63440eec6c4b8b0
msgid "Bump to `fomantic-ui` 2.9.3. :pr:`152`"
msgstr "Mise à jour vers `fomantic-ui` 2.9.3. :pr:`152`"
#: ../../CHANGES.rst:313 2520552fc51d4064bf0862108b44ef63
msgid "Bump to `HTMX` 1.9.6. :pr:`154`"
msgstr "Mise à jour vers `HTMX` 1.9.6. :pr:`154`"
#: ../../CHANGES.rst:314 e46900d403e047ec90aae41b0988436b
msgid "Support for Python 3.12. :pr:`155`"
msgstr "Support de Python 3.12 :pr:`155`"
#: ../../CHANGES.rst:317 45acc759934d44949490e91b88fcf082
msgid "[0.0.33] - 2023-08-26"
msgstr "[0.0.33] - 2023-08-26"
#: ../../CHANGES.rst:322 5943247053c7415da4498ba141e70558
msgid "OIDC jwks endpoint do not return empty `kid` claim."
msgstr ""
"Le point de terminaison OIDC jwks ne retourne plus le paramètre `kid` "
"lorsquil est vide."
#: ../../CHANGES.rst:327 a971c7037bd74e9fa857a92fb695d9b8
msgid "Documentation details on the Canaille models."
msgstr "Documentation des modèles de Canaille."
#: ../../CHANGES.rst:330 667888a9f86e4623a43d6f86b59a5575
msgid "[0.0.32] - 2023-08-17"
msgstr "[0.0.32] - 2023-08-17"
#: ../../CHANGES.rst:335 2af3dcdb899a44acbe3de44e71df8135
msgid "Additional inmemory backend. :issue:`30` :pr:`149`"
msgstr ""
"Implémentation dun connecteur de base de données en mémoire. :issue:`30` :"
"pr:`149`"
#: ../../CHANGES.rst:336 2ba5da0aea28417290b07dd3a1801eb5
msgid "Installation extras. :issue:`167` :pr:`150`"
msgstr "Définition de dépendances `extra`. :issue:`167` :pr:`150`"
#: ../../CHANGES.rst:339 b0c7c8a21cd64b8f962fe1ecc850225f
msgid "[0.0.31] - 2023-08-15"
msgstr "[0.0.31] - 2023-08-15"
#: ../../CHANGES.rst:344 aaf2b92f1c6b445eaf28e272153f622f
msgid ""
"Configuration option to disable the forced usage of OIDC `nonce` parameter. :"
"pr:`143`"
msgstr ""
"Option de configuration pour désactiver lutilisation du paramètre OIDC "
"`nonce`. :pr:`143`"
#: ../../CHANGES.rst:345 ed95959d47a540daa19d1f994a3dde58
msgid "Validate phone numbers with a regex. :pr:`146`"
msgstr ""
"Validation des numéros de téléphone avec des expressions régulières. :pr:"
"`146`"
#: ../../CHANGES.rst:346 f39302c55f0f4ce583fe0329947a4f35
msgid "Email verification. :issue:`41` :pr:`147`"
msgstr "Vérification des adresses email. :issue:`41`:pr:`147`"
#: ../../CHANGES.rst:347 5bd084c1ce134929aa6bce51792b08fb
msgid "Account registration. :issue:`55` :pr:`133` :pr:`148`"
msgstr "Enregistrement de comptes utilisateur. :issue:`55` :pr:`133` :pr:`148`"
#: ../../CHANGES.rst:352 63c8bd04ebd7478ba461e5fa3d1e43a6
msgid "The `check` command uses the default configuration values."
msgstr "La commande `check` utilise les valeurs de configuration par défaut."
#: ../../CHANGES.rst:357 f242fb900ae14d2eb49fd473fae1313b
msgid "Modals do not need use Javascript at the moment. :issue:`158` :pr:`144`"
msgstr ""
"Les fenêtres modales ne nécessitent plus lutilisation de Javascript. :issue:"
"`158` :pr:`144`"
#: ../../CHANGES.rst:360 3b4b7eb562c14f48ac1ad43a108da59e
msgid "[0.0.30] - 2023-07-06"
msgstr "[0.0.30] - 2023-07-06"
#: ../../CHANGES.rst:364 53e1f5ae6b92429181ad69dd80ca4869
msgid ""
"Configuration files must be updated. Check the new format with ``git diff "
"0.0.29 0.0.30 canaille/conf/config.sample.toml``"
msgstr ""
"Les fichiers de configuration doivent être mis à jour. Vérifiez le nouveau "
"format avec ``git diff 0.0.29 0.0.30 canaille/conf/config.sample.toml``"
#: ../../CHANGES.rst:370 002bbcc157fc4d29aed42c1047a61aeb
msgid "Configuration option to disable Javascript. :pr:`141`"
msgstr "Option de configuration pour désactiver Javascript. :pr:`141"
#: ../../CHANGES.rst:375 e2785b5f1bd041a2827469286db836ff
msgid "The configuration parameter ``USER_FILTER`` is parsed with Jinja."
msgstr "Le paramètre de configuration ``USER_FILTER`` est analysé avec Jinja."
#: ../../CHANGES.rst:376 2953a560d0414f03a2ca068f41b515ec
msgid ""
"Configuration use ``PRIVATE_KEY_FILE`` instead of ``PRIVATE_KEY`` and "
"``PUBLIC_KEY_FILE`` instead of ``PUBLIC_KEY``."
msgstr ""
"La configuration utilise ``PRIVATE_KEY_FILE`` à la place de ``PRIVATE_KEY`` "
"et ``PUBLIC_KEY_FILE`` à la place de ``PUBLIC_KEY``."
#: ../../CHANGES.rst:379 5049ed8674084571afb1ff9198181b5a
msgid "[0.0.29] - 2023-06-30"
msgstr "[0.0.29] - 2023-06-30"
#: ../../CHANGES.rst:384 a072c563d2b549b8b4df37f718e0b892
msgid "Disabled `HTMX` boosting on OIDC forms to avoid errors."
msgstr ""
"Désactivation d`HTMX` sur les formulaires OIDC pour éviter des erreurs lors "
"des redirections."
#: ../../CHANGES.rst:387 db156cd566a64fdeaf6d3a0ad118ebd4
msgid "[0.0.28] - 2023-06-30"
msgstr "[0.0.28] - 2023-06-30"
#: ../../CHANGES.rst:392 afeaf312be7c4482acda1b70e6c78ffb
msgid "A template variable was misnamed."
msgstr "Une variable de template était mal nommée."
#: ../../CHANGES.rst:395 404964fb0e2d4aa693b0c760d0e059f7
msgid "[0.0.27] - 2023-06-29"
msgstr "[0.0.27] - 2023-06-29"
#: ../../CHANGES.rst:399 c7974ece102f4a8198ebd2b0723293df
msgid ""
"Configuration files must be updated. Check the new format with ``git diff "
"0.0.26 0.0.27 canaille/conf/config.sample.toml``"
msgstr ""
"Les fichiers de configuration doivent être mis à jour. Vérifiez le nouveau "
"format avec ``git diff 0.0.26 0.0.27 canaille/conf/config.sample.toml``"
#: ../../CHANGES.rst:405 96138d7e5aa54a8eb198758f5b8fc15f
msgid ""
"Configuration entries can be loaded from files if the entry key has a "
"*_FILE* suffix and the entry value is the path to the file. :issue:`134` :pr:"
"`134`"
msgstr ""
"Les paramètres de configuration peuvent être lus à partir de fichiers si le "
"paramètre a un suffixe *_FILE* et que sa valeur correspond à un chemin de "
"fichier. :issue:`134` :pr:`134`"
#: ../../CHANGES.rst:407 6faee467462e4c119a9376683f3f7469
msgid "Field list support. :issue:`115` :pr:`136`"
msgstr "Support pour les listes de champ. :issue:`115` :pr:`136`"
#: ../../CHANGES.rst:408 fc6362954cf1477898af50459f340745
msgid "Pages are boosted with `HTMX`. :issue:`144` :issue:`145` :pr:`137`"
msgstr ""
"Les pages sont boostées avec `HTMX`. :issue:`144` :issue:`145` :pr:`137`"
#: ../../CHANGES.rst:413 98e71a54cd1a45a2ac5dbfb3f524332a
msgid "Bump to jquery 3.7.0. :pr:`138`"
msgstr "Mise à jour vers jquery 3.7.0. :pr:`138`"
#: ../../CHANGES.rst:418 5e461d234d4f48ee8e22788ac686e24a
msgid ""
"Profile edition when the user RDN was not ``uid``. :issue:`148` :pr:`139`"
msgstr ""
"Lédition des profils utilisateurs lorsque le RDN nétait pas ``uid`. :issue:"
"`148` :pr:`139`"
#: ../../CHANGES.rst:423 7f5c0656cb6c417dafe6db0ed3554c7c
msgid "Stop support for Python 3.7. :pr:`131`"
msgstr "Arrêt du support pour Python 3.7. :pr:`131`"
#: ../../CHANGES.rst:426 64c961d63d5542e586843d44c1b9d256
msgid "[0.0.26] - 2023-06-03"
msgstr "[0.0.26] - 2023-06-03"
#: ../../CHANGES.rst:431 679364c32f5e423692372a1c993f3538
msgid ""
"Implemented account expiration based on OpenLDAP ppolicy overlay. Needs "
"OpenLDAP 2.5+. :issue:`13` :pr:`118`"
msgstr ""
"Implémentation de lexpiration des comptes en se basant sur loverlay "
"OpenLDAP `ppolicy``. Nécessite au minimun OpenLDAP 2.5. :issue:`13` :pr:`118`"
#: ../../CHANGES.rst:433 1eb00fcc6bc243adb17806d211fa8e05
msgid "Timezone configuration entry. :issue:`137` :pr:`130`"
msgstr "Paramètre de configuration des fuseaux horaire. :issue:`137` :pr:`130`"
#: ../../CHANGES.rst:438 dbf3a64e5c1d4a209416371f291d493e
msgid "Avoid setting ``None`` in JWT claims when they have no value."
msgstr ""
"Les paramètres du jeton d'accès ne sont pas ``None`` lorsqu'ils nont pas de "
"valeur définie."
#: ../../CHANGES.rst:439 57d98f2e337e40288f8460b70a3aebfc
msgid "Display password recovery button on OIDC login page. :pr:`129`"
msgstr ""
"Affichage du bouton de réinitialisation de mots de passe sur la page de "
"connexion OIDC. :pr:`129`"
#: ../../CHANGES.rst:442 7bd1e12bdc5547ac95950d1629c6be6c
msgid "[0.0.25] - 2023-05-05"
msgstr "[0.0.25] - 2023-05-05"
#: ../../CHANGES.rst:447 c520e75e7db14c95904bc57074a6a23f
msgid ""
"Check the new format with ``git diff 0.0.25 0.0.24 canaille/conf/config."
"sample.toml``"
msgstr ""
"Vérifiez le nouveau format avec ``git diff 0.0.25 0.0.24 canaille/conf/"
"config.sample.toml``"
#: ../../CHANGES.rst:452 ee2ef81304e643f7a203487a2ab8ee4f
msgid ""
"Renamed user model attributes to match SCIM naming convention. :pr:`123`"
msgstr ""
"Renommage des modèles dattributs d'utilisateurs en suivant la convention "
"SCIM. :pr:`123`"
#: ../../CHANGES.rst:453 6610a6a82402441f9f5576cf1b0a6bb3
msgid "Moved OIDC related configuration entries in ``OIDC``."
msgstr "Déplacement des paramètres de configuration OIDC dans ``OIDC``."
#: ../../CHANGES.rst:454 6b567a15909841659979d4c608c4a65f
msgid "Moved ``LDAP`` configuration entry to ``BACKENDS.LDAP``."
msgstr ""
"Déplacement des paramètres de configuration ``LDAP`` dans ``BACKENDS.LDAP``."
#: ../../CHANGES.rst:455 17aae437222746ba8b3443adc5f556b5
msgid "Bumped to `HTMX` 1.9.0. :pr:`124`"
msgstr "Mise à jour vers HTMX 1.9.0. :pr:`184`"
#: ../../CHANGES.rst:456 7373759762424878b0c8a0faaec36c64
msgid ""
"ACL filters are no more LDAP filters but user attribute mappings. :pr:`125`"
msgstr ""
"Les filtres de permissions ne sont plus des filtres LDAP mais des "
"associations de paramètres utilisateur. :pr:`125`"
#: ../../CHANGES.rst:457 22364336688d42ac9c77bc9203cfeafb
msgid "Bumped to `HTMX` 1.9.2. :pr:`127`"
msgstr "Mise-à-jour vers `HTMX` 1.9.2. :pr:`127`"
#: ../../CHANGES.rst:462 51f8a182379f40fcbb97c59ab3a964d3
msgid "``OIDC.JWT.MAPPING`` configuration entry is really optional now."
msgstr ""
"Le paramètre de configuration ``OIDC.JWT.MAPPING`` est réellement facultatif."
#: ../../CHANGES.rst:463 efea74181b5b4c40b307993e97ea35ec
msgid "Fixed empty model attributes registration. :pr:`125`"
msgstr "Correction des attributs vides lors de lenregistrement. :pr:`125`"
#: ../../CHANGES.rst:464 51fc989c81574dae8c1242ab5ad24aaf
msgid "Password initialization mails were not correctly sent. :pr:`128`"
msgstr ""
"Les courriels dinitialisation de mot de passe nétaient pas correctement "
"envoyés. :pr:`128`"
#: ../../CHANGES.rst:467 334afb8a4e1f45c5b8b2d38c255679c4
msgid "[0.0.24] - 2023-04-07"
msgstr "[0.0.24] - 2023-04-07"
#: ../../CHANGES.rst:472 bf3d671baf10499f99d287bdbc914b97
msgid "Fixed avatar update. :pr:`122`"
msgstr "Correction de la mise à jour des avatars. :pr:`122`"
#: ../../CHANGES.rst:475 339df86f0d1344778a5f40d4c20eafef
msgid "[0.0.23] - 2023-04-05"
msgstr "[0.0.23] - 2023-04-05"
#: ../../CHANGES.rst:480 48a3d313e64f4114b0831e83123c25ea
msgid "Organization field. :pr:`116`"
msgstr "Champ `organization` :pr:`116`"
#: ../../CHANGES.rst:481 54788639e7b14b42900ea5a7613fbbb6
msgid "ETag and Last-Modified headers on user photos. :pr:`116`"
msgstr "En-têtes `ETag` et `Last-Modified` sur les avatars. :pr:`116`"
#: ../../CHANGES.rst:482 b1a1c1d88698449eb6195003a25b67d7
msgid "Dynamic form validation. :pr:`120`"
msgstr "Validation dynamique des formulaires. :pr:`120`"
#: ../../CHANGES.rst:487 999932f58c6b4c809b4436373faa1f13
msgid "UX rework. Submenu addition. :pr:`114`"
msgstr "Travaux sur linterface utilisateur. Ajout de sous-menus. :pr:`114`"
#: ../../CHANGES.rst:488 7c8b2566d4db458586c8337e6741cf23
msgid "Properly handle LDAP date timezones. :pr:`117`"
msgstr "Gestion correcte des fuseaux horaire des dates dans LDAP. :pr:`117`"
#: ../../CHANGES.rst:493 7600d248c21e452dbe579fbdb9305e20
msgid "CSRF protection on every forms. :pr:`119`"
msgstr "Protection CSRF sur tous les formulaires. :pr:`119`"
#: ../../CHANGES.rst:496 3f9aac4badee40a484b1f5ff80bcab53
msgid "[0.0.22] - 2023-03-13"
msgstr "[0.0.22] - 2023-03-13"
#: ../../CHANGES.rst:500 01ce5349718e429699c70113d0dcda5d
msgid ""
"The `Faker` library is not imported anymore when the `clean` command is "
"called."
msgstr ""
"La bibliothèque `Faker` nest plus importée lorsque la commande `clean` est "
"appelée."
#: ../../CHANGES.rst:503 66d3c164cb34406f9046aa8edb9a8928
msgid "[0.0.21] - 2023-03-12"
msgstr "[0.0.21] - 2023-03-12"
#: ../../CHANGES.rst:508 a397eca3471640e696a9ff70fb36bef9
msgid "Display TOS and policy URI on the consent list page. :pr:`102`"
msgstr ""
"Affichage des liens vers les conditions dutilisation sur la page de liste "
"des consentements. :pr:`102`"
#: ../../CHANGES.rst:509 22a5f8c34f1345b5a54965ec438f8315
msgid "Admin token deletion. :pr:`100` :pr:`101`"
msgstr ""
"Suppression des jetons via linterface administrateur. :pr:`100` :pr:`101`"
#: ../../CHANGES.rst:510 6f4eca0831854f35bd47d0f0e56dd7ca
msgid "Revoked consents can be restored. :pr:`103`"
msgstr "Les consentements révoqués peuvent être restaurés. :pr:`103`"
#: ../../CHANGES.rst:511 cd47eb57f7fc4f1d9a0515f89faeef57
msgid ""
"Pre-consented clients are displayed in the user consent list, and their "
"consents can be revoked. :issue:`69` :pr:`103`"
msgstr ""
"Les clients pré-autorisés apparaissent dans la liste de consentement des "
"utilisateurs, et leur consentement peut être révoqué. :issue:`69` :pr:`103`"
#: ../../CHANGES.rst:513 0f1343c1ee75454092b6de800afa42c7
msgid ""
"A ``populate`` command can be used to fill the database with random users "
"generated with faker. :pr:`105`"
msgstr ""
"Implémentation dune commande ``populate`` qui remplit la base de données "
"avec des valeurs aléatoires générées avec la bibliothèque `Faker`. :pr:`105`"
#: ../../CHANGES.rst:515 e44b67a6721f4e3fa68c41837a5ca554
msgid "SMTP SSL support. :pr:`108`"
msgstr "Support des connexions SMTP avec SSL. :pr:`108`"
#: ../../CHANGES.rst:516 8c9317bed0bb4b27bd29987ff121b787
msgid "Server side pagination. :issue:`114` :pr:`111`"
msgstr "Pagination côté serveur. :issue:`114`:pr:`111`"
#: ../../CHANGES.rst:517 0f50375487384246ab4eb7938f07db01
msgid "Department number support. :issue:`129`"
msgstr "Support du champs de numéro de département. :issue:`129`"
#: ../../CHANGES.rst:518 727bc53d7c984ba99850545096c51202
msgid "Address edition support (but not in the OIDC claims yet). :pr:`112`"
msgstr ""
"Support de lédition de ladresse (sans que cela apparaisse dans les "
"paramètres du jeton OIDC). :pr:`112`"
#: ../../CHANGES.rst:519 2bbc467920d24e02875a5fd3199e5bcd
msgid "Title edition support. :pr:`113`"
msgstr "Support de lédition du paramètre `title`. :pr:`113`"
#: ../../CHANGES.rst:524 36b0872d19f344adb8b44ccbfd920cd8
msgid ""
"Client deletion also deletes related :class:`~canaille.oidc.basemodels."
"Consent`, :class:`~canaille.oidc.basemodels.Token` and :class:`~canaille."
"oidc.basemodels.AuthorizationCode` objects. :issue:`126` :pr:`98`"
msgstr ""
"La suppression dun client supprime aussi les objets des classes liées :"
"class:`~canaille.oidc.basemodels.Consent`, :class:`~canaille.oidc.basemodels."
"Token` et :class:`~canaille.oidc.basemodels.AuthorizationCode`. :issue:"
"`126` :pr:`98`"
#: ../../CHANGES.rst:530 bcdf981ce5eb414099830d68efe4c1b5
msgid "Removed the `DataTables` Javascript library."
msgstr "Suppression de la bibliothèque Javascript `Datatables`."
#: ../../CHANGES.rst:533 fb503d354a2d4c92b75a9a6a603bb5f4
msgid "[0.0.20] - 2023-01-28"
msgstr "[0.0.20] - 2023-01-28"
#: ../../CHANGES.rst:538 364e4a2dfd8148c0b93b75d8ff1c4214
msgid "Spanish translation. :pr:`85` :pr:`88`"
msgstr "Traduction espagnole. :pr:`85` :pr:`88`"
#: ../../CHANGES.rst:539 39a35892e6494270a65a235562211e53
msgid "Dedicated connectivity test email. :pr:`89`"
msgstr "Test de connectivité. :pr:`89`"
#: ../../CHANGES.rst:540 b47b044c9d814ea98df1d057bdef5a19
msgid "Update to jquery 3.6.3. :pr:`90`"
msgstr "Mise à jour vers jquery 3.6.3. :pr:`90`"
#: ../../CHANGES.rst:541 a48c5424848f4396a6300f38b5471daf
msgid "Update to fomantic-ui 2.9.1. :pr:`90`"
msgstr "Mise à jour vers Fomantic-UI 2.9.1. :pr:`90`"
#: ../../CHANGES.rst:542 7746a18d023c460c8b64b83eeb4e1895
msgid "Update to DataTables 1.13.1. :pr:`90`"
msgstr "Mise à jour vers DataTAbles 1.13.1. :pr:`90`"
#: ../../CHANGES.rst:547 7e1217800b654fc8adc10eeb952cc2f5
msgid "Fix typos and grammar errors. :pr:`84`"
msgstr "Correction de fautes de frappe et derreurs de grammaire. :pr:`84`"
#: ../../CHANGES.rst:548 abda017241404950b48f8efac9fdc9c9
msgid "Fix wording and punctuations. :pr:`86`"
msgstr "Correction de formulations et de ponctuations. :pr:`86`"
#: ../../CHANGES.rst:549 10e5ef2bbd284e31b4eda7f81f7bc477
msgid "Fix HTML lang tag. :issue:`122` :pr:`87`"
msgstr "Correction de la balise HTML de langue. :issue:`122` :pr:`87`"
#: ../../CHANGES.rst:550 4e7702ae17ee456992ea48cd8a37e1fc
msgid "Automatically trims the HTML translated strings. :pr:`91`"
msgstr ""
"Suppression automatique des espaces autour des chaîne de caractères à "
"traduire. :pr:`91`"
#: ../../CHANGES.rst:551 ce0f54018448492c983b83f9f687ef82
msgid "Fixed dynamic registration scope management. :issue:`123` :pr:`93`"
msgstr ""
"Correction de la gestion du domaine de lenregistrement dynamique. :issues:"
"`123` :pr:`93`"
#: ../../CHANGES.rst:554 c237ea1f9aac4ec2b1c843d7ab9ab218
msgid "[0.0.19] - 2023-01-14"
msgstr "[0.0.19] - 2023-01-14"
#: ../../CHANGES.rst:559 14c643ff842042b5a51f46661b7b8681
msgid ""
"Ensures the token `expires_in` claim and the `access_token` `exp` claim have "
"the same value. :pr:`83`"
msgstr ""
"Le paramètre ``expires_in`` du flux dautorisation et le paramètre ``exp``du "
"jeton daccès ont la même valeur. :pr:`83"
#: ../../CHANGES.rst:563 21e042a3e48f41048409e27017a970b9
msgid "[0.0.18] - 2022-12-28"
msgstr "[0.0.18] - 2022-12-28"
#: ../../CHANGES.rst:568 c4b8dee13cf54cc9b3a09610a6b384a3
msgid ""
"OIDC end_session was not returning the ``state`` parameter in the "
"``post_logout_redirect_uri``. :pr:`82`"
msgstr ""
"Le paramètre ``state`` nétait pas transmis à lURL de redirection post "
"déconnexion. :pr:`82`"
#: ../../CHANGES.rst:572 353f49a6db7247d989368befd4c90822
msgid "[0.0.17] - 2022-12-26"
msgstr "[0.0.17] - 2022-12-26"
#: ../../CHANGES.rst:577 ab608e9bb5e149e39c0c59c3be3dbf66
msgid "Fixed group deletion button. :pr:`80`"
msgstr "Correction du bouton de suppression de groupe. :pr:`80`"
#: ../../CHANGES.rst:578 25c9cf71a4b84a2d9cd0f78b741c0b6f
msgid "Fixed post requests in oidc clients views. :pr:`81`"
msgstr ""
"Correction des requêtes POST sur la vue de gestion des clients OIDC. :pr:`81`"
#: ../../CHANGES.rst:581 4149b3b16d764ab7905fc817ba705009
msgid "[0.0.16] - 2022-12-15"
msgstr "[0.0.16] - 2022-12-15"
#: ../../CHANGES.rst:586 4f7b050ada524ca99110de2af98ef375
msgid "Fixed LDAP operational attributes handling."
msgstr "Correction sur le comportement des attributs LDAP opérationnels."
#: ../../CHANGES.rst:589 eb6d98c6f1954de58a40b1a7a8bc10eb
msgid "[0.0.15] - 2022-12-15"
msgstr "[0.0.15] - 2022-12-15"
#: ../../CHANGES.rst:594 a0e5a6ff923246d68231d5e1f7356f76
msgid "User can chose their display name. :pr:`77`"
msgstr "Les utilisateurs peuvent choisir leur nom daffichage. :pr:`77`"
#: ../../CHANGES.rst:595 44c07c21854a42fc885ae1fcd1a6a201
msgid "Bumped to Authlib 1.2. :pr:`78`"
msgstr "Mise à jour vers Authlib 1.2. :pr:`78`"
#: ../../CHANGES.rst:596 1b360e7ce02f411b9834514fbc1b00c4
msgid ""
"Implemented :rfc:`RFC7592 <7592>` OAuth 2.0 Dynamic Client Registration "
"Management Protocol. :pr:`79`"
msgstr ""
"Implémentation de la :rfc:`RFC7592 <7592>` OAuth 2.0 Dynamic Client "
"Registration Management Protocol. :pr:`79`"
#: ../../CHANGES.rst:598 33d751e32dcd4a13adce2196a729447c
msgid ""
"Add the ``nonce`` parameter to the ``claims_supported`` server metadata list."
msgstr ""
"Ajout du paramètre ``nonce`` à la métadonnée du serveur OIDC "
"``claims_supported``."
#: ../../CHANGES.rst:601 dba04a29e3a14c5fb7e9aa2a1a549a34
msgid "[0.0.14] - 2022-11-29"
msgstr "[0.0.14] - 2022-11-29"
#: ../../CHANGES.rst:605 8cd0feacd2824b0b87a841aa5d4ee1ba
msgid "Fixed translation catalogs packaging."
msgstr "Correction de l'empaquetage des catalogues de traduction."
#: ../../CHANGES.rst:608 b60ffadb24184fa2a813cf0c67a816a0
msgid "[0.0.13] - 2022-11-21"
msgstr "[0.0.13] - 2022-11-21"
#: ../../CHANGES.rst:613 9f23aca3972f48e9bc8d9cf2c760257b
msgid ""
"Fixed a bug on the contacts field in the admin client form following the "
"LDAP schema update of 0.0.12."
msgstr ""
"Correction dune erreur sur le champs `contacts` du formulaire "
"dadministration des clients OIDC, du à la mise à jour des schémas LDAP de "
"la version 0.0.12."
#: ../../CHANGES.rst:615 6c68ccda597a42df9148cfef906797ae
msgid ""
"Fixed a bug happening during RP initiated logout on clients without "
"`post_logout_redirect_uri` defined."
msgstr ""
"Correction dune erreur survenant dans la phase de déconnexion initiée par "
"les clients sans paramètre `post_logout_redirect_uri` défini."
#: ../../CHANGES.rst:617 ac6c8083aa374040984d0350fa2fbc36
msgid "Gitlab CI fix. :pr:`64`"
msgstr "Correction de lintégration continue de Gitlab. :pr:`64`"
#: ../../CHANGES.rst:618 a747a08976904f3fb6bc3381b8c94e61
msgid ""
"Fixed `client_secret` display on the client administration page. :pr:`65`"
msgstr ""
"Correction de laffichage de lattribut `client_secret` sur la page "
"dadministration des clients. :pr:`65`"
#: ../../CHANGES.rst:619 6a64b2d613c14ae9b7973dad5c7c925d
msgid "Fixed non-square logo CSS. :pr:`67`"
msgstr "Correction de la feuille de style pour les logos non carrés. :pr:`67`"
#: ../../CHANGES.rst:620 29182f0e7f1248e1a1c917b6ae0dfd01
msgid "Fixed schema path on installation. :pr:`68`"
msgstr "Correction des chemins dinstallation des schémas. :pr:`68`"
#: ../../CHANGES.rst:621 bb240d19b70243efb891b21b8a241bc2
msgid "Fixed RFC7591 ``software_statement`` claim support. :pr:`70`"
msgstr "Correction du paramètre ``software_statement` de la RFC7591. :pr:`70`"
#: ../../CHANGES.rst:622 7f9a0251d66846479a85943aa1fbe036
msgid "Fixed client preconsent disabling. :pr:`72`"
msgstr ""
"Correction de la désactivation du pré-consentement des clients. :pr:`72`"
#: ../../CHANGES.rst:627 03fac1bbdf3342018f4eb1b6efa8b465
msgid "Python 3.11 support. :pr:`61`"
msgstr "Support de Python 3.11. :pr:`61`"
#: ../../CHANGES.rst:628 ba0b5e607d0a40e29cdcdc1a6cc98147
msgid ""
"``apparmor`` slapd configuration instructions in the documentation page for "
"contributions. :pr:`66`"
msgstr ""
"Instructions concernant la configuration ``apparmor`` pour OpenLDAP dans la "
"page de documentation sur les contributions. :pr:`66`"
#: ../../CHANGES.rst:629 235a8b4a7ac74cc089299db6c43f5a94
msgid "``preferredLanguage`` attribute support. :pr:`75`"
msgstr "Support de lattribut utilisateur ``preferredLanguage``. :pr:`75`"
#: ../../CHANGES.rst:634 b8515bd5812547b9b6408e07754188bf
msgid ""
"Replaced the use of the deprecated `FLASK_ENV` environment variable by "
"`FLASK_DEBUG`."
msgstr ""
"Remplacement de la variable denvironnement dépréciée `FLASK_ENV` par "
"`FLASK_DEBUG`."
#: ../../CHANGES.rst:636 722ab05a3e8240b3a984e91cbcb85f2c
msgid ""
"Dynamically generate the server metadata. Users won't have to copy and "
"manually edit ``oauth-authorizationserver.json`` and ``openid-configuration."
"json``. :pr:`71`"
msgstr ""
"Génération dynamique des métadonnées du serveur. Les utilisateurs nauront "
"plus à copier manuellement et éditer les fichiers ``oauth-"
"authorizationserver.json`` et ``openid-configuration.json``. :pr:`71`"
#: ../../CHANGES.rst:639 a79d0a5fc950458f9ea40f5fa340ae2d
msgid "The `FROM_ADDR` configuration option is not mandatory anymore. :pr:`73`"
msgstr ""
"Loption de configuration ``FROM_ADDR``nest plus obligatoire. :pr:`73`"
#: ../../CHANGES.rst:640 f5c1547a0084442eba537cccef2a3181
msgid "The `JWT.ISS` configuration option is not mandatory anymore. :pr:`74`"
msgstr "Loption de configuration ``JWT.ISS``nest plus obligatoire. :pr:`74`"
#: ../../CHANGES.rst:643 c9903f9704254bd8856c6fb23a3f7f34
msgid "[0.0.12] - 2022-10-24"
msgstr "[0.0.12] - 2022-10-24"
#: ../../CHANGES.rst:648 713bdc2d9dee45d0b80eead40194b1f7
msgid "Basic WebFinger endpoint. :pr:`59`"
msgstr "Support basique du point de terminaison WebFinger. :pr:`59`"
#: ../../CHANGES.rst:649 cc2f977715cb4c8ba51d4d34f6a4151f
msgid "Bumped to FomanticUI 2.9.0."
msgstr "Mise à jour vers FomanticUI 2.9.0."
#: ../../CHANGES.rst:650 a41e569505ed46e8a30eabb1605a9f4e
msgid "Implemented Dynamic Client Registration. :pr:`60`"
msgstr ""
"Implémentation de lenregistrement dynamique des clients OIDC. :pr:`60`"
#: ../../CHANGES.rst:653 40e16cae3052481c9a967a80643e51dc
msgid "[0.0.11] - 2022-08-11"
msgstr "[0.0.11] - 2022-08-11"
#: ../../CHANGES.rst:658 ac2a36a292ee496ba78a96711e33b778
msgid "Default theme has a dark variant. :pr:`57`"
msgstr "Le thème par défaut a une variante sombre. :pr:`57`"
#: ../../CHANGES.rst:663 c4d05a11686d406bba007ff8d333de4d
msgid "Fixed missing ``canaille`` binary. :pr:`58`"
msgstr "Correction du binaire manquant ``canaille``. :pr:`58`"
#: ../../CHANGES.rst:666 1d3f0b2e79a94cf787d645b8898bce4a
msgid "[0.0.10] - 2022-07-07"
msgstr "[0.0.10] - 2022-07-07"
#: ../../CHANGES.rst:671 eaf79a2a1e6f4b1e9c3b3823e5dda85b
msgid "Online demo. :pr:`55`"
msgstr "Démo en ligne. :pr:`55`"
#: ../../CHANGES.rst:672 0d80f6e630d049c9ad813e945376ab83
msgid ""
"The consent page was displaying scopes not supported by clients. :pr:`56`"
msgstr ""
"La page de consentement affichait des domaines non supportés par les "
"clients. :pr:`56`"
#: ../../CHANGES.rst:673 559c5036f54d4cacab704fb3cdf57958
msgid "Fixed end session when user are already disconnected."
msgstr ""
"Correction de la fin de session lorsque les utilisateurs sont déjà "
"déconnectés."
#: ../../CHANGES.rst:676 5395b02e05a04ce19c8d9cf8c0d54845
msgid "[0.0.9] - 2022-06-05"
msgstr "[0.0.9] - 2022-06-05"
#: ../../CHANGES.rst:681 d6b2f45bfea548cebbe625ae282f95c0
msgid ""
"``DISABLE_PASSWORD_RESET`` configuration option to disable password "
"recovery. :pr:`46`"
msgstr ""
"Mise en place de loption de configuration ``DISABLE_PASSWORD_RESET`` pour "
"désactiver la fonctionnalité de réinitialisation des mots de passe. :pr:`46`"
#: ../../CHANGES.rst:682 216697ca6fc046a28864aa8152639a7c
msgid "``edit_self`` ACL permission to control user self edition. :pr:`47`"
msgstr ""
"Ajout de la permission ``edit_self`` pour contrôler l'auto-édition des "
"données personnelles par les utilisateurs. :pr:`47`"
#: ../../CHANGES.rst:683 ea4420bc7f1c4c568d8da8657deddb66
msgid "`RP-initiated logout` implementation. :pr:`54`"
msgstr "Implémentation de la norme OIDC `RP-initiated logout` :pr:`54`"
#: ../../CHANGES.rst:688 72b36fc3a5e74417b5fdcb5a23be8c12
msgid "Bumped to Authlib 1. :pr:`48`"
msgstr "Mise à jour vers Authlib 1. :pr:`48`"
#: ../../CHANGES.rst:689 4fbf3c55b45a4a119e339bd126960d20
msgid "Various documentation improvements. :pr:`50`"
msgstr "Diverses améliorations de la documentation. :pr:`50`"
#: ../../CHANGES.rst:690 45feed1105504c609b5df975797e4194
msgid "Use poetry instead of setuptools as project management tool. :pr:`51`"
msgstr ""
"Utilisation de poetry à la place de setuptools comme outil de gestion de "
"projet. :pr:`51`"
#: ../../CHANGES.rst:691 c4542cdb5f7c4d58b07b4b0a90cb302d
msgid "Additional tests for the OIDC ``nonce`` parameter. :pr:`52`"
msgstr "Tests additionnels concernant le paramètre OIDC ``nonce``. :pr:`52`"
#: ../../CHANGES.rst:695 b327af2d08cb437e9b4751818cf8a8e2
msgid "``HIDE_INVALID_LOGIN`` behavior and default value."
msgstr "Comportement et valeur par défaut de ``HIDE_INVALID_LOGIN``."
#: ../../CHANGES.rst:696 b000da6a9373445dad688a3b780a6aa0
msgid ""
"Compiled translation catalogs are not versioned anymore. :pr:`49` :pr:`53`"
msgstr ""
"Les catalogues de traduction compilés ne sont plus versionnés. :pr:`49` :pr:"
"`53`"
#: ../../CHANGES.rst:699 b2b2047443544b74a71bc79ff8c5f47b
msgid "[0.0.8] - 2022-03-15"
msgstr "[0.0.8] - 2022-03-15"
#: ../../CHANGES.rst:704 375d29aba6424d43b859b8c3edfa80ba
msgid "Fixed dependencies."
msgstr "Correction des dépendances."
#: ../../CHANGES.rst:707 aeb08878a74b4f47b6d37baacf675b15
msgid "[0.0.7] - 2022-03-15"
msgstr "[0.0.7] - 2022-03-15"
#: ../../CHANGES.rst:712 34c20276bd7c45bcb792f22355e4927a
msgid ""
"Fixed spaces and escaped special char in LDAP ``cn/dn`` attributes. :pr:`43`"
msgstr ""
"Correction des espaces et échappement des caractères spéciaux dans les "
"attributs LDAP ``cn`` et ``dn``. :pr:`43`"
#: ../../CHANGES.rst:715 0976abec0d0b46a3ae20e83d110393ec
msgid "[0.0.6] - 2022-03-08"
msgstr "[0.0.6] - 2022-03-08"
#: ../../CHANGES.rst:720 d963ca446eb94c6e9aeb75012abb1cfd
msgid "Access token are JWT. :pr:`38`"
msgstr "Les jetons daccès sont des JWT. :pr:`38`"
#: ../../CHANGES.rst:725 02ca5edc4d13450db7f18d59d45864bf
msgid "Default groups on invitations. :pr:`41`"
msgstr "Groupes par défaut lors des invitations. :pr:`41`"
#: ../../CHANGES.rst:726 5891d198061a448c9ba57ffdbc6f801d
msgid "LDAP schemas are shipped within the Canaille package. :pr:`42`"
msgstr "Les schémas LDAP sont fournis avec le paquet Canaille. :pr:`42`"
#: ../../CHANGES.rst:729 c3272c14158a40f59a6b0f77af890f33
msgid "[0.0.5] - 2022-02-17"
msgstr "[0.0.5] - 2022-02-17"
#: ../../CHANGES.rst:734 406e2245d9dc4d679bdcbd6b5728861e
msgid "LDAP model objects have new identifiers. :pr:`37`"
msgstr "Les objects LDAP ont de nouveaux identifiants. :pr:`37`"
#: ../../CHANGES.rst:739 a9f0c61002d0458eb30d4affda6e47c1
msgid "Admin menu dropdown display. :pr:`39`"
msgstr "Le menu dadministration est déroulant. :pr:`39`"
#: ../../CHANGES.rst:740 fe303a61e23a434a890964802224e16a
msgid "``GROUP_ID_ATTRIBUTE`` configuration typo. :pr:`40`"
msgstr ""
"Correction dune faute de frappe pour le paramètre de configuration "
"``GROUP_ID_ATTRIBUTE`` :pr:`40`"
#: ../../CHANGES.rst:743 5bd8b178d1d5466e844942b7afed166e
msgid "[0.0.4] - 2022-02-16"
msgstr "[0.0.4] - 2022-02-16"
#: ../../CHANGES.rst:748 649efb86b8b2433589e7bbbdd8b5cd1e
msgid "Client pre-authorization. :pr:`11`"
msgstr "Pré-autorisation des clients OIDC. :pr:`11`"
#: ../../CHANGES.rst:749 6e7050395d194611ad2c085e64f383a2
msgid "LDAP permissions check with the check command. :pr:`12`"
msgstr ""
"Vérification des permissions LDAP grâce à la commande `check`. :pr:`12`"
#: ../../CHANGES.rst:750 5ae674761b1f4b2ea7718a8d8f227016
msgid ""
"Update consents when a scope required is larger than the scope of an already "
"given consent. :pr:`13`"
msgstr ""
"Mise à jour des consentements lorsque le domaine requis est plus large que "
"le domaine déjà autorisé. :pr:`13`"
#: ../../CHANGES.rst:752 5fb12e8bee6440d5912e9ebd8921a6e3
msgid "Theme customization. :pr:`15`"
msgstr "Personnalisation du thème. :pr:`15`"
#: ../../CHANGES.rst:753 c2ebd08df453407f97b9eebd16b55149
msgid "Logging configuration. :pr:`16`"
msgstr "Configuration de la journalisation. :pr:`16`"
#: ../../CHANGES.rst:754 06ac3fd9e9474c87a1d5dce79d49f547
msgid "Installation command. :pr:`17`"
msgstr "Commande dinstallation. :pr:`17`"
#: ../../CHANGES.rst:755 5b18c8b637654faa84da8cf06f428780
msgid "Invitation links. :pr:`18`"
msgstr "Liens dinvitation. :pr:`18`"
#: ../../CHANGES.rst:756 13e0a85eb2b7475181bdd35f25eecee6
msgid "Advanced permissions. :pr:`20`"
msgstr "Permissions avancées. :pr:`20`"
#: ../../CHANGES.rst:757 2d166176352d463282ef0c831cba992c
msgid "An option to not use OIDC. :pr:`23`"
msgstr "Une option pour désactiver OIDC. :pr:`23`"
#: ../../CHANGES.rst:758 3b87847e50664f6196aa406788838dc7
msgid "Disable some features when no SMTP server is configured. :pr:`24`"
msgstr ""
"Désactivation de quelques fonctionnalités lorsquaucun serveur SMTP na été "
"configuré. :pr:`24`"
#: ../../CHANGES.rst:759 de8d6a74115549b8adc25882f14e9588
msgid ""
"Login placeholder dynamically generated according to the configuration. :pr:"
"`25`"
msgstr ""
"Le texte dexemple du champ de connexion est généré dynamiquement en "
"fonction de la configuration. :pr:`25`"
#: ../../CHANGES.rst:760 c5919e02f35e45469b725fd79aade908
msgid "Added an option to tune object IDs. :pr:`26`"
msgstr ""
"Ajout dune option pour paramétrer les identifiants des objets. :pr:`26`"
#: ../../CHANGES.rst:761 607e9f8c23b54e8c998700ff4416eaec
msgid "Avatar support. :pr:`27`"
msgstr "Support des avatars. :pr:`27`"
#: ../../CHANGES.rst:762 c279a511c9b141568ede28b7c0afa583
msgid "Dynamical and configurable JWT claims. :pr:`28`"
msgstr "Paramètres des jetons daccès dynamiques et configurables. :pr:`28`"
#: ../../CHANGES.rst:763 08fa58159ca6437e8f1beca79627fa27
msgid "UI improvements. :pr:`29`"
msgstr "Améliorations de linterface utilisateur. :pr:`29`"
#: ../../CHANGES.rst:764 2a2b659fe7154b799ce44fafb902fd57
msgid "Invitation links expiration. :pr:`30`"
msgstr "Expiration des liens dinvitation. :pr:`30`"
#: ../../CHANGES.rst:765 ce7aa46cc889408aa52bbb62f76c92b6
msgid "Invitees can choose their IDs. :pr:`31`"
msgstr "Les invités peuvent choisir leur identifiant. :pr:`31`"
#: ../../CHANGES.rst:766 6bdec9f52f5044e698c2bf619c587280
msgid "LDAP backend refactoring. :pr:`35`"
msgstr "Ré-usinage concernant la base de données LDAP. :pr:`35`"
#: ../../CHANGES.rst:771 e819e93e00234beea6d9820e82fde531
msgid "Fixed ghost members in a group. :pr:`14`"
msgstr "Correction des membres fantômes dans les groupes. :pr:`14`"
#: ../../CHANGES.rst:772 10dd9d261d284523a84fd5c59050af24
msgid "Fixed email sender names. :pr:`19`"
msgstr "Correction de ladresse email des émetteurs. :pr:`19`"
#: ../../CHANGES.rst:773 8b309c5389bf44e8ac69e53c2765b585
msgid "Fixed filter being not escaped. :pr:`21`"
msgstr "Les filtres nétaient pas échappés. :pr:`21`"
#: ../../CHANGES.rst:774 cd93af35f9cc4576b1659289218ec809
msgid "Demo script good practices. :pr:`32`"
msgstr "Bonnes pratiques du script de démo. :pr:`32`"
#: ../../CHANGES.rst:775 9e92fa5ce3cd43848cc7c809c709180c
msgid "Binary path for Debian. :pr:`33`"
msgstr "Chemins des binaires pour Debian. :pr:`33`"
#: ../../CHANGES.rst:776 7d0dadcab0a644aba779030c25e2fc88
msgid ""
"Last name was not mandatory in the forms while this was mandatory in the "
"LDAP server. :pr:`34`"
msgstr ""
"Le nom de famille était facultatif dans les formulaires alors que cest un "
"paramètre obligatoire pour LDAP. :pr:`34`"
#: ../../CHANGES.rst:778 4526606a32614a238d9ba69b3f3c311d
msgid "Spelling typos. :pr:`36`"
msgstr "Corrections de fautes dorthographe. :pr:`36`"
#: ../../CHANGES.rst:781 c92de561587746169e06e8a51bd2efcd
msgid "[0.0.3] - 2021-10-13"
msgstr "[0.0.3] - 2021-10-13"
#: ../../CHANGES.rst:786 b4e4578702394d8db53727dca04e2eeb
msgid "Two-steps sign-in. :issue:`49`"
msgstr "Connexion en deux étapes. :issue:`49`"
#: ../../CHANGES.rst:787 f1f267f1648f4866b3b003c271acb344
msgid "Tokens can have several audiences. :issue:`62` :pr:`9`"
msgstr "Les jetons peuvent avoir plusieurs audiences. :issue:`62` :pr:`9`"
#: ../../CHANGES.rst:788 51257e276adb454f9bd203167e591489
msgid "Configuration check command. :issue:`66` :pr:`8`"
msgstr "Commande de vérification de la configuration. :issue:`66` :pr:`8`"
#: ../../CHANGES.rst:789 5684d9f7c259429290886a77f263ce3f
msgid "Groups management. :issue:`12` :pr:`6`"
msgstr "Gestion des groupes. :issue:`12` :pr:`6`"
#: ../../CHANGES.rst:794 c439c2e96fa14377bc990f5fc2cd65bc
msgid "Introspection access bugfix. :issue:`63` :pr:`10`"
msgstr ""
"Correction de laccès au point de terminaison dintrospection OIDC. :issue:"
"`63`:pr:`10`"
#: ../../CHANGES.rst:795 0c8a65056b0c4684984d84f76362f380
msgid "Introspection sub claim. :issue:`64` :pr:`7`"
msgstr ""
"Support du paramètre ``sub``dans lintrospection OIDC. :issue:`64` :pr:`7`"
#: ../../CHANGES.rst:798 664b613f4fd74b97a6caa749d9c5fd58
msgid "[0.0.2] - 2021-01-06"
msgstr "[0.0.2] - 2021-01-06"
#: ../../CHANGES.rst:803 2a77b05db06141a9918f93152e999c25
msgid "Login page is responsive. :issue:`1`"
msgstr "La page de connexion est réactive. :issue:`1`"
#: ../../CHANGES.rst:804 6d5de8101cf648e3b546489ba36f58aa
msgid "Adapt mobile keyboards to login page fields. :issue:`2`"
msgstr ""
"Adaptation des claviers mobiles sur les champs de la page de connexion. :"
"issue:`2`"
#: ../../CHANGES.rst:805 b945b81cdb88450c92efe96b2baa1329
msgid "Password recovery interface. :issue:`3`"
msgstr "Interface de réinitialisation des mots de passe. :issue:`3`"
#: ../../CHANGES.rst:806 89545855a2d04788922fe2566668d450
msgid "User profile interface. :issue:`4`"
msgstr "Interface de gestion des profiles utilisateur. :issue:`4`"
#: ../../CHANGES.rst:807 909bce16a1e349f6b070d4b2fb7dc069
msgid "Renamed the project *Canaille*. :issue:`5`"
msgstr "Renommage du projet en *Canaille*. :issue:`5`"
#: ../../CHANGES.rst:808 f1cd27a5a0794001afd13fdacf6fc6c5
msgid "Command to remove old tokens. :issue:`17`"
msgstr "Commande pour supprimer les jetons expirés. :issue:`17`"
#: ../../CHANGES.rst:809 17fa5866a3994849b85361163b9ea131
msgid "Improved password recovery email. :issue:`14` :issue:`26`"
msgstr ""
"Améliorations sur le courriel de réinitialisation de mot de passe. :issue:"
"`14` :issue:`26`"
#: ../../CHANGES.rst:810 9565eb5071fa47ddae91f5f76af6b048
msgid ""
"Use Flask `SERVER_NAME` configuration variable instead of `URL`. :issue:`24`"
msgstr ""
"Utilisation du paramètre de configuration Flask ``SERVER_NAME`` à la place "
"d``URL``. :issue:`24`"
#: ../../CHANGES.rst:811 8386c50a80aa4b8ca9ce34942d659216
msgid "Improved consents page. :issue:`27`"
msgstr "Améliorations sur la page de consentement. :issue:`27`"
#: ../../CHANGES.rst:812 0aa2212e1af549f8bdce3c9588cd6109
msgid "Admin user page. :issue:`8`"
msgstr "Page dadministration des utilisateurs. :issue:`8`"
#: ../../CHANGES.rst:813 0c8c21373574440392345e305971d258
msgid "Project logo. :pr:`29`"
msgstr "Logo pour le projet. :pr:`29`"
#: ../../CHANGES.rst:814 912385ce9ea24b4b81f77904ad670901
msgid ""
"User account self-deletion can be enabled in the configuration with "
"`SELF_DELETION`. :issue:`35`"
msgstr ""
"Lauto-suppression des comptes est configurable avec le paramètre de "
"configuration ``SELF_DELETION``. :issue:`35`"
#: ../../CHANGES.rst:815 447289b003f64e72b8b0977842a73f9c
msgid "Admins can impersonate users. :issue:`39`"
msgstr ""
"Les administrateurs peuvent prendre lidentité des utilisateurs. :issue:`39`"
#: ../../CHANGES.rst:816 ad67189130fd49868fcb0abfad1e7275
msgid "Forgotten page UX improvement. :pr:`43`"
msgstr ""
"Améliorations sur linterface utilisateur de la page des mots de passe "
"oubliés. :pr:`43`"
#: ../../CHANGES.rst:817 660c1528bbe0431aa50394306e761072
msgid "Admins can remove clients. :pr:`45`"
msgstr "Les administrateurs peuvent supprimer des clients. :pr:`45`"
#: ../../CHANGES.rst:818 3aa25de74978491ab76de431e7819552
msgid ""
"Option `HIDE_INVALID_LOGIN` that can be unactivated to let the user know if "
"the login he attempt to sign in with exists or not. :pr:`48`"
msgstr ""
"Le paramètre de configuration ``HIDE_INVALID_LOGIN`` peut-être utilisé pour "
"laisser ou non les utilisateurs savoir si le compte avec lequel ils tentent "
"de se connecter existe ou pas. :pr:`48`"
#: ../../CHANGES.rst:820 44549258486845fab0456f113a04f98b
msgid "Password initialization mail. :pr:`51`"
msgstr "Courriels dinitialisation des mots de passe. :pr:`51`"
#: ../../CHANGES.rst:825 11f9843c7ed348d89ec776212da1f871
msgid "Form translations. :issue:`19` :issue:`23`"
msgstr "Traductions des formulaires. :issue:`19` :issue:`23`"
#: ../../CHANGES.rst:826 115b5ed2ccf441d59dd25dc521fb148e
msgid "Avoid to use Google Fonts. :issue:`21`"
msgstr "Utilisations dautres polices que celles de Google Fonts. :issue:`21`"
#: ../../CHANGES.rst:831 ce6a992d5aa3472aa464e0aae5e1dd58
msgid "'My tokens' page. :issue:`22`"
msgstr "Page « Mes jetons ». :issue:`22`"
#: ../../CHANGES.rst:834 5c71c7871c87474a9a6e956d46958569
msgid "[0.0.1] - 2020-10-21"
msgstr "[0.0.1] - 2020-10-21"
#: ../../CHANGES.rst:839 174e925430f14fad869e0c91923805af
msgid "Initial release."
msgstr "Publication initiale."
#: ../../CONTRIBUTING.rst:2 0990185d86db4ce8a07d51360d1322d3
msgid "Contributions"
msgstr "Contributions"
#: ../../CONTRIBUTING.rst:4 da4d8554175642ba94b4f7e339063077
msgid "Contributions are welcome!"
msgstr "Les contributions sont bienvenues!"
#: ../../CONTRIBUTING.rst:6 7c2b65c2bab049f7ae36d441f0956ecd
msgid ""
"The repository is hosted at `gitlab.com/yaal/canaille <https://gitlab.com/"
"yaal/canaille>`_."
msgstr ""
"Le dépôt de code est hébergé sur `gitlab.com/yaal/canaille <https://gitlab."
"com/yaal/canaille>`_."
#: ../../CONTRIBUTING.rst:9 a673ec733c0a4064b2cd6cb76e454637
msgid "Discuss"
msgstr "Discuter"
#: ../../CONTRIBUTING.rst:11 1cb0899f872a4345aa339d9f3a6139a3
msgid ""
"If you want to implement a feature or a bugfix, please start by discussing "
"it with us on the `bugtracker <https://gitlab.com/yaal/canaille/-/issues>`_ "
"or the `matrix room <https://matrix.to/#/#canaille-discuss:yaal.coop>`_."
msgstr ""
"Si vous souhaitez développer une fonctionnalité ou corriger un "
"dysfonctionnement, veuillez commencer par en discuter sur `loutil de "
"gestion de ticket <https://gitlab.com/yaal/canaille/-/issues>`_ ou bien sur "
"le `salon Matrix <https://matrix.to/#/#canaille-discuss:yaal.coop>`_."
#: ../../CONTRIBUTING.rst:16 393a353bc9ee457e876a227f79bddc75
msgid "Development environment"
msgstr "Environnement de développement"
#: ../../CONTRIBUTING.rst:18 7948bd5b6ee144f59136b49cfb7ee55f
msgid "You can either run the demo locally or with Docker."
msgstr ""
"Vous pouvez exécuter linstance de démonstration localement ou bien à laide "
"de Docker."
#: ../../CONTRIBUTING.rst:20 f119e4446ee4463d80ce3fe3e0588b06
msgid ""
"The only tool required for local development is `uv`. Make sure to have uv "
"`installed on your computer <https://docs.astral.sh/uv/getting-started/"
"installation/>`_ to be able to hack Canaille."
msgstr ""
"Le seul outil requis pour développer localement est `uv`. Assurez-vous "
"davoir uv `installé sur votre système <https://docs.astral.sh/uv/getting-"
"started/installation/>`_ afin de pouvoir développer Canaille."
#: ../../CONTRIBUTING.rst:24 632e3a0e19ab4c97aea1bfdfd0b5c165
msgid "Initialize your development environment with:"
msgstr "Initialisez votre environnement de développement avec :"
#: ../../CONTRIBUTING.rst:26 507673718d174120a28e7afc5a110ec7
msgid ""
"``uv sync --extra front --extra oidc`` to have a minimal working development "
"environment. This will allow you to run the tests with ``uv pytest --backend "
"memory``."
msgstr ""
"``uv sync --extra front --extra oidc`` pour obtenir un environnement de "
"développement minimal. Cela vous permettra dexécuter les tests avec ``uv "
"pytest --backend memory``."
#: ../../CONTRIBUTING.rst:27 942fe3cb54354168a07c3862241e378c
msgid ""
"``uv sync --extra front --extra oidc --extra sqlite`` to have a minimal "
"working development environment with SQLite backend support. This will allow "
"you to run the tests with ``uv pytest --backend sql``."
msgstr ""
"``uv sync --extra front --extra oidc --extra sqlite`` pour obtenir un "
"environnement de développement minimal avec le support des bases de données "
"SQLite. Cela vous permettra dexécuter les tests avec ``uv pytest --backend "
"sql``."
#: ../../CONTRIBUTING.rst:28 18e74ae611944f71b212e9072eb24b3e
msgid ""
"``uv sync --extra front --extra oidc --extra ldap`` to have a minimal "
"working development environment with LDAP backend support. This will allow "
"you to run the tests with ``uv pytest --backend ldap``."
msgstr ""
"``uv sync --extra front --extra oidc --extra ldap`` pour obtenir un "
"environnement de développement minimal avec le support pour les bases de "
"données LDAP. Cela vous permettra dexécuter les tests avec ``uv pytest --"
"backend ldap``."
#: ../../CONTRIBUTING.rst:29 4a5010a9a38349dbb5af58ff13291b28
msgid ""
"``uv sync --all-extras`` if you want to have everything at your fingertips. "
"Note that it may compile some Python dependencies that would expect things "
"to be installed on your system; Some dependencies of Canaille might need to "
"be compiled, so you probably want to check that `GCC` and `cargo` are "
"available on your computer."
msgstr ""
"``uv sync --all-extras`` si vous souhaitez avoir tout à portée de main. "
"Notez que cela requerra peut-être de compiler certaines dépendances Python, "
"qui nécessiterons linstallation de certaines bibliothèques sur votre "
"système; Certaines dépendances de Canaille auront peut-être besoin dêtre "
"compilées, vous voudrez probablement vérifier que `GCC` et `cargo` sont "
"installés sur votre système."
#: ../../CONTRIBUTING.rst:32 75f515626b4f4524b29f13d98acf40ad
msgid "After having launched the demo you have access to several services:"
msgstr ""
"Après avoir lancé linstance de démonstration, vous avec accès à plusieurs "
"services :"
#: ../../CONTRIBUTING.rst:34 7eb94a5ef2ee4a4db852ca0988e51945
msgid "A canaille server at `localhost:5000 <http://localhost:5000>`_"
msgstr ""
"Un serveur Canaille à ladresse `localhost:5000 <http://localhost:5000>`_"
#: ../../CONTRIBUTING.rst:35 ad12ff8db3d64a02b528e93c352ebdf1
msgid "A dummy client at `localhost:5001 <http://localhost:5001>`_"
msgstr ""
"Un client factice à ladresse `localhost:5001 <http://localhost:5001>`_"
#: ../../CONTRIBUTING.rst:36 2cd9a0e0ac94408289a0d31a15112fd0
msgid "Another dummy client at `localhost:5002 <http://localhost:5002>`_"
msgstr ""
"Un autre client factice à ladresse `localhost:5002 <http://localhost:5002>`_"
#: ../../CONTRIBUTING.rst:38 e3696d8d026b4c0391112ce8c19e90b1
msgid "The canaille server has some default users:"
msgstr "Le serveur Canaille embarque quelques utilisateurs par défaut :"
#: ../../CONTRIBUTING.rst:40 8f956c9e5db842f6a5e28e81353915f9
msgid "A regular user which login and password are **user**;"
msgstr ""
"Un utilisateur de base dont lidentifiant et le mot de passe sont **user**;"
#: ../../CONTRIBUTING.rst:41 b2efc68d24d34fa39590ef3064ce84b0
msgid "A moderator user which login and password are **moderator**;"
msgstr ""
"Un modérateur dont lidentifiant et le mot de passe sont **moderator**;"
#: ../../CONTRIBUTING.rst:42 d38003f0a5674760918da590be8b7c60
msgid "An admin user which admin and password are **admin**;"
msgstr ""
"Un administrateur dont lidentifiant et le mot de passe sont **admin**;"
#: ../../CONTRIBUTING.rst:43 9cf3b6e86c78488fbadac5d7f7da7081
msgid ""
"A new user which login is **james**. This user has no password yet, and his "
"first attempt to log-in would result in sending a password initialization "
"email (if a smtp server is configured)."
msgstr ""
"Un nouvel utilisateur dont lidentifiant est **james**. Cet utilisateur na "
"pas de mot de passe défini, et sa première tentative de connexion résultera "
"en l'envoi dun email dinitialisation de mot de pass (si un serveur SMTP "
"est configuré)."
#: ../development/specifications.rst:106 ../../CONTRIBUTING.rst:48
#: 381b89217b0348debccf9ea7d3e494b8 24da1fbbb1214b0aad0e8cfd91ebad9f
msgid "Backends"
msgstr "Backends"
#: ../../CONTRIBUTING.rst:50 a456ad4a727440eea70c2267c7dd5a8a
msgid "Canaille comes with several backends:"
msgstr "Canaille peut se connecter à plusieurs types de bases de données :"
#: ../../CONTRIBUTING.rst:52 d658db4aa8734153b436094cd3c588b2
msgid "a lightweight test purpose `memory` backend"
msgstr "une base de données très légère `memory` à fins de tests"
#: ../../CONTRIBUTING.rst:53 d8b76bacd56f44168825850444a6b29e
msgid "a `sql` backend, based on sqlalchemy"
msgstr "une base de données `SQL`, utilsant SQLAlchemy"
#: ../../CONTRIBUTING.rst:54 0b6fbdf76a3748059ed8f25be5597e12
msgid "a production-ready `LDAP` backend"
msgstr "une base de données `LDAP` prête à lemploi"
#: ../../CONTRIBUTING.rst:57 a131ee5f73f3462281ec7b8ce52c4ff2
msgid "Docker environment"
msgstr "Environnement Docker"
#: ../../CONTRIBUTING.rst:59 934a3551784041c2a96d1040950cf880
msgid ""
"If you want to develop with docker, your browser needs to be able to reach "
"the `canaille` container. The docker-compose file exposes the right ports, "
"but front requests are from outside the docker network: the `canaille` url "
"that makes sense for docker, points nowhere from your browser. As exposed "
"ports are on `localhost`, you need to tell your computer that `canaille` url "
"means `localhost`."
msgstr ""
"Si vous souhaitez développer avec Docker, votre navigateur doit être en "
"mesure de joindre le conteneur `canaille`. Le fichier docker-compose expose "
"les bons ports, mais les requêtes viendront de lextérieur du réseau "
"Docker : l'URL `canaille` a un sens à lintérieur du réseau Docker, mais ne "
"désigne rien pour votre navigateur. Comme les ports sont exposés sur "
"`localhost`, vous devez configurer votre ordinateur pour que `canaille` "
"pointe vers `localhost`."
#: ../../CONTRIBUTING.rst:64 669dec4ddb9844a097afd2f606725df1
msgid "To do that, you can add the following line to your `/etc/hosts`:"
msgstr ""
"Pour effectuer ceci, vous pouvez ajouter la ligne suivante à `/etc/hosts` :"
#: ../../CONTRIBUTING.rst:70 9bdeeebb82004fabb71ccd006be5a152
msgid "To launch containers, use:"
msgstr "Pour lancer les conteneurs, utilisez :"
#: ../development/specifications.rst:108 ../tutorial/databases.rst:16
#: ../../CONTRIBUTING.rst:73 ../../CONTRIBUTING.rst:108
#: e147d723475a42de95ae6b307ec2c1b3 129d25dfcdd144ccb4be37e7474aed23
#: e6e3a6c57dbd41f4bbb3846087970020 cdf80b9bdb0a4d59b519e6d6ffd71ae3
msgid "SQL"
msgstr "SQL"
#: ../../CONTRIBUTING.rst:74 ../../CONTRIBUTING.rst:109
#: 24ef4199122140dd8f6df3109ee6544e 19b6a09e2468439b82b110ec4c051ae6
msgid ""
"With the SQL backend, the demo instance will load and save data in a local "
"sqlite database."
msgstr ""
"Avec la base de données SQL, linstance de démonstration chargera et "
"enregistrera les données dans un fichier sqlite local."
#: ../../CONTRIBUTING.rst:76 ../../CONTRIBUTING.rst:111
#: 9bc9fa8549854c99ad7f739ec5317a99 573978fa6ecb432fa0d54cc76e8f2861
msgid "Run the demo instance with the SQL backend"
msgstr "Lancer linstance de démonstration avec la base de données SQL"
#: ../tutorial/databases.rst:8 ../../CONTRIBUTING.rst:83
#: ../../CONTRIBUTING.rst:117 c9ac76f0f24b441aa9632911fb19ff7e
#: d578daebea3f4c2cb6fe0d4866bcb690 b22dc1aeb5f0489c9a2228869072255b
msgid "Memory"
msgstr "En-mémoire"
#: ../../CONTRIBUTING.rst:84 ../../CONTRIBUTING.rst:118
#: 8d19234a6dd74306bd775fc44ac43c63 9be657a56d1c460b9ce184d59e8b1c5f
msgid "With the memory backend, all data is lost when Canaille stops."
msgstr ""
"Avec la base de données en mémoire, toutes les données sont perdues lorsque "
"Canaille s'arrête."
#: ../../CONTRIBUTING.rst:86 ../../CONTRIBUTING.rst:120
#: 8f594f36a26342d8a6c1b8f53ab7dcd2 2c26d8e08f034833b27c02831de86710
msgid "Run the demo instance with the memory backend"
msgstr "Lancer linstance de démonstration avec la base de données en mémoire"
#: ../development/specifications.rst:108 ../tutorial/databases.rst:45
#: ../../CONTRIBUTING.rst:93 ../../CONTRIBUTING.rst:126
#: c135807ed63542f1ae515a60df0501ba 00ed3f79be9f4e7588e38a777da737ab
#: 5933c483337e4ebb9390a59a166e2a13 2c30cc73fa584d5886d6f04ed75f1b1d
msgid "LDAP"
msgstr "LDAP"
#: ../../CONTRIBUTING.rst:94 ../../CONTRIBUTING.rst:127
#: 83b3c6b4940141b885f051fb82b84125 054bfb478e684320a73b57569eec14df
msgid "With the LDAP backend, all data is lost when Canaille stops."
msgstr "Avec LDAP, toutes les données sont perdues lorsque Canaille sarrête."
#: ../../CONTRIBUTING.rst:96 ../../CONTRIBUTING.rst:129
#: 6e2da183608c4e7bb87e38a2c66aa63b 73a67cd951644177bdccca3a08deb606
msgid "Run the demo instance with the LDAP backend"
msgstr "Lancer linstance de démo avec le support de LDAP"
#: ../../CONTRIBUTING.rst:105 2fa57166974946a899931022ba5fad8a
msgid "Local environment"
msgstr "Environnement local"
#: ../../CONTRIBUTING.rst:135 8283fb57ce51423a9b3541571cc4cd0b
msgid ""
"If you want to run the demo locally with the LDAP backend, you need to have "
"`OpenLDAP <https://www.openldap.org/>`_ installed on your system. It is "
"generally shipped under the ``slapd`` or ``openldap`` package name."
msgstr ""
"Si vous souhaitez exécuter linstance de démonstration localement avec le "
"support pour LDAP, vous devez avoir `OpenLDAP <https://www.openldap.org/>`_ "
"installé sur votre système. OpenLDAP est généralement fourni via les paquets "
"nommés ``slapd`` ou ``openldap``."
#: ../../CONTRIBUTING.rst:140 6e8c5a2f92e348ab9afedd54df75c46a
msgid ""
"On Debian or Ubuntu systems, the OpenLDAP `slapd` binary usage might be "
"restricted by apparmor, and thus makes the tests and the demo fail. This can "
"be mitigated by removing apparmor restrictions on `slapd`."
msgstr ""
"Si vous souhaitez apporter une correction ou développer une fonctionnalité, "
"veuillez commencer par en discuter sur l`outil de gestion de tickets "
"<https://gitlab.com/yaal/canaille/-/issues>`_ ou le `salon Matrix <https://"
"matrix.to/#/#canaille-discuss:yaal.coop>`_."
#: ../../CONTRIBUTING.rst:150 c78ca4223f9645a583ac47bd1aa5c146
msgid "Populate the database"
msgstr "Remplissage de la base de données"
#: ../../CONTRIBUTING.rst:152 bb0e31cb292b423fba42e70830997721
msgid ""
"The demo database comes populated with some random users and groups. If you "
"need more, you can generate users and groups with the ``populate`` command:"
msgstr ""
"La base de donnée de démonstration est remplie avec des utilisateurs et des "
"groupes générés aléatoirement. Si vous avez besoin de plus, vous pouvez "
"générer des utilisateurs et des groupes avec la commande ``populate`` :"
#: ../../CONTRIBUTING.rst:163 cbb12aab253c455fa1b1754f2eb0729a
msgid ""
"Adapt to use either the `ldap` or the `sql` configuration file. Note that "
"this will not work with the memory backend."
msgstr ""
"Adaptez pour utiliser le fichier de configuration `ldap` ou `sql`. Notez que "
"cela ne fonctionnera pas avec la base de données en mémoire."
#: ../../CONTRIBUTING.rst:166 0e899d83156d4e029681d634b1dec436
msgid "Unit tests"
msgstr "Tests unitaires"
#: ../../CONTRIBUTING.rst:168 39be72b7c6d54603abbca8de879267c5
msgid ""
"To run the tests, you just can run `uv run pytest` and/or `uv run tox` to "
"test all the supported python environments. Everything must be green before "
"patches get merged."
msgstr ""
"Pour exécuter les tests, vous pouvez simplement lancer la commande `uv run "
"pytest`et/ou `uv run tox`pour tester tous les environnements Python "
"supportés. Tout doit être au vert avant que les contributions soient "
"fusionnées."
#: ../../CONTRIBUTING.rst:171 45992e8a617143e6a2b805043155118a
msgid ""
"To test a specific backend you can pass ``--backend memory``, ``--backend "
"sql`` or ``--backend ldap`` to pytest and tox."
msgstr ""
"Pour tester une base de données en particulier, vous pouvez passer les "
"argumentes ``--backend memory``, ``--backend sql`` ou ``--backend ldap`` à "
"pytest et tox."
#: ../../CONTRIBUTING.rst:173 8162f265527e4a42a0ab95ec14e769a4
msgid ""
"The test coverage is 100%, patches won't be accepted if not entirely "
"covered. You can check the test coverage with ``uv run pytest --cov --cov-"
"report=html`` or ``uv run tox -e coverage -- --cov-report=html``. You can "
"check the HTML coverage report in the newly created `htmlcov` directory."
msgstr ""
"La couverture de code est de 100%, les contributions ne seront acceptées que "
"si leur code est entièrement couvert. Vous pouvez vérifier la couverture "
"avec ``uv run pytest --cov --cov-report=html``ou ``uv run tox -e coverage -- "
"--cov-report=html`. Vous pouvez ensuite consulter le rapport de couverture "
"HTML dans le dossier `htmlcov` nouvellement créé."
#: ../../CONTRIBUTING.rst:178 775bdfa6e27e469383647d7d603659a1
msgid "Code style"
msgstr "Style de code"
#: ../../CONTRIBUTING.rst:180 b309d56f31904c9da28ceb01fe67d6f9
msgid ""
"We use `ruff <https://docs.astral.sh/ruff/>`_ along with other tools to "
"format our code. Please run ``uv run tox -e style`` on your patches before "
"submitting them. In order to perform a style check and correction at each "
"commit you can use our `pre-commit <https://pre-commit.com/>`_ configuration "
"with ``uv run pre-commit install``."
msgstr ""
"Canaille utilise `ruff <https://docs.astral.sh/ruff/>`_ ainsi que dautres "
"outils pour formater le code. Veuillez exécuter ``uv run tox -e style`` "
"avant de soumettre une contribution. Afin deffectuer les vérifications de "
"style à chaque commit, vous pouvez utiliser la configuration `pre-commit "
"<https://pre-commit.com/>`_ avec ``uv run pre-commit install``."
#: ../../CONTRIBUTING.rst:186 dbbdab0936124ac2a12af49411a84128
msgid "Front"
msgstr "Interface utilisateur"
#: ../../CONTRIBUTING.rst:188 799d621279764c62af4239338d80db8a
msgid ""
"The interface is built upon the `Fomantic UI <https://fomantic-ui.com/>`_ "
"CSS framework. The dynamical parts of the interface use `htmx <https://htmx."
"org/>`_."
msgstr ""
"Linterface utilisateur est construite avec `Fomantic UI <https://fomantic-"
"ui.com/>`_. Les parties dynamiques utilisent `HTMX <https://htmx.org/>`_."
#: ../../CONTRIBUTING.rst:191 128898c5e69d49368cdbf572550dacca
msgid ""
"Using Javascript in the interface is tolerated, but the whole website MUST "
"be accessible for browsers without Javascript support, and without any "
"feature loss."
msgstr ""
"Lutilisation de Javascript dans linterface est tolérée, mais lensemble de "
"lapplication DOIT pouvoir être utilisé par des navigateurs sans support "
"Javascript, et sans perte de fonctionnalité."
#: ../../CONTRIBUTING.rst:193 dc05fa959ec8437381264442b6a30974
msgid ""
"Because of Fomantic UI we have a dependency to jQuery, however new "
"contributions should not depend on jQuery at all. See the `related issue "
"<https://gitlab.com/yaal/canaille/-/issues/130>`_."
msgstr ""
"À cause de Fomantic UI, Canaille a une dépendance vers jQuery, cependant les "
"nouvelles contributions ne devraient pas utiliser jQuery. Lisez le `ticket à "
"ce sujet<https://gitlab.com/yaal/canaille/-/issues/130>`_."
#: ../index.rst:71 ../../CONTRIBUTING.rst:198 392f1081f6e94b6da5679a367a2e7a4a
#: 0f273ce3769347ce8015316671ac1b15
msgid "Documentation"
msgstr "Documentation"
#: ../../CONTRIBUTING.rst:200 b5151aeda933407bb66f3ea0d6ba101e
msgid "The documentation is generated when the tests run:"
msgstr "La documentation est générée lors de lexécution des tests :"
#: ../../CONTRIBUTING.rst:206 39f2fefbdf4343ccb8641e3dcc1549b4
msgid ""
"You can also run sphinx by hand, that should be faster since it avoids the "
"tox environment initialization:"
msgstr ""
"Vous pouvez aussi exécuter `sphinx` à la main, cela devrait être plus rapide "
"puisque cela évite linitialisation des environnements tox :"
#: ../../CONTRIBUTING.rst:212 89531c0a7d17422684603832f8aeef47
msgid "The generated documentation is located at ``build/sphinx/html/en``."
msgstr "La documentation générée se situe à ``build/sphinx/html/en``."
#: ../../CONTRIBUTING.rst:215 bb87f6e759f140baa631b9a44d008e97
msgid "Code translation"
msgstr "Traduction du code"
#: ../../canaille/translations/README.rst:1 c4bd0dcdf5b847958c1713690a062440
msgid ""
"Translations are done with `Weblate <https://hosted.weblate.org/projects/"
"canaille/canaille>`__."
msgstr ""
"Les traductions seffectuent sur `Weblate <https://hosted.weblate.org/"
"projects/canaille/canaille>`_."
#: ../../canaille/translations/README.rst:3 04a9342ea51b4cceb41bf7505907566a
msgid ""
"The following commands are there as documentation, only the message "
"extraction is needed for contributors. All the other steps are automatically "
"done with Weblate."
msgstr ""
"Les commandes suivantes sont présentées à titre de documentation, seule "
"lextraction des messages est utile aux contributeurs. Toutes les autres "
"étapes sont effectuées automatiquement par Weblate."
#: readme.rst:6 ../../canaille/translations/README.rst:8
#: 84706a46430343e6aa358b28a46feff2 08d06911b6e54459881d14deaf9a7a80
#: 33cedfb8b8624971bbe4cb2413fbdb15
msgid "Message extraction"
msgstr "Extraction des messages"
#: readme.rst:8 ../../canaille/translations/README.rst:10
#: 4ade1dc0d8cb420cb02eae9fd4fd3653 d8994cc54925437687864ded269ddc34
#: 384b7d18414843f9adfa40c46f734da5
msgid ""
"After you have edited translatable strings, you should extract the messages "
"with:"
msgstr ""
"Après avoir édité des chaînes de caractères traductibles, vous pouvez "
"extraire les messages avec :"
#: readme.rst:15 ../../canaille/translations/README.rst:17
#: 1e09dc8b659c479eb2f6f943786e423e 6ddd54ecd3f540b28fea415cea1199df
#: 8492e236ff844116b90640e12b246f67
msgid "Language addition"
msgstr "Ajout de langues"
#: readme.rst:17 ../../canaille/translations/README.rst:19
#: 0720284c793641c5a85eecc25ba0d9b3 0aea2aff48bf4743b456f7a56cd41359
#: 9aaae4da193146b4b4f41aa2bd467336
msgid ""
"You can add a new language manually with the following command, however this "
"should not be needed as Weblate takes car of this:"
msgstr ""
"Vous pouvez ajouter une nouvelle langue manuellement avec la commande "
"suivante, cependant cela ne devrait pas être nécessaire puisque Weblate s'en "
"occupe automatiquement :"
#: ../../canaille/translations/README.rst:26 25ee62b065294ad5adf105b9d575587b
msgid "Catalog update"
msgstr "Mise à jour des catalogues"
#: ../../canaille/translations/README.rst:28 20e76bc5528c40b4bdd89c629723e8c4
msgid ""
"You can update the catalogs with the following command, however this should "
"not be needed as Weblate automatically update language catalogs when it "
"detects new strings or when someone translate some existing strings. Weblate "
"pushes happen every 24h."
msgstr ""
"Vous pouvez mettre à jour les catalogues avec la commande suivante, "
"cependant cela ne devrait pas être nécessaire puisque Weblate met à jour "
"automatiquement les catalogues lorsquil détecte de nouvelles chaînes de "
"caractères ou lorsque quelquun traduit des chaînes de caractères "
"existantes. Weblate pousse ses modifications toutes les 24 heures."
#: ../../canaille/translations/README.rst:36 15327a715c38464fa9dfb969965c2ac1
msgid "Catalog compilation"
msgstr "Compilation des catalogues"
#: ../../canaille/translations/README.rst:38 4c95a49edb0740d0ad34d7eee9466334
msgid ""
"You can compile the catalogs with the following command, however this should "
"not be needed as catalogs are automatically compiled before running the unit "
"tests, before launching the demo and before compiling the Canaille python "
"package:"
msgstr ""
"Vous pouvez compiler les catalogues avec la commande suivante, cependant "
"cela ne devrait pas être nécessaire puisque les catalogues sont "
"automatiquement compilés avant le lancement des tests unitaires, avant le "
"lancement de linstance de démonstration et avant la compilation du paquet "
"Python de Canaille :"
#: ../../CONTRIBUTING.rst:221 da97f28b857241879092e1c0a45cc6d6
msgid "Documentation translation"
msgstr "Traduction de la documentation"
#: readme.rst:1 9776df929dbd40f59315d9dad326da0a
#: 127143cd0922422c941bd0880cb85699
msgid ""
"Translations are done with `Weblate <https://hosted.weblate.org/projects/"
"canaille/documentation>`__."
msgstr ""
"Les traductions seffectuent sur `Weblate <https://hosted.weblate.org/"
"projects/canaille/documentation>`__."
#: readme.rst:3 b1e092b9af914bbaa60034638b5feb44
#: cb5ccfce511a4bff97a39b300396dfce
msgid ""
"The following commands are there as documentation, only the message "
"extraction and the language addition is needed for contributors."
msgstr ""
"Les commandes suivantes sont montrées à titre de documentation, seules "
"lextraction de message et lajout de langues de traduction sont utiles aux "
"contributeurs."
#: readme.rst:24 9312e9d146484a30b47297cfe934dcb7
#: f6ae3452c2de41c397aec993afaab244
msgid "Build the documentation in another language"
msgstr "Construire la documentation dans une autre langue"
#: ../../CONTRIBUTING.rst:226 588494c60125438a9a70645678f05ca3
msgid "Publish a new release"
msgstr "Publier une nouvelle version"
#: ../../CONTRIBUTING.rst:228 420e9e7fcb244f18b3db1d1b9c52d92c
msgid ""
"Check that dependencies are up to date with ``uv sync --all-extras --"
"upgrade`` and update dependencies accordingly in separated commits;"
msgstr ""
"Vérifiez que les dépendances sont à jour avec ``uv sync --all-extras --"
"upgrade`` et mettez à jour chaque dépendance dans un commit séparé;"
#: ../../CONTRIBUTING.rst:229 00227bd468c34010a3883e4e0f90d8e3
msgid ""
"Check that tests are still green for every supported python version, and "
"that coverage is still at 100%, by running ``uv run tox``;"
msgstr ""
"Vérifiez que les tests sont toujours verts pour chaque version supportée de "
"Python, et que la couverture de code est toujours de 100%, en lançant ``uv "
"run tox``;"
#: ../../CONTRIBUTING.rst:230 72f3b000f5b1489384c00d6e266c63a8
msgid ""
"Check that the demo environments are still working, both the local and the "
"Docker one;"
msgstr ""
"Vérifiez que les instances de démonstration sont toujours fonctionnelles, à "
"la fois en local et avec Docker;"
#: ../../CONTRIBUTING.rst:231 5bea104b168a477f9accf8d55549330e
msgid ""
"Check that the :ref:`development/changelog:Release notes` section is "
"correctly filled up;"
msgstr ""
"Vérifiez que les :ref:`development/changelog:notes de versioin` sont "
"correctement renseignées;"
#: ../../CONTRIBUTING.rst:232 90f263cc1eeb4ef5a42f8809672f64ef
msgid "Increase the version number in ``pyproject.toml``;"
msgstr "Incrémentez le numéro de version dans ``pyproject.toml``;"
#: ../../CONTRIBUTING.rst:233 58fe93530d98448c82779271abb44629
msgid "Commit with ``git commit``;"
msgstr "Commitez avec ``git commit``;"
#: ../../CONTRIBUTING.rst:234 ad1df1a61c3942368ec1313411547c13
msgid "Build with ``uv build``;"
msgstr "Construisez le paquet avec ``uv build``;"
#: ../../CONTRIBUTING.rst:235 0cfad1da05584638ab4bc386b666f5a3
msgid ""
"Publish on test PyPI with ``uv publish --publish-url https://test.pypi.org/"
"legacy/``;"
msgstr ""
"Publiez le paquet sur linstance de test de PyPI avec ``uv publish --publish-"
"url https://test.pypi.org/legacy/``;"
#: ../../CONTRIBUTING.rst:236 f6308d8a0b3f4db4bc7c7907d8a1f266
msgid ""
"Install the test package somewhere with ``pip install --extra-index-url "
"https://test.pypi.org/simple --upgrade canaille``. Check that everything "
"looks fine;"
msgstr ""
"Installez le paquet dans un projet quelconque avec ``pip install --extra-"
"index-url https://test.pypi.org/simple --upgrade canaille``. Vérifiez que "
"linstallation sest bien passée;"
#: ../../CONTRIBUTING.rst:237 0e10ccf92af749d49e9bfea50fd82a50
msgid "Publish on production PyPI ``uv publish``;"
msgstr "Publiez sur linstance de production de PyPI avec ``uv publish``;"
#: ../../CONTRIBUTING.rst:238 fa1c23c9661d4fb8b0f5d291a64d49f7
msgid "Tag the commit with ``git tag XX.YY.ZZ``;"
msgstr "Étiquetez le commit avec ``git tag XX.YY.ZZ``;"
#: ../../CONTRIBUTING.rst:239 7a281f02d2a741c892e150979920d23b
msgid ""
"Push the release commit and the new tag on the repository with ``git push --"
"tags``."
msgstr ""
"Poussez le commit de publication avec la nouvelle étiquette avec ``git push "
"--tags``."
#: ../development/index.rst:2 ../tutorial/theming.rst:41
#: 52e76c88219e4de19a2b82b2a2c1c4d8 1b6948f6a143409db5b73d81af367214
msgid "Development"
msgstr "Développement"
#: ../development/specifications.rst:2 b3876dc3555842a49a1c8e1eb079fbe1
msgid "Specifications"
msgstr "Normes"
#: ../development/specifications.rst:4 8ce7c58ef8634acb8f37bf04fde97d9c
msgid ""
"This page details which specifications are implemented in Canaille, and "
"compares Canaille with other well-known identity providers."
msgstr ""
"Cette page détaille les spécifications implémentées dans Canaille, et "
"compare Canaille avec dautres serveurs didentité renommés."
#: ../development/specifications.rst:7 4c4e202076854f99b4d398d1e3719296
msgid "State of the specs in Canaille"
msgstr "Létat des spécifications dans Canaille"
#: ../development/specifications.rst:10 682849a438ce4c9eb771d18c1c3e21b4
msgid "OAuth2"
msgstr "OAuth2"
#: ../development/specifications.rst:12 829d6454dfd14680b17fad372f8cca40
msgid ""
"✅ `RFC6749: OAuth 2.0 Framework <https://tools.ietf.org/html/rfc6749>`_"
msgstr ""
"✅ `RFC6749: OAuth 2.0 Framework <https://tools.ietf.org/html/rfc6749>`_"
#: ../development/specifications.rst:13 f115a6d1703c4250ab425bb030e48939
msgid ""
"✅ `RFC6750: OAuth 2.0 Bearer Tokens <https://tools.ietf.org/html/rfc6750>`_"
msgstr ""
"✅ `RFC6750: OAuth 2.0 Bearer Tokens <https://tools.ietf.org/html/rfc6750>`_"
#: ../development/specifications.rst:14 77024b74c51f45b984117084b8f7deb5
msgid ""
"✅ `RFC7009: OAuth 2.0 Token Revocation <https://tools.ietf.org/html/"
"rfc7009>`_"
msgstr ""
"✅ `RFC7009: OAuth 2.0 Token Revocation <https://tools.ietf.org/html/"
"rfc7009>`_"
#: ../development/specifications.rst:15 9fdf59e113c6482f8db2451c5b2df549
msgid ""
"❌ `RFC7523: JWT Profile for OAuth 2.0 Client Authentication and "
"Authorization Grants <https://tools.ietf.org/html/rfc7523>`_"
msgstr ""
"❌ `RFC7523: JWT Profile for OAuth 2.0 Client Authentication and "
"Authorization Grants <https://tools.ietf.org/html/rfc7523>`_"
#: ../development/specifications.rst:16 bdeb1dc9178d4e00a0377e2c22346350
msgid ""
"✅ `RFC7591: OAuth 2.0 Dynamic Client Registration Protocol <https://tools."
"ietf.org/html/rfc7591>`_"
msgstr ""
"✅ `RFC7591: OAuth 2.0 Dynamic Client Registration Protocol <https://tools."
"ietf.org/html/rfc7591>`_"
#: ../development/specifications.rst:17 fe66b098739b46ceb8bc989246fc9067
msgid ""
"✅ `RFC7592: OAuth 2.0 Dynamic Client Registration Management Protocol "
"<https://tools.ietf.org/html/rfc7592>`_"
msgstr ""
"✅ `RFC7592: OAuth 2.0 Dynamic Client Registration Management Protocol "
"<https://tools.ietf.org/html/rfc7592>`_"
#: ../development/specifications.rst:18 f084226dce6c46c1b6aa79e024bd4543
msgid ""
"✅ `RFC7636: Proof Key for Code Exchange by OAuth Public Clients <https://"
"tools.ietf.org/html/rfc7636>`_"
msgstr ""
"✅ `RFC7636: Proof Key for Code Exchange by OAuth Public Clients <https://"
"tools.ietf.org/html/rfc7636>`_"
#: ../development/specifications.rst:19 ae8757b89e224f2d8348038e1924d795
msgid ""
"✅ `RFC7662: OAuth 2.0 Token Introspection <https://tools.ietf.org/html/"
"rfc7662>`_"
msgstr ""
"✅ `RFC7662: OAuth 2.0 Token Introspection <https://tools.ietf.org/html/"
"rfc7662>`_"
#: ../development/specifications.rst:20 531dff6077d14c7aa880e7f823c72eff
msgid ""
"✅ `RFC8414: OAuth 2.0 Authorization Server Metadata <https://tools.ietf.org/"
"html/rfc8414>`_"
msgstr ""
"✅ `RFC8414: OAuth 2.0 Authorization Server Metadata <https://tools.ietf.org/"
"html/rfc8414>`_"
#: ../development/specifications.rst:21 6b2fc87355914a08b0e0c9e4d795443c
msgid ""
"❌ `RFC8428: OAuth 2.0 Device Authorization Grant <https://tools.ietf.org/"
"html/rfc8428>`_"
msgstr ""
"❌ `RFC8428: OAuth 2.0 Device Authorization Grant <https://tools.ietf.org/"
"html/rfc8428>`_"
#: ../development/specifications.rst:22 535bd458ee31408ebe837c03ea660d17
msgid ""
"❌ `RFC8693: OAuth 2.0 Token Exchange <https://tools.ietf.org/html/rfc8693>`_"
msgstr ""
"❌ `RFC8693: OAuth 2.0 Token Exchange <https://tools.ietf.org/html/rfc8693>`_"
#: ../development/specifications.rst:23 f0bfbeac37b44b8d816100505c291ba9
msgid ""
"❌ `RFC8705: OAuth 2.0 Mutual-TLS Client Authentication and Certificate-"
"Bound Access Tokens <https://tools.ietf.org/html/rfc8705>`_"
msgstr ""
"❌ `RFC8705: OAuth 2.0 Mutual-TLS Client Authentication and Certificate-"
"Bound Access Tokens <https://tools.ietf.org/html/rfc8705>`_"
#: ../development/specifications.rst:24 ed43d77027d44b88b776baeebed78802
msgid ""
"❌ `RFC8707: Resource Indicators for OAuth 2.0 <https://tools.ietf.org/html/"
"rfc8707>`_"
msgstr ""
"❌ `RFC8707: Resource Indicators for OAuth 2.0 <https://tools.ietf.org/html/"
"rfc8707>`_"
#: ../development/specifications.rst:25 5630d915f527443e93073192b4bc2e8a
msgid ""
"❌ `RFC9068: JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens "
"<https://tools.ietf.org/html/rfc9068>`_"
msgstr ""
"❌ `RFC9068: JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens "
"<https://tools.ietf.org/html/rfc9068>`_"
#: ../development/specifications.rst:26 6dfb4c82f5d24fe5ac3edde198aae615
msgid ""
"❌ `RFC9101: OAuth 2.0 JWT-Secured Authorization Request (JAR) <https://"
"tools.ietf.org/html/rfc9101>`_"
msgstr ""
"❌ `RFC9101: OAuth 2.0 JWT-Secured Authorization Request (JAR) <https://"
"tools.ietf.org/html/rfc9101>`_"
#: ../development/specifications.rst:27 b14871b2584c40ddb76374986a69d89f
msgid ""
"❌ `RFC9126: OAuth 2.0 Pushed Authorization Requests <https://tools.ietf.org/"
"html/rfc9126>`_"
msgstr ""
"❌ `RFC9126: OAuth 2.0 Pushed Authorization Requests <https://tools.ietf.org/"
"html/rfc9126>`_"
#: ../development/specifications.rst:28 8d53df978c09455cbbd5f0b3c86fae56
msgid ""
"❌ `RFC9207: OAuth 2.0 Authorization Server Issuer Identification <https://"
"tools.ietf.org/html/rfc9207>`_"
msgstr ""
"❌ `RFC9207: OAuth 2.0 Authorization Server Issuer Identification <https://"
"tools.ietf.org/html/rfc9207>`_"
#: ../development/specifications.rst:29 fc24914060bc4e2b83be624cf1e72c4b
msgid ""
"❌ `RFC9394: OAuth 2.0 Rich Authorization Requests <https://www.rfc-editor."
"org/rfc/rfc9396.html>`_"
msgstr ""
"❌ `RFC9394: OAuth 2.0 Rich Authorization Requests <https://www.rfc-editor."
"org/rfc/rfc9396.html>`_"
#: ../development/specifications.rst:30 415da024ae33470ead9213e36bbb5287
msgid ""
"❌ `OAuth2 Multiple Response Types <https://openid.net/specs/oauth-v2-"
"multiple-response-types-1_0.html>`_"
msgstr ""
"❌ `OAuth2 Multiple Response Types <https://openid.net/specs/oauth-v2-"
"multiple-response-types-1_0.html>`_"
#: ../development/specifications.rst:31 90dca086523a4b7992b11bd243218023
msgid ""
"❌ `OAuth2 Form Post Response Mode <https://openid.net/specs/oauth-v2-form-"
"post-response-mode-1_0.html>`_"
msgstr ""
"❌ `OAuth2 Form Post Response Mode <https://openid.net/specs/oauth-v2-form-"
"post-response-mode-1_0.html>`_"
#: ../development/specifications.rst:34 ../features.rst:230
#: a191e1d8741042fd82b609c98cb88f49 a39756472b3e413583feb8a2a3c5a456
msgid "OpenID Connect"
msgstr "OpenID Connect"
#: ../development/specifications.rst:36 f8aa5fbf69f64a6cae6b53d13ab9f14d
msgid ""
"✅ `OpenID Connect Core <https://openid.net/specs/openid-connect-core-1_0."
"html>`_"
msgstr ""
"✅ `OpenID Connect Core <https://openid.net/specs/openid-connect-core-1_0."
"html>`_"
#: ../development/specifications.rst:37 0aa3c6a211764851be72af8859e72faf
msgid ""
"✅ `OpenID Connect Discovery <https://openid.net/specs/openid-connect-"
"discovery-1_0.html>`_"
msgstr ""
"✅ `OpenID Connect Discovery <https://openid.net/specs/openid-connect-"
"discovery-1_0.html>`_"
#: ../development/specifications.rst:38 8731b7e2a1f440d0ab3d19f58363205b
msgid ""
"✅ `OpenID Connect Dynamic Client Registration <https://openid.net/specs/"
"openid-connect-registration-1_0.html>`_"
msgstr ""
"✅ `OpenID Connect Dynamic Client Registration <https://openid.net/specs/"
"openid-connect-registration-1_0.html>`_"
#: ../development/specifications.rst:39 19762de2d0564cd2bab6556f5daa32b9
msgid ""
"✅ `OpenID Connect RP Initiated Logout <https://openid.net/specs/openid-"
"connect-rpinitiated-1_0.html>`_"
msgstr ""
"✅ `OpenID Connect RP Initiated Logout <https://openid.net/specs/openid-"
"connect-rpinitiated-1_0.html>`_"
#: ../development/specifications.rst:40 b1f99cddaa19432189ba53247b24d887
msgid ""
"❌ `OpenID Connect Session Management <https://openid.net/specs/openid-"
"connect-session-1_0.html>`_"
msgstr ""
"❌ `OpenID Connect Session Management <https://openid.net/specs/openid-"
"connect-session-1_0.html>`_"
#: ../development/specifications.rst:41 6bc7d7cf2e6e4fbd8c5b37ee78f38da3
msgid ""
"❌ `OpenID Connect Front Channel Logout <https://openid.net/specs/openid-"
"connect-frontchannel-1_0.html>`_"
msgstr ""
"❌ `OpenID Connect Front Channel Logout <https://openid.net/specs/openid-"
"connect-frontchannel-1_0.html>`_"
#: ../development/specifications.rst:42 c86778f4c87d4ea5bf51969fd79efa9a
msgid ""
"❌ `OpenID Connect Back Channel Logout <https://openid.net/specs/openid-"
"connect-backchannel-1_0.html>`_"
msgstr ""
"❌ `OpenID Connect Back Channel Logout <https://openid.net/specs/openid-"
"connect-backchannel-1_0.html>`_"
#: ../development/specifications.rst:43 f29d468edc9e4c93b4e132dcb896ec23
msgid ""
"❌ `OpenID Connect Back Channel Authentication Flow <https://openid.net/"
"specs/openid-client-initiated-backchannel-authentication-core-1_0.html>`_"
msgstr ""
"❌ `OpenID Connect Back Channel Authentication Flow <https://openid.net/"
"specs/openid-client-initiated-backchannel-authentication-core-1_0.html>`_"
#: ../development/specifications.rst:44 aca2626f01c94811ab9cbb4e11c8249a
msgid ""
"❌ `OpenID Connect Core Error Code unmet_authentication_requirements "
"<https://openid.net/specs/openid-connect-unmet-authentication-"
"requirements-1_0.html>`_"
msgstr ""
"❌ `OpenID Connect Core Error Code unmet_authentication_requirements "
"<https://openid.net/specs/openid-connect-unmet-authentication-"
"requirements-1_0.html>`_"
#: ../development/specifications.rst:45 5a70caff3ff34223b1fc4bd8270c2184
msgid ""
"✅ `Initiating User Registration via OpenID Connect 1.0 <https://openid.net/"
"specs/openid-connect-prompt-create-1_0.html>`_"
msgstr ""
"✅ `Initiating User Registration via OpenID Connect 1.0 <https://openid.net/"
"specs/openid-connect-prompt-create-1_0.html>`_"
#: ../development/specifications.rst:46 ca8c178eab77479991d9744e62826ca5
msgid ""
"❌ `OpenID Connect Profile for SCIM Services <https://openid.net/specs/"
"openid-connect-scim-profile-1_0.html>`_"
msgstr ""
"❌ `OpenID Connect Profile for SCIM Services <https://openid.net/specs/"
"openid-connect-scim-profile-1_0.html>`_"
#: ../development/specifications.rst:49 ../development/specifications.rst:108
#: 794c29185c834483b43d4cd7efa94774 4c7bd083d6eb494aa8290e0e28cf88d3
msgid "SCIM"
msgstr "SCIM"
#: ../development/specifications.rst:51 9f8697b813204adba4a63ddf11a7fd36
msgid "Canaille provides a basic SCIM server implementation."
msgstr "Canaille fournit une implémentation basique du protocole SCIM."
#: ../development/specifications.rst:53 3e956d7fa3934bc7a67befcae72393c8
msgid ""
"🟠 `RFC7642: System for Cross-domain Identity Management: Definitions, "
"Overview, Concepts, and Requirements <https://www.rfc-editor.org/rfc/"
"rfc7642>`_"
msgstr ""
"🟠 `RFC7642: System for Cross-domain Identity Management: Definitions, "
"Overview, Concepts, and Requirements <https://www.rfc-editor.org/rfc/"
"rfc7642>`_"
#: ../development/specifications.rst:54 c51b643157fe4079b535244f4f63c809
msgid ""
"🟠 `RFC7643: System for Cross-domain Identity Management: Core Schema "
"<https://www.rfc-editor.org/rfc/rfc7642>`_"
msgstr ""
"🟠 `RFC7643: System for Cross-domain Identity Management: Core Schema "
"<https://www.rfc-editor.org/rfc/rfc7642>`_"
#: ../development/specifications.rst:55 f31d0b61f1c44de4befe75f6142c1421
msgid ""
"🟠 `RFC7644: System for Cross-domain Identity Management: Protocol <https://"
"www.rfc-editor.org/rfc/rfc7642>`_"
msgstr ""
"🟠 `RFC7644 : System for Cross-domain Identity Management: Protocol <https://"
"www.rfc-editor.org/rfc/rfc7642>`_"
#: ../development/specifications.rst:57 4b113baa287044a5b3710d8083f306e1
msgid ""
"Client-side implementation (i.e. broadcasting changes on users and groups "
"among clients) and advanced features will be implemented in the future."
msgstr ""
"L'implémentation côté client (c'est à dire la diffusion à tous les clients "
"des modifications sur les utilisateurs et groupes) ainsi que les "
"fonctionnalités avancées seront implémentées dans le futur."
#: ../development/specifications.rst:60 68cfc580aef74b74ac47e293bbf7440e
msgid "What's implemented"
msgstr "Ce qui est implémenté"
#: ../development/specifications.rst:62 ../development/specifications.rst:83
#: 344f97d9c70a41f2aa7db3e292674b0d 2a7e31290d3b4472a9886379380543d7
msgid "Endpoints:"
msgstr "Les points terminaux :"
#: ../development/specifications.rst:64 51a2a6bac44a4c84b78e77b3e1c03d51
msgid "/Users (GET, POST)"
msgstr "/Users (GET, POST)"
#: ../development/specifications.rst:65 35f011e2bf79415883469e279325ef25
msgid "/Users/<user_id> (GET, PUT, DELETE)"
msgstr "/Users/<user_id> (GET, PUT, DELETE)"
#: ../development/specifications.rst:66 a071464fe752465bbe18f12c5f63562f
msgid "/Groups (GET, POST)"
msgstr "/Groups (GET, POST)"
#: ../development/specifications.rst:67 48d92f0c8d28471f9c4de06a6fee14aa
msgid "/Groups/<user_id> (GET, PUT, DELETE)"
msgstr "/Groups/<user_id> (GET, PUT, DELETE)"
#: ../development/specifications.rst:68 8b34a263d2b046cbb9a20a2083938892
msgid "/ServiceProviderConfig (GET)"
msgstr "/ServiceProviderConfig (GET)"
#: ../development/specifications.rst:69 75ce8a0bca0543dd9059ea6b0090f9c3
msgid "/Schemas (GET)"
msgstr "/Schemas (GET)"
#: ../development/specifications.rst:70 f9e4b33f55864bc09237b0688d4c1cba
msgid "/Schemas/<schema_id> (GET)"
msgstr "/Schemas/<schema_id> (GET)"
#: ../development/specifications.rst:71 7315f0b03e3447bfb18af0bd54b13e99
msgid "/ResourceTypes (GET)"
msgstr "/ResourceTypes (GET)"
#: ../development/specifications.rst:72 cb771a93cdef478bbc6d52657d778ba1
msgid "/ResourceTypes/<resource_type_id> (GET)"
msgstr "/ResourceTypes/<resource_type_id> (GET)"
#: ../development/specifications.rst:74 f8cb594cde24439c8d642d7eecdeb33d
msgid "Features:"
msgstr "Fonctionnalités :"
#: ../development/specifications.rst:76 175a65fc837f4dc48a10d3b167a464a7
msgid ":rfc:`pagination <7644#section-3.4.2.4>`"
msgstr "la :rfc:`pagination <7644#section-3.4.2.4>`"
#: ../development/specifications.rst:81 38c532b3622f4a2b8b789298a0bfed99
msgid "What is not implemented yet"
msgstr "Ce qui n'est pas encore implémenté"
#: ../development/specifications.rst:85 d2456827f07847dfa9f42e8bf86da08f
msgid "/Users (PATCH)"
msgstr "/Users (PATCH)"
#: ../development/specifications.rst:86 6bad7d4b458c4294be2ad05dcac5abd4
msgid "/Groups (PATCH)"
msgstr "/Groups (PATCH)"
#: ../development/specifications.rst:87 a26dd83532c44f7abad4572dd932170a
msgid ":rfc:`/Me <7644#section-3.11>` (GET, POST, PUT, PATCH, DELETE)"
msgstr ":rfc:`/Me <7644#section-3.11>` (GET, POST, PUT, PATCH, DELETE)"
#: ../development/specifications.rst:88 836bfaabb5544327a40fb8c893a2f0e5
msgid ":rfc:`/Bulk <7644#section-3.11>` (POST)"
msgstr ":rfc:`/Bulk <7644#section-3.11>` (POST)"
#: ../development/specifications.rst:89 aa37c0272ba24b308922fc40b66e3a2e
msgid ":rfc:`/.search <7644#section-3.4.3>` (POST)"
msgstr ":rfc:`/.search <7644#section-3.4.3>` (POST)"
#: ../development/specifications.rst:91 ../features.rst:9
#: d7b01888bb114c7d95660a93cbf52311 d58b104b8d5548c594cfd8be5a3a1adc
msgid "Features"
msgstr "Fonctionnalités"
#: ../development/specifications.rst:93 c62cbc4b8b56467aa7fd7d0ff542fe4a
msgid ":rfc:`filtering <7644#section-3.4.2.2>`"
msgstr "les :rfc:`filtres <7644#section-3.4.2.2>`"
#: ../development/specifications.rst:94 7ca9fca1e13c4f79a9ba327f7ce384f6
msgid ":rfc:`sorting <7644#section-3.4.2.3>`"
msgstr "le :rfc:`tri <7644#section-3.4.2.3>`"
#: ../development/specifications.rst:95 5c835bee9e924b52881f7bf441ecb4e9
msgid ":rfc:`attributes selection <7644#section-3.4.2.5>`"
msgstr "la :rfc:`sélection d'attributs <7644#section-3.4.2.5>`"
#: ../development/specifications.rst:96 5d3dbd08058047d8a38b559ea46c277e
msgid ":rfc:`ETags <7644#section-3.14>`"
msgstr "les :rfc:`ETags <7644#section-3.14>`"
#: ../development/specifications.rst:99 255c6e6f83b44945a5f67191414a1b9b
msgid "Comparison with other providers"
msgstr "Comparaison avec dautres serveurs didentité"
#: ../development/specifications.rst:101 4d4ac8c44b4a459792dfd9e7c931c6f4
msgid "Here is a feature comparison with other OpenID Connect server software."
msgstr ""
"Voici une comparaison de fonctionnalités avec dautres serveurs didentité."
#: ../development/specifications.rst:103 034c310137f74d2cbaf87959b844f123
msgid ""
"Canaille voluntarily only implements the OpenID Connect protocol to keep its "
"codebase simple."
msgstr ""
"Afin de garder la base de code réduite, Canaille nimplémente que le "
"protocole OpenID Connect."
#: ../development/specifications.rst:106 a0b6d9411ccd46a0a614e61187457f81
msgid "Software"
msgstr "Logiciel"
#: ../development/specifications.rst:106 0972e311a8984d718913ab728c5a613d
msgid "Project"
msgstr "Projet"
#: ../development/specifications.rst:106 ec16e393279c4574919b9dc2fde6566e
msgid "Protocols implementations"
msgstr "Protocoles implémentés"
#: ../development/specifications.rst:108 069a90c864e9485ba71f0626a04bb7ac
msgid "FLOSS"
msgstr "Libre"
#: ../development/specifications.rst:108 793ab8c0e5864c36951cdfe503b6b520
msgid "Language"
msgstr "Langage"
#: ../development/specifications.rst:108 a17def4fd4ba4cdf836371d70a58dae0
msgid "LOC"
msgstr "LOC"
#: ../development/specifications.rst:108 ../references/templates.rst:48
#: 2489de89a6ae4142a72fb3176f96d97c 4d2cf4eb587146ad9de3a2e651a4f59b
msgid "OIDC"
msgstr "OIDC"
#: ../development/specifications.rst:108 fde25f12c34b4290a5781d59545fd4f5
msgid "SAML"
msgstr "SAML"
#: ../development/specifications.rst:108 1bf933220236402a8578cb23e99a23d6
msgid "CAS"
msgstr "CAS"
#: ../development/specifications.rst:110 a06c6e50e788419f8e23165436f5b64a
msgid "Canaille"
msgstr "Canaille"
#: ../development/specifications.rst:110 ../development/specifications.rst:112
#: ../development/specifications.rst:114 ../development/specifications.rst:116
#: ../development/specifications.rst:118 ../development/specifications.rst:120
#: ../development/specifications.rst:122 ../development/specifications.rst:124
#: ../development/specifications.rst:126 ../development/specifications.rst:128
#: ../development/specifications.rst:130 ../development/specifications.rst:132
#: 8359cdf8361a4f40af83efebc710b26c 92ab0f4a4a88426788a990e1a4e66ac1
#: 2144f214b51540269c3be06540f96d80 07291bfd83b44fea9b28698e9459714f
#: c1c334386ed74b60a5c918c27074b3b2 4141a1bf492f460f9122f6e4a6a472cc
#: 7da15555b136476c90a6ee8c07ad8931 bb31a9d5919e4ec496f1ded1061047ef
#: 29b780d8270448919bb84882ad99e208 cf66b87d6d6946b2a6a1bba66ec49866
#: 405ec378a23f45368056001f0e125e86 32573bb2db2c48f294f1c8e99041b7ba
#: fa87dc7094444bf192921dc21d96e163 31885860425144758e2f46e1d15fb0ed
#: 4fab7f1511c941f1a2d49c35650eec5b 958e8e4c17ae448ab5446180b5bd5907
#: 03c8b263424f44b5b671ddc157dd5cbc b417afdb4bf84c16af18d53b34834dcd
#: 5199937c1c8b4832a2f9576e4dc925d9 888dd2299cac429ca0feff30cb7ee7fd
#: 89cd7338992946d0b687a257acc47a1a 411d48d5271146c7a27f5e61927d5718
#: 7d8bf7085a2d407b88566b752769d211 b03b87ae7f0a463f81fe51fd42c9d856
#: d56cbf84355a44ca8b2783ca1296fe33 395c20898c52466d9ea4d48f3b51f8b5
#: 274d57a4fe6a40bfadaff61802338c2c ee3e34ce765f4a0b9ca32df1e2154604
#: e4b974ef3e284bb79a6af7f6ba7b6bf8 68486605ae5f433d9276e6cf2fdb6352
#: f2f6140c99c744eba16734ae914f6068 b2dc6bf2db8d40e0923c648a7f3fbe77
#: a6709cf0859f42bdb86a3efa686225f9 8beffdfc8f574c68bf648c43d1b9fd53
#: 8e1c7536e3a449ffb9057ee3d9fd0616 4a99ccc8d37b4ef79c1d5fb9156cb01d
#: 559c72bcf9154c7482c3c9817c013846 d90a2be715354f9fbec07d1ddecf0587
#: 7de72e60317f48dea89bef5d42834ce9 72dfddba807a4ff3a1b6d21f05357709
#: c2154721e215407d9519a1364e36cf94 bcfc9457ee264da795001e4691011bf3
#: 6a6b82c0868442c2b3910c250c9c30ff d5dff4f0dae6496a879e8b23b78f98c5
#: 61dcd56d6ecc43b59758e02fdddc9b45 67b31d28861444308994cdf883ae317a
#: 270eace283a14d66b9e59db048efc37f 7ea946aabc7e4da186e50262a66e66a8
#: 428c79ed0ab4413081e3cf9b65023836 8f8e1f80778c4738989497cdf6fd0cad
#: 3586504e4d564d288508699bf1a476f7 cc2d8201751c4180a568013887a8fa37
#: 4fc53bcdaf484ca48d2d4d8be91eee4b e6544ae648cb4504a26dd8f471900b7c
#: feb5d4d093514ec682e54082d8fe615c ab882015b1b943c4b7890f07712df299
#: 6b9ef531feaf40e8bdff9ff234df758c b9210995b5634268b16adb581dee4c0a
#: f25e1de836dc405eb0a8c879ae679dd8 0e8ef9488cc94903b2841e13fb9a19cc
#: 9a715a4a98ae4db0b95302ea696f69ff 0726f102de6646dfa28e29178067d786
#: 6b7ffc0ef20048e0a85521ccae8f188a
msgid "✅"
msgstr "✅"
#: ../development/specifications.rst:110 ../development/specifications.rst:116
#: 2ce059e05f9c4da293172ace511122de e2ab2a0e8ea74bb39c1a9551b335cb61
msgid "Python"
msgstr "Python"
#: ../development/specifications.rst:110 87708af531fc4265a4221079fa936a2c
msgid "10k"
msgstr "10k"
#: ../development/specifications.rst:110 ../development/specifications.rst:112
#: ../development/specifications.rst:114 ../development/specifications.rst:116
#: ../development/specifications.rst:118 ../development/specifications.rst:120
#: ../development/specifications.rst:122 ../development/specifications.rst:126
#: ../development/specifications.rst:130 ../development/specifications.rst:132
#: a57dfb6ec28747e7b0c22d5350a438f6 7e3f062885a04d51bd3d990d0f12b3c2
#: 7d4be1af719440a394a3c1db62aa2f57 8063e8846e4b43bd986948c13850e137
#: 8286477f5979436697efd5449d716d5f f37761c3350c46e3be462ed8d0ca2e1e
#: e19f121e83dc41b28a0d5327d4a41286 7f3f1182bd8042f688e05e50d93fa2c9
#: dd13ab9d853841f8949c74f2ed9e6480 0070fe7c812341df9dc54a2131baa9a7
#: aed906e90e9e4e2c97fc4879dbada5db 8081047a12364457b6c2961c72761759
#: cfb3090585a84c4486cd07855168bfd2 fd1891815a1344c0a6bac195dea94853
#: b025e52c9ab64fa1a6f08154653574f0 b69c1d1477034615a2a974f68873f5f2
#: 990657b9343d4f12b279bd27e0ee2078 572f6127a926431cbed73c7fcb29a41a
msgid "❌"
msgstr "❌"
#: ../development/specifications.rst:110 4deaec7283d04195bb4b5ce830423c17
msgid "🟠"
msgstr "🟠"
#: ../development/specifications.rst:112 ef8ef0ca3a3e41d89ca0d204cf9575ef
msgid "`Auth0`_"
msgstr "`Auth0`_"
#: ../development/specifications.rst:112 ../development/specifications.rst:122
#: ../development/specifications.rst:124 ../development/specifications.rst:132
#: 1ec8da617dc74ff48cc221502b18cb5f 55ff3b92c3614bc39efd55d219010756
#: 7c8ef00509294715b264887ecdba0d35 c2bbeca5ac0541109fbfb688ce50219c
#: 621c54fa39e74dec875e6141a490d52d 01e2de36a736422bbb195cafe4d932b5
#: 69ff3ec3345847089a98e5660b75c27b c764dfbb678342618ca6ba085ce34bff
#: 6196220072c04e4680c81a3da830f32c
msgid "❔"
msgstr "❔"
#: ../development/specifications.rst:114 a06e90a200c142329aab42c417145475
msgid "`Authelia`_"
msgstr "`Authelia`_"
#: ../development/specifications.rst:114 ../development/specifications.rst:118
#: ../development/specifications.rst:126 afc0d499c6624f029bf984a2b660a06f
#: 147dfdd1635f4d37a961194619b1b761 c9febc2d19ec455f9377f9a83cb24686
msgid "Go"
msgstr "Go"
#: ../development/specifications.rst:114 ../development/specifications.rst:126
#: 38acc1bf34554da2ac15381b4ae4bcbf 8fa0178c68534ff0bcf109e0713cf937
msgid "50k"
msgstr "50k"
#: ../development/specifications.rst:116 3cc6d108c87045fbbf9a63da618a9e6e
msgid "`Authentic2`_"
msgstr "`Authentic2`_"
#: ../development/specifications.rst:116 a0ffc4dc899d49b08f8b32146c8a4a43
msgid "65k"
msgstr "65k"
#: ../development/specifications.rst:118 1105db265e8f46369b7ddb743e1f7e9b
msgid "`Authentik`_"
msgstr "`Authentik`_"
#: ../development/specifications.rst:118 83b25cffb0da4a24a3b2a402d484524e
msgid "55k"
msgstr "55k"
#: ../development/specifications.rst:120 248eb430ee704fc3a24e022cfb5eee14
msgid "`CAS`_"
msgstr "`CAS`_"
#: ../development/specifications.rst:120 ../development/specifications.rst:124
#: ../development/specifications.rst:128 a8b79f9ecab5469a9b80cc7e909609f6
#: 9273ae9f8bb240dcb07cad9ca0bc19d2 7aca0c51a5bd45509421444dc8e21b00
msgid "Java"
msgstr "Java"
#: ../development/specifications.rst:120 679056ff38cb4ba4b09d21fbbb583fcb
msgid "360k"
msgstr "360k"
#: ../development/specifications.rst:122 5a7602cb44b545679f6f464b0c967659
msgid "`Connect2id`_"
msgstr "`Connect2id`_"
#: ../development/specifications.rst:124 07e7c1d67f2245e4b1a36a6ef061721a
msgid "`Gluu`_"
msgstr "`Gluu`_"
#: ../development/specifications.rst:126 a8a9b571aedd4fc0bdb545fa04a09c35
msgid "`Hydra`_"
msgstr "`Hydra`_"
#: ../development/specifications.rst:128 f354d55bcfa445269d2f873e3cad72be
msgid "`Keycloak`_"
msgstr "`Keycloak`_"
#: ../development/specifications.rst:128 ae7e82db3a9f458f96b0d07be7f9bc60
msgid "600k"
msgstr "600k"
#: ../development/specifications.rst:130 0cbcdf7a4748404eb674088a9b3b26e5
msgid "`LemonLDAP`_"
msgstr "`LemonLDAP`_"
#: ../development/specifications.rst:130 a9e79acd7894437c9b290df6b4b630db
msgid "Perl"
msgstr "Perl"
#: ../development/specifications.rst:130 a9c50fc2632c4efcbd0a7107c93c6f44
msgid "130k"
msgstr "130k"
#: ../development/specifications.rst:132 7b0328f64db64f4ab4712b67ea0793fe
msgid "`Okta`_"
msgstr "`Okta`_"
#: ../features.rst:11 83992b326f024b0f85077ae68cb0587b
msgid ""
"Here are the different features that Canaille provides. You can enable any "
"of those features with the :doc:`configuration <references/configuration>` "
"to fit any :doc:`use cases <usecases>` you may meet. Check our :ref:"
"`roadmap <features:Roadmap>` to see what is coming next."
msgstr ""
"Voici les différentes fonctionnalités que Canaille propose. Vous pouvez "
"activer nimporte laquelle de ces fonctionnalités avec la :doc:"
"`configuration <references/configuration>` pour que Canaille sadapte au :"
"doc:`cas dusage <usecases>` que vous rencontrez. Jetez un œil à notre :ref:"
"`feuille de route <features:Roadmap>` pour savoir ce qui arrive dans le "
"futur."
#: ../features.rst:15 e84eca88d1f945c0b75f5cb7660e147e
msgid ""
"Users can interact with Canaille through its :ref:`web interface <features:"
"Web interface>` and administrators can also use its :ref:`command line "
"interface <feature_cli>`. Canaille can handle data stored in different :ref:"
"`database backends <feature_databases>`."
msgstr ""
"Les utilisateurs peuvent interagir avec Canaille grâce à son :ref:`web "
"interface <features:interface web>` et les administrateurs peuvent aussi "
"utiliser son :ref:`interface en ligne de commande <feature_cli>`. Canaille "
"peut enregistrer les données dans différentes :ref:`bases de données "
"<feature_databases>`."
#: ../features.rst:19 54195631200f46668dd0774d8fb1fe7c
msgid "User and group management"
msgstr "Gestion dutilisateurs et de groupes"
#: ../features.rst:21 93495d3a171a49898396742c01e8c0f6
msgid ""
"Canaille web interface can be used either in :doc:`production environments "
"<tutorial/deployment>` or locally for development purposes."
msgstr ""
"L'interface web de Canaille web interface peut être utilisé dans des :doc:"
"`environnements de production <tutorial/deployment>` ou localement pour "
"permettre les développements."
#: ../features.rst:26 ../index.rst:27 747fc6d9c0ff4afe99f5e8c636fc0630
#: 281a61a509c14bd785713a9e32ff21d3
msgid "Profile management"
msgstr "Gestion de profil"
#: ../features.rst:28 ../features.rst:238 7cd208e6778b4e3ca435fcaa282b6656
#: 3845e2e3bc7048fb8e477f3964ea4286
msgid "Profile"
msgstr "Profil"
#: ../features.rst:33 bd8bf9442ea64aedaa39bad6408300b6
msgid "Canaille provides an interface to manage user profiles."
msgstr "Canaille fournit une interface pour gérer les profils utilisateur."
#: ../features.rst:35 735d8c451c114d188fdfda137bb0b3da
msgid ""
"The exact list of displayed fields, and whether they are :attr:`writable "
"<canaille.core.configuration.ACLSettings.WRITE>` or :attr:`read-only "
"<canaille.core.configuration.ACLSettings.READ>` depends on the user :class:"
"`Access Control List settings (ACL) <canaille.core.configuration."
"ACLSettings>`."
msgstr ""
"La liste exacte des champs affichés ainsi que s'ils sont accessible en :attr:"
"`écriture <canaille.core.configuration.ACLSettings.WRITE>` ou en :attr:"
"`lecture seule <canaille.core.configuration.ACLSettings.READ>` dépend du "
"paramètre utilisateur :class:`liste de contrôle d'accès (ACL) <canaille.core."
"configuration.ACLSettings>`."
#: ../features.rst:37 d85f58ac8b8b4d0c809d18cd01308676
msgid ""
"Depending on their ACL :class:`permissions <canaille.core.configuration."
"Permission>`, users can either be allowed to edit their own profile, edit "
"any user profile, or do nothing at all."
msgstr ""
"Selon les :class:`droits <canaille.core.configuration.Permission>` de leur "
"liste de contrôle d'accès (ACL) , les utilisateurs peuvent soit modifier "
"leur profil, modifier le profil de n'importe quel utilisateur ou ne rien "
"faire du tout."
#: ../features.rst:42 b0204857451143228a47d4bd0d207425
msgid "Email confirmation"
msgstr "Confirmation de l'e-mail"
#: ../features.rst:44 6357bf8141804e8ca3c7cc4688147c79
msgid ""
"If the :attr:`email confirmation feature <canaille.core.configuration."
"CoreSettings.EMAIL_CONFIRMATION>` is enabled, any modification or addition "
"of a profile email will send a confirmation mail to the new address. The "
"mail will contain a link that users will need to click on to confirm their "
"email address."
msgstr ""
"Si la :attr:`fonctionnalité de confirmation d'e-mail <canaille.core."
"configuration.CoreSettings.EMAIL_CONFIRMATION>` est activée, toute "
"modification ou ajout de profil enverra un e-mail de confirmation à la "
"nouvelle adresse. L'e-mail contiendra un lien sur lequel l'utilisateur devra "
"cliquer pour confirmer son adresse."
#: ../features.rst:46 2b8cac7a02c241db86c0e1a8977f539f
msgid ""
"Users with :attr:`user management permission <canaille.core.configuration."
"Permission.MANAGE_USERS>` can set user emails without confirmation though."
msgstr ""
"Les utilisateurs avec le :attr:`droit de gérer les utilisateurs <canaille."
"core.configuration.Permission.MANAGE_USERS>` peut paramétrer les e-mails des "
"utilisateurs sans confirmation."
#: ../features.rst:51 5ca54af9769c4d66b1f073cf5dae0f8c
msgid "Group management"
msgstr "Gestion de groupes"
#: ../features.rst:53 ../features.rst:140 859672dbd62e44f68edf373e3db0f25f
#: 7b785345dfe54831abb635f53566cbb4
msgid "Group edition"
msgstr "Modification de groupes"
#: ../features.rst:58 3c406b087545469ba8233b792ccf4117
msgid ""
"In a similar fashion than :ref:`profile management "
"<feature_profile_management>` Canaille provides an interface to manage user "
"groups."
msgstr ""
"De manière similaire à la :ref:`gestion de profil "
"<feature_profile_management>`, Canaille fournit une interface pour gérer les "
"groupes d'utilisateur."
#: ../features.rst:60 f3aa5eee77bb4c878ea3117ef50906b1
msgid ""
"The group management is quite simple at the moment and consists in a group "
"name and description, and the list of its members. Group membership can be "
"use as :attr:`ACL Filter <canaille.core.configuration.ACLSettings.FILTER>` "
"to define user permissions."
msgstr ""
"La gestion de groupe est assez simple actuellement et consiste en un nom de "
"groupe, une description et la liste de ses membres. Appartenir au groupe "
"peut être utilisé comme :attr:`filtre ACL <canaille.core.configuration."
"ACLSettings.FILTER>` pour définir les droits utilisateur."
#: ../features.rst:63 ../features.rst:83 ../features.rst:149
#: ../tutorial/deployment.rst:13 ../tutorial/provisioning.rst:9
#: be163aa553874c63a119ca1e531e4926 bbcda8b5363746de842d3fd4565df358
#: 61f8b293eb1840df8775b9a46977e68a 7d063927a16248008786ce8fff0c0f4c
#: ef513869dfee4036992c4c33ae89cb19
msgid "Todo"
msgstr "À faire"
#: ../features.rst:64 19616dc65f50458da4280f5f0a763790
msgid ""
"At the moment adding an user to a group can only be achieved by the user "
"settings page, but we are :issue:`working to improve this <192>`."
msgstr ""
"Actuellement, l'ajout d'utilisateur dans un groupe ne peut être fait que "
"depuis la page de paramètre de l'utilisateur, mais nous :issue:`travaillons "
"à améliorer cela <192>`."
#: ../features.rst:66 1f22335eacb94aa8a46554367a8edb65
msgid ""
"Group management can be enable with a :attr:`dedicated user permission "
"<canaille.core.configuration.Permission.MANAGE_GROUPS>`."
msgstr ""
"La gestion de groupe peut être activée avec un :attr:`droit utilisateur "
"dédié <canaille.core.configuration.Permission.MANAGE_GROUPS>`."
#: ../features.rst:69 206521f4720945159a79dcd353d89a63
msgid ""
"Due to limitations in the :ref:`LDAP backend <tutorial/databases:LDAP>`, "
"groups must have at least one member. Thus it is not possible to remove the "
"last user of a group without removing the group."
msgstr ""
"À cause d'une contrainte dans :ref:`LDAP <tutorial/databases:LDAP>`, les "
"groupes doivent avoir au moins un membre. Il n'est donc pas possible de "
"supprimer le dernier utilisateur d'un groupe sans supprimer le groupe."
#: ../features.rst:75 ../index.rst:34 df0f45720dd54482a606b7384b0af773
#: b96f3e623fbc42cc886ade8fce98b625
msgid "User authentication"
msgstr "Authentification utilisateur"
#: ../features.rst:77 009db2e14df8413095b0d9f3150e4b5e
msgid ""
"Unless their account is :ref:`locked <feature_account_locking>`, users can "
"authenticate with a login and a password."
msgstr ""
"Sauf si leur compte est :ref:`verrouillé <feature_account_locking>`, les "
"utilisateurs peuvent s'authentifier avec un identifiant et un mot de passe."
#: ../features.rst:81 ad32a04ddd764be6bc4f07f835189dc1
msgid ""
"For security reasons, it won't be told to users if they try to sign in with "
"an unexisting logging, unless explicitly :attr:`set in the configuration "
"<canaille.core.configuration.CoreSettings.HIDE_INVALID_LOGINS>`."
msgstr ""
"Pour des raisons de sécurité, si un utilisateur essaie de se connecter avec "
"un identifiant inexistant, cela ne sera pas précisé, sauf :attr:`paramétrage "
"explicite dans la configuration <canaille.core.configuration.CoreSettings."
"HIDE_INVALID_LOGINS>`."
#: ../features.rst:83 160e331c61874a97aa78b514e80863ef
msgid ""
":ref:`LDAP backend <tutorial/databases:LDAP>` users can define which :class:"
"`user field <canaille.core.models.User>` should be used as the login (such "
"as :attr:`~canaille.core.models.User.user_name` or :attr:`~canaille.core."
"models.User.emails`) using a :attr:`configuration parameter <canaille."
"backends.ldap.configuration.LDAPSettings.USER_FILTER>`, but other backends "
"can only login using :attr:`~canaille.core.models.User.user_name`. We are :"
"issue:`working to improve this <196>`."
msgstr ""
"Les utilisateurs :ref:`basé sur LDAP <tutorial/databases:LDAP>` peuvent "
"définir quel :class:`champ utilisateur <canaille.core.models.User>` doit "
"être utilisé comme identifiant (tel que :attr:`~canaille.core.models.User."
"user_name` ou :attr:`~canaille.core.models.User.emails`) en utilisant un :"
"attr:`paramètre de configuration <canaille.backends.ldap.configuration."
"LDAPSettings.USER_FILTER>`, mais les autres backends peuvent seulement se "
"connecter avec :attr:`~canaille.core.models.User.user_name`. Nous :issue:"
"`travaillons à améliorer cette situation <196>`."
#: ../features.rst:88 eac565374d1d43499d808cb66e3db17b
msgid "User registration"
msgstr "Enregistrement d'un utilisateur"
#: ../features.rst:90 b2e46804265c43df8ee0242a495608c4
msgid ""
"Users can create accounts on Canaille if the :attr:`registration feature "
"<canaille.core.configuration.CoreSettings.ENABLE_REGISTRATION>` is enabled. "
"They will be able to fill a registration form with the fields detailed in "
"the default :class:`ACL settings <canaille.core.configuration.ACLSettings>`."
msgstr ""
"Les utilisateurs peuvent créer des comptes sur Canaille si la "
"fonctionnalité :attr:`d'enregistrement <canaille.core.configuration."
"CoreSettings.ENABLE_REGISTRATION>` est activée. Ils pourront remplir un "
"formulaire d'enregistrement contenant les champs détaillés dans les :class:"
"`paramètres ACL <canaille.core.configuration.ACLSettings>` par défaut."
#: ../features.rst:92 beef77105d71424a81a7608596a70ddc
msgid ""
"If :attr:`email confirmation <canaille.core.configuration.CoreSettings."
"EMAIL_CONFIRMATION>` is also enabled, users will be sent a confirmation link "
"to their email address, on which they will need to click in order to "
"finalize their registration."
msgstr ""
"Si la :attr:` confirmation par e-mail <canaille.core.configuration."
"CoreSettings.EMAIL_CONFIRMATION>` est aussi activée, les utilisateurs "
"recevront un lien de confirmation sur leur adresse e-mail. Ils devront "
"cliquer dessus pour valider la création du compte."
#: ../features.rst:97 ../features.rst:99 16180dbd28a247d0b58017290d410e1c
#: 27d275b7f1524eae9a3d0bb28d27d734
msgid "User invitation"
msgstr "Invitation d'utilisateur"
#: ../features.rst:104 9c5e83d641624935a643163f6194f1b3
msgid ""
"If a :class:`mail server <canaille.core.configuration.SMTPSettings>` is "
"configured, users with :attr:`user management permission <canaille.core."
"configuration.Permission.MANAGE_USERS>` can create an invitation link for "
"one user."
msgstr ""
"Si un :class:`serveur e-mail <canaille.core.configuration.SMTPSettings>` est "
"configuré, les utilisateurs avec le :attr:`droit de gérer les utilisateurs "
"<canaille.core.configuration.Permission.MANAGE_USERS>` peuvent créer un lien "
"d'invitation pour un autre utilisateur."
#: ../features.rst:106 547e556908d6485e91d11299f6d7731c
msgid ""
"The link goes to a registration form, even if regular :ref:`user "
"registration <feature_user_registration>` is disabled."
msgstr ""
"Le lien pointe vers le formulaire d'neregistrement, même si :ref:"
"`l'enregistrement d'utilisateur <feature_user_registration>` est désactivée."
#: ../features.rst:108 c5f67c0c35744d06a46ff62581a68be5
msgid "It can be automatically sent by email to the new user."
msgstr "Il peut être envoyé automatiquement par e-mail au nouvel utilisateur."
#: ../features.rst:113 87dc5cf8a5644adba540c43626b85116
msgid "Account locking"
msgstr "Verrouillage de compte"
#: ../features.rst:115 e06722f64e4d4b51860928e63423b9f7
msgid ""
"If Canaille is plugged to a :ref:`backend <feature_databases>` that supports "
"it, user accounts can be locked by users with :attr:`user management "
"permission <canaille.core.configuration.Permission.MANAGE_USERS>`. The lock "
"date can be set instantly or at a given date in the future."
msgstr ""
"Si Canaille est branché à un :ref:`backend <feature_databases>` supportant "
"cette fonctionnalité, les comptes utilisateurs peuvent être verrouillés avec "
"la :attr:`permission de gestion des utilisateurs <canaille.core."
"configuration.Permission.MANAGE_USERS>`. La date de verrouillage du compte "
"peut être immédiate, ou bien effective à une date future définie."
#: ../features.rst:118 8b1b5e618c3943a989c0d9b7958890ce
msgid "At the moment a user account is locked:"
msgstr "Au moment où un compte utilisateur est verrouillé :"
#: ../features.rst:120 9df53f0bc1e14517b207979063e506db
msgid "their open sessions will be closed;"
msgstr "leurs sessions ouvertes seront fermées;"
#: ../features.rst:121 76e0e046a3af405a94194bad849adca5
msgid "they won't be able to sign in again;"
msgstr "ils ne pourront plus se connecter à nouveau;"
#: ../features.rst:122 82e4c98b176c4d2bba2f7ce96c2322d9
msgid "no new OIDC token will be issued;"
msgstr "aucun nouveau token OIDC ne sera émis;"
#: ../features.rst:124 5f9b8faf05a246bea2a23417d83ec83d
msgid ""
"User accounts must be manually unlocked by an administrator for the users to "
"regain access to those actions."
msgstr ""
"Les comptes utilisateur doivent être déverrouillés manuellement par un "
"administrateur pour que les utilisateurs concernés récupèrent l'accès à ces "
"actions."
#: ../features.rst:129 19999c792f774669959a562731f2ae45
msgid "Account deletion"
msgstr "Suppression de compte"
#: ../features.rst:131 7009976bf70348c5a99681fe82017a2f
msgid ""
"Users with the :attr:`account deletion permission <canaille.core."
"configuration.Permission.DELETE_ACCOUNT>` are allowed to delete their own "
"account."
msgstr ""
"Les utilisateurs avec la :attr:`permission de suppression de compte "
"<canaille.core.configuration.Permission.DELETE_ACCOUNT>` peuvent supprimer "
"leur propre compte."
#: ../features.rst:133 2a140bd932e84750ac0b767017723fb2
msgid ""
"Users that also have the :attr:`user management permission <canaille.core."
"configuration.Permission.MANAGE_USERS>` are also allowed to delete other "
"users accounts."
msgstr ""
"Les utilisateurs qui ont additionnellement la :attr:`permission de gestion "
"des utilisateurs <canaille.core.configuration.Permission.MANAGE_USERS>` "
"peuvent également supprimer les comptes d'autres utilisateurs."
#: ../features.rst:138 93cd6c928328482a98f4ed4bf3868fb5
msgid "Password recovery"
msgstr "Récupération de mot de passe"
#: ../features.rst:145 92d716598ce844bf80049d7c7720d73c
msgid ""
"If a :class:`mail server <canaille.core.configuration.SMTPSettings>` is "
"configured and the :attr:`password recovery feature <canaille.core."
"configuration.CoreSettings.ENABLE_PASSWORD_RECOVERY>` is enabled, then users "
"can ask for a password reset email if they cannot remember their password."
msgstr ""
"Si un :class:`serveur e-mail <canaille.core.configuration.SMTPSettings>` est "
"configuré, et la :attr:`fonctionnalité de récupération de mot de passe "
"<canaille.core.configuration.CoreSettings.ENABLE_PASSWORD_RECOVERY>` est "
"activée, les utilisateurs peuvent demander l'envoi d'un e-mail de "
"réinitialisation de mot de passe s'ils ont oublié leur mot de passe."
#: ../features.rst:147 662c873cc0ea45dc9535c075a2f97203
msgid ""
"The email will be sent to the email addresses filled in their profile, and "
"will contain a link that will allow them to choose a new password. ."
msgstr ""
"L'e-mail sera envoyé à l'adresse e-mail saisie dans leur profil, et "
"contiendra un lien leur permettant de choisir un nouveau mot de passe."
#: ../features.rst:151 f13a4bafd63a4087a5750e4c6160142f
msgid "Check that password recovery is disabled on locked accounts."
msgstr ""
"Vérifie que la récupération de mot de passe est désactivée pour les comptes "
"verrouillés."
#: ../features.rst:156 fe3e4ba9348341808cde4c4bc5c39767
msgid "Password reset"
msgstr "Réinitialisation de mot de passe"
#: ../features.rst:158 f4fe4f29702f42b0974ca95307d66d4f
msgid ""
"If a :class:`mail server <canaille.core.configuration.SMTPSettings>` is "
"configured, :attr:`user management permission <canaille.core.configuration."
"Permission.MANAGE_USERS>` can send password reset mails to users. The mails "
"contains a link that allow users to choose a new password without having to "
"retrieve the old one."
msgstr ""
"Si un :class:`serveur e-mail <canaille.core.configuration.SMTPSettings>` est "
"configuré, la :attr:`permission de gestion des utilisateurs <canaille.core."
"configuration.Permission.MANAGE_USERS>` permet d'envoyer des e-mails de "
"réinitialisation de mot de passe aux utilisateurs. Les e-mails contiennent "
"un lien qui permet aux utilisateurs de choisir un nouveau mot de passe sans "
"avoir besoin de retrouver l'ancien."
#: ../features.rst:164 8efff1070020462f95e1fe41de00136d
msgid "Password initialization"
msgstr "Initialisation de mot de passe"
#: ../features.rst:166 9b4bda837bea410692718890b76877c8
msgid ""
"User :attr:`passwords <canaille.core.models.User.password>` are optional. If "
"a :class:`mail server <canaille.core.configuration.SMTPSettings>` is "
"configured, when users with no password attempt to sign in, they are invited "
"to click a button that will send them a password initialization mail. The "
"mail contains a link that leads to a form that allows users to choose a "
"password."
msgstr ""
"Les :attr:`mots de passe <canaille.core.models.User.password>` utilisateur "
"sont optionnels. Si un :class:`serveur e-mail <canaille.core.configuration."
"SMTPSettings>` est configuré, quand un utilisateur sans mot de passe tente "
"de se connecter, il est invité à cliquer sur un bouton déclenchant l'envoi "
"d'un e-mail de réinitialisation de mot de passe. Cet e-mail contient un lien "
"dirigeant vers un formulaire permettant à l'utilisateur de choisir un mot de "
"passe."
#: ../features.rst:173 5319e975d4fb4701b91648542a2d8828
msgid "Password compromission check"
msgstr "Vérification de la compromission du mot de passe"
#: ../features.rst:175 6808b4633ea2473480a7de609cc74213
msgid ""
"If :attr:`password compromission check feature <canaille.core.configuration."
"CoreSettings.ENABLE_PASSWORD_COMPROMISSION_CHECK>` is enabled, Canaille will "
"check for password compromise on HIBP (https://haveibeenpwned.com/) every "
"time a new password is register. You will need to set an :attr:`admin email "
"<canaille.core.configuration.CoreSettings.ADMIN_EMAIL>`."
msgstr ""
"Si l' :attr:`option de vérification de compromission du mot de passe "
"<canaille.core.configuration.CoreSettings."
"ENABLE_PASSWORD_COMPROMISSION_CHECK>` est activée, Canaille va vérifier la "
"compromission du mot de passe sur HIBP (https://haveibeenpwned.com/) à "
"chaque fois qu'un nouveau mot de passe est saisi. La configuration d'un :"
"attr:`e-mail administrateur <canaille.core.configuration.CoreSettings."
"ADMIN_EMAIL>` est nécessaire."
#: ../features.rst:180 71fd2622c9734be487e462b06fd8e6bf
msgid "Multi-factor authentication"
msgstr "Authentification multi-facteurs"
#: ../features.rst:182 707f699e7d374657ac3b29d3e5c65eba
msgid ""
"If the :attr:`one-time password feature <canaille.core.configuration."
"CoreSettings.OTP_METHOD>` is set, then users will need to authenticate "
"themselves using a one-time password via an authenticator app. Two options "
"are supported : \"TOTP\" for time one-time password, and \"HOTP\" for HMAC-"
"based one-time password. In case of lost token, TOTP/HOTP authentication can "
"be reset by users with :attr:`user management permission <canaille.core."
"configuration.Permission.MANAGE_USERS>`. If a :class:`mail server <canaille."
"core.configuration.SMTPSettings>` is configured and the :attr:`email one-"
"time password feature <canaille.core.configuration.CoreSettings.EMAIL_OTP>` "
"is enabled, then users will need to authenticate themselves via a one-time "
"password sent to their primary email address. If a :class:`smpp server "
"<canaille.core.configuration.SMPPSettings>` is configured and the :attr:`sms "
"one-time password feature <canaille.core.configuration.CoreSettings."
"SMS_OTP>` is enabled, then users will need to authenticate themselves via a "
"one-time password sent to their primary phone number."
msgstr ""
"Si la fonctionnalité de :attr:`mots de passe à usage unique <canaille.core."
"configuration.CoreSettings.OTP_METHOD>` est activée, alors les utilisateurs "
"devront s'authentifier avec un mot de passe temporaire généré par une "
"application d'authentification.\n"
"Deux méthodes sont supportées : \"TOTP\" pour les mots de passes temporaires "
"basés sur temps, et \"HOTP\" pour les mots de passes temporaires basés sur "
"HMAC.\n"
"En cas de perte de jeton, l'authentification TOTP/HOTP peut être "
"réinitialisée par les utilisateurs avec la :attr:`permission de gestion des "
"utilisateurs <canaille.core.configuration.Permission.MANAGE_USERS>`.\n"
"Si un :class:`serveur mail <canaille.core.configuration.SMTPSettings>` est "
"configuré et que la fonctionnalité de :attr:`mots de passe temporaires par "
"mail <canaille.core.configuration.CoreSettings.EMAIL_OTP>` est activée, "
"alors les utilisateurs devront pour s'authentifier entrer un mot de passe "
"temporaire envoyé à leur adresse email principale.\n"
"Si un :class:`serveur SMPP <canaille.core.configuration.SMPPSettings>` est "
"configuré et que la fonctionnalité de :attr:`mots de passe temporaires par "
"SMS <canaille.core.configuration.CoreSettings.SMS_OTP>` est activée, alors "
"les utilisateurs devront pour s'authentifier entrer un mot de passe "
"temporaire envoyé à leur numéro de téléphone principal."
#: ../features.rst:191 92cf33b469d640cbaa67400714a54221
msgid "Intruder lockout"
msgstr "Blocage des connexions infructueuses"
#: ../features.rst:193 2122ba68652f47df83d6863d31d4f169
msgid ""
"If the :attr:`intruder lockout feature <canaille.core.configuration."
"CoreSettings.ENABLE_INTRUDER_LOCKOUT>` is enabled, then users will have to "
"wait for an increasingly long time between each failed login attempt."
msgstr ""
"Si le :attr:`blocage de connexions infructueuses <canaille.core."
"configuration.CoreSettings.ENABLE_INTRUDER_LOCKOUT>` est activé, alors les "
"utilisateurs devront attendre un temps croissant entre deux connexions "
"infructueuses."
#: ../features.rst:196 8278c8d375764d8b81559827f6ec5c96
msgid "Web interface"
msgstr "Interface web"
#: ../features.rst:201 30a7dce9d05d46bba5697e75b939ebd7
msgid "Internationalization"
msgstr "Internationalisation"
#: ../features.rst:203 b76e44066c3e436c8d850b9bc8552c40
msgid "Translation state"
msgstr "État de la traduction"
#: ../features.rst:208 e2fdac042d5b4d7fb37fdebf1f54393e
msgid ""
"Canaile will display in your :attr:`preferred language <canaille.core.models."
"User.preferred_language>` if available, or your browser language if "
"available (and if it is not you can :ref:`help us with the translation "
"<development/contributing:Code translation>`). If you prefer, you can also :"
"attr:`force a language <canaille.core.configuration.CoreSettings.FAVICON>` "
"for every users."
msgstr ""
"Canaille va s'afficher dans votre :attr:`langue préférée <canaille.core."
"models.User.preferred_language>` si disponible, ou la langue de votre "
"navigateur si disponible (si elle ne l'est pas, vous pouvez :ref:`noud aider "
"à la traduire <development/contributing:Code translation>`). Si vous le "
"souhaitez, vous pouvez également :attr:`forcer une langue <canaille.core."
"configuration.CoreSettings.FAVICON>` pour tous les utilisateurs."
#: ../features.rst:214 a8d7dd0ef8a148079d86252bfdb24e8d
msgid "Lightweight"
msgstr "Léger"
#: ../features.rst:216 62e134fecda54ecebd2ed99cfad21431
msgid ""
"The web interface is lightweight, so everything should load quickly. There "
"is a few Javascript here and there to smooth the experience, but no "
"Javascript at all is needed to use Canaille."
msgstr ""
"L'interface web est légère, donc tout devrait se charger rapidement. Il y a "
"un peu de Javascript ici et là pour lisser l'expérience, mais aucun "
"Javascript n'est absolument nécessaire à l'utilisation de Canaille."
#: ../features.rst:220 98e5119178fe49fc865631a7f0f79683
msgid "Customizable"
msgstr "Personnalisable"
#: ../features.rst:222 0289e553e0c141c5bf0584f63db93a0b
msgid ""
"The default theme should be good enough for most usages. It has a dark "
"theme, display well on mobile, and let you choose a :attr:`logo <canaille."
"core.configuration.CoreSettings.LOGO>` and a :attr:`favicon <canaille.core."
"configuration.CoreSettings.FAVICON>`."
msgstr ""
"Le thème par défaut devrait suffir à la plupart des usages. Il dispose d'un "
"thème sombre, s'affiche bien sur mobile, et vous laissez choisir un :attr:"
"`logo <canaille.core.configuration.CoreSettings.LOGO>` et un :attr:`favicon "
"<canaille.core.configuration.CoreSettings.FAVICON>`."
#: ../features.rst:225 b12a1b77895c45c39c69711771f45cfc
msgid ""
"If you need more you can also use a :attr:`custom theme <canaille.core."
"configuration.CoreSettings.THEME>`."
msgstr ""
"Si vous avez besoin de plus, vous pouvez utiliser un :attr:`thème "
"personnalisé <canaille.core.configuration.CoreSettings.THEME>`."
#: ../features.rst:232 9093d3d195d14410aa63d5fb011294d9
msgid ""
"Canaille implements a :ref:`subset<development/specifications:State of the "
"specs in Canaille>` of the OAuth2/OpenID Connect specifications . This "
"allows to provide :abbr:`SSO (Single Sign-On)` and :abbr:`SLO (Single Log-"
"On)` to applications plugged to Canaille."
msgstr ""
"Canaille implémente un :ref:`sous-ensemble<development/specifications:State "
"of the specs in Canaille>` de la spécification de OAuth2/OpenID Connect. "
"Cela permet d'avoir la :abbr:`SSO (Single Sign-On)` et la :abbr:`SLO (Single "
"Log-On)` aux applications branchées à Canaille."
#: ../features.rst:236 8d78707d882c4ad7bd911a12f77357bf
msgid "Consent management"
msgstr "Gestion des autorisations"
#: ../features.rst:244 2f4773e2479e40b5a5b8f85b99d07d2b
msgid ""
"Users can give their consent to application requesting access to their "
"personal information, and then revoke those consent at their will."
msgstr ""
"Les utilisateurs peuvent donner leur autorisation aux applications qui "
"demandent un accès à leurs informations personnelles, et révoquer ces "
"autorisations lorsqu'ils le souhaitent."
#: ../features.rst:248 cb6b8f0c1c3f4fba9fa0271cfde526f8
msgid "Application management"
msgstr "Gestion des applications"
#: ../features.rst:250 7a6c934205fd409cb24d57d8abb44f3b
msgid ""
"Users with the right :attr:`permission <canaille.core.configuration."
"Permission.MANAGE_OIDC>` can manager OIDC clients through the web interface."
msgstr ""
"Les utilisateurs ayant la :attr:`permission <canaille.core.configuration."
"Permission.MANAGE_OIDC>` nécessaire peuvent gérer les clients OIDC depuis "
"l'interface web."
#: ../features.rst:252 58ff42230b714f6887b089d27d4cbb1e
msgid ""
"In some cases, it might be useful to avoid the consent page for some trusted "
"applications, so clients can be pre-consented."
msgstr ""
"Dans certains cas, il peut être utile d'éviter la page d'autorisation pour "
"certaines applications de confiance, pour que des clients puissent être pré-"
"autorisés."
#: ../features.rst:255 d3d907c775ac40e7804b9d807393fd24
msgid "Discovery"
msgstr "Découverte"
#: ../features.rst:257 3cbdbbb7efdf497390e96311f23ba98c
msgid ""
"Canaille implements the :doc:`Discovery specifications <development/"
"specifications>` so most of the applications plugged to Canaille can auto-"
"configure themselves."
msgstr ""
"Canaille implémente les :doc:`spécifications de découverte <development/"
"specifications>` donc la plupart des applications branchées à Canaille "
"peuvent se configurer automatiquement par eux-même."
#: ../features.rst:260 a898023be2a341718e270e67167d0779
msgid "Dynamic Client Registration"
msgstr "Enregistrement de client dynamique"
#: ../features.rst:262 ad31ff1cd9644ab683677d17732722b8
msgid ""
"Canaille implements the :doc:`Dynamic Client Registration specifications "
"<development/specifications>`, so when the :attr:`feature is enabled "
"<canaille.oidc.configuration.OIDCSettings."
"DYNAMIC_CLIENT_REGISTRATION_OPEN>`, clients can register themselves on "
"Canaille without an administrator intervention."
msgstr ""
"Canaille implémente les :doc:`spécifications d'enregistrement de client "
"dynamique <development/specifications>`, donc quand la :attr:`fonctionnalité "
"est activée <canaille.oidc.configuration.OIDCSettings."
"DYNAMIC_CLIENT_REGISTRATION_OPEN>`, les clients peuvent s'enregistrer eux-"
"même sur Canaille sans l'intervention d'un administrateur."
#: ../features.rst:265 203b8da2c05346b988887b1fbcd7eb33
msgid "System administration"
msgstr "Administration système"
#: ../features.rst:270 ../references/commands.rst:2
#: 9977d7c7ec444216ad6aae3ab99637f7 389875cae59843dc8c837dd6aaaae752
msgid "Command Line Interface"
msgstr "Interface en ligne de commande"
#: ../features.rst:272 b8b20bc2fcf64a8d92111dcddbec0d84
msgid ""
"Canaille comes with a :abbr:`CLI (Command Line Interface)` to help "
"administrators in hosting and management."
msgstr ""
"Canaille est équipé d'un :abbr:`CLI (Command Line Interface)`, ou interface "
"en ligne de commande, pour aider les administrateurs à l'hébergement et à la "
"gestion."
#: ../features.rst:274 d2b7aaf441474ac2ad1d8cc3caf1085f
msgid ""
"There are tools to :ref:`check your configuration <cli_check>` or to :ref:"
"`install missing parts <cli_install>`. You can use the CLI to :ref:`create "
"<cli_create>`, :ref:`read <cli_get>`, :ref:`update <cli_set>` and :ref:"
"`delete <cli_delete>` models such as :class:`users <canaille.core.models."
"User>`, :class:`groups <canaille.core.models.Group>` or :class:`OIDC "
"clients <canaille.oidc.basemodels.Client>`."
msgstr ""
"L'interface en ligne de commande dispose d'outils pour :ref:`vérifier votre "
"configuration <cli_check>` ou pour :ref:`installer des éléments manquants "
"<cli_install>`. Vous pouvez utiliser le CLI pour :ref:`créer <cli_create>`, :"
"ref:`lire <cli_get>`, :ref:`mettre à jour <cli_set>` et :ref:`supprimer "
"<cli_delete>` des modèles comme les :class:`utilisateurs <canaille.core."
"models.User>`, :class:`groupes <canaille.core.models.Group>` ou les  :class:"
"`clients OIDC <canaille.oidc.basemodels.Client>`."
#: ../features.rst:277 3a7b780ed2aa4a4c809b0919ddb14f6a
msgid ""
"There are also tools to :ref:`fill your database <cli_populate>` with random "
"objects, for tests purpose for instance."
msgstr ""
"Elle dispose également d'outils pour :ref:`remplir votre base de données "
"<cli_populate>` avec des objets aléatoires, par exemple à des fins de test."
#: ../features.rst:282 ../tutorial/databases.rst:2
#: 3da864e6a4114405bf250d130fde7a25 f0012cb6a1764925a997dd5dc87dd7d2
msgid "Databases"
msgstr "Bases de données"
#: ../features.rst:284 9406baff55794744bdd337ba3d2f4a3d
msgid ""
"Canaille can handle data from the most :ref:`common SQL databases <tutorial/"
"databases:SQL>` such as PostgreSQL, MariaDB or SQLite, as well as :ref:"
"`OpenLDAP <tutorial/databases:LDAP>`. It also comes with a no-dependency :"
"ref:`in-memory database <tutorial/databases:Memory>` that can be used in "
"unit tests suites."
msgstr ""
"Canaille peut manipuler de la donnée depuis des  :ref:`bases de données SQL "
"<tutorial/databases:SQL>` les plus communes, telles que PostgreSQL, MariaDB "
"ou SQLite, ainsi que depuis :ref:`OpenLDAP <tutorial/databases:LDAP>`. "
"Canaille dispose également d'une :ref:`base de données en mémoire <tutorial/"
"databases:Memory>` sans dépendances qui peut être utilisée dans des tests "
"unitaires."
#: ../features.rst:290 01c71f0086e048ecbd75c8adad975135
msgid "Logging"
msgstr "Connexion"
#: ../features.rst:292 c1c30fa9a81741bfb7da053d314a7767
msgid ""
"Canaille writes :attr:`logs <canaille.core.configuration.CoreSettings."
"LOGGING>` for every important event happening, to help administrators "
"understand what is going on and debug funky situations."
msgstr ""
"Canaille écrit des :attr:`journaux <canaille.core.configuration.CoreSettings."
"LOGGING>` pour tous les événements importants dans le but d'aider les "
"administrateurs à comprendre ce qui se passe et déboguer les cas bizarres."
#: ../features.rst:294 04974cc2a4704184a19298b064ab6c2e
msgid ""
"The following security events are logged with the log level \"security\" for "
"easy retrieval :"
msgstr ""
"Les événements de sécurité suivants sont enregistrés avec l'étiquette « "
"security » pour les retrouver facilement :"
#: ../features.rst:296 769a0d2fbc474a72ae85d332cd09ce09
msgid "Authentication attempt"
msgstr "Tentative d'authentification"
#: ../features.rst:297 94e144420f1b4f2992067040bf4a5582
msgid "Password update"
msgstr "Mise à jour du mot de passe"
#: ../features.rst:298 38f087163a9541c29f06820437135d5c
msgid "Email update"
msgstr "Mise à jour de l'e-mail"
#: ../features.rst:299 4a9bbfa8dd4947f28bab05cf76fbb9f8
msgid "Forgotten password mail sent to user"
msgstr "Mail d'oubli de mot de passe envoyé à l'utilisateur"
#: ../features.rst:300 38d9fce3533c4f1e94cb34743ea4fb68
msgid "One-time password mail sent to user"
msgstr "Le mot de passe à usage unique a correctement été envoyé par mail"
#: ../features.rst:301 461dfd630cb34a6c833d803dbc6fde75
msgid "Multi-factor authentication reset"
msgstr "Réinitialisation de l'authentification multi-facteurs"
#: ../features.rst:302 73ad0b101d244196bb1bce7c516078a8
msgid "Token emission"
msgstr "Emission de jeton"
#: ../features.rst:303 42d20b5c805c45c289c4e76202ca10ea
msgid "Token refresh"
msgstr "Rafraichissement de jeton"
#: ../features.rst:304 62b5a24c52434109abbef7d96a6566da
msgid "Token revokation"
msgstr "Révocation de jeton"
#: ../features.rst:305 9c696c7b26174b6bacf9a65d84f6ba8e
msgid "New consent given for client application"
msgstr "Nouvelle autorisation donnée pour l'application client"
#: ../features.rst:306 f036ee77fd30459f8b17970f43d3faaa
msgid "Consent revokation"
msgstr "Révocation de l'autorisation"
#: ../features.rst:311 50c4cb979d764e9fad538a0c95490708
msgid "Development and testing tool"
msgstr "Outil de développement et de test"
#: ../features.rst:316 28171f4aabbe4c209ba0d928d7fceb51
msgid "Unit-testing tool"
msgstr "Outil de test unitaire"
#: ../features.rst:318 b4efc9d6589d47f3816505275ce27bed
msgid ""
"Thanks to its lightweight :ref:`in-memory database <tutorial/databases:"
"Memory>` and its curated :ref:`dependency list <tutorial/install:Get the "
"code>`, Canaille can be used in the unit test suite of your application, so "
"you can check how it behaves against a real world OpenID Connect server. If "
"you work with python you might want to check :doc:`pytest-iam:index`."
msgstr ""
"Grâce à sa :ref:`base de données en mémoire <tutorial/databases:"
"Memory>`légère et sa :ref:`liste de dépendances <tutorial/install:Get the "
"code>`, Canaille peut être utilisé dans la suite de tests unitaires de votre "
"application, pour que vous puissiez vérifier comment l'application se "
"comporte face à un vrai serveur OpenID Connect. Si vous travaillez en "
"python, vous pourriez être intéressé par :doc:`pytest-iam:index`."
#: ../features.rst:321 fb449cf78c2c4a80bf32a5417bebcade
msgid "Development server"
msgstr "Serveur de développement"
#: ../features.rst:323 2a86b8ed7f734e8992d7449f3b6b9880
msgid ""
"It can also being launched in your development environment, if you find that "
"launching a Keycloak in a Docker container is too heavy for your little web "
"application."
msgstr ""
"Canaille peut également être lancé dans votre environnement de "
"développement, si vous trouvez que lancer un Keycloak dans un conteneur "
"Docker est trop lourd pour votre application web."
#: ../features.rst:328 0adf57513787473680b4af6d3fad5100
msgid "Continuous Integration tools"
msgstr "Outils d'intégration continue"
#: ../features.rst:330 e18a26ec34c740dcbab5a69449464f51
msgid ""
"It also fits well in continuous integration scenarios. Thanks to its :ref:"
"`CLI <feature_cli>`, you can prepare data in Canaille, let your application "
"interact with it, and then check the side effects."
msgstr ""
"Canaille s'intègre également bien dans des scénarios d'intégration continue. "
"Grâce à son :ref:`CLI <feature_cli>`, vous pouvez préparer la donnée dans "
"Canaille, laisser votre application interagir avec, puis observer les effets "
"secondaires."
#: ../features.rst:333 2603a014b9f74261b4e108f98b2d8e05
msgid "Roadmap"
msgstr "Prévisionnel"
#: ../features.rst:336 843a62acc9414741ace4ed40372359fe
msgid "Bêta version"
msgstr "Version bêta"
#: ../features.rst:338 5af3d35132f44adab7d0a442d742db59
msgid ""
"To go out of the current Alpha version we want to achieve the following "
"tasks:"
msgstr ""
"Pour sortir de la version Alpha actuelle, nous voulons réaliser les taches "
"suivantes :"
#: ../features.rst:340 7f1b9a153b2a4174b7c70668fdf717b7
msgid ":issue:`Configuration validation using pydantic <138>`"
msgstr ":issue:`Validation de la configuration en utilisant pydantic <138>`"
#: ../features.rst:343 317b18e87a674ce5a39f0aef073a5e1c
msgid "Stable version"
msgstr "Version stable"
#: ../features.rst:345 074aa5b4bbf94a5282c9493291f8bcf7
msgid ""
"Before we push Canaille in stable version we want to achieve the following "
"tasks:"
msgstr ""
"Avant de déployer Canaille en version stable, nous voulons réaliser les "
"taches suivantes :"
#: ../features.rst:348 32e169e1f36441549ddbee882110def8
msgid "Security"
msgstr "Sécurité"
#: ../features.rst:350 542d78c7c5bc4dea80a39a63ce215989
msgid ":issue:`Password hashing configuration <175>`"
msgstr ":issue:`Configuration du hachage du mot de passe <175>`"
#: ../features.rst:351 e0ab0dd48216432ea2f3e683b151f7d0
msgid ":issue:`Authentication logging policy <177>`"
msgstr ":issue:`Politique de journalisation des authentifications <177>`"
#: ../features.rst:352 1e865664fc1b4c6ea020e5924e36e4f0
msgid ":issue:`Intruder lockout <173>`"
msgstr ":issue:`Blocage des connexions après échecs <173>`"
#: ../features.rst:353 eff48eadd8d546508709110ee4297ccc
msgid ":issue:`Password expiry policy <176>`"
msgstr ":issue:`Politique dexpiration des mots de passe <176>`"
#: ../features.rst:354 b57aa03df49f4bed8674f579ed2be7de
msgid ":issue:`Multi-factor authentication: Email <47>`"
msgstr ":issue:`Authentification multi-facteurs : Email <47>`"
#: ../features.rst:355 7cd9c56ff1ec4fe4844ba21eac411b41
msgid ":issue:`Multi-factor authentication: SMS <47>`"
msgstr ":issue:`Authentification multi-facteurs : SMS <47>`"
#: ../features.rst:356 5349695bf05a4f9fa1072fe0bb6c4b58
msgid ":issue:`Multi-factor authentication: OTP <47>`"
msgstr ":issue:`Authentification multi-facteurs : OTP <47>`"
#: ../features.rst:359 7d5beadbd8184d7eb1fdd52b06f8a0bc
msgid "Packaging"
msgstr "Paquets"
#: ../features.rst:361 90de3f4dabb043a58c125c85126c5c3a
msgid ":issue:`Nix package <190>`"
msgstr ":issue:`Paquet Nix <190>`"
#: ../features.rst:362 f86de768f08c4e44bda3b40a54193b1c
msgid ":issue:`Docker / OCI package <59>`"
msgstr ":issue:`Paquet Docker / OCI <59>`"
#: ../features.rst:365 8f0ff63fc2264a2994584ca350cfacb9
msgid "And beyond"
msgstr "Et au-delà"
#: ../features.rst:367 18f71a0ecade47288245c41b1fcd4bad
msgid ":issue:`OpenID Connect certification <182>`"
msgstr ":issue:`Certification OpenID Connect <182>`"
#: ../features.rst:368 d2176d37d72c4b7d8cc90a8374661c98
msgid ":issue:`SCIM support <116>`"
msgstr ":issue:`Support SCIM <116>`"
#: ../index.rst:15 3cd93747449e4826a82978400fa0021a
msgid "Lightweight Identity and Authorization Management"
msgstr "Serveur didentité et d'autorisations ultra-léger"
#: ../index.rst:19 e1f076af69624d368f1c12f86cfc965d
msgid ""
"**Canaille** is a French word meaning *rascal*. It is roughly pronounced "
"**Can I?**, as in *Can I access your data?* Canaille is a lightweight "
"identity and authorization management software. It aims to be very light, "
"simple to install and simple to maintain. Its main features are :"
msgstr ""
"**Canaille** est un mot français dont la prononciation (en anglais) "
"ressemble à **Can I?**, comme dans *Can I access your data?* (Puis-je "
"accéder à vos données?). Canaille est un logiciel de gestion d'autorisation "
"et d'identité léger. Il est conçu pour être très léger, simple à installer "
"et simple à maintenir. Ses fonctionnalités principales sont :"
#: ../index.rst:31 88bafd653fb4418ea8afaa3cde8baa0b
msgid "User profile and groups management, Basic permissions"
msgstr "Gestion de profils utilisateur et de groupes, permissions simples"
#: ../index.rst:38 8054216c1dd746c2b1210f5c402cb1f1
msgid ""
"Authentication, registration, email confirmation, \"I forgot my password\" "
"emails"
msgstr ""
"Authentification, inscription, confirmation par e-mail, e-mails \"J'ai "
"oublié mon mot de passe\""
#: ../index.rst:40 60a03d30d8fe43fbae685b2702612b09
msgid "SSO"
msgstr "Authentification unique (SSO)"
#: ../index.rst:44 142f93e5c0ad4fb2a486b4aa87f90cef
msgid "OpenID Connect identity provider"
msgstr "Fournisseur d'identité OpenID Connect"
#: ../index.rst:46 24e2262cc93549c2a6997f62f8f7e38e
msgid "Multi-database support"
msgstr "Gestion de multiples bases de données"
#: ../index.rst:50 ccf5ab1611aa4893aa498f3cad5f6107
msgid "PostgreSQL, Mariadb and OpenLDAP first-class citizenship"
msgstr "PostgreSQL, Mariadb et OpenLDAP sont des citoyens de première classe"
#: ../index.rst:52 510ac22471fe41ea981c5b6f8b6503db
msgid "Customization"
msgstr "Personnalisation"
#: ../index.rst:56 bf2a273bba904d2393eb781cc5e84b84
msgid "Put Canaille at yours colors by choosing a logo or use a custom theme!"
msgstr ""
"Mettez Canaille à vos couleurs en choisissant un logo ou en utilisant un "
"thème personnalisé!"
#: ../index.rst:58 1c7791be752c4b288c420a47929998af
msgid "Developers friendliness"
msgstr "Facilité de développement"
#: ../index.rst:62 9b22b1a84542414d9448bde94c60b8b7
msgid ""
"Canaille can easily fit in your unit tests suite or in your Continuous "
"Integration."
msgstr ""
"Canaille peut s'intégrer facilement dans votre suite de tests unitaires ou "
"dans votre Intégration Continue."
#: ../index.rst:66 4d0c2675411c4891a1da5945a8d99894
msgid ":doc:`Full feature list <features>` :doc:`Common use cases <usecases>`"
msgstr ""
":doc:`Liste complète des fonctionnalités <features>` :doc:`Cas d'usage "
"<usecases>`"
#: ../references/commands.rst:4 88c4569acf554105957f705b7f6a9d10
msgid ""
"Canaille provide several commands to help administrator manage their data."
msgstr ""
"Canaille dispose de plusieurs commandes pour aider les administrateurs à "
"gérer leurs données."
#: ../references/commands.rst:6 e29d45adb32440248cfc56c951ada110
msgid ""
"Generally, some configuration has to be loaded by `Canaille`. This can be "
"achieved by :ref:`configuration loading method<references/configuration:Load "
"the configuration>` available, but most of the time a ``CONFIG`` environment "
"variable is used. For the sake of readability, it is omitted in the "
"following examples."
msgstr ""
"Généralement, une configuration doit être chargée par `Canaille`. Cela peut "
"être réalisé par :ref:`une méthode de chargement de la "
"configuration<references/configuration:Load the configuration>` disponible, "
"mais la plupart du temps une variable d'environnement ``CONFIG`` est "
"utilisée. Pour des raisons de lisibilité, elle est omise dans les exemples "
"suivants."
#: ../../canaille check:1 ecbba95cc3894bb5922eb1c5d9aab9db
msgid "Test the configuration file."
msgstr "Test du fichier de configuration."
#: ../../canaille check:1 bb7356ed147f4b589cd06e1ba1aa2a31
msgid ""
"Attempt to reach the database and the SMTP server with the provided "
"credentials."
msgstr ""
"Tentative pour accéder à la base de données et le serveur SMTP avec les "
"identifiants fournis."
#: ../../canaille clean:1 e54877b8950d4ca586a827146ddc381b
msgid "Remove expired tokens and authorization codes."
msgstr "Suppression des jetons expirés et des codes d'autorisation."
#: ../../canaille dump:1 328ab9586ff247b599244e1ed1ec4ee1
#, fuzzy
#| msgid "Documentation details on the Canaille models."
msgid "Dump all the available models."
msgstr "Documentation des modèles de Canaille."
#: ../../canaille install:1 ecf525c0e8d24ed887d09a8bce106b90
msgid "Installs canaille elements from the configuration."
msgstr "Installe les éléments de Canaille issus de la configuration."
#: ../../canaille install:1 d060c2fbfe874a949db94e78b9dd86a1
msgid ""
"For instance, depending on the configuration, this can generate OIDC keys or "
"install LDAP schemas."
msgstr ""
"Par exemple, selon la configuration, cela peut générer les clefs OIDC ou "
"installer des schémas LDAP."
#: ../../canaille populate:1 9e2e5a1d5c724de6907206c8713565b4
msgid "Populate the database with generated random data."
msgstr "Remplit la base de données avec des données générées aléatoirement."
#: ../references/commands.rst:0 0be3fdcbc5e8477eb729119840fc94db
#: 73af358a71184c90a446a0aec6a49490 a72c738435cf4a199cc28f9e168d61b4
#: 612db4d6c17246c4981bfc66b03e4c27 f82b2b0573fb4be1bce67c535184ce1b
#: c2646781921c4d9daa443b1c74c4e5fd 497abf548fb54afaa71c4b751530be5d
#: 16a8dfcef5164d229c53bae4fa67074b 0e5017c92c494defaba493327d2d6ec7
#: bb84806cf1c845b0baa936309a8215a8 79f94d26480e45f9a8a1d2e8c3e1f455
#: 452b4f3fb3e54255aec3d1dcac05cffd ac24f0ea4e174d5ebb6596ec5f61176a
#: 1d054222a5a749a6bd071daa0e7f95f1 30ae5e08dac14ce7920d1211d29a4d36
#: d5b54dc8b2e74c668a904c368289f197 57fb21a4ea444457be0c8f905443be56
#: 177c1bf012b94b2bbfeea4a6568030b2 5c5a57ae32c44aab8a068eea26fa5683
#: b44f96fbfcd942d6a7434e8e473ba97b
msgid "Options"
msgstr "Options"
#: ../../canaille populate:1 366e3818f94644f69b0ea3d3f9020dfa
msgid "Number of items to create"
msgstr "Nombre d'éléments à créer"
#: ../../canaille populate groups:1 e4b4b48f7fb946efb4411110c1d641b9
msgid "Populate the database with generated random groups."
msgstr "Remplit la base de données avec des groupes générés aléatoirement."
#: ../../canaille populate groups:1 d129a8ce41e94f9fa44c53f570f20781
msgid "The maximum number of users that will randomly be affected in the group"
msgstr ""
"Le nombre maximum d'utilisateurs qui seront aléatoirement affectés dans le "
"groupe"
#: ../../canaille populate users:1 6f71793741a04ec694f309a274727f16
msgid "Populate the database with generated random users."
msgstr ""
"Remplit la base de données avec des utilisateurs générés aléatoirement."
#: ../../canaille get authorizationcode:1 1856e19b41084221967584aa188d3768
msgid "Search for authorizationcodes and display the matching models as JSON."
msgstr ""
"Recherche les codes d'autorisation et affiche les modèles correspondants en "
"JSON."
#: ../../canaille get client:1 59eea12c091c408084fddbb81dbf5193
msgid "Search for clients and display the matching models as JSON."
msgstr "Recherche les clients et affiche les modèles correspondants en JSON."
#: ../../canaille get consent:1 912e0992bca64d958062aee12cefdc6c
msgid "Search for consents and display the matching models as JSON."
msgstr ""
"Recherche les consentements et affiche les modèles correspondants en JSON."
#: ../../canaille get group:1 42b53a54d53c486696864c0e7c8c8219
msgid "Search for groups and display the matching models as JSON."
msgstr "Recherche les groupes et affiche les modèles correspondants en JSON."
#: ../../canaille get token:1 97406ed4387e42c1840f5ab179be4c67
msgid "Search for tokens and display the matching models as JSON."
msgstr "Recherche les jetons et affiche les modèles correspondants en JSON."
#: ../../canaille get user:1 a1bb3a313c9d4650934186a4b25dccdb
msgid "Search for users and display the matching models as JSON."
msgstr ""
"Recherche les utilisateurs et affiche les modèles correspondants en JSON."
#: ../../canaille set authorizationcode:1 9155eca32e47450c91c0951a506c0098
msgid ""
"Update a authorizationcode and display the edited model in JSON format in "
"the standard output."
msgstr ""
"Met à jour un code d'autorisation et affiche le modèle modifié au format "
"JSON sur la sortie standard."
#: ../../canaille delete authorizationcode:1 set
#: 502a6cdfbcb346aa81489816b3b21085 bc1755a860354bfbbc2d37ac3601e5a2
msgid "IDENTIFIER should be a authorizationcode id or authorization_code_id"
msgstr ""
"IDENTIFIER devrait être un code d'autorisation ou authorization_code_id"
#: ../references/commands.rst:0 aa12a9d952cf41499ebd5244b9f67ef0
#: 40009c8c78e942f59d6290fd420b2006 4c066924118e4106ba70f7f1d4266443
#: 6298303ab0684cc1ad8858bdf39a46c8 a99fbbf913cb438983b5e61e58f66d44
#: 74e52188f29743449a244bdaa1dfbb94 b281d9fe2cad4c9c888aebb03111ca0e
#: d05ee88f1feb418fb4602fe3fe81f500 ed946bcc41d54f09a1b9e6bb43f8c680
#: e386fefc0ba14f128b72383b66800191 9ad2daf76c0c4d4a991b69eaad1c5863
#: 7fc91b00ce1546ba97c4d79416db666c 8349f6b5685b420abc56fb0d625c6e2e
msgid "Arguments"
msgstr "Paramètres"
#: ../../canaille delete authorizationcode:1 client:1 consent:1 group:1 token:1
#: user:1 reset-otp:1 set e73a83348f80436ea9281503ad63de3b
#: 9bd472787e5745e4bc51f308a19f70fb bca4dc351b19409e9642b69df0cedf1b
#: bec4293a1baf42fc87d730b31bb053b1 5f5b177343204b6697edda987c93309c
#: b282e290019942a99468d86dfe2fb92e cd37ce7521cc45deb7893a68ef4a8f77
#: 1eac8e8f62634c139608ebbf792fdf29 0f347c920d444e079131929ef7b19209
#: d3c357a9ddce40fdbad45e6e04720e2f 07ca99703bca4ce1815d0d14bcaf0884
#: 4ce856a10c6b411b81caf2e961d35084 c86318d21435475f972a7ea91e52b543
msgid "Required argument"
msgstr "Paramètre obligatoire"
#: ../../canaille set client:1 82881bc9fae94bea951683d3eb3638aa
msgid ""
"Update a client and display the edited model in JSON format in the standard "
"output."
msgstr ""
"Mise-à-jour du client et affiche le modèle modifié au format JSON sur la "
"sortie standard."
#: ../../canaille delete client:1 set 19e76b8f40d24e89847673a45a2b9dea
#: e545f6ec93cf4cf2af8a5d099dbb8be1
msgid "IDENTIFIER should be a client id or client_id"
msgstr "IDENTIFIER devrait être un identifiant client ou client_id"
#: ../../canaille set consent:1 94055381228c4006948d67b4d53496ae
msgid ""
"Update a consent and display the edited model in JSON format in the standard "
"output."
msgstr ""
"Met à jour un consentement et affiche un modèle modifié au format JSON sur "
"la sortie standard."
#: ../../canaille delete consent:1 set bc0c92990b414a05b301f1d9c64ab815
#: c5cae07741284c2aa8f5bcf6db9e5fe9
msgid "IDENTIFIER should be a consent id or consent_id"
msgstr "IDENTIFIER devrait être un identifiant de consentement ou consent_id"
#: ../../canaille set group:1 cf971b160de14b57aca3c219daae8f5a
msgid ""
"Update a group and display the edited model in JSON format in the standard "
"output."
msgstr ""
"Met à jour un groupe et affiche le modèle modifié au format JSON sur la "
"sortie standard."
#: ../../canaille delete group:1 set 61ab5cbb0d29421cb2c7f6782606f222
#: 2d2c44a7edae495d93109429f16fc48b
msgid "IDENTIFIER should be a group id or display_name"
msgstr "IDENTIFIER devrait être un identifiant de groupe ou display_name"
#: ../../canaille set token:1 1b02610f05e74f1998213d3bd334fcf8
msgid ""
"Update a token and display the edited model in JSON format in the standard "
"output."
msgstr ""
"Met à jour un jeton et affiche un modèle modifié au format JSON sur la "
"sortie standard."
#: ../../canaille delete token:1 set a8b1c621ffd44dc78c45e92bd7f5aae9
#: a8c3ec382ac644aea294a7352e7c6c9a
msgid "IDENTIFIER should be a token id or token_id"
msgstr "IDENTIFIER devrait être un identifiant de token ou token_id"
#: ../../canaille set user:1 5b0d012ca9b14c97ac52fe32bc38549d
msgid ""
"Update a user and display the edited model in JSON format in the standard "
"output."
msgstr ""
"Met à jour un utilisateur et affiche un modèle modifié au format JSON sur la "
"sortie standard."
#: ../../canaille delete user:1 reset-otp:1 set
#: 522ea543a79a43bead732048d8732e37 f280546270254fa2a708d954fb308141
#: dc4e9f9c0a83411b8edcc6e6775c2233
msgid "IDENTIFIER should be a user id or user_name"
msgstr "IDENTIFIER devrait être un identifiant utilisateur ou user_name"
#: ../../canaille create authorizationcode:1 03ccc90e00c04cf085f412f08796fa3f
msgid ""
"Create a new authorizationcode and display the created model in JSON format "
"in the standard output."
msgstr ""
"Crée un nouveau code d'autorisation et affiche le modèle créé au format JSON "
"sur la sortie standard."
#: ../../canaille create client:1 a188a2b7df4047568c522d8547cbfb90
msgid ""
"Create a new client and display the created model in JSON format in the "
"standard output."
msgstr ""
"Crée un nouveau client et affiche le modèle créé au format JSON sur la "
"sortie standard."
#: ../../canaille create consent:1 f6f36d745e5d43e1b216278b68ca5c3a
msgid ""
"Create a new consent and display the created model in JSON format in the "
"standard output."
msgstr ""
"Crée un nouveau consentement et affiche le modèle créé au format JSON sur la "
"sortie standard."
#: ../../canaille create group:1 17e167ef7039482cad4dbec0e88e0120
msgid ""
"Create a new group and display the created model in JSON format in the "
"standard output."
msgstr ""
"Crée un nouveau groupe et affiche le modèle créé au format JSON sur la "
"sortie standard."
#: ../../canaille create token:1 f1adad3af4dd4428af1b96bd65897c6d
msgid ""
"Create a new token and display the created model in JSON format in the "
"standard output."
msgstr ""
"Crée un nouveau jeton et affiche le modèle créé au format JSON sur la sortie "
"standard."
#: ../../canaille create user:1 32aa21ad4e204a46a9aef2e718d684d6
msgid ""
"Create a new user and display the created model in JSON format in the "
"standard output."
msgstr ""
"Crée un nouvel utilisateur et affiche le modèle créé au format JSON sur la "
"sortie standard."
#: ../../canaille delete authorizationcode:1 84e90972c7eb4446a8eb7c0f5efa1d91
msgid "Delete a authorizationcode."
msgstr "Supprime un code d'autorisation."
#: ../../canaille delete client:1 56132374fa444822835b04c957f0a9aa
msgid "Delete a client."
msgstr "Supprime un client."
#: ../../canaille delete consent:1 8722277683284356b26927adab59e187
msgid "Delete a consent."
msgstr "Supprime un consentement."
#: ../../canaille delete group:1 533f8e3e48114b52a851f37bad10a06c
msgid "Delete a group."
msgstr "Supprime un groupe."
#: ../../canaille delete token:1 a4686b65e4f04af3a4c4f95948e4e489
msgid "Delete a token."
msgstr "Supprime un jeton."
#: ../../canaille delete user:1 d1b92475013e46aeb9503ee1c44bf476
msgid "Delete a user."
msgstr "Supprime un utilisateur."
#: ../../canaille reset-otp:1 93d47f3e20c74d97878f3a870cfca1e7
msgid ""
"Reset one-time password authentication for a user and display the edited "
"user in JSON format in the standard output."
msgstr ""
"Réinitialise le jeton des mots de passes à usage unique pour un utilisateur, "
"et affiche l'utilisateur édité au format JSON dans la sortie standard."
#: ../references/configuration.rst:2 ../tutorial/databases.rst:22
#: ../tutorial/provisioning.rst:18 1746a821036a46f1bf9e04427bc4fb80
#: 79476926999b413589ab6aef13766ee0 1a1b8b34fb0f4b49bc4d1030ebf3915c
msgid "Configuration"
msgstr "Configuration"
#: ../references/configuration.rst:5 43e4202c704b4f929984e19d0a4b5a88
msgid "Load the configuration"
msgstr "Charge la configuration"
#: ../references/configuration.rst:7 62f81648893f4ed7be3c389a91401d2b
msgid ""
"Canaille can be configured either by a environment variables, environment "
"file, or by a configuration file."
msgstr ""
"Canaille peut être configuré soit par des variables d'environnement "
"variables, un fichier d'environnement ou par un fichier de configuration."
#: ../references/configuration.rst:10 4ab1e9b916ad468b8ddd8b8882aed01e
msgid "Configuration file"
msgstr "Fichier de configuration"
#: ../references/configuration.rst:14 020bb61791d54e60b4c993071882ed69
msgid ""
"The configuration can be written in `toml` configuration file which path is "
"passed in the :envvar:`CONFIG` environment variable."
msgstr ""
"La configuration peut être écrite dans un fichier de configuration `toml` "
"dont le chemin est passé dans la variable d'environnement :envvar:`CONFIG`."
#: ../../canaille/app/configuration.py:docstring of
#: canaille.app.configuration.RootSettings:11
#: ../references/configuration.rst:16 ../references/configuration.rst:98
#: ../tutorial/databases.rst:26 ../tutorial/databases.rst:50
#: ../tutorial/databases.rst:151 ee25cbe0654e482eafb8ab5b1511fa44
#: 0a2249d90bc14a049505d39144b4a916 6c96db7fc97d4eeabdd6201e65ec105d
#: 79476926999b413589ab6aef13766ee0
msgid "config.toml"
msgstr "config.toml"
#: ../references/configuration.rst:28 b506560b86214ae28304658d7ea2e061
msgid ""
"You can have a look at the :ref:`example file <references/configuration:"
"Example file>` for inspiration."
msgstr ""
"Regardez le :ref:`fichier d'exemple <references/configuration:Example file>` "
"pour vous inspirer."
#: ../references/configuration.rst:31 855fd5086aa74bde85c68c3fb4473eca
msgid "Environment variables"
msgstr "Variables d'environnement"
#: ../references/configuration.rst:33 f5ff88a87e1241d4a07a2c4c3f670b54
msgid ""
"In addition, parameters that have not been set in the configuration file can "
"be read from environment variables. The way environment variables are parsed "
"can be read from the `pydantic-settings documentation <https://docs.pydantic."
"dev/latest/concepts/pydantic_settings/#parsing-environment-variable-"
"values>`_."
msgstr ""
"De plus, les paramètres qui n'ont pas été définis dans le fichier de "
"configuration peuvent être lus depuis les variables d'environnement. La "
"façon dont les variables d'environnement sont analysées peut être lu dans la "
"`documentation pydantic-settings <https://docs.pydantic.dev/latest/concepts/"
"pydantic_settings/#parsing-environment-variable-values>`_."
#: ../references/configuration.rst:38 f7fcfa2d43864f288d1c0746fd8ed74e
msgid ""
"For environment vars, the separator between sections and variables is a "
"double underscore: ``__``. For instance, the ``NAME`` var in the "
"``CANAILLE`` section shown above is ``CANAILLE__NAME``."
msgstr ""
"Pour les variables d'environnement, le séparateur entre les sections et les "
"variables est un double souligné (underscore) : ``__``. Par exemple, la "
"variable ``NAME`` dans la section ``CANAILLE`` affichée au-dessus est "
"``CANAILLE__NAME``."
#: ../references/configuration.rst:42 ba95ac0bec524f2186c0c5a2fd55ddc4
msgid "Environment file"
msgstr "Fichier d'environnement"
#: ../references/configuration.rst:44 d301925be3cf4943be48ae119f0d518e
msgid ""
"Any environment variable can also be written in an environment file, which "
"path should be passed in the ``ENV_FILE`` environment variable. For "
"instance, set ``ENV_FILE=.env`` to load a ``.env`` file."
msgstr ""
"N'importe quel variable d'environnement peut aussi être écrit dans un "
"fichier d'environnement, dont le chemin devrait être passé dans la variable "
"d'environnement ``ENV_FILE``. Par exemple, paramétrer ``ENV_FILE=.env`` pour "
"charger un fichier ``.env``."
#: ../references/configuration.rst:47 ../tutorial/theming.rst:45
#: 399b3ea19a0f47509d8bc251ed19246f 39e63609b8d14eabb7f70dbd257c3f05
msgid ".env"
msgstr ".env"
#: ../references/configuration.rst:65 8c82c49133f34f779dcc9309e3633625
msgid "Configuration methods priority"
msgstr "Priorité des méthodes de configuration"
#: ../references/configuration.rst:67 29a90274aef046c09f17682553736efc
msgid ""
"If a same configuration option is defined by different ways, here is how "
"Canaille will choose which one to use:"
msgstr ""
"Si une option de configuration est définie de multiples façons, voici "
"comment Canaille sélectionnera celle à utiliser :"
#: ../references/configuration.rst:69 5fe899a247494a3babcecca1746b08cd
msgid ""
"environment vars have priority over the environment file and the "
"configuration file;"
msgstr ""
"Les variables d'environnement sont prioritaires sur le fichier "
"d'environnement et le fichier de configuration;"
#: ../references/configuration.rst:70 0cd4875aa3a047329f866dba98ea29d8
msgid "environment file will have priority over the configuration file."
msgstr ""
"Le fichier d'environnement est prioritaire sur le fichier de configuration."
#: ../references/configuration.rst:73 ../references/templates.rst:0
#: 2eb621ffce2f420680529f3bf4901f73 a044d8c4524a4d36bb09196ba221c543
#: c69f134bcb144ad0a92381365ab2f83e 974e15495c234b3a8eb9ce7968e7beda
#: 6b633fbb96d84ec7a52e3a57c7ddb347 515ac97c820c4d6da9aeec7264d9f8b8
#: 02faf1b58dfd4a0f9319a47d7ec47ae2 32d1ed5dd4b842df9bc42ce6a343892e
#: 0b9656a5f894494db688a75cd7d0c642 6edf1abe2cee40738eece983144306d5
#: 941e74d08cb443e48a940d76e5d04438 9a57301253854e968388a7c4cee2002f
#: 4fd00dbcf8c143e4bccbed3edcbee864 d187ad28099a4b569019d8dadba7ec13
#: e35b68481ffb4d068cb15274894b15f9 e99cb8030e8e4cdfbf4c01e06a3e714c
#: 8a29fb06720c4c4397ad4957b490a8c0 a8e69ab44b5540439b59f6f0bf6a38a1
#: a32ac168931245b68611cd6955faeea5 b2e8743b32164566be10d124c518e437
#: bbbaacd277154bceaf2283930962ba8c 71db7835a9984c0b9124fcf46045e799
#: a33a17334e9b4d16a42c11374a9e5095 7529ea6abdac43299a57a0b242497b4c
#: 689c48da2d964dff82be0f72974e6498 63a0c611ea4640a3ad0562e6d8ad7f21
msgid "Parameters"
msgstr "Paramètres"
#: ../../canaille/app/configuration.py:docstring of
#: canaille.app.configuration.RootSettings:1 84e2009dde284788b29008558f7ee8df
msgid ""
"The top-level namespace contains the configuration settings unrelated to "
"Canaille."
msgstr ""
"L'espace de nom de plus haut niveau contient les paramètres de configuration "
"sans rapport avec Canaille."
#: ../../canaille/app/configuration.py:docstring of
#: canaille.app.configuration.RootSettings:4 233b44cb5f924b92b55e0717ec868cc7
msgid "The configuration parameters from the following libraries can be used:"
msgstr ""
"Les paramètres de configuration provenant des bibliothèques suivantes "
"peuvent être utilisées :"
#: ../../canaille/app/configuration.py:docstring of
#: canaille.app.configuration.RootSettings:6 528ffc1283f1453f8b5a315650653aad
msgid ":doc:`Flask <flask:config>`"
msgstr ":doc:`Flask <flask:config>`"
#: ../../canaille/app/configuration.py:docstring of
#: canaille.app.configuration.RootSettings:7 8434735c37f44b4a9dca422dcfa35fb0
msgid ":doc:`Flask-WTF <flask-wtf:config>`"
msgstr ":doc:`Flask-WTF <flask-wtf:config>`"
#: ../../canaille/app/configuration.py:docstring of
#: canaille.app.configuration.RootSettings:8 36e7ddf80e5a439482c95b1cdc3138a2
msgid ":doc:`Flask-Babel <flask-babel:index>`"
msgstr ":doc:`Flask-Babel <flask-babel:index>`"
#: ../../canaille/app/configuration.py:docstring of
#: canaille.app.configuration.RootSettings:9 53c48e3c1ee04722bbd19d1a0647ab84
msgid ":doc:`Authlib <authlib:flask/2/authorization-server>`"
msgstr ":doc:`Authlib <authlib:flask/2/authorization-server>`"
#: ../../docstring of canaille.app.configuration.RootSettings.DEBUG:1
#: 0266d76fe0494ebe951de15dff0a03de
msgid "The Flask :external:py:data:`DEBUG` configuration setting."
msgstr "Le paramétrage de configuration de Flask :external:py:data:`DEBUG`."
#: ../../docstring of canaille.app.configuration.RootSettings.DEBUG:3
#: 91084957d9a44fba848f2d3bdc4f173b
msgid "This enables debug options."
msgstr "Cela active les options de débogage."
#: ../../docstring of canaille.app.configuration.RootSettings.DEBUG:7
#: 4411e21377474f2395da5cf994bf9b5f
msgid ""
"This is useful for development but should be absolutely avoided in "
"production environments."
msgstr ""
"C'est utile lors du développement mais devrait être absolument évité sur des "
"environnements de production."
#: ../../docstring of
#: canaille.app.configuration.RootSettings.PREFERRED_URL_SCHEME:1
#: 2631e6c917144dcda0f45f75dca3e045
msgid ""
"The Flask :external:py:data:`PREFERRED_URL_SCHEME` configuration setting."
msgstr ""
"Le paramétrage de la configuration de Flask :external:py:data:"
"`PREFERRED_URL_SCHEME`."
#: ../../docstring of
#: canaille.app.configuration.RootSettings.PREFERRED_URL_SCHEME:4
#: 17d256877da540b4af0ecb3f816527d1
msgid "This sets the url scheme by which canaille will be served."
msgstr "Cela paramètre le schéma d'URL avec lequel Canaille sera servi."
#: ../../docstring of canaille.app.configuration.RootSettings.SECRET_KEY:1
#: ce0a09e3f4bb40b8a88d5d8a02c78b53
msgid "The Flask :external:py:data:`SECRET_KEY` configuration setting."
msgstr ""
"Le paramétrage de la configuration de Flask :external:py:data:`SECRET_KEY`."
#: ../../docstring of canaille.app.configuration.RootSettings.SECRET_KEY:3
#: 054498e41f0c4cf19ba9b6d9a7bd344b
msgid "You MUST change this."
msgstr "Vous DEVEZ le changer."
#: ../../docstring of canaille.app.configuration.RootSettings.SERVER_NAME:1
#: 29d21b789ee2499a81b40546ac5bc867
msgid "The Flask :external:py:data:`SERVER_NAME` configuration setting."
msgstr ""
"Le paramétrage de la configuration de Flask :external:py:data:`SERVER_NAME`."
#: ../../docstring of canaille.app.configuration.RootSettings.SERVER_NAME:3
#: c244712d83da4e2ea46b19c7f7c9677f
msgid "This sets domain name on which canaille will be served."
msgstr "Cela paramètre le nom de domaine sur lequel Canaille sera servi."
#: ../../canaille/core/configuration.py:docstring of
#: canaille.core.configuration.CoreSettings:1 8abadcc23b59421eaf1866cf66f16b82
msgid "The settings from the ``CANAILLE`` namespace."
msgstr "Les paramètres issus de l'espace de nom ``CANAILLE``."
#: ../../canaille/core/configuration.py:docstring of
#: canaille.core.configuration.CoreSettings:3 b197626889354c289279eb095892940e
msgid ""
"Those are all the configuration parameters that controls the behavior of "
"Canaille."
msgstr ""
"Ce sont tous les paramètres de configuration contrôlant le comportement de "
"Canaille."
#: ../../docstring of canaille.core.configuration.CoreSettings.ACL:1
#: 83e6e2dfc47a4a0da12b26098911529d
msgid ""
"Mapping of permission groups. See :class:`ACLSettings` for more details."
msgstr ""
"Correspondance des groupes de droits. Voir :class:`ACLSettings` pour plus de "
"détails."
#: ../../docstring of canaille.core.configuration.CoreSettings.ACL:3
#: cb73b597fa1e4394b1c5bb2bb2435e99
msgid "The ACL name can be freely chosen. For example:"
msgstr "Le nom des ACL peut être choisi librement. Par exemple :"
#: ../../docstring of
#: canaille.backends.sql.configuration.SQLSettings.DATABASE_URI:4
#: canaille.core.configuration.ACLSettings.PERMISSIONS:6
#: canaille.core.configuration.CoreSettings.ACL:5
#: canaille.core.configuration.CoreSettings.LOGGING:12
#: 881bf101872546348dd1fbe1e0876ce2 14afae3efc904e2085f73676b352e16f
#: f269c5d6271a4989a1bcfddeee3ee9c2 a159a694d7e14098907617eed4f35aa0
msgid "..code-block:: toml"
msgstr "..code-block:: toml"
#: ../../docstring of canaille.core.configuration.CoreSettings.ACL:7
#: 7df785453bf2449bb5fa56a6eb3f40d2
msgid ""
"[CANAILLE.ACL.DEFAULT] PERMISSIONS = [\"edit_self\", \"use_oidc\"] READ = "
"[\"user_name\", \"groups\"] WRITE = [\"given_name\", \"family_name\"]"
msgstr ""
"[CANAILLE.ACL.DEFAULT] PERMISSIONS = [\"edit_self\", \"use_oidc\"] READ = "
"[\"user_name\", \"groups\"] WRITE = [\"given_name\", \"family_name\"]"
#: ../../docstring of canaille.core.configuration.CoreSettings.ACL:12
#: bb75dcb394b84875a95ea5029a452027
msgid "[CANAILLE.ACL.ADMIN] WRITE = [\"user_name\", \"groups\"]"
msgstr "[CANAILLE.ACL.ADMIN] WRITE = [\"user_name\", \"groups\"]"
#: ../../docstring of canaille.core.configuration.CoreSettings.ADMIN_EMAIL:1
#: 753080f7763646d1ad22a17240e53b6c
msgid "Administration email contact."
msgstr "Contact e-mail de l'administration."
#: ../../docstring of canaille.core.configuration.CoreSettings.ADMIN_EMAIL:3
#: 5c58da831ccb44d4b19d5681c996c78f
msgid ""
"In certain special cases (example : questioning about password corruption), "
"it is necessary to provide an administration contact email."
msgstr ""
"Dans certains cas particuliers (par exemple en cas de questionnement sur la "
"corruption de mot de passe), il est nécessaire de fournir un e-mail de "
"contact pour l'administration."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.EMAIL_CONFIRMATION:1
#: 426b66feb6d3450eaf7638586fec400f
msgid ""
"If :py:data:`True`, users will need to click on a confirmation link sent by "
"email when they want to add a new email."
msgstr ""
"Si :py:data:`True`, les utilisateurs auront besoin de cliquer sur un lien de "
"confirmation envoyé par e-mail quand ils voudront en ajouter un nouveau."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.EMAIL_CONFIRMATION:4
#: 6479ecaa27d94cf89171e9587af6d468
msgid ""
"By default, this is true if ``SMTP`` is configured, else this is false. If "
"explicitly set to true and ``SMTP`` is disabled, the email field will be "
"read-only."
msgstr ""
"Par défaut, cela est vrai si ``SMTP`` est configuré, sinon c'est faux. S'il "
"est explicitement paramétré à `true` et que ``SMTP`` est désactivé, le champ "
"e-mail sera en lecture seule."
#: ../../docstring of canaille.core.configuration.CoreSettings.EMAIL_OTP:1
#: 7c9b9868ad8c4e99832f5a2d3a5e6aee
msgid ""
"If :py:data:`True`, then users will need to authenticate themselves via a "
"one-time password sent to their primary email address."
msgstr ""
"Si :py:data:`True`, alors les utilisateurs devront saisir un mot de passe "
"temporaire envoyé à leur adresse email principale pour s'authentifier."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.ENABLE_INTRUDER_LOCKOUT:1
#: e374204dc15d4778b430968d4bc5f9d9
msgid ""
"If :py:data:`True`, then users will have to wait for an increasingly long "
"time between each failed login attempt."
msgstr ""
"Si :py:data:`True`, les utilisateurs devront attendre un temps croissant "
"entre des tentatives de connexion infructueuses."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.ENABLE_PASSWORD_COMPROMISSION_CHECK:1
#: 4170c86b23554c8ea2c883557a8deec0
msgid ""
"If :py:data:`True`, Canaille will check if passwords appears in "
"compromission databases such as `HIBP <https://haveibeenpwned.com>`_ when "
"users choose a new one."
msgstr ""
"Si :py:data:`True`, Canaille vérifiera si les mots de passe apparaissent "
"dans des bases contenant des mots de passe compromis telles que `HIBP "
"<https://haveibeenpwned.com>`_ quand les utilisateurs en choisiront un "
"nouveau."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.ENABLE_PASSWORD_RECOVERY:1
#: bb6bad71e08a4d36b3339537790b147c
msgid ""
"If :py:data:`False`, then users cannot ask for a password recovery link by "
"email."
msgstr ""
"Si :py:data:`False`, alors les utilisateurs ne peuvent pas demander un lien "
"de récupération de mot de passe par e-mail."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.ENABLE_REGISTRATION:1
#: 5f8fcd4a000d411c8502c630e54f04ee
msgid ""
"If :py:data:`True`, then users can freely create an account at this instance."
msgstr ""
"Si :py:data:`True`, les utilisateurs peuvent librement créer un compte sur "
"cette instance."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.ENABLE_REGISTRATION:4
#: d92660e43b9347d0ade1e397bc5207b8
msgid ""
"If email verification is available, users must confirm their email before "
"the account is created."
msgstr ""
"Si la vérification d'e-mail est disponible, les utilisateurs doivent "
"confirmer leur e-mail avant que le compte ne soit créé."
#: ../../docstring of canaille.core.configuration.CoreSettings.FAVICON:1
#: 8718e146c23448f682ee9642c6cb911a
msgid "You favicon."
msgstr "Votre favicon."
#: ../../docstring of canaille.core.configuration.CoreSettings.FAVICON:3
#: 8d1fc56d14134aa9ac8ad88fb924d401
msgid "If unset and :attr:`LOGO` is set, then the logo will be used."
msgstr ""
"Si non paramétré et :attr:`LOGO` renseigné, alors le logo sera utilisé."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.HIDE_INVALID_LOGINS:1
#: bdf0b98c2bed4013b5bed76ae6326c87
msgid ""
"If :py:data:`True`, when users try to sign in with an invalid login, a "
"message is shown indicating that the password is wrong, but does not give a "
"clue whether the login exists or not."
msgstr ""
"Si :py:data:`True`, quand les utilisateurs essaient de se connecter avec un "
"identifiant invalide, un message indique que le mot de passe est incorrect "
"mais ne fournit pas d'indice si l'identifiant existe ou non."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.HIDE_INVALID_LOGINS:5
#: 192cdb38b79048aaa18dcad8e675d6e9
msgid ""
"If :py:data:`False`, when a user tries to sign in with an invalid login, a "
"message is shown indicating that the login does not exist."
msgstr ""
"Si :py:data:`False`, quand un utilisateur essaie de se connecter avec un "
"identifiant invalide, un message indique que l'identifiant n'existe pas."
#: ../../docstring of canaille.core.configuration.CoreSettings.HTMX:1
#: 988c8b75a0884b80a0a1d65f53ac680e
msgid "Accelerates webpages loading with asynchronous requests."
msgstr "Accélère le chargement des pages web grâce à des requêtes asynchrones."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.INVITATION_EXPIRATION:1
#: 4b6029f0ed44414f953feda8afe9b63e
msgid "The validity duration of registration invitations, in seconds."
msgstr "Durée de validité des invitations, en secondes."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.INVITATION_EXPIRATION:3
#: b6745de2c7b84f54b498403bdca444d1
msgid "Defaults to 2 days."
msgstr "Deux jours par défaut."
#: ../../docstring of canaille.core.configuration.CoreSettings.JAVASCRIPT:1
#: f760d39408a748ce908e65a24a0c6a80
msgid "Enables Javascript to smooth the user experience."
msgstr "Active Javascript pour améliorer l'expérience utilisateur."
#: ../../docstring of canaille.core.configuration.CoreSettings.LANGUAGE:1
#: e02332b4e43042de98a09d40a948302a
msgid "If a language code is set, it will be used for every user."
msgstr ""
"Si un code de langue est paramétré, il sera utilisé pour tous les "
"utilisateurs."
#: ../../docstring of canaille.core.configuration.CoreSettings.LANGUAGE:3
#: 1a676dafa9194a46ae41884d78b1a8a6
msgid "If unset, the language is guessed according to the users browser."
msgstr ""
"Si non renseigné, la langue est déterminée selon les préférences navigateur "
"des utilisateurs."
#: ../../docstring of canaille.core.configuration.CoreSettings.LOGGING:1
#: a16f42d36574410e929fb61e6ef8abac
msgid ""
"Configures the logging output using the python logging configuration format:"
msgstr ""
"Configure l'enregistrement des journaux en utilisant le format de "
"configuration des journaux Python :"
#: ../../docstring of canaille.core.configuration.CoreSettings.LOGGING:3
#: fb272f04203f46e098520a67a969659e
msgid ""
"If :data:`None`, everything is logged in the standard error output. The log "
"level is :data:`~logging.DEBUG` if the :attr:`~canaille.app.configuration."
"RootSettings.DEBUG` setting is :py:data:`True`, else this is :py:data:"
"`~logging.INFO`."
msgstr ""
"Si :py:data:`None`, tout est écrit sur la sortie d'erreur standard. Le "
"niveau de verbosité est :py:data:`~logging.DEBUG` si le paramètre :attr:"
"`~canaille.app.configuration.RootSettings.DEBUG` est :py:data:`True`, sinon "
"elle est:py:data:`~logging."
#: ../../docstring of canaille.core.configuration.CoreSettings.LOGGING:6
#: b970691fac51473d9fbc00f9f1a97f64
msgid ""
"If this is a :class:`dict`, it is passed to :func:`logging.config."
"dictConfig`:"
msgstr ""
"Si cest un :class:`dict`, il est passé à :func:`logging.config.dictConfig` :"
#: ../../docstring of canaille.core.configuration.CoreSettings.LOGGING:7
#: fa42a52c1dc84ef4b56ce123d98cd612
msgid ""
"If this is a :class:`str`, it is expected to be a file path that will be "
"passed to :func:`logging.config.fileConfig`."
msgstr ""
"Si c'est une :class:`str`, c'est supposé être un chemin de fichier qui sera "
"passé à :func:`logging.config.fileConfig."
#: ../../docstring of canaille.core.configuration.ACLSettings.PERMISSIONS:4
#: canaille.core.configuration.CoreSettings.LOGGING:10
#: fb6acd57fe244d02bbd69015275cd69c f33e86db2dc74cd0a98a6d5c0d928e73
msgid "For example:"
msgstr "Par exemple :"
#: ../../docstring of canaille.core.configuration.CoreSettings.LOGGING:14
#: a5b8c52cf10a429699e2054f42658c17
msgid ""
"[CANAILLE.LOGGING] version = 1 formatters.default.format = \"[%(asctime)s] "
"%(levelname)s in %(module)s: %(message)s\" root = {level = \"INFO\", "
"handlers = [\"canaille\"]}"
msgstr ""
"[CANAILLE.LOGGING] version = 1 formatters.default.format = \"[%(asctime)s] "
"%(levelname)s in %(module)s: %(message)s\" root = {level = \"INFO\", "
"handlers = [\"canaille\"]}"
#: ../../docstring of canaille.core.configuration.CoreSettings.LOGGING:19
#: 2524ebb40666405b8630a4778d4334fd
msgid ""
"[CANAILLE.LOGGING.handlers.canaille] class = \"logging.handlers."
"WatchedFileHandler\" filename = \"/var/log/canaille.log\" formatter = "
"\"default\""
msgstr ""
"[CANAILLE.LOGGING.handlers.canaille] class = \"logging.handlers."
"WatchedFileHandler\" filename = \"/var/log/canaille.log\" formatter = "
"\"default\""
#: ../../docstring of canaille.core.configuration.CoreSettings.LOGO:1
#: 19233db1937d4d398e9bc82d88b2aeb4
msgid ""
"The logo of your organization, this is useful to make your organization "
"recognizable on login screens."
msgstr ""
"Le logo de votre organisation, cela permet de rendre votre organisation "
"reconnaissable sur l'écran de connexion."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.MAX_PASSWORD_LENGTH:1
#: b8115919bf52465c8ecad2294c9cb3f5
msgid "User password maximum length."
msgstr "Longueur minimum des mots de passe utilisateur."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.MAX_PASSWORD_LENGTH:3
#: acfb34baa52d40c2ac93f84d1d1b0b45
msgid ""
"There is a technical of 4096 characters with the SQL backend. If the value "
"is 0, :data:`None`, or greater than 4096, then 4096 will be retained."
msgstr ""
"Il y a une limite technique de 4096 caractères pour les bases de données "
"SQL. Si la valeur est 0, :data:`None`ou supérieure à 4096, alors 4096 sera "
"utilisée."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.MIN_PASSWORD_LENGTH:1
#: 06396a965c9342b697bc45dcc011f2be
msgid "User password minimum length."
msgstr "Longueur maximum des mots de passe utilisateur."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.MIN_PASSWORD_LENGTH:3
#: 7efa39bf27bb468b9df98c5248428124
msgid "If 0 or :data:`None`, password won't have a minimum length."
msgstr ""
"Si 0 ou :data:`None, les mots de passe n'auront pas de longueur minimum."
#: ../../docstring of canaille.core.configuration.CoreSettings.NAME:1
#: 5e65abc8483f455a991d9e047e73da66
msgid "Your organization name."
msgstr "Le nom de votre organisation."
#: ../../docstring of canaille.core.configuration.CoreSettings.NAME:3
#: 606e9a684c9243359899a63d7e2c07d2
msgid "Used for display purpose."
msgstr "Utilisé à fins d'affichage."
#: ../../docstring of canaille.core.configuration.CoreSettings.OTP_METHOD:1
#: 04b59ac479f548bd9740d2b7e243e0be
msgid ""
"If OTP_METHOD is defined, then users will need to authenticate themselves "
"using a one-time password (OTP) via an authenticator app. If set to "
"``TOTP``, the application will use time one-time passwords, If set to "
"``HOTP``, the application will use HMAC-based one-time passwords."
msgstr ""
"Si `OTP_METHOD` est défini, alors pour s'authentifier les utilisateurs "
"devront saisir un mot de passe à usage unique (OTP) généré par une "
"application d'authentification. Si la valeur est ``TOTP``l'application "
"utilisera des mots de passes à usage unique basés sur le temps. Si la valeur "
"est ``HOTP``, l'application utilisera des mots de passes à usage unique "
"basés sur HMAC."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.PASSWORD_COMPROMISSION_CHECK_API_URL:1
#: efecdcc0b3c44808aab72f448d73bf42
msgid "Have i been pwned api url for compromission checks."
msgstr ""
"URL du service HaveIBeenPwned, utilisé pour les vérifications de "
"compromission des mots de passe."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.PASSWORD_LIFETIME:1
#: c9deb9285c2e43869c2acf1319bc5cf5
msgid "Password validity duration."
msgstr "Durée de validité du mot de passe."
#: ../../docstring of
#: canaille.core.configuration.CoreSettings.PASSWORD_LIFETIME:3
#: e54d23138f1b4d63ab45a1ea9cd55dbd
msgid ""
"If set, user passwords expire after this delay. Users are forced to change "
"their password when the lifetime of the password is over. The duration value "
"is expressed in `ISO8601 format <https://en.wikipedia.org/wiki/"
"ISO_8601#Durations>`_. For example, delay of 60 days is written \"P60D\"."
msgstr ""
"Si indiqué, les mots de passe des utilisateurs expirent après ce délai. Les "
"utilisateurs sont forcés de changer leur mot de passe lorsque la durée de "
"vie de leur mot de passe a expiré. La durée est exprimée au format `ISO8601 "
"<https://en.wikipedia.org/wiki/ISO_8601#Durations>`_. Par exemple, un délai "
"de 60 jours s'écrit « P60D »."
#: ../../docstring of canaille.core.configuration.CoreSettings.SENTRY_DSN:1
#: f2e004ed1352465e8d32c0565f60dc08
msgid "A `Sentry <https://sentry.io>`_ DSN to collect the exceptions."
msgstr ""
"Un DSN `Sentry <https://sentry.io>`_ pour collecter les erreurs techniques."
#: ../../docstring of canaille.core.configuration.CoreSettings.SENTRY_DSN:3
#: 396fd294d31a4d2d9ad9967ea5845ea7
msgid "This is useful for tracking errors in test and production environments."
msgstr ""
"Utile pour centraliser les erreurs dans les environnements de test et de "
"production."
#: ../../docstring of canaille.core.configuration.CoreSettings.SMPP:1
#: 2548a23167c14ca791a00efef39a5fba
msgid "The settings related to SMPP configuration."
msgstr "Les paramètres liés à la configuration des serveurs SMPP."
#: ../../docstring of canaille.core.configuration.CoreSettings.SMPP:3
#: 58473f24986d42edb6abb6ac7447701b
msgid ""
"If unset, sms-related features like sms one-time passwords won't be enabled."
msgstr ""
"Si non renseigné, les fonctionnalités liées aux SMS, telles que la "
"réinitialisation des mots de passe par SMS, ne seront pas activées."
#: ../../docstring of canaille.core.configuration.CoreSettings.SMS_OTP:1
#: 0d4b32baaef746d0920a8d7b49f41f4c
msgid ""
"If :py:data:`True`, then users will need to authenticate themselves via a "
"one-time password sent to their primary phone number."
msgstr ""
"Si :py:data:`True`, alors pour s'authentifier les utilisateurs devront "
"saisir un mot de passe temporaire envoyé par SMS à leur numéro de téléphone "
"principal."
#: ../../docstring of canaille.core.configuration.CoreSettings.SMTP:1
#: e2bfd599192e4c6f9bfeaead50f548ed
msgid "The settings related to SMTP and mail configuration."
msgstr "Les paramètres liés à la configuration des serveur mail et SMTP."
#: ../../docstring of canaille.core.configuration.CoreSettings.SMTP:3
#: 444f30f696184ee6898c385d19fc647b
msgid ""
"If unset, mail-related features like password recovery won't be enabled."
msgstr ""
"Si non renseigné, les fonctionnalités liées aux mail, telles que la "
"réinitialisation des mots de passe, ne seront pas activées."
#: ../../docstring of canaille.core.configuration.CoreSettings.THEME:1
#: d006eeb6ee7c4d1cb5249d35faeda62e
msgid "The name of a theme in the 'theme' directory, or a path to a theme."
msgstr ""
"Le nom d'un thème dans le répertoire `theme` ou bien le chemin vers un thème."
#: ../../docstring of canaille.core.configuration.CoreSettings.THEME:3
#: 3b7e2c30ab29424a8b1e74cd9404ffce
msgid ""
"Defaults to ``default``. Theming is done with `flask-themer <https://github."
"com/tktech/flask-themer>`_."
msgstr ""
"Par défaut, la valeur vaut ``default``. La personnalisation des thèmes est "
"faite avec `flask-themer <https://github.com/tktech/flask-themer>`_."
#: ../../docstring of canaille.core.configuration.CoreSettings.TIMEZONE:1
#: 503564e13430483fbbdbdf3d3933c331
msgid ""
"The timezone in which datetimes will be displayed to the users (e.g. "
"``CEST``)."
msgstr ""
"Le fuseau horaire utilisé pour afficher les dates aux utilisateurs (par "
"exemple ``CEST``)."
#: ../../docstring of canaille.core.configuration.CoreSettings.TIMEZONE:4
#: 0906370280b743b782a2a6dde00ca491
msgid "If unset, the server timezone will be used."
msgstr "Si non renseigné, le fuseau horaire du serveur sera utilisé."
#: ../../canaille/core/configuration.py:docstring of
#: canaille.core.configuration.SMTPSettings:1 57a55ca2875c462babb31fd7b4aaa3d4
msgid ""
"The SMTP configuration. Belong in the ``CANAILLE.SMTP`` namespace. If unset, "
"mail related features will be disabled, such as mail verification or "
"password recovery emails."
msgstr ""
"La configuration SMTP. Appartient à l'espace de nom ``CANAILLE.SMTP``. SI "
"non renseigné, les fonctionnalités liées au mail seront désactivées, telles "
"quel la vérification des adresses email ou bien la réinitialisation des mots "
"de passe."
#: ../../canaille/core/configuration.py:docstring of
#: canaille.core.configuration.SMTPSettings:5 9a813b531406465e94e5348aef282cd0
msgid ""
"By default, Canaille will try to send mails from localhost without "
"authentication."
msgstr ""
"Par défaut, Canaille tente denvoyer des mails depuis `localhost` sans "
"authentification."
#: ../../docstring of canaille.core.configuration.SMTPSettings.FROM_ADDR:1
#: ddac936f417d41c0ab52e7899e0cd6c3
msgid "The sender for Canaille mails."
msgstr "Lémetteur des emails de Canaille."
#: ../../docstring of canaille.core.configuration.SMTPSettings.FROM_ADDR:3
#: c9aa4a06ffaf45fcac8c2d518bd32d97
msgid "Some mail provider might require a valid sender address."
msgstr ""
"Certains services de mail pourraient exiger une adresse émettrice valide."
#: ../../docstring of canaille.core.configuration.SMTPSettings.HOST:1
#: ec91a927a1974be1a89fd6f9cf1a9e80
msgid "The SMTP host."
msgstr "Le serveur SMTP."
#: ../../docstring of canaille.core.configuration.SMTPSettings.LOGIN:1
#: 579743b8464b4d29a118d73e1ec74c94
msgid "The SMTP login."
msgstr "Lidentifiant SMTP."
#: ../../docstring of canaille.core.configuration.SMTPSettings.PASSWORD:1
#: 2a70d820c61c4b3cad94d66bae196094
msgid "The SMTP password."
msgstr "Le mot de passe SMTP."
#: ../../docstring of canaille.core.configuration.SMTPSettings.PORT:1
#: f59d761d5304416dbb5e2711598e00a4
msgid "The SMTP port."
msgstr "Le port SMTP."
#: ../../docstring of canaille.core.configuration.SMTPSettings.SSL:1
#: 83650c04663f4c4ab803282325a29073
msgid "Whether to use SSL to connect to the SMTP server."
msgstr "Utiliser ou non SSL pour se connecter au serveur SMTP."
#: ../../docstring of canaille.core.configuration.SMTPSettings.TLS:1
#: c6ec3788d99d46a68815e355bc37e6b0
msgid "Whether to use TLS to connect to the SMTP server."
msgstr "Utiliser ou non TLS pour se connecter au serveur SMTP."
#: ../../canaille/core/configuration.py:docstring of
#: canaille.core.configuration.SMPPSettings:1 05a0a772c0964569a863b02e60bb2b60
msgid ""
"The SMPP configuration. Belong in the ``CANAILLE.SMPP`` namespace. If not "
"set, sms related features such as sms one-time passwords will be disabled."
msgstr ""
"La configuration SMPP. Appartient à l'espace de nom ``CANAILLE.SMPP``. SI "
"non renseigné, les fonctionnalités liées au SMS seront désactivées, telles "
"que la réinitialisation des mots de passe par SMS."
#: ../../docstring of canaille.core.configuration.SMPPSettings.HOST:1
#: ff31eb63e9c84d4cacd175f5028acda7
msgid "The SMPP host."
msgstr "Le serveur SMPP."
#: ../../docstring of canaille.core.configuration.SMPPSettings.LOGIN:1
#: b18653341cdd49a8bd3cc74e9dc0d177
msgid "The SMPP login."
msgstr "Lidentifiant SMPP."
#: ../../docstring of canaille.core.configuration.SMPPSettings.PASSWORD:1
#: d8f1c895bda94702aa5efa1b3ffd7f8b
msgid "The SMPP password."
msgstr "Le mot de passe SMPP."
#: ../../docstring of canaille.core.configuration.SMPPSettings.PORT:1
#: 8e46db242a7b43ccbb26ca42a7a44a97
msgid "The SMPP port. Use 8775 for SMPP over TLS (recommended)."
msgstr "Le port SMPP. Utilisez `8775` pour SMPP avec TLS (recommandé)."
#: ../../canaille/core/configuration.py:docstring of
#: canaille.core.configuration.ACLSettings:1 1032e74cacef4f1d8c4cc5a72c374dc0
msgid "Access Control List settings. Belong in the ``CANAILLE.ACL`` namespace."
msgstr ""
"Paramètres des listes de contrôle d'accès. Appartient à l'espace de nom "
"``CANAILLE.ACL``."
#: ../../canaille/core/configuration.py:docstring of
#: canaille.core.configuration.ACLSettings:3 4a2a439777264fee9754f94f04b23815
msgid ""
"You can define access controls that define what users can do on canaille. An "
"access control consists in a :attr:`FILTER` to match users, a list of :attr:"
"`PERMISSIONS` matched users will be able to perform, and fields users will "
"be able to :attr:`READ` and :attr:`WRITE`. Users matching several filters "
"will cumulate permissions."
msgstr ""
"Vous pouvez définir des contrôles d'accès pour paramétrer ce que les "
"utilisateurs sont autorisés à faire sur Canaille. Un contrôle d'accès "
"consiste en un :attr:`FILTTER`de sélection des utilisateurs, une liste de :"
"attr:`PERMISSIONS` qui décrit ce que les utilisateurs sélectionnés pourront "
"effectuer, et les champs de leurs profil que les utilisateurs pourront lire "
"et écrire avec :attr:`READ`et :attr:`WRITE`. Les utilisateurs correspondant "
"à plusieurs filtres cumuleront les permissions."
#: ../../docstring of canaille.core.configuration.ACLSettings.FILTER:1
#: 30704fd262e54feaa7505f5da3bff786
msgid ":attr:`FILTER` can be:"
msgstr ":attr:`FILTER`peut être :"
#: ../../docstring of canaille.core.configuration.ACLSettings.FILTER:3
#: 49f0a37bc20a46f788cbcf4e5a67f5b6
msgid ""
":py:data:`None`, in which case all the users will match this access control"
msgstr ""
":py:data:`None`, auquel cas tous les utilisateurs correspondront au contrôle "
"daccès"
#: ../../docstring of canaille.core.configuration.ACLSettings.FILTER:4
#: c383b32ac2134422b95321c1159422d2
msgid ""
"a mapping where keys are user attributes name and the values those user "
"attribute values. All the values must be matched for the user to be part of "
"the access control."
msgstr ""
"une correspondance où les clefs sont des noms d'attributs utilisateur et les "
"valeurs sont les valeurs d'attribut utilisateur. Toutes les valeurs doivent "
"correspondre à l'utilisateur pour faire partie du contrôle d'accès."
#: ../../docstring of canaille.core.configuration.ACLSettings.FILTER:7
#: 588e0e10a4b347e6a3fdda1ea444b4c7
msgid ""
"a list of those mappings. If a user values match at least one mapping, then "
"the user will be part of the access control"
msgstr ""
"une liste de ces correspondances. Si les valeurs d'un utilisateur "
"correspondent au moins à une de ces correspondances, alors l'utilisateur "
"fera partie du contrôle d'accès"
#: ../../docstring of canaille.core.configuration.ACLSettings.FILTER:10
#: e662b5f42e8f488ca47ef2885a2e8c85
msgid "Here are some examples::"
msgstr "Voici quelques exemples :"
#: ../../docstring of canaille.core.configuration.ACLSettings.PERMISSIONS:1
#: 947459704a294f38b0ee5b0ab39c3d5b
msgid ""
"A list of :class:`Permission` users in the access control will be able to "
"manage."
msgstr ""
"Une liste de def :class:`Permission` utilisateur dans le controle d'accès "
"seront capables de gérer."
#: ../../docstring of canaille.core.configuration.ACLSettings.PERMISSIONS:8
#: 7b7a62237cca42a6bc1cf641951bd872
msgid ""
"PERMISSIONS = [\"manage_users\", \"manage_groups\", \"manage_oidc\", "
"\"delete_account\", \"impersonate_users\"]"
msgstr ""
"PERMISSIONS = [\"manage_users\", \"manage_groups\", \"manage_oidc\", "
"\"delete_account\", \"impersonate_users\"]"
#: ../../docstring of canaille.core.configuration.ACLSettings.READ:1
#: fd894bac29b14289abb8b997d80f2ace
msgid ""
"A list of :class:`~canaille.core.models.User` attributes that users in the "
"ACL will be able to read."
msgstr ""
"Une liste d'attributs de :class:`~canaille.core.models.User` que les "
"utilisateurs dans les ACL seront capables de lire."
#: ../../docstring of canaille.core.configuration.ACLSettings.WRITE:1
#: ed3af117e73c4a08a4cc9570d9505564
msgid ""
"A list of :class:`~canaille.core.models.User` attributes that users in the "
"ACL will be able to edit."
msgstr ""
"Une liste d'attributs de :class:`~canaille.core.models.User` que les "
"utilisateurs dans les ACL seront capables de modifier."
#: ../../canaille/core/configuration.py:docstring of
#: canaille.core.configuration.Permission:1 3630076631504884994de04711e79c85
msgid "The permissions that can be assigned to users."
msgstr "Les droits qui peuvent être assignés aux utilisateurs."
#: ../../canaille/core/configuration.py:docstring of
#: canaille.core.configuration.Permission:3 836f0d6eb00a449b8f593fe22f4c6e3d
msgid ""
"The permissions are intended to be used in :attr:`ACLSettings <canaille.core."
"configuration.ACLSettings.PERMISSIONS>`."
msgstr ""
"Les droits sont prévus pour être utilisé dans :attr:`ACLSettings <canaille."
"core.configuration.ACLSettings.PERMISSIONS>`."
#: ../../docstring of canaille.core.configuration.Permission.DELETE_ACCOUNT:1
#: 2a00700bc3df406bb414932e14a777aa
msgid "Allows users to delete their account."
msgstr "Permettre aux utilisateurs de supprimer leur compte."
#: ../../docstring of canaille.core.configuration.Permission.DELETE_ACCOUNT:3
#: 10ce363401a14711b73f41bf58f5b11c
msgid ""
"If used with :attr:`~canaille.core.configuration.Permission.MANAGE_USERS`, "
"users can delete any account."
msgstr ""
"Si utilisé avec :attr:`~canaille.core.configuration.Permission."
"MANAGE_USERS`, les utilisateurs peuvent supprimer n'importe quel compte."
#: ../../docstring of canaille.core.configuration.Permission.EDIT_SELF:1
#: 7876013cd8d34f059c292d35a93e8bed
msgid "Allows users to edit their own profile."
msgstr "Permet aux utilisateurs de modifier leur propre profil."
#: ../../docstring of
#: canaille.core.configuration.Permission.IMPERSONATE_USERS:1
#: 133a7a2df544419db9c12a1d81adb463
msgid "Allows users to take the identity of another user."
msgstr "Permet aux utilisateurs de prendre l'identité d'un autre utilisateur."
#: ../../docstring of canaille.core.configuration.Permission.MANAGE_GROUPS:1
#: 197c146b044d41e1a91760b38f7fa42b
msgid "Allows group edition and creation."
msgstr "Permet la création et la modification de groupe."
#: ../../docstring of canaille.core.configuration.Permission.MANAGE_OIDC:1
#: 1187d515878b4a73a383eb5dafc3cdf3
msgid "Allows OpenID Connect client managements."
msgstr "Permet les gestion de client OpenID Connect."
#: ../../docstring of canaille.core.configuration.Permission.MANAGE_USERS:1
#: 3fc23fff9e2541ad9e079c331bfb1296
msgid "Allows other users management."
msgstr "Permet la gestion des autres utilisateurs."
#: ../../docstring of canaille.core.configuration.Permission.USE_OIDC:1
#: 500b7afe49f34db3885ae75a2aa99ff8
msgid "Allows OpenID Connect authentication."
msgstr "Permet l'authentification OpenID Connect."
#: ../../canaille/oidc/configuration.py:docstring of
#: canaille.oidc.configuration.OIDCSettings:1 af3b4287fa40413fa0a9095a0972aa94
msgid "OpenID Connect settings."
msgstr "Paramètres OpenID Connect."
#: ../../canaille/oidc/configuration.py:docstring of
#: canaille.oidc.configuration.OIDCSettings:3 569811f41eca490eb6d44f79521b19e4
msgid "Belong in the ``CANAILLE_OIDC`` namespace."
msgstr "Appartient à l'espace de nom ``CANAILLE_OIDC``."
#: ../../docstring of
#: canaille.oidc.configuration.OIDCSettings.DYNAMIC_CLIENT_REGISTRATION_OPEN:1
#: 3a4739edd59b43b3b39b6ec25b438b20
msgid ""
"Whether a token is needed for the RFC7591 dynamical client registration."
msgstr ""
"Si un jeton est nécessaire pour lenregistrement dynamique du client selon "
"la RFC7591."
#: ../../docstring of
#: canaille.oidc.configuration.OIDCSettings.DYNAMIC_CLIENT_REGISTRATION_OPEN:3
#: 81d8fadf800643b5880c3a9b2da2f026
msgid ""
"If :py:data:`True`, no token is needed to register a client. If :py:data:"
"`False`, dynamical client registration needs a token defined in :attr:"
"`DYNAMIC_CLIENT_REGISTRATION_TOKENS`."
msgstr ""
"Si :py:data:`True`, aucun jeton n'est nécessaire pour enregistrer un client. "
"Si :py:data:`False`, l'enregistrement de client dynamique a besoin d'un "
"jeton défini dans :attr:`DYNAMIC_CLIENT_REGISTRATION_TOKENS`."
#: ../../docstring of
#: canaille.oidc.configuration.OIDCSettings.DYNAMIC_CLIENT_REGISTRATION_TOKENS:1
#: b9b0f251f5a040788db035222a1833d7
msgid "A list of tokens that can be used for dynamic client registration."
msgstr ""
"Une liste de jeton utilisables pour l'enregistrement de client dynamique."
#: ../../docstring of canaille.oidc.configuration.OIDCSettings.JWT:1
#: 8d4cca4d5d8248569a8b5e284cf2a628
msgid "JSON Web Token settings."
msgstr "Paramètres de jeton web JSON."
#: ../../docstring of canaille.oidc.configuration.OIDCSettings.REQUIRE_NONCE:1
#: 45dab080b9b542a78d7c5e7d8f11efdc
msgid "Force the nonce exchange during the authentication flows."
msgstr "Force l'échange de nonce durant le processus d'authentification."
#: ../../docstring of canaille.oidc.configuration.OIDCSettings.REQUIRE_NONCE:3
#: 9d35f18ffd9540198d0f197c1c2a4240
msgid "This adds security but may not be supported by all clients."
msgstr ""
"Cela améliore la sécurité mais pourrait ne pas être géré par tous les "
"clients."
#: ../../canaille/oidc/configuration.py:docstring of
#: canaille.oidc.configuration.JWTSettings:1 f862449d0b374ae0add26d95ef2f5cb7
msgid "JSON Web Token settings. Belong in the ``CANAILLE_OIDC.JWT`` namespace."
msgstr ""
"Paramètres de jeton Web JSON. Appartient à l'espace de nom ``CANAILLE_OIDC."
"JWT``."
#: ../../canaille/oidc/configuration.py:docstring of
#: canaille.oidc.configuration.JWTSettings:3 04bb58dabe1849068f0e8fbbde1b6c8c
msgid "You can generate a RSA keypair with::"
msgstr "Vous pouvez générer un poire de clefs RSA avec :"
#: ../../docstring of canaille.oidc.configuration.JWTSettings.ALG:1
#: 29ec28a6230a458885f7b7aa999c8a66
msgid "The key algorithm."
msgstr "L'algorithme de clef."
#: ../../docstring of canaille.oidc.configuration.JWTSettings.EXP:1
#: 9430c7f0daae460db38df33e90d593ba
msgid "The time the JWT will be valid, in seconds."
msgstr "La durée pendant laquelle le JWT sera valide, en secondes."
#: ../../docstring of canaille.oidc.configuration.JWTSettings.ISS:1
#: 3a87f42a35f94be488f736b99fdc235a
msgid "The URI of the identity provider."
msgstr "L'URI du fournisseur d'identité."
#: ../../docstring of canaille.oidc.configuration.JWTSettings.KTY:1
#: 2e7bd63f53ce4691b16b0ddb6def6788
msgid "The key type."
msgstr "Le type de clef."
#: ../../docstring of canaille.oidc.configuration.JWTSettings.PRIVATE_KEY:1
#: 93f87ea252884bac976fdb483026a745
msgid "The private key."
msgstr "La clef privée."
#: ../../docstring of canaille.oidc.configuration.JWTSettings.PRIVATE_KEY:3
#: canaille.oidc.configuration.JWTSettings.PUBLIC_KEY:3
#: 5a38848e470044cc86d8088acba470ee d65e8c973f9b4574838315b2ac4fbc6b
msgid ""
"If :py:data:`None` and debug mode is enabled, then an in-memory key will be "
"used."
msgstr ""
"Si :py:data:`None` et que le mode débogage est activé, une clef en mémoire "
"sera utilisée."
#: ../../docstring of canaille.oidc.configuration.JWTSettings.PUBLIC_KEY:1
#: 065eb721cbb646c3957f30587b650b09
msgid "The public key."
msgstr "La clef publique."
#: ../../canaille/oidc/configuration.py:docstring of
#: canaille.oidc.configuration.JWTMappingSettings:1
#: d9a0b99e00254e1dbae60d4d0f92d268
msgid "Mapping between the user model and the JWT fields."
msgstr "Correspondance entre le modèle utilisateur et les champs JWT."
#: ../../canaille/oidc/configuration.py:docstring of
#: canaille.oidc.configuration.JWTMappingSettings:3
#: dc177e3a15bd44a58ad9a78d86488317
msgid "Fields are evaluated with jinja. A ``user`` var is available."
msgstr ""
"Les champs sont évalués avec jinja. Une variable ``user`` est disponible."
#: ../../canaille/scim/configuration.py:docstring of
#: canaille.scim.configuration.SCIMSettings:1 eb8831b391be4590a8ff7004ce5deec5
msgid "SCIM settings."
msgstr "Paramètres SCIM."
#: ../../canaille/backends/sql/configuration.py:docstring of
#: canaille.backends.sql.configuration.SQLSettings:1
#: ed5d3f22ff8c4dcc98caafbb1c9ef5d3
msgid "Settings related to the SQL backend."
msgstr "Paramètres concernant le serveur SQL."
#: ../../canaille/backends/sql/configuration.py:docstring of
#: canaille.backends.sql.configuration.SQLSettings:3
#: 7a39e104f4d24b5bb0f2999a30e7dd39
msgid "Belong in the ``CANAILLE_SQL`` namespace."
msgstr "Appartient à l'espace de nom ``CANAILLE_SQL``."
#: ../../docstring of
#: canaille.backends.sql.configuration.SQLSettings.AUTO_MIGRATE:1
#: c49da2725c2b4bcaa81ff15f505ea439
msgid "Whether to automatically apply database migrations."
msgstr ""
#: ../../docstring of
#: canaille.backends.sql.configuration.SQLSettings.AUTO_MIGRATE:3
#: 47e7693d96434baca0d3dd196c5a4db4
msgid ""
"If :data:`True`, database migrations will be automatically applied when "
"Canaille web application is launched. If :data:`False`, migrations must be "
"applied manually with ``canaille db upgrade``."
msgstr ""
#: ../../docstring of
#: canaille.backends.sql.configuration.SQLSettings.AUTO_MIGRATE:8
#: b58635cfdb7f4240854239418e78fe14
msgid "When running the CLI, migrations will never be applied."
msgstr ""
#: ../../docstring of
#: canaille.backends.sql.configuration.SQLSettings.DATABASE_URI:1
#: 4536c2d4cb2149eeb579656c7d6fef22
msgid "The SQL server URI. For example:"
msgstr "URI du serveur SQL. Par exemple :"
#: ../../docstring of
#: canaille.backends.sql.configuration.SQLSettings.DATABASE_URI:6
#: 07d66e79d7df497d85858df1396e191c
msgid "DATABASE_URI = \"postgresql://user:password@localhost/database_name\""
msgstr ""
"DATABASE_URI = \"postgresql://utilisateur:motdepasse@localhost/"
"nom_de_la_BdD\""
#: ../../docstring of
#: canaille.backends.sql.configuration.SQLSettings.PASSWORD_SCHEMES:1
#: 10845b88dbdc43c788ee2e0bc36350e1
msgid "Password hashing scheme."
msgstr "Algorithme de hachage des mots de passe."
#: ../../docstring of
#: canaille.backends.sql.configuration.SQLSettings.PASSWORD_SCHEMES:3
#: 52fdf7d843c9432db315f114054c9395
msgid ""
"Defines password hashing scheme in SQL database. examples : \"mssql2000\", "
"\"ldap_salted_sha1\", \"pbkdf2_sha512\""
msgstr ""
"Définit l'algorithme de hachage de mots de passe dans les bases de données "
"SQL. Par exemple : \"mssql2000\", \"ldap_salted_sha1\", \"pbkdf2_sha512\""
#: ../../canaille/backends/ldap/configuration.py:docstring of
#: canaille.backends.ldap.configuration.LDAPSettings:1
#: e15e2823c04d4ec28c7babecc8562d74
msgid "Settings related to the LDAP backend."
msgstr "Paramètres concernant le serveur LDAP."
#: ../../canaille/backends/ldap/configuration.py:docstring of
#: canaille.backends.ldap.configuration.LDAPSettings:3
#: 83424c682e70455799fea1843996c454
msgid "Belong in the ``CANAILLE_LDAP`` namespace."
msgstr "Appartient à l'espace de nom ``CANAILLE_LDAP``."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.BIND_DN:1
#: abd1149eb47f4ca391af208bac04862e
msgid "The LDAP bind DN."
msgstr "Le DN de connexion LDAP."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.BIND_PW:1
#: 0d9db8acc3bb462e959c147787183929
msgid "The LDAP bind password."
msgstr "Le mot de passe de connexion LDAP."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.GROUP_BASE:1
#: dfe0dce641704dfe8e107c25c9a48395
msgid "The LDAP node under which groups will be looked for and saved."
msgstr "Le noeud LDAP dans lequel les groupes seront cherchés et enregistrés."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.GROUP_BASE:3
#: d1a484ad5d9b416882079b981605b592
msgid "For instance `\"ou=groups,dc=mydomain,dc=tld\"`."
msgstr "Par exemple `\"ou=groups,dc=mondomaine,dc=tld\"`."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.GROUP_CLASS:1
#: c683dd1cef604a8eb3b22d39d848788d
msgid "The object class to use for creating new groups."
msgstr "La classe objet à utiliser pour créer de nouveaux groupes."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.GROUP_NAME_ATTRIBUTE:1
#: 82b43769a16441fa96297e1e31f03062
msgid "The attribute to use to identify a group."
msgstr "L'attribut à utiliser pour identifier un groupe."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.GROUP_RDN:1
#: f3fb1e7028544214a4ea3b83f3c3d49f
msgid "The attribute to identify an object in the Group DN."
msgstr "L'attribut pour identifier un objet dans le Groupe DN."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.ROOT_DN:1
#: 3f3bc5cd8b044803b3fba6e4fdfde1e3
msgid "The LDAP root DN."
msgstr "Le DN racine LDAP."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.TIMEOUT:1
#: d5d1aa6b21c64ed4b81236594911f285
msgid "The LDAP connection timeout."
msgstr "Le délai d'expiration de connexion LDAP."
#: ../../docstring of canaille.backends.ldap.configuration.LDAPSettings.URI:1
#: f20bc6eb339648d893a110829ce14ab1
msgid "The LDAP server URI."
msgstr "L'URI du serveur LDAP."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.USER_BASE:1
#: 9b091562c6774d6b81e8fe6dd81c93cd
msgid "The LDAP node under which users will be looked for and saved."
msgstr ""
"Le noeud LDAP dans lequel les utilisateurs seront recherchés et enregistrés."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.USER_BASE:3
#: c61024ac66b44e35925082e9876b8a9a
msgid "For instance `ou=users,dc=mydomain,dc=tld`."
msgstr "Par exemple `ou=users,dc=mondomainedc=tld`."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.USER_CLASS:1
#: cd09943f22a8453fbca1aa2173e3186c
msgid "The object class to use for creating new users."
msgstr "La classe d'objet pour créer de nouveaux utilisateurs."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.USER_FILTER:1
#: 894a2a5356004edaa5fc0ac68e8e4742
msgid "Filter to match users on sign in."
msgstr "Filtre de correspondance des utilisateurs lors de la connexion."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.USER_FILTER:3
#: 4daf3e1956864084aa30ea039bdc1ef7
msgid ""
"For instance ``(|(uid={{ login }})(mail={{ login }}))``. Jinja syntax is "
"supported and a ``login`` variable is available, containing the value passed "
"in the login field."
msgstr ""
"Par exemple ``(|(uid={{ login }})(mail={{ login }}))``. La syntaxe Jinja est "
"acceptée et une variable ``login`` est disponible, contenant la valeur "
"passée dans le champ login."
#: ../../docstring of
#: canaille.backends.ldap.configuration.LDAPSettings.USER_RDN:1
#: 44e7dc51f57347f1b02ad3d371f174e9
msgid "The attribute to identify an object in the User DN."
msgstr "L'attribut pour identifier un objet dans le DN Utilisateur."
#: ../references/configuration.rst:94 3dd3777a442446f594c09782013d74f1
msgid "Example file"
msgstr "Fichier d'exemple"
#: ../references/configuration.rst:96 d1a4ab70ee764b0bb698a26a11818542
msgid "Here is a configuration file example:"
msgstr "Voici un exemple de fichier de configuration :"
#: ../references/index.rst:2 071913032bd34cd2bd443cd511ed0f99
msgid "References"
msgstr "Références"
#: ../references/models.rst:2 8449e7712a554bf88b595a0bbb2d0c4c
msgid "Data models"
msgstr "Modèles de donnée"
#: ../references/models.rst:4 bee5e0d6c994427f8c8b66eb51ea1eb9
msgid ""
"This reference details the data models used by Canaille. This is mostly "
"useful for developers."
msgstr ""
"Cette référence détaille les modèles de donnée utilisés par Canaille. Cela "
"est surtout utile pour les développeurs."
#: ../../canaille/app/features.py:docstring of canaille.app.features.Features:1
#: ../../canaille/backends/models.py:docstring
#: canaille.backends.models.BackendModel:1 canaille.backends.models.Model:1
#: 38d2033e866440eeaafe892cc6064c18 23d8ede99f5a4ee39d8da74d996a4a1d
#: 3a3408d8f3904b038bce47acee950437
msgid "Bases: :py:class:`object`"
msgstr "Bases : :py:class:`object`"
#: ../../canaille/backends/models.py:docstring of
#: canaille.backends.models.BackendModel:1 c25bd1ffbbd349e5ad1dea57b25154c8
msgid "The backend model abstract class."
msgstr "La classe abstraite du modèle backend."
#: ../../canaille/backends/models.py:docstring of
#: canaille.backends.models.BackendModel:3 7ef9431bea8e442ebb713b76b3bc64ff
msgid ""
"It details all the methods and attributes that are expected to be "
"implemented for every model and for every backend."
msgstr ""
"Il détaille tous les méthodes et attributs qui doivent être implémentées "
"pour chaque modèle et chaque backend."
#: ../../canaille/backends/models.py:docstring of
#: canaille.backends.models.Model:1 9b1a6bcb81134359bc30467d1dd705ab
msgid "The model abstract class."
msgstr "La classe abstraite de modèle."
#: ../../canaille/backends/models.py:docstring of
#: canaille.backends.models.Model:3 4e4cc81400bd4a4589afcdce71b2b087
msgid "It details all the common attributes shared by every models."
msgstr "Il détaille tous les attributs en commun entre tous les modèles."
#: ../../docstring of canaille.backends.models.Model.created:1
#: a8d222c7abad4c26a9aca53d2227a03d
msgid ""
"The :class:`~datetime.datetime` that the resource was added to the service "
"provider."
msgstr ""
"La date ( :class:`~datetime.datetime`) à laquelle la ressource a été ajoutée "
"par le fournisseur de service."
#: ../../docstring of canaille.backends.models.Model.id:1
#: dd7a51180db84215bf6bae28646204cf
msgid ""
"A unique identifier for a SCIM resource as defined by the service provider. "
"Id will be :data:`None` until the ``Backend.save`` method is called."
msgstr ""
"Un identifiant unique pour une ressource SCIM tel que définie par le "
"fournisseur du service. Id sera :data:`None` jusqu'à ce que la "
"méthode ``BackendModel.save`` soit appelée."
#: ../../docstring of canaille.backends.models.Model.id:5
#: c267b02c5d9f44d2b6fa54a4fa80c07a
msgid ""
"Each representation of the resource MUST include a non-empty \"id\" value. "
"This identifier MUST be unique across the SCIM service provider's entire set "
"of resources. It MUST be a stable, non- reassignable identifier that does "
"not change when the same resource is returned in subsequent requests. The "
"value of the \"id\" attribute is always issued by the service provider and "
"MUST NOT be specified by the client. The string \"bulkId\" is a reserved "
"keyword and MUST NOT be used within any unique identifier value. The "
"attribute characteristics are \"caseExact\" as \"true\", a mutability of "
"\"readOnly\", and a \"returned\" characteristic of \"always\". See Section "
"9 for additional considerations regarding privacy."
msgstr ""
"Chaque représentation de la ressource DOIT inclure une valeur non vide "
"\"id\". Cet identifiant DOIT être unique dans l'ensemble des ressources du "
"fournisseur de service SCIM. L'identifiant DOIT être stable et non "
"réassignable et ne pas change quand la même ressource est retournée dans les "
"requêtes suivantes. La valeur de l'attribut \"id\" est toujours produite par "
"le fournisseur de service est NE DOIT PAS être fournie par le client. La "
"chaîne \"bulkId\" est un mot-clef réservé et NE DOIT PAS être utilisée comme "
"une valeur d'identifiant unique. Les caractéristiques d'attribut sont "
"\"caseExact\" à \"true\", la modification de \"readOnly\" et une "
"caractéristique\"returned\" à \"always\". Voir la Section 9 pour les "
"considérations supplémentaires concernant la vie privée."
#: ../../canaille/backends/models.py:docstring of
#: canaille.backends.models.Model.identifier:1 68b886ca51e94b929e6a81dece535871
msgid ""
"Returns a unique value that will be used to identify the model instance."
msgstr ""
"Retourne une valeur unique qui sera utilisée pour identifier l'instance du "
"modèle."
#: ../../canaille/backends/models.py:docstring of
#: canaille.backends.models.Model.identifier:4 b942d5bf24f8490790ea02f455feef27
msgid ""
"This value will be used in URLs in canaille, so it should be unique and "
"short."
msgstr ""
"Cette valeur sera utilisée dans les URL de Canaille, il devrait donc être "
"unique et court."
#: ../../docstring of canaille.backends.models.Model.last_modified:1
#: e2986b332a464e609b4d1a6042569839
msgid ""
"The most recent :class:`~datetime.datetime` that the details of this "
"resource were updated at the service provider."
msgstr ""
"La date la plus récente (:class:`~datetime.datetime`) à laquelle les détails "
"de cette ressource a été mise-à-jour par le fournisseur de service."
#: ../../docstring of canaille.backends.models.Model.last_modified:4
#: bc822b66fbc04a00801cac82d2dae44c
msgid ""
"If this resource has never been modified since its initial creation, the "
"value MUST be the same as the value of :attr:`~canaille.backends.models."
"Model.created`."
msgstr ""
"Si cette ressource n'a jamais été modifié depuis sa création initiale, la "
"valeur DOIT être la même que :attr:`~canaille.backends.models.Model.created`."
#: ../../canaille/core/models.py:docstring of canaille.core.models.Group:1
#: canaille.core.models.User:1 ../../canaille/oidc/basemodels.py:docstring
#: canaille.oidc.basemodels.AuthorizationCode:1
#: canaille.oidc.basemodels.Client:1 canaille.oidc.basemodels.Consent:1
#: canaille.oidc.basemodels.Token:1 82169b55a46b4c65b4beb8d57b131a7c
#: ec3b388e2afc44389fbc8ba448b91118 71f525f7b5c0407db5b52bbd115bc09d
#: 5a01ffa3802640ffa56b74edf6b87cd3 db8c684605854a7e860884b4467182d6
#: e1f14f010ff54e918cc97dc2d2345ff6
msgid "Bases: :py:class:`~canaille.backends.models.Model`"
msgstr "Bases : :py:class:`~canaille.backends.models.Model`"
#: ../../canaille/core/models.py:docstring of canaille.core.models.Group:1
#: 1957213a8dd2445ea66f5fa8155fdec7
msgid ""
"User model, based on the `SCIM Group schema <https://datatracker.ietf.org/"
"doc/html/rfc7643#section-4.2>`_."
msgstr ""
"Modèle utilisateur, basé sur le `schéma de Groupe SCIM <https://datatracker."
"ietf.org/doc/html/rfc7643#section-4.2>`_."
#: ../../docstring of canaille.core.models.Group.display_name:1
#: 329f754548e54099a1f7ffcbfeab9e77
msgid "A human-readable name for the Group."
msgstr "Un nom lisible par un humain pour le Groupe."
#: ../../docstring of canaille.core.models.Group.display_name:3
#: canaille.oidc.basemodels.Client.client_id:1 0ba4b47f809b4adfb4faa401ab882eb1
#: 1687fff7eedc4a9294f55b5c0e71460d
msgid "REQUIRED."
msgstr "OBLIGATOIRE."
#: ../../docstring of canaille.core.models.Group.members:1
#: 3849324e8bd9411ca14cf42753424f0b
msgid "A list of members of the Group."
msgstr "Une liste des membres du Groupe."
#: ../../docstring of canaille.core.models.Group.members:3
#: bfeaf8af5e9a4adaabbdc92a9c16c0b3
msgid ""
"While values MAY be added or removed, sub-attributes of members are "
"\"immutable\". The \"value\" sub-attribute contains the value of an \"id\" "
"attribute of a SCIM resource, and the \"$ref\" sub-attribute must be the URI "
"of a SCIM resource such as a \"User\", or a \"Group\". The intention of the "
"\"Group\" type is to allow the service provider to support nested groups. "
"Service providers MAY require clients to provide a non-empty value by "
"setting the \"required\" attribute characteristic of a sub-attribute of the "
"\"members\" attribute in the \"Group\" resource schema."
msgstr ""
"Tandis que certaines valeurs PEUVENT être ajoutées ou supprimées, les sous-"
"attributs de `members` sont « immutables ».. Le sous-attribut `value` "
"contient la valeur de l'attribut « id » d'une ressource SCIM, and le sous-"
"attribut « $ref » doit être l'URI d'une ressource SCIM telle que « User » ou "
"« Group ». L'intention du type « Group » est d'autoriser les fournisseurs "
"de service à supporter les groupes imbriqués. Les fournisseurs de service "
"PEUVENT exiger des clients qu'ils fournissent une valeur non nulle en "
"paramétrant la caractéristique d'attribut « required » d'un sous-attribut de "
"l'attribut « members » dans le schéma de la ressource « Group »."
#: ../../canaille/core/models.py:docstring of canaille.core.models.User:1
#: e70c0af0475547bab48542208e6960ab
msgid ""
"User model, based on the `SCIM User schema <https://datatracker.ietf.org/doc/"
"html/rfc7643#section-4.1>`_, `Entreprise User Schema Extension <https://"
"datatracker.ietf.org/doc/html/rfc7643#section-4.3>`_ and `SCIM Password "
"Management Extension <https://datatracker.ietf.org/doc/html/draft-hunt-scim-"
"password-mgmt-00.html>`_ draft. Attribute description is based on SCIM and "
"put there for information purpose. The description may not fit the current "
"implementation in Canaille."
msgstr ""
"Modèle utilisateurs, basé sur les spécifications`SCIM User schema <https://"
"datatracker.ietf.org/doc/html/rfc7643#section-4.1>`_, `Entreprise User "
"Schema Extension <https://datatracker.ietf.org/doc/html/"
"rfc7643#section-4.3>`_ et le brouillon `SCIM Password Management Extension "
"<https://datatracker.ietf.org/doc/html/draft-hunt-scim-password-mgmt-00."
"html>`_."
#: ../../canaille/core/models.py:docstring of canaille.core.models.User.can:1
#: cb1ff62500f2400f80efb9a83b666257
msgid ""
"Whether or not the user has the :class:`~canaille.core.configuration."
"Permission` according to the :class:`configuration <canaille.core."
"configuration.ACLSettings>`."
msgstr ""
"Lutilisateur a ou non la :class:`~canaille.core.configuration.Permission` "
"en fonction de la :class:`configuration <canaille.core.configuration."
"ACLSettings>`."
#: ../../docstring of canaille.core.models.User.department:1
#: 1a0701e1fb5c4fb0b538e5a1998394a4
msgid "Identifies the name of a department."
msgstr "Identifie le nom dun service."
#: ../../docstring of canaille.core.models.User.display_name:1
#: b02fd0fbb2dd404c94264ede072af9d3
msgid "The name of the user, suitable for display to end-users."
msgstr ""
"Le nom de lutilisateur, destiné à être affiché auprès dautres utilisateurs."
#: ../../docstring of canaille.core.models.User.display_name:3
#: 2c6a95db4eb2484dbc839cf9d5874f6a
msgid ""
"Each user returned MAY include a non-empty displayName value. The name "
"SHOULD be the full name of the User being described, if known (e.g., \"Babs "
"Jensen\" or \"Ms. Barbara J Jensen, III\") but MAY be a username or handle, "
"if that is all that is available (e.g., \"bjensen\"). The value provided "
"SHOULD be the primary textual label by which this User is normally displayed "
"by the service provider when presenting it to end-users."
msgstr ""
"Chaque utilisateur retourné PEUT inclure une valeur « displayName » non "
"nulle. Le nom DOIT être le nom complet de lutilisateur décrit, is connu "
"(par exemple « Babs Jensen » ou « Mme. Barbara J Jensen, III ») mais PEUT "
"être un nom dutilisateur, si c'est la seule information disponible (par "
"exemple « bjensen ») La valeur fournie DOIT être le nom d'affichage avec "
"lequel lutilisateur est normalement affiché par le fournisseur de service "
"quand affiché auprès d'autres utilisateurs."
#: ../../docstring of canaille.core.models.User.emails:1
#: 09d7beb59dda4fba94ad22d25e6e6e6d
msgid "Email addresses for the User."
msgstr "L'adresse email de l'utilisateur."
#: ../../docstring of canaille.core.models.User.emails:3
#: f2a627a9e2d64f6e98a8a7d49c6e3960
msgid ""
"The value SHOULD be specified according to [RFC5321]. Service providers "
"SHOULD canonicalize the value according to [RFC5321], e.g., "
"\"bjensen@example.com\" instead of \"bjensen@EXAMPLE.COM\". The \"display\" "
"sub-attribute MAY be used to return the canonicalized representation of the "
"email value. The \"type\" sub-attribute is used to provide a classification "
"meaningful to the (human) user. The user interface should encourage the use "
"of basic values of \"work\", \"home\", and \"other\" and MAY allow "
"additional type values to be used at the discretion of SCIM clients."
msgstr ""
"La valeur DOIT être en accord avec [RFC5321]. Les fournisseurs de service "
"DOIT normaliser la valeur en fonction de [RFC5321], par exemple « "
"bjensen@example.com » à la place de « bjensen@EXAMPLE.COM ». Le sous-"
"attribut « display » PEUT être utilisé pour retourner la représentation "
"normalisée de l'adresse email. Le sous-attribut « type » est utilisé pour "
"fournir une classification significative pour l'utilisateur (humain). "
"L'interface utilisateur devrait encourager l'utilisateur des valeurs "
"basiques « work », « home » et « other » et PEUT autoriser des types "
"additionnels pouvant être utilisés à la discrétion des clients SCIM."
#: ../../docstring of canaille.core.models.User.employee_number:1
#: 2fad1dcd5a98494782a7261a060cc54d
msgid ""
"A string identifier, typically numeric or alphanumeric, assigned to a "
"person, typically based on order of hire or association with an organization."
msgstr ""
"Un identifiant en chaîne de caractères, généralement numérique ou "
"alphanumérique, assigné à une personne, généralement basée sur l'ordre "
"d'embauche ou d'association avec une organisation."
#: ../../docstring of canaille.core.models.User.family_name:1
#: de6af42b8a78479c80c17f9650ff40c0
msgid ""
"The family name of the User, or last name in most Western languages (e.g., "
"\"Jensen\" given the full name \"Ms. Barbara Jane Jensen, III\")."
msgstr ""
"Le nom de famille de l'utilisateur, ou le patronyme (e.g., \"Jensen\" given "
"the full name \"Ms. Barbara Jane Jensen, III\")."
#: ../../docstring of canaille.core.models.User.formatted_address:1
#: a98d8370e3ac4f0e8b69c6bbe070c064
msgid ""
"The full mailing address, formatted for display or use with a mailing label."
msgstr ""
"L'adresse e-mail complète, formatée pour l'affichage ou l'utilisation avec "
"un label de mailing."
#: ../../docstring of canaille.core.models.User.formatted_address:4
#: 231f865353d84dd4a48c1df380cb67f9
msgid "This attribute MAY contain newlines."
msgstr "Cet attribut PEUT contenir des retours à la ligne."
#: ../../docstring of canaille.core.models.User.formatted_name:1
#: 756e32b2f48c4bb699750c4fb7bfeee4
msgid ""
"The full name, including all middle names, titles, and suffixes as "
"appropriate, formatted for display (e.g., \"Ms. Barbara Jane Jensen, III\")."
msgstr ""
"Le nom complet, incluant tous les prénoms, titres et suffixes appropriés, "
"formatés pour l'affichage (e.g., \"Mme. Barbara Jane Jensen, III\")."
#: ../../docstring of canaille.core.models.User.given_name:1
#: 9ea5b53d4e104215b57ac2bbdd26ce37
msgid ""
"The given name of the User, or first name in most Western languages (e.g., "
"\"Barbara\" given the full name \"Ms. Barbara Jane Jensen, III\")."
msgstr ""
"Le nom courant de l'utilisateur, ou prénom dans la plupart des langues "
"occidentales (par exemple., \"Barbara\" dans le nom complet \"Ms. Barbara "
"Jane Jensen, III\")."
#: ../../docstring of canaille.core.models.User.groups:1
#: 38f2628961964453b52af44ae8b771de
msgid ""
"A list of groups to which the user belongs, either through direct "
"membership, through nested groups, or dynamically calculated."
msgstr ""
"Une liste de groupes auxquels l'utilisateur appartient, soit par "
"appartenance directe, soit par groupes imbriqués ou calculés dynamiquement."
#: ../../docstring of canaille.core.models.User.groups:4
#: 028cef824f9f4aa4bc32e25d85675aa4
msgid ""
"The values are meant to enable expression of common group-based or role-"
"based access control models, although no explicit authorization model is "
"defined. It is intended that the semantics of group membership and any "
"behavior or authorization granted as a result of membership are defined by "
"the service provider. The canonical types \"direct\" and \"indirect\" are "
"defined to describe how the group membership was derived. Direct group "
"membership indicates that the user is directly associated with the group and "
"SHOULD indicate that clients may modify membership through the \"Group\" "
"resource. Indirect membership indicates that user membership is transitive "
"or dynamic and implies that clients cannot modify indirect group membership "
"through the \"Group\" resource but MAY modify direct group membership "
"through the \"Group\" resource, which may influence indirect memberships. "
"If the SCIM service provider exposes a \"Group\" resource, the \"value\" sub-"
"attribute MUST be the \"id\", and the \"$ref\" sub-attribute must be the URI "
"of the corresponding \"Group\" resources to which the user belongs. Since "
"this attribute has a mutability of \"readOnly\", group membership changes "
"MUST be applied via the \"Group\" Resource (Section 4.2). This attribute "
"has a mutability of \"readOnly\"."
msgstr ""
"Les valeurs sont faites pour activer l'expression de modèles au contrôle "
"d'accès basé sur les rôles ou basé sur des groupes communs, bien qu'aucun "
"modèle d'autorisation explicite n'est défini. Il est prévu que les "
"sémantiques des membres de groupe et n'importe quel comportement ou "
"autorisation donnée comme résultat de l'appartenance sont définies par le "
"fournisseur de service. Les type canoniques « direct » et « indirect » sont "
"définis pour décrire comment l'appartenance au groupe était dérivé. "
"L'appartenance directe au groupe indique que l'utilisateur est directement "
"associé avec le groupe et DEVRAIT indiquer que les clients peuvent modifier "
"l'appartenance au travers de la ressource Groupe. L'appartenance indirecte "
"au groupe indique que l'appartenance de l'utilisateur est transitive ou "
"dynamique et implique que les clients ne peuvent pas modifier une "
"appartenance indirecte au groupe au travers de la ressource Groupe mais "
"PEUVENT modifier l'appartenance directe au groupe au travers de la ressource "
"Groupe, ce qui peut influencer l'appartenance indirecte. Si le fournisseur "
"de service SCIM expose une ressource Groupe, le sous-attribut « value » DOIT "
"être l'« id » et le sous-attribut « $ref »doit être l'URI des ressources "
"Groupe correspondantes auxquelles l'utilisateur appartient. Puisque cet "
"attribut a une mutabilité en lecture seule, l'appartenance du groupe DOIT "
"être appliquée via la Ressource Groupe (section 4.2). Cet attribut a la "
"mutabilité en lecture seule («  readOnly»)."
#: ../../canaille/core/models.py:docstring of
#: canaille.core.models.User.has_password:1 0f2b60791a8b4de6ad01e2aae8599351
msgid "Check whether a password has been set for the user."
msgstr "Vérifie si un mot de passe a été définie pour l'utilisateur."
#: ../../docstring of canaille.core.models.User.hotp_counter:1
#: 7270ae13d163421c834873b5c783e59c
msgid ""
"HMAC-based One Time Password counter, used for multi-factor authentication."
msgstr ""
"Compteur de mots de passes à usage unique HMAC. Utilisé pour "
"l'authentification multi-facteurs."
#: ../../docstring of canaille.core.models.User.last_otp_login:1
#: 3733def07fab41e6a20187ed1d5b3e0e
msgid ""
"A DateTime indicating when the user last logged in with a one-time password. "
"This attribute is currently used to check whether the user has activated one-"
"time password authentication or not."
msgstr ""
"Une date (DateTime) indiquant quand l'utilisateur est connecté avec un mot "
"de passe unique (« one-time password », OTP). Cet attribut est actuellement "
"utilisé pour vérifier si l'utilisateur a activé l'authentification OTP ou "
"pas."
#: ../../docstring of canaille.core.models.User.locality:1
#: 35cad569116b41dfbe6bbe2b8104b76b
msgid "The city or locality component."
msgstr "Le composant de ville ou de localité."
#: ../../docstring of canaille.core.models.User.lock_date:1
#: 633f6bdeb83f4913a8ee2f882af9002c
msgid "A DateTime indicating when the resource was locked."
msgstr "Une date (DateTime) indiquant quand la ressource a été verrouillée."
#: ../../canaille/core/models.py:docstring of
#: canaille.core.models.User.locked:1 39db3feba62644ffa9786bffc2ab4a7f
msgid "Whether the user account has been locked or has expired."
msgstr "Si le compte utilisateur a été verrouillé ou a expiré."
#: ../../docstring of canaille.core.models.User.one_time_password:1
#: f18bf157b3d146f9a1ce6b555d34e063
msgid "One time password used for email or sms multi-factor authentication."
msgstr ""
"Mot de passe à usage unique utilisé pour l'authentification multi-facteurs "
"par email ou SMS."
#: ../../docstring of
#: canaille.core.models.User.one_time_password_emission_date:1
#: 3524d8036e604f5ea0b79f6923281e59
msgid ""
"A DateTime indicating when the user last emitted an email or sms one-time "
"password."
msgstr ""
"Une date (DateTime) indiquant la dernière émission de mot de passe à usage "
"unique par SMS ou email."
#: ../../docstring of canaille.core.models.User.organization:1
#: 4d9f6ad494f04647ab74303cf4ac43ff
msgid "Identifies the name of an organization."
msgstr "Identifie le nom de l'organisation."
#: ../../docstring of canaille.core.models.User.password:1
#: 40d6c48066524cfc8351cc767f41346a
msgid ""
"This attribute is intended to be used as a means to set, replace, or compare "
"(i.e., filter for equality) a password. The cleartext value or the hashed "
"value of a password SHALL NOT be returnable by a service provider. If a "
"service provider holds the value locally, the value SHOULD be hashed. When "
"a password is set or changed by the client, the cleartext password SHOULD be "
"processed by the service provider as follows:"
msgstr ""
"Cette attribut a pour but d'être utilisé pour définir, remplacer ou comparer "
"(c'est-à-dire fitrer par égalité) un mot de passe. La valeur en clair ou "
"hashée du mot de passe NE DEVRAIT PAS être retournable par le fournisseur de "
"service. Si un fournisseur de service détient la valeur localement, la "
"valeur DEVRAIT être hashée. Quand un mot de passe est défini ou changé par "
"le client, le mot de passe en clair DEVRAIT être traité par le fournisseur "
"de service comme suit :"
#: ../../docstring of canaille.core.models.User.password:9
#: 8f905c9dd5d348c3a471dba091253875
msgid ""
"Prepare the cleartext value for international language comparison. See "
"Section 7.8 of [RFC7644]."
msgstr ""
"Prépare la valeur en clair pour une comparaison de langue internationale. "
"Voir la section 7.8 de [RFC7644]."
#: ../../docstring of canaille.core.models.User.password:12
#: 2ebe8572767c40ef994cdebbe78d85de
msgid ""
"Validate the value against server password policy. Note: The definition and "
"enforcement of password policy are beyond the scope of this document."
msgstr ""
"Valide la valeur contre la politique du mot de passe serveur. Note : La "
"définition et les contraintes de la politique de mot de passe sont hors du "
"périmètre de ce document."
#: ../../docstring of canaille.core.models.User.password:16
#: 75918453e12d4bceb114c825c4bc2be3
msgid ""
"Ensure that the value is encrypted (e.g., hashed). See Section 9.2 for "
"acceptable hashing and encryption handling when storing or persisting for "
"provisioning workflow reasons."
msgstr ""
"Force que le valeur soit cryptée (par exemple, hashée). Voir la section 9.2 "
"pour un hash acceptable et la gestion de chiffrement quand l'enregistrement "
"et la persistance pour des raisons de suivi de fourniture."
#: ../../docstring of canaille.core.models.User.password:20
#: b9119fbfcde14dbca59820b443efd8a2
msgid ""
"A service provider that immediately passes the cleartext value on to another "
"system or programming interface MUST pass the value directly over a secured "
"connection (e.g., Transport Layer Security (TLS)). If the value needs to be "
"temporarily persisted for a period of time (e.g., because of a workflow) "
"before provisioning, then the value MUST be protected by some method, such "
"as encryption."
msgstr ""
"Un fournisseur de service qui passe immédiatement la valeur en clair à un "
"autre système ou interface de programmation DOIT passer la valeur "
"directement sur une connexion sécurisé (e.g., Transport Layer Security "
"(TLS)). Si la valeur a besoin d'être temporairement persistée pour une "
"période de temps (e.g., à cause du processus utilisé) avant son transfert, "
"alors la valeur DOIT être protégée par diverses méthode, tel que le "
"chiffrement."
#: ../../docstring of canaille.core.models.User.password:28
#: 16ddf15766214a3f80f303269bddbb79
msgid ""
"Testing for an equality match MAY be supported if there is an existing "
"stored hashed value. When testing for equality, the service provider:"
msgstr ""
"Tester l'égalité PEUT être gérée si une valeur hashée enregistrée existe. "
"Quand un test d'égalité est fait, le fournisseur du service :"
#: ../../docstring of canaille.core.models.User.password:32
#: 827dd01cece04053a65fed8877f35e51
msgid ""
"Prepares the filter value for international language comparison. See "
"Section 7.8 of [RFC7644]."
msgstr ""
"Prépare la valeur du filtre pour une comparaison de langue internationale. "
"Voir la section7.8 de [RFC7644]."
#: ../../docstring of canaille.core.models.User.password:35
#: 1e4a8c9cfd7a4bd6960d66a5f63742ab
msgid ""
"Generates the salted hash of the filter value and tests for a match with the "
"locally held value."
msgstr ""
"Génère le hash salé de la valeur du filtre et teste la correspondance avec "
"la valeur locale."
#: ../../docstring of canaille.core.models.User.password:38
#: 8f6cfda04ae544c6822f4a7f06cea845
msgid ""
"The mutability of the password attribute is \"writeOnly\", indicating that "
"the value MUST NOT be returned by a service provider in any form (the "
"attribute characteristic \"returned\" is \"never\")."
msgstr ""
"La mutabilité de l'attribut password est \"writeOnly\" (écriture seule), "
"indiquant que la valeur NE DOIT PAS être renvoyée par un fournisseur de "
"service sous quelque forme que ce soit (la caractéristique \"returned\" de "
"l'attribut est \"never\")."
#: ../../docstring of canaille.core.models.User.password_failure_timestamps:1
#: 2bcfd4fcbfb044239e08740a87b836cf
msgid ""
"This attribute stores the timestamps of the user's failed authentications."
msgstr ""
"Cet attribut stocke les dates des tentatives de connexions infructueuses de "
"l'utilisateur."
#: ../../docstring of canaille.core.models.User.password_failure_timestamps:4
#: 947638406ec447c69ee529ec5db689c9
msgid "It's currently used by the intruder lockout delay system."
msgstr ""
"C'est actuellement utilisé par le système de blocage des connexions "
"infructueuses."
#: ../../docstring of canaille.core.models.User.password_last_update:1
#: 9ed3dec804234490afb3e06065614fcb
msgid ""
"Specifies the last time the user password was changed. By default, the date "
"of creation of the password is retained."
msgstr ""
"Indique la dernière fois où le mot de passe utilisateur a été changé. Par "
"défaut, c'est la date de création du mot de passe qui est utilisée."
#: ../../docstring of canaille.core.models.User.phone_numbers:1
#: e6c0fe4b0a3142fe9197d175f60b217c
msgid "Phone numbers for the user."
msgstr "Numéros de téléphone pour l'utilisateur."
#: ../../docstring of canaille.core.models.User.phone_numbers:3
#: 4e5ec315754d41568d9b1b84d5a7dce7
msgid ""
"The value SHOULD be specified according to the format defined in [RFC3966], "
"e.g., 'tel:+1-201-555-0123'. Service providers SHOULD canonicalize the "
"value according to [RFC3966] format, when appropriate. The \"display\" sub-"
"attribute MAY be used to return the canonicalized representation of the "
"phone number value. The sub- attribute \"type\" often has typical values of "
"\"work\", \"home\", \"mobile\", \"fax\", \"pager\", and \"other\" and MAY "
"allow more types to be defined by the SCIM clients."
msgstr ""
"La valeur DOIT être spécifiée en accord avec le format défini dans "
"[RFC3966], par exemple, 'tel:+33123456789'. Les fournisseurs de service "
"DOIVENT normaliser la valeur selon le format [RFC3966], quand cela est "
"approprié. Le sous-attribut \"display\" PEUT être utilisé pour renvoyer la "
"représentation normalisée de la valeur du numéro de téléphone. Le sous-"
"attribut \"type\" prend souvent les valeurs habituelles de \"work\", "
"\"home\", \"mobile\", \"fax\", \"pager\", et \"other\" et PEUT autoriser "
"d'autres types définis par les clients SCIM."
#: ../../docstring of canaille.core.models.User.photo:1
#: 509e5e62dcb240599d27a5f02e7a7e03
msgid ""
"A URI that is a uniform resource locator (as defined in Section 1.1.3 of "
"[RFC3986]) that points to a resource location representing the user's image."
msgstr ""
"Une URI qui est une URL (telle que définie dans la section 1.1.3 de "
"[RFC3986]) pointant vers la localisation de la ressource représentant "
"l'image de l'utilisateur."
#: ../../docstring of canaille.core.models.User.photo:5
#: 207121916f8140a89ac96917fb82c3c8
msgid ""
"The resource MUST be a file (e.g., a GIF, JPEG, or PNG image file) rather "
"than a web page containing an image. Service providers MAY return the same "
"image in different sizes, although it is recognized that no standard for "
"describing images of various sizes currently exists. Note that this "
"attribute SHOULD NOT be used to send down arbitrary photos taken by this "
"user; instead, profile photos of the user that are suitable for display when "
"describing the user should be sent. Instead of the standard canonical values "
"for type, this attribute defines the following canonical values to represent "
"popular photo sizes: \"photo\" and \"thumbnail\"."
msgstr ""
"La ressource DOIT être un fichier (par exemple une image au format GIF, "
"JPEG, ou PNG) plutôt qu'une page web contenant une image. Les fournisseurs "
"de service PEUVENT retourner la même image dans différentes tailles, bien "
"qu'il n'existe pas actuellement de standard pour décrire les images de "
"différentes tailles. Notez que cet attribut NE DEVRAIT PAS être utilisé pour "
"envoyer n'importe quelle photo prise par cet utilisateur mais plutôt les "
"photos de profil de l'utilisateur affichable quand une description "
"l'utilisateur devrait être envoyé. À la place des valeurs canoniques "
"standard pour le type, cet attribut définit les valeurs canoniques suivantes "
"pour représenter les tailles de photo populaire : « photo » et « vignette »."
#: ../../docstring of canaille.core.models.User.postal_code:1
#: bb30484b20b44c4c8a5e790565a75c52
msgid "The zip code or postal code component."
msgstr "Le composant code zip ou postal."
#: ../../docstring of canaille.core.models.User.preferred_language:1
#: d28cb1c7653f48619c4ea69883c99982
msgid ""
"Indicates the user's preferred written or spoken languages and is generally "
"used for selecting a localized user interface."
msgstr ""
"Indique la langue préférée de l'utilisateur, parlée ou écrite, et est "
"généralement utilisée pour sélectionner la langue de l'interface utilisateur."
#: ../../docstring of canaille.core.models.User.preferred_language:4
#: 65ba0d81d5b4453dac85fbb4b80521b4
msgid ""
"The value indicates the set of natural languages that are preferred. The "
"format of the value is the same as the HTTP Accept-Language header field "
"(not including \"Accept-Language:\") and is specified in Section 5.3.5 of "
"[RFC7231]. The intent of this value is to enable cloud applications to "
"perform matching of language tags [RFC4647] to the user's language "
"preferences, regardless of what may be indicated by a user agent (which "
"might be shared), or in an interaction that does not involve a user (such as "
"in a delegated OAuth 2.0 [RFC6749] style interaction) where normal HTTP "
"Accept-Language header negotiation cannot take place."
msgstr ""
"La valeur indique l'ensemble des langues naturelles qui sont préférées. Le "
"format de la valeur est la même que le champ d'en-tête HTTP Accept-Language "
"(sans inclure « Accept-Language: » et est défini dans la section 5.3.5 de "
"[RFC7231]. Le but de cette valeur est d'activer les applications cloud à "
"exécuter une correspondance des étiquettes de langue [RFC4647] avec les "
"préférences de langues de l'utilisateur, sans prendre en compte ce que le "
"user-agent (qui pourrait être partagé) pourrait indiquer, ou dans un "
"interaction qui n'implique pas un utilisateur (tel que dans une interaction "
"du type d'OAuth 2.0 déléguée [RFC6749]) où il n'y a pas de negociation avec "
"l'en-tête HTTP Accept-Language."
#: ../../docstring of canaille.core.models.User.profile_url:1
#: dc41821b1f6940468c4c18d70de4b372
msgid ""
"A URI that is a uniform resource locator (as defined in Section 1.1.3 of "
"[RFC3986]) and that points to a location representing the user's online "
"profile (e.g., a web page)."
msgstr ""
"Une URI qui est une URL (tel que définie dans une section 1.1.3 de "
"[RFC3986]) et pointant à une localisation représentant le profil en ligne de "
"l'utilisateur (par exemple une page web)."
#: ../../docstring of canaille.core.models.User.profile_url:5
#: 8481e9db6717497da875c95d2f8c5a8d
msgid "URIs are canonicalized per Section 6.2 of [RFC3986]."
msgstr "Les URI sont au format canonique selon la section 6.2 de [RFC3986]."
#: ../../canaille/core/models.py:docstring of
#: canaille.core.models.User.readable_fields:1 82072608d7184c37ab37493cacb7b587
msgid ""
"The fields the user can read according to the :class:`configuration "
"<canaille.core.configuration.ACLSettings>` configuration."
msgstr ""
"Les champs que l'utilisateur peut lire dans la configuration de :class:"
"`configuration <canaille.core.configuration.ACLSettings>."
#: ../../canaille/core/models.py:docstring of
#: canaille.core.models.User.readable_fields:4 c02e2a584e0c4473b1001c024b24696f
msgid ""
"This does not include the :attr:`writable <canaille.core.models.User."
"writable_fields>` fields."
msgstr ""
"Cela n'inclut pas les champs :attr:`writable <canaille.core.models.User."
"writable_fields>`."
#: ../../docstring of canaille.core.models.User.region:1
#: 037f259a6e984ca1aea1e1f80d9b6079
msgid "The state or region component."
msgstr "Le composant État ou région."
#: ../../docstring of canaille.core.models.User.secret_token:1
#: 5f56d77ac5ee40d192cc5b122e0f79ae
msgid ""
"Unique token generated for each user, used for multi-factor authentication."
msgstr ""
"Jeton unique généré pour chaque utilisateur, utilisé pour l'authentification "
"multi-facteurs."
#: ../../docstring of canaille.core.models.User.street:1
#: e57fcc9747814887a3643ba92cc6dc53
msgid ""
"The full street address component, which may include house number, street "
"name, P.O."
msgstr ""
"Le composant d'adresse rue complète, qui peut inclure le numéro de la "
"maison, le nom de la rue, code"
#: ../../docstring of canaille.core.models.User.street:4
#: 563c42f617d444ec90c40d6af35f43a8
msgid ""
"box, and multi-line extended street address information. This attribute MAY "
"contain newlines."
msgstr ""
"postal et les informations de rue étendues sur plusieurs lignes. Cet "
"attribut PEUT contenir des retours à la ligne."
#: ../../docstring of canaille.core.models.User.title:1
#: 6d2d009ee87746d4bcb3d63c3bc9f8cb
msgid "The user's title, such as \"Vice President\"."
msgstr "Le titre de l'utilisateur, par exemple \"Vice Président\"."
#: ../../docstring of canaille.core.models.User.user_name:1
#: 89f788bca8344b2ba7f5967a62e7bcce
msgid ""
"A service provider's unique identifier for the user, typically used by the "
"user to directly authenticate to the service provider."
msgstr ""
"L'identifiant unique de l'utilisateur pour un fournisseur de service, "
"généralement utilisé par l'utilisateur pour s'authentifier directement "
"auprès de ce fournisseur de service."
#: ../../docstring of canaille.core.models.User.user_name:4
#: f6806a97c1b74c79b9600427618fed91
msgid ""
"Often displayed to the user as their unique identifier within the system (as "
"opposed to \"id\" or \"externalId\", which are generally opaque and not user-"
"friendly identifiers). Each User MUST include a non-empty userName value. "
"This identifier MUST be unique across the service provider's entire set of "
"Users. This attribute is REQUIRED and is case insensitive."
msgstr ""
"Souvent affiché à l'utilisateur comme leur identifiant unique dans le "
"système (au contraire de \"id\" ou \"externalId\", qui sont généralement des "
"identifiants opaques et non conviviaux). Chaque utilisateur DOIT inclure une "
"valeur de userName non vide. Cet identifiant DOIT être unique parmi tous les "
"Users (utilisateurs) du fournisseur de service. Cet attribut est OBLIGATOIRE "
"et n'est pas sensible à la casse."
#: ../../canaille/core/models.py:docstring of
#: canaille.core.models.User.writable_fields:1 2017dc660a66445db67269640fd1fd8f
msgid ""
"The fields the user can write according to the :class:`configuration "
"<canaille.core.configuration.ACLSettings>`."
msgstr ""
"Les champs que l'utilisateur peut modifier selon la :class:`configuration "
"<canaille.core.configuration.ACLSettings>`."
#: ../../canaille/core/models.py:docstring of
#: canaille.core.models.string_code:1 b1de5e85f60e43b282a0030180652af0
msgid "Add leading 0 if the code length does not match the defined length."
msgstr ""
"Ajoute des 0 au début si la longueur du code ne correspond pas la longueur "
"définie."
#: ../../canaille/core/models.py:docstring of
#: canaille.core.models.string_code:3 97af099fefbe45d6a996d9a721da82c3
msgid ""
"For instance, parameter ``digit=6``, but ``code=123``, this method would "
"return ``000123``::"
msgstr ""
"Par exemple, avec le paramètre ``digit=6`` et le ``code=123``, cette méthode "
"retournerait ``000123`` :"
#: ../../canaille/oidc/basemodels.py:docstring of
#: canaille.oidc.basemodels.AuthorizationCode:1
#: adb7d97f3da14c2aacca22dd9662c8ff
msgid "OpenID Connect temporary authorization code definition."
msgstr "Définition du code temporaire d'autorisation OpenID Connect."
#: ../../canaille/oidc/basemodels.py:docstring of
#: canaille.oidc.basemodels.Client:1 5b28461fe1a648319cb0c397a99b4e53
msgid ""
"OpenID Connect client definition, based on the `OAuth 2.0 Dynamic Client "
"Registration protocols <https://datatracker.ietf.org/doc/html/rfc7591."
"html>`_ and the `OpenID Connect RP-Initiated Logout <https://openid.net/"
"specs/openid-connect-rpinitiated-1_0.html>`_ specifications."
msgstr ""
"Définition du client OpenID Connect, basée sur les protocoles `OAuth 2.0 "
"Dynamic Client Registration <https://datatracker.ietf.org/doc/html/rfc7591."
"html>`_ et les spécifications `OpenID Connect RP-Initiated Logout <https://"
"openid.net/specs/openid-connect-rpinitiated-1_0.html>`_."
#: ../../docstring of canaille.oidc.basemodels.Client.client_id:3
#: e0657b683d9647658874cadf0850f835
msgid ""
"OAuth 2.0 client identifier string. It SHOULD NOT be currently valid for "
"any other registered client, though an authorization server MAY issue the "
"same client identifier to multiple instances of a registered client at its "
"discretion."
msgstr ""
"Chaîne de caractères contenant l'identifiant du client OAuth 2.0. "
"L'identifiant NE DOIT PAS être actuellement valide pour un autre client "
"inscrit, bien qu'un serveur d'autorisation PUISSE donner le même identifiant "
"client à plusieurs instances d'un client inscrit à sa discrétion."
#: ../../docstring of canaille.oidc.basemodels.Client.client_id_issued_at:1
#: canaille.oidc.basemodels.Client.client_secret:1
#: canaille.oidc.basemodels.Client.post_logout_redirect_uris:1
#: 967cfa0d0db440809c848e54df164c07 4b4d070c368a434f8cc01bd90da45fc9
#: f0ca582d84334ea1a5507f264b52ef8b
msgid "OPTIONAL."
msgstr "OPTIONNEL."
#: ../../docstring of canaille.oidc.basemodels.Client.client_id_issued_at:3
#: 0838ce8aace4443387c90b0261ca5378
msgid ""
"Time at which the client identifier was issued. The time is represented as "
"the number of seconds from 1970-01-01T00:00:00Z as measured in UTC until the "
"date/time of issuance."
msgstr ""
"La date à laquelle l'identifiant client a été émis. La date est représentée "
"comme le nombre de secondes écoulées depuis 1970-01-01T00:00:00Z mesuré en "
"UTC jusqu'à la date d'émission."
#: ../../docstring of canaille.oidc.basemodels.Client.client_name:1
#: 717188e85d47456ebd89ff518aa68b29
msgid ""
"Human-readable string name of the client to be presented to the end-user "
"during authorization."
msgstr ""
"Le nom du client à présenter à l'utilisateur final durant l'autorisation, "
"sous la forme d'une chaîne de caractères lisible par un être humain."
#: ../../docstring of canaille.oidc.basemodels.Client.client_name:4
#: 245a799f27b0452d8b0796e99a80f07d
msgid ""
"If omitted, the authorization server MAY display the raw \"client_id\" value "
"to the end-user instead. It is RECOMMENDED that clients always send this "
"field. The value of this field MAY be internationalized, as described in "
"Section 2.2."
msgstr ""
"Si omis, le serveur d'autorisation PEUT afficher la valeur brute "
"\"client_id\" à l'utilisateur final à la place. Il est RECOMMANDÉ que les "
"clients envoient toujours ce champ. La valeur de ce champ PEUT être "
"internationalisée, comme décrit dans la Section 2.2."
#: ../../docstring of canaille.oidc.basemodels.Client.client_secret:3
#: c1fc10e0d4c54f52a51026a03b857b99
msgid ""
"OAuth 2.0 client secret string. If issued, this MUST be unique for each "
"\"client_id\" and SHOULD be unique for multiple instances of a client using "
"the same \"client_id\". This value is used by confidential clients to "
"authenticate to the token endpoint, as described in OAuth 2.0 [RFC6749], "
"Section 2.3.1."
msgstr ""
"Chaîne secrète du client OAuth 2.0. Si généré, il DOIT être unique pour "
"chaque « client_id » et DEVRAIT être unique pour de multiple instances du "
"client utilisant le même « client_id ». Cette valeur est utilisée par des "
"clients confidentiels pour authentifier le terminal du jeton, tel que décrit "
"dans OAuth 2.0 [RFC6749], Section 2.3.1."
#: ../../docstring of
#: canaille.oidc.basemodels.Client.client_secret_expires_at:1
#: 9cfc3339a1dd46189984275692dba718
msgid "REQUIRED if \"client_secret\" is issued."
msgstr "REQUIS si \"client_secret\" est émis."
#: ../../docstring of
#: canaille.oidc.basemodels.Client.client_secret_expires_at:3
#: 1186270fd481486caa704d2fd7528b4f
msgid ""
"Time at which the client secret will expire or 0 if it will not expire. The "
"time is represented as the number of seconds from 1970-01-01T00:00:00Z as "
"measured in UTC until the date/time of expiration."
msgstr ""
"La date à laquelle le secret du client va expirer ou 0 s'il n'expire pas. La "
"date est représentée comme le nombre de secondes écoulées depuis "
"1970-01-01T00:00:00Z mesuré en UTC jusqu'à la date d'expiration."
#: ../../docstring of canaille.oidc.basemodels.Client.client_uri:1
#: b0291c41aa9c4f2c8f66a0c71b9b4711
msgid "URL string of a web page providing information about the client."
msgstr ""
"URL en chaîne de caractères d'une page d'information à propos du client."
#: ../../docstring of canaille.oidc.basemodels.Client.client_uri:3
#: f478bd954ac24382b1de1588c419c6a2
msgid ""
"If present, the server SHOULD display this URL to the end-user in a "
"clickable fashion. It is RECOMMENDED that clients always send this field. "
"The value of this field MUST point to a valid web page. The value of this "
"field MAY be internationalized, as described in Section 2.2."
msgstr ""
"Si présent, le serveur DEVRAIT afficher cette URL à l'utilisateur final de "
"manière cliquable. Il est RECOMMANDÉ que les clients envoient toujours ce "
"champ. La valeur de ce champ DOIT pointer vers une page web valide. La "
"valeur de ce champ DEVRAIT être internationalisée, comme décrit dans la "
"section 2.2."
#: ../../docstring of canaille.oidc.basemodels.Client.contacts:1
#: f6e323978f9a463cabca1ddcaa5f6d0b
msgid ""
"Array of strings representing ways to contact people responsible for this "
"client, typically email addresses."
msgstr ""
"Un tableau de chaînes de caractères représentant différentes façon de "
"contacter les personnes responsables de ce client, généralement des adresses "
"e-mail."
#: ../../docstring of canaille.oidc.basemodels.Client.contacts:4
#: de7fc414bed34c7aab0a55ad3cd826f4
msgid ""
"The authorization server MAY make these contact addresses available to end-"
"users for support requests for the client. See Section 6 for information on "
"Privacy Considerations."
msgstr ""
"Le serveur d'autorisation PEUT rendre ces adresse de contact disponibles aux "
"utilisateurs finaux pour traiter les requêtes pour le client. Consultez la "
"section 6 pour obtenir des informations sur des considérations concernant la "
"vie privée."
#: ../../docstring of canaille.oidc.basemodels.Client.grant_types:1
#: 23b30053d45946ecaf4f2d8bc5469f90
msgid ""
"Array of OAuth 2.0 grant type strings that the client can use at the token "
"endpoint. These grant types are defined as follows:"
msgstr ""
"Tableau de chaînes de caractères de type autorisation (« grant ») OAuth 2.0 "
"que le client peut utiliser au terminal jeton. Ces types d'autorisation sont "
"définies comme suit :"
#: ../../docstring of canaille.oidc.basemodels.Client.grant_types:4
#: 75a3dfb08d97436eb62cc7855c3610ea
msgid ""
"\"authorization_code\": The authorization code grant type defined in OAuth "
"2.0, Section 4.1."
msgstr ""
"\"authorization_code\" : le type de code d'autorisation défini dans OAuth "
"2.0, section 4.1."
#: ../../docstring of canaille.oidc.basemodels.Client.grant_types:7
#: ae2400d35211470f9ad2dc29e743ecb0
msgid ""
"\"implicit\": The implicit grant type defined in OAuth 2.0, Section 4.2."
msgstr ""
"\"implicit\" : le type d'autorisation implicite définie dans OAuth 2.0, "
"section 4.2."
#: ../../docstring of canaille.oidc.basemodels.Client.grant_types:10
#: 0af327a65a014400b624754d17db1304
msgid ""
"\"password\": The resource owner password credentials grant type defined in "
"OAuth 2.0, Section 4.3."
msgstr ""
"\"password\" : le type d'autorisation avec le mot de passe du propriétaire "
"de la ressource défini dans OAuth 2.0, section 4.3."
#: ../../docstring of canaille.oidc.basemodels.Client.grant_types:13
#: 33eb8a7321934eef8b1b8f7c77ca6e04
msgid ""
"\"client_credentials\": The client credentials grant type defined in OAuth "
"2.0, Section 4.4."
msgstr ""
"\"client_credentials\" : le type d'autorisation par identification du client "
"défini dans OAuth 2.0, section 4.4."
#: ../../docstring of canaille.oidc.basemodels.Client.grant_types:16
#: 986d1fe697094e24b8d1c5d9abcbe542
msgid ""
"\"refresh_token\": The refresh token grant type defined in OAuth 2.0, "
"Section 6."
msgstr ""
"\"refresh_token\" : le type d'autorisation par jeton renouvelé dans OAuth "
"2.0, section 6."
#: ../../docstring of canaille.oidc.basemodels.Client.grant_types:19
#: 04635a2484cb4aa98c04ef7e6d06047e
msgid ""
"\"urn:ietf:params:oauth:grant-type:jwt-bearer\": The JWT Bearer Token Grant "
"Type defined in OAuth JWT Bearer Token Profiles [RFC7523]."
msgstr ""
"\"urn:ietf:params:oauth:grant-type:jwt-bearer\" : le type d'autorisation de "
"jeton Bearer JWT défini dans OAuth JWT Bearer Token Profiles [RFC7523]."
#: ../../docstring of canaille.oidc.basemodels.Client.grant_types:23
#: 30c6734c6f254c9ab0c1bd628606080d
msgid ""
"\"urn:ietf:params:oauth:grant-type:saml2-bearer\": The SAML 2.0 Bearer "
"Assertion Grant defined in OAuth SAML 2 Bearer Token Profiles [RFC7522]."
msgstr ""
"\"urn:ietf:params:oauth:grant-type:saml2-bearer\" : l'autorisation SAML 2.0 "
 Bearer Assertion » défini dans OAuth SAML 2 Bearer Token Profiles "
"[RFC7522]."
#: ../../docstring of canaille.oidc.basemodels.Client.grant_types:27
#: cde679d2d9524468863e856afe8a7b60
msgid ""
"If the token endpoint is used in the grant type, the value of this parameter "
"MUST be the same as the value of the \"grant_type\" parameter passed to the "
"token endpoint defined in the grant type definition. Authorization servers "
"MAY allow for other values as defined in the grant type extension process "
"described in OAuth 2.0, Section 4.5. If omitted, the default behavior is "
"that the client will use only the \"authorization_code\" Grant Type."
msgstr ""
"Si le terminal du jeton est utilisé dans le type d'autorisation, la valeur "
"de ce paramètre DOIT être la même que la valeur du paramètre \"grant_type\" "
"passé au terminal du jeton défini dans la définition du type d'autorisation. "
"Les serveurs d'autorisation PEUVENT accepter d'autres valeurs comme défini "
"dans le processus d'extension destype d'autorisation dans OAuth 2.0, section "
"4.5. S'il est omis, le comportement par défaut est un client utilisant "
"uniquement le type d'autorisation \"authorization_code\"."
#: ../../docstring of canaille.oidc.basemodels.Client.jwk:1
#: 03fcc115c5ff4506bdd2a9adef32c993
msgid ""
"Client's JSON Web Key Set [RFC7517] document value, which contains the "
"client's public keys."
msgstr ""
"Valeur du document JSON Web Key Set [RFC7517] du client, qui contient les "
"clés publiques du client."
#: ../../docstring of canaille.oidc.basemodels.Client.jwk:4
#: 02fefaf4edc14d88ad63f66d929fbc8f
msgid ""
"The value of this field MUST be a JSON object containing a valid JWK Set. "
"These keys can be used by higher-level protocols that use signing or "
"encryption. This parameter is intended to be used by clients that cannot "
"use the \"jwks_uri\" parameter, such as native clients that cannot host "
"public URLs. The \"jwks_uri\" and \"jwks\" parameters MUST NOT both be "
"present in the same request or response."
msgstr ""
"La valeur de ce champ DOIT être un objet JSON contenant un « JWK Set » "
"valide. Ces clefs peuvent être utilisées par des protocoles de plus haut "
"niveau qui utilise des signatures ou le chiffrement. Ce paramètre est conçu "
"pour être utilisé par des clients qui ne peuvent pas utiliser le paramètre "
"\"jwks_uri\", tel que des clients natifs qui ne peuvent pas disposer d'URL "
"publiques. Les paramètres \"jwks_uri\" et \"jwks\" NE DOIVENT PAS être "
"présent dans la même requête our réponse."
#: ../../docstring of canaille.oidc.basemodels.Client.jwks_uri:1
#: 3517e8d1433c4a29af4e1a37e51745b0
msgid ""
"URL string referencing the client's JSON Web Key (JWK) Set [RFC7517] "
"document, which contains the client's public keys."
msgstr ""
"Chaîne de caractères URL référençant le document JSON Web Key (JWK) Set "
"[RFC7517] du client, qui contient les clefs publiques du client."
#: ../../docstring of canaille.oidc.basemodels.Client.jwks_uri:4
#: a4cea848089b4921b616a4cc682df264
msgid ""
"The value of this field MUST point to a valid JWK Set document. These keys "
"can be used by higher-level protocols that use signing or encryption. For "
"instance, these keys might be used by some applications for validating "
"signed requests made to the token endpoint when using JWTs for client "
"authentication [RFC7523]. Use of this parameter is preferred over the "
"\"jwks\" parameter, as it allows for easier key rotation. The \"jwks_uri\" "
"and \"jwks\" parameters MUST NOT both be present in the same request or "
"response."
msgstr ""
"La valeur de ce champ DOIT pointer vers un document JWK Set valide. Ces "
"clefs peuvent être utilisées par des protocoles de plus haut niveau "
"utilisant des signatures ou du chiffrement. Par exemple, ces clefs peuvent "
"être utilisées par des applications pour valider des requêtes signées faites "
"pour le terminal du jeton quand des JWTs sont utilisées pour "
"l'authentification cliente [RFC7523]. L'utilisation de ce paramètre est "
"préféré au paramètre \"jwks\", car il permet une rotation des clefs plus "
"facile. Les paramètres \"jwks_uri\" et \"jwks\" NE DOIVENT PAS être tous les "
"deux présents dans la même requête ou réponse."
#: ../../docstring of canaille.oidc.basemodels.Client.logo_uri:1
#: 1058da51ab304a729c47f357ba058b65
msgid "URL string that references a logo for the client."
msgstr "URL en chaîne de caractères pointant vers un logo pour le client."
#: ../../docstring of canaille.oidc.basemodels.Client.logo_uri:3
#: 897286c50a844afeaa8822854d80c376
msgid ""
"If present, the server SHOULD display this image to the end-user during "
"approval. The value of this field MUST point to a valid image file. The "
"value of this field MAY be internationalized, as described in Section 2.2."
msgstr ""
"Si présente, le serveur DOIT afficher cette image à l'utilisateur final "
"pendant l'approbation. La valeur de ce chant DOIT pointer vers un fichier "
"d'image valide. La valeur de ce champ PEUT être dans plusieurs langues, "
"comme décrit dans la Section 2.2."
#: ../../docstring of canaille.oidc.basemodels.Client.policy_uri:1
#: 3b42d4ff71e940519fe684fb1ff948f7
msgid ""
"URL string that points to a human-readable privacy policy document that "
"describes how the deployment organization collects, uses, retains, and "
"discloses personal data."
msgstr ""
"URL en chaîne de caractères pointant vers un document de politique de "
"confidentialité compréhensible, décrivant la façon dont l'organisation "
"déployant l'application collecte, utilise, conserve et partage les données "
"personnelles."
#: ../../docstring of canaille.oidc.basemodels.Client.policy_uri:5
#: canaille.oidc.basemodels.Client.tos_uri:5 8b45eca8d1ba446abf902daadf5e1fda
#: 3387991465b848b2a30d39647bbb4957
msgid ""
"The authorization server SHOULD display this URL to the end-user if it is "
"provided. The value of this field MUST point to a valid web page. The "
"value of this field MAY be internationalized, as described in Section 2.2."
msgstr ""
"Le serveur d'autorisation DEVRAIT afficher cette URL à l'utilisateur final "
"s'il est fourni. La valeur de ce champ DOIT pointer vers une page web "
"valide. La valeur de ce champ PEUT être internationalisée, comme décrit dans "
"la section 2.2."
#: ../../docstring of
#: canaille.oidc.basemodels.Client.post_logout_redirect_uris:3
#: fc67d35b36e44cf8aba020e20ed0541f
msgid ""
"Array of URLs supplied by the RP to which it MAY request that the End-User's "
"User Agent be redirected using the post_logout_redirect_uri parameter after "
"a logout has been performed. These URLs SHOULD use the https scheme and MAY "
"contain port, path, and query parameter components; however, they MAY use "
"the http scheme, provided that the Client Type is confidential, as defined "
"in Section 2.1 of OAuth 2.0 [RFC6749], and provided the OP allows the use of "
"http RP URIs."
msgstr ""
"Tableau d'URL fourni par le RP qui PEUT demander que l'agent utilisateur de "
"d'utilisateur final soit redirigé en utilisant le paramètre "
"post_logout_redirect_uri après que la déconnexion ait été réalisée. Ces URL "
"DEVRAIT utiliser le schéma https et PEUVENT contenir des composants tel que "
"le port, chemin et des paramètres de requête; cependant, ils PEUVENT "
"utiliser le schéma http, à condition que le type du client est confidentiel, "
"tel que défini dans la section 2.1 de OAuth 2.0 [RFC6749], et que l'OP "
"autorise l'utilisation d'URI RP http."
#: ../../docstring of canaille.oidc.basemodels.Client.redirect_uris:1
#: 9a33ca942bb24edf8a01c21608ea2f73
msgid ""
"Array of redirection URI strings for use in redirect-based flows such as the "
"authorization code and implicit flows."
msgstr ""
"Tableau de chaîne de caractères de redirection URI à utiliser pour les flux "
"basés sur les redirections tel que le code d'autorisation et les flux "
"implicites."
#: ../../docstring of canaille.oidc.basemodels.Client.redirect_uris:4
#: 68f13c9e8ebb40aeb80f1f8646b9c17a
msgid ""
"As required by Section 2 of OAuth 2.0 [RFC6749], clients using flows with "
"redirection MUST register their redirection URI values. Authorization "
"servers that support dynamic registration for redirect-based flows MUST "
"implement support for this metadata value."
msgstr ""
"La section 2 de OAuth 2.0 [RFC6749] oblige à ce que les clients utilisant "
"des flux avec une redirection DOIVENT enregistrer les valeurs des URI de "
"redirection. Les serveurs d'autorisation acceptant l'enregistrement "
"dynamique pour des flux basés sur les redirections DOIVENT implémenter la "
"gestion de la valeur de cette métadonnéee."
#: ../../docstring of canaille.oidc.basemodels.Client.response_types:1
#: 14f38992c4cd441ebbc8581b5cfc81ed
msgid ""
"Array of the OAuth 2.0 response type strings that the client can use at the "
"authorization endpoint. These response types are defined as follows:"
msgstr ""
"Tableau de chaînes de caractères de type réponse OAuth 2.0 que le client "
"peut utiliser dans un terminal d'autorisation. Ces types de réponse sont "
"définies comme suit :"
#: ../../docstring of canaille.oidc.basemodels.Client.response_types:5
#: f10a2f7b651b49f3a478805baa7d1ba7
msgid ""
"\"code\": The authorization code response type defined in OAuth 2.0, Section "
"4.1."
msgstr ""
"\"code\" : le type de réponse du code d'autorisation défini dans OAuth 2.0, "
"section 4.1."
#: ../../docstring of canaille.oidc.basemodels.Client.response_types:8
#: 5afdef305ded4cb09fd75ef4733d4a7a
msgid ""
"\"token\": The implicit response type defined in OAuth 2.0, Section 4.2."
msgstr ""
"\"token\" : le type de réponse implicite défini dans OAuth 2.0, section 4.2."
#: ../../docstring of canaille.oidc.basemodels.Client.response_types:11
#: 31436e43c2444893993f0537a739bb97
msgid ""
"If the authorization endpoint is used by the grant type, the value of this "
"parameter MUST be the same as the value of the \"response_type\" parameter "
"passed to the authorization endpoint defined in the grant type definition. "
"Authorization servers MAY allow for other values as defined in the grant "
"type extension process is described in OAuth 2.0, Section 4.5. If omitted, "
"the default is that the client will use only the \"code\" response type."
msgstr ""
"Si le terminal d'autorisation est utilisé par le type d'autorisation, la "
"valeur de ce paramètre DOIT être le même que la valeur du paramètre "
"\"response_type\" passé au terminal d'autorisation défini dans la définition "
"du type d'autorisation. Les serveurs d'autorisation PEUVENT autoriser "
"d'autres valeurs telles que définies dans le processus d'extension des types "
"d'autorisation tel que décrit dans OAuth 2.0, section 4.5. S'il est omis, la "
"valeur par défaut est que le client utilisera uniquement le type de réponse "
"\"code\"."
#: ../../docstring of canaille.oidc.basemodels.Client.scope:1
#: ee96854b70914411b34d691bee4ea794
msgid ""
"String containing a space-separated list of scope values (as described in "
"Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting "
"access tokens."
msgstr ""
"Chaîne de caractères contenant une liste séparée par des espaces de valeurs "
"de périmètre (comme décrit dans la section 3.3 de OAuth 2.0 [RFC6749]) que "
"le client peut utiliser quand il demande des jetons d'accès."
#: ../../docstring of canaille.oidc.basemodels.Client.scope:5
#: 867579989e8343099f2645ec3daae661
msgid ""
"The semantics of values in this list are service specific. If omitted, an "
"authorization server MAY register a client with a default set of scopes."
msgstr ""
"La sémantique des valeur dans cette liste sont spécifiques au service. Si "
"omis, un serveur d'autorisation PEUT enregistrer un client avec un ensemble "
"de périmètres par défaut."
#: ../../docstring of canaille.oidc.basemodels.Client.software_id:1
#: c267bd27bc0643dfa799a288bba6898c
msgid ""
"A unique identifier string (e.g., a Universally Unique Identifier (UUID)) "
"assigned by the client developer or software publisher used by registration "
"endpoints to identify the client software to be dynamically registered."
msgstr ""
"Une chaîne de caractère servant d'identifiant unique (par exemple un "
 Universally Unique Identifier » (UUID)) assigné par le développeur du "
"client ou le fournisseur du logiciel utilisé par les terminaux "
"d'enregistrement identifie le logiciel client pour l'enregistrer "
"dynamiquement."
#: ../../docstring of canaille.oidc.basemodels.Client.software_id:6
#: b39f9748f4d94612bce4bbafa631edb5
msgid ""
"Unlike \"client_id\", which is issued by the authorization server and SHOULD "
"vary between instances, the \"software_id\" SHOULD remain the same for all "
"instances of the client software. The \"software_id\" SHOULD remain the "
"same across multiple updates or versions of the same piece of software. The "
"value of this field is not intended to be human readable and is usually "
"opaque to the client and authorization server."
msgstr ""
"Contrairement à \"client_id\", qui est généré par le serveur d'autorisation "
"et DEVRAIT varier selon les instances, \"software_id\" DEVRAIT rester le "
"même pour toutes les instances du logiciel client. La valeur \"software_id\" "
"DEVRAIT rester la même après de multiple mises-à-jour ou version du "
"logiciel. La valeur de ce champ n'est pas prévu pour être lisible par des "
"humain et est généralement opaque pour le client et le serveur "
"d'autorisation."
#: ../../docstring of canaille.oidc.basemodels.Client.software_version:1
#: 1c86069cf82d405b80e9449c82ecd79e
msgid ""
"A version identifier string for the client software identified by "
"\"software_id\"."
msgstr ""
"Une chaîne de caractère identifiant une version pour le logiciel client "
"identifié par \"software_id\"."
#: ../../docstring of canaille.oidc.basemodels.Client.software_version:4
#: 76d6a1a3931a4366a86c58de3c921b06
msgid ""
"The value of the \"software_version\" SHOULD change on any update to the "
"client software identified by the same \"software_id\". The value of this "
"field is intended to be compared using string equality matching and no other "
"comparison semantics are defined by this specification. The value of this "
"field is outside the scope of this specification, but it is not intended to "
"be human readable and is usually opaque to the client and authorization "
"server. The definition of what constitutes an update to client software "
"that would trigger a change to this value is specific to the software itself "
"and is outside the scope of this specification."
msgstr ""
"La valeur de \"software_version\" DEVRAIT changer à chaque mise-à-jour du "
"logiciel client identifié par le même \"software_id\". La valeur de ce champ "
"est conçu pour être comparé en utilisant les comparaisons de chaînes et "
"aucune autre sémantique de comparaison n'est définie dans cette "
"spécification. La valeur de ce champ est exclu du périmètre de cette "
"spécification, mais elle n'est pas conçu pour être lisible par des humains "
"et est généralement opaque pour le client et le serveur d'autorisation. La "
"définition de ce qui constitue une mise-à-jour du logiciel client provoquant "
"un changement de cette valeur est spécifique au logiciel lui-même et est "
"exclu du périmètre de cette spécification."
#: ../../docstring of
#: canaille.oidc.basemodels.Client.token_endpoint_auth_method:1
#: a931df28521e48ac9f2e294e6b40c1af
msgid ""
"String indicator of the requested authentication method for the token "
"endpoint. Values defined by this specification are:"
msgstr ""
"Indicateur en chaîne de caractères de la méthode d'authentification demandée "
"pour le terminal du jeton. Les valeurs définies par cette spécification "
"sont :"
#: ../../docstring of
#: canaille.oidc.basemodels.Client.token_endpoint_auth_method:4
#: d03d2336b72748abb03b7629c8cb236c
msgid ""
"\"none\": The client is a public client as defined in OAuth 2.0, Section "
"2.1, and does not have a client secret."
msgstr ""
"\"none\" : le client est un client public tel que défini dans OAuth 2.0, "
"section 2.1, et n'a pas de secret client."
#: ../../docstring of
#: canaille.oidc.basemodels.Client.token_endpoint_auth_method:7
#: 1d75c85686a6406e80c0609011503309
msgid ""
"\"client_secret_post\": The client uses the HTTP POST parameters as defined "
"in OAuth 2.0, Section 2.3.1."
msgstr ""
"\"client_secret_post\" : le client utilise les paramètres HTTP POST tel que "
"défini dans OAuth 2.0, section 2.3.1."
#: ../../docstring of
#: canaille.oidc.basemodels.Client.token_endpoint_auth_method:10
#: 3fce72a657484e9987ed472193f364a2
msgid ""
"\"client_secret_basic\": The client uses HTTP Basic as defined in OAuth 2.0, "
"Section 2.3.1."
msgstr ""
"\"client_secret_basic\" : le client utilise HTTP Basic tel que défini dans "
"OAuth 2.0, section 2.3.1."
#: ../../docstring of
#: canaille.oidc.basemodels.Client.token_endpoint_auth_method:13
#: 01d6f8a488754b5f8da1973c101cffdb
msgid ""
"Additional values can be defined via the IANA \"OAuth Token Endpoint "
"Authentication Methods\" registry established in Section 4.2. Absolute URIs "
"can also be used as values for this parameter without being registered. If "
"unspecified or omitted, the default is \"client_secret_basic\", denoting the "
"HTTP Basic authentication scheme as specified in Section 2.3.1 of OAuth 2.0."
msgstr ""
"Des valeurs supplémentaires peuvent être défini par le registre \"OAuth "
"Token Endpoint Authentication Methods\" IANA indiqué dans la section 4.2. "
"Des URI absolues peuvent aussi être utilisées comme valeurs pour ce "
"paramètre sans être enregistrées. Si non définie ou omise, la valeur par "
"défaut est \"client_secret_basic\", indiquant un schéma « HTTP Basic "
"authentication » comme spécifié dans la section 2.3.1 de OAuth 2.0."
#: ../../docstring of canaille.oidc.basemodels.Client.tos_uri:1
#: a87b9ed913e74134a96ab13db76ac51f
msgid ""
"URL string that points to a human-readable terms of service document for the "
"client that describes a contractual relationship between the end-user and "
"the client that the end-user accepts when authorizing the client."
msgstr ""
"Chaîne de caractères URL pointant vers un document des conditions "
"d'utilisation du service lisible par des humains pour le client, décrivant "
"la relation contractuelle entre l'utilisateur final et le client que "
"l'utilisateur final accepte quand il autorise le client."
#: ../../canaille/oidc/basemodels.py:docstring of
#: canaille.oidc.basemodels.Consent:1 1ce3e3e8887242d4887f1d65ded91a08
msgid "Long-term user consent to an application."
msgstr "Consentement utilisateur à long terme à une application."
#: ../../canaille/oidc/basemodels.py:docstring of
#: canaille.oidc.basemodels.Token:1 5165dd5a43e7441cb556b288dd912159
msgid "OpenID Connect token definition."
msgstr "Définition de jeton OpenID Connect."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_account_lockability:1
#: e317757c8739489cb4c606d40a90cb90
msgid "Indicate whether the user accounts can be locked."
msgstr "Indique si les comptes utilisateur peuvent être verrouillés."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_account_lockability:3
#: 4935317ffeda47b785292d21e926c3a3
msgid ""
"It depends on the backend used by Canaille. This is only disabled for "
"OpenLDAP versions under 2.6."
msgstr ""
"Cela dépend de la base de données utilisée par Canaille. C'est uniquement "
"désactivé pour les versions d'OpenLDAP inférieures à 2.6."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_email_confirmation:1
#: 2970459a63174e829259ae220ec911dc
msgid "Indicate whether the user email confirmation is enabled."
msgstr ""
"Indique si la confirmation des adresses email des utilisateurs est activée."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_email_confirmation:3
#: c1079035d9be414983104194b2ab2120
msgid ""
"It is controlled by the :attr:`CANAILLE.EMAIL_CONFIRMATION <canaille.core."
"configuration.CoreSettings.EMAIL_CONFIRMATION>` configuration parameter."
msgstr ""
"Contrôlé par le paramètre de configuration :attr:`CANAILLE."
"EMAIL_CONFIRMATION <canaille.core.configuration.CoreSettings."
"EMAIL_CONFIRMATION>`."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_email_otp:1
#: 479b07160b35479abc87e2221bec17b2
msgid "Indicate whether the email OTP authentication factor is enabled."
msgstr ""
"Indique si le facteur d'authentification de mot de passe à usage unique "
"envoyé par mail est activé."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_email_otp:3
#: e84db66b26a44edfa4dc1e6cbde4a367
msgid ""
"It is controlled by the :attr:`CANAILLE.EMAIL_OTP <canaille.core."
"configuration.CoreSettings.EMAIL_OTP>` configuration parameter."
msgstr ""
"Contrôlé par le paramètre de configuration :attr:`CANAILLE.EMAIL_OTP "
"<canaille.core.configuration.CoreSettings.EMAIL_OTP>`."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_intruder_lockout:1
#: 61712b4872ac426aa90f58eee9fe9e4c
msgid "Indicate whether the intruder lockout feature is enabled."
msgstr ""
"Indique si le verrouillage temporaire des comptes utilisateur après échecs "
"de connexion est activé."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_intruder_lockout:3
#: aef23f3499454b14b5bd0b7bbfec559d
msgid ""
"It is controlled by the :attr:`CANAILLE.ENABLE_INTRUDER_LOCKOUT <canaille."
"core.configuration.CoreSettings.ENABLE_INTRUDER_LOCKOUT>` configuration "
"parameter."
msgstr ""
"Contrôlé par le paramètre de configuration :attr:`CANAILLE."
"ENABLE_INTRUDER_LOCKOUT <canaille.core.configuration.CoreSettings."
"ENABLE_INTRUDER_LOCKOUT>`."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_oidc:1 2aabb9553b6949709c73253180bd4d4e
msgid "Indicate whether the OIDC feature is enabled."
msgstr "Indique si la fonctionnalité OIDC est activé."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_oidc:3 82fb878e33854d91b056aa833b95c490
msgid ""
"This feature is required to make Canaille an authorization server for other "
"applications and enable SSO. It is controlled by the :class:`CANAILLE_OIDC "
"<canaille.oidc.configuration.OIDCSettings>` configuration parameter, and "
"needs the ``oidc`` extra package to be installed."
msgstr ""
"Cette fonctionnalité est requise pour que Canaille fasse office de serveur "
"d'authentification et d'autorisation pour d'autres applications, et "
"permettre l'authentification unique des utilisateurs. Cette fonctionnalité "
"est contrôlée par le paramètre de configuration :class:`CANAILLE_OIDC "
"<canaille.oidc.configuration.OIDCSettings>` ainsi que le paquet extra "
"``oidc``."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_otp:1 7b629967c62d4d4082395fd70d845fac
msgid "Indicate whether the OTP authentication factor is enabled."
msgstr ""
"Indique si le facteur d'authentification de mot de passe à usage unique est "
"actif."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_otp:3 04109fcdb7c5458290d27321fe20d363
msgid ""
"It is controlled by the :attr:`CANAILLE.OTP_METHOD <canaille.core."
"configuration.CoreSettings.OTP_METHOD>` configuration parameter, and needs "
"the ``otp`` extra package to be installed."
msgstr ""
"Cette fonctionnalité est contrôléé par le paramètre de configuration :attr:"
"`CANAILLE.OTP_METHOD <canaille.core.configuration.CoreSettings.OTP_METHOD>`, "
"et nécessite le paquet extra ``otp``."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_password_recovery:1
#: 30f3561a2c7f4f82940e8659e07b9fce
msgid "Indicate whether the password recovery feature is enabled."
msgstr ""
"Indique si la fonctionnalité de réinitialisation de mot de passe est activée."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_password_recovery:3
#: 8dbab1baf660461b957ab458b86f8d1a
msgid ""
"It is controlled by the :attr:`CANAILLE.ENABLE_PASSWORD_RECOVERY <canaille."
"core.configuration.CoreSettings.ENABLE_PASSWORD_RECOVERY>` configuration "
"parameter."
msgstr ""
"Cette fonctionnalité est contrôlé par le paramètre de configuration :attr:"
"`CANAILLE.ENABLE_PASSWORD_RECOVERY <canaille.core.configuration.CoreSettings."
"ENABLE_PASSWORD_RECOVERY>`."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_registration:1
#: 1a46b31407b94556b7d7ba1b1efb72b5
msgid "Indicate whether the user account registration is enabled."
msgstr ""
"Indique si la fonctionnalité d'enregistrement de comptes utilisateurs est "
"activée."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_registration:3
#: 8a808dd6387b49d69a88d23b8da5c3de
msgid ""
"It is controlled by the :attr:`CANAILLE.ENABLE_REGISTRATION <canaille.core."
"configuration.CoreSettings.ENABLE_REGISTRATION>` configuration parameter."
msgstr ""
"Cette fonctionnalité est contrôlée par le paramètre de configuration :attr:"
"`CANAILLE.ENABLE_REGISTRATION <canaille.core.configuration.CoreSettings."
"ENABLE_REGISTRATION>`."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_scim_server:1
#: b6353866864746679e731902db3a6ad5
msgid "Indicate whether the SCIM server feature is enabled."
msgstr "Indique si la fonctionnalité de serveur SCIM est activée."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_scim_server:3
#: 0e4e8b0c28bf4ff893e4b015d4c045e3
msgid ""
"This feature is required to make Canaille a provisioning server. It is "
"controlled by the :attr:`CANAILLE_SCIM.ENABLE_SERVER <canaille.scim."
"configuration.SCIMSettings.ENABLE_SERVER>` configuration parameter, and "
"needs the ``scim`` extra package to be installed."
msgstr ""
"Cette fonctionnalité est requise pour faire de Canaille un serveur de "
"provisionnement. Elle est contrôlée par le paramètre de configuration :attr:"
"`CANAILLE_SCIM.ENABLE_SERVER <canaille.scim.configuration.SCIMSettings."
"ENABLE_SERVER>`, ainsi que le paquet extra ``scim``."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_sms_otp:1
#: 46464c2c705e4b34b764e4c2442678c7
msgid "Indicate whether the SMS OTP authentication factor is enabled."
msgstr ""
"Indique si le facteur d'authentification de mot de passe à usage unique "
"envoyé par SMS est activé."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_sms_otp:3
#: 5138fc9cb274425b86314c1a729a4ab9
msgid ""
"It is controlled by the :attr:`CANAILLE.SMS_OTP <canaille.core.configuration."
"CoreSettings.SMS_OTP>` configuration parameter, and needs the ``smpp`` extra "
"package to be installed."
msgstr ""
"Cette fonctionnalité est contrôlée par le paramètre de configuration :attr:"
"`CANAILLE.SMS_OTP <canaille.core.configuration.CoreSettings.SMS_OTP>`, et "
"requière le paquet extra ``smpp``."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_smtp:1 6252fb79e38d40f5b8826dfe87efd84c
msgid "Indicate whether the mail sending feature is enabled."
msgstr "Indique si la fonctionnalité d'envoi de mail est activée."
#: ../../canaille/app/features.py:docstring of
#: canaille.app.features.Features.has_smtp:3 849b7de93582432cb12e533cacf3d864
msgid ""
"This feature is required to :attr:`validate user email addresses <canaille."
"app.features.Features.has_email_confirmation>`, send email OTP passwords "
"etc. It is controlled by the :attr:`CANAILLE.SMTP <canaille.core."
"configuration.CoreSettings.SMTP>` configuration parameter."
msgstr ""
"Cette fonctionnalité est requise pour :attr:`valider les adresses email des "
"utilsiateurs <canaille.app.features.Features.has_email_confirmation>`, "
"envoyer des mots de passe à usage unique par mail etc. Elle est contrôlée "
"par le paramètre de configuration :attr:`CANAILLE.SMTP <canaille.core."
"configuration.CoreSettings.SMTP>`."
#: ../references/templates.rst:2 5f9d52fbb7344304a33a0eb7cfb015fb
msgid "Templates"
msgstr "Patrons"
#: ../references/templates.rst:4 0ec160217743460aa21c2c99a386524f
msgid ""
"This references the template files, their role and the variables available "
"in their contexts. The intended audience for this reference is designers "
"wishing to build their custom Canaille theme."
msgstr ""
"Cette page référence les fichiers de patrons (« template »), leurs rôles "
"ainsi que les variables disponibles dans leurs contextes. L'audience visée "
"pour cette référence sont les designers qui souhaitent construire un thème "
"personnalisé pour Canaille."
#: ../references/templates.rst:8 c4dae69dc590432f9691c0d763f7df8c
msgid "Base"
msgstr "Base"
#: ../references/templates.rst:10 2d86d946bebb41a69933f921f2b7312d
msgid "Those templates are shared by all the pages rendered by Canaille."
msgstr "Ces patrons sont partagés par toutes les pages de Canaille."
#: ../references/templates.rst:13 ../references/templates.rst:35
#: ../references/templates.rst:53 a5a0c7c729174b69b7161dbc8abbd969
#: 298198cd92ec45a490362f33c0e75741 74c0ab51e1da40efb5b75f98868222a9
msgid "Template files"
msgstr "Fichiers de patrons"
#: ../../<autotemplate>:1 7be0a83bad854553b20777a2a0782d23
msgid "The main template inherited by almost every other templates."
msgstr "Le patron principal dont hérite à peu près tous les autres patrons."
#: ../../<autotemplate>:1 ade7caad09f74fbbbb8e6ae9276e3be8
msgid "The current user, if logged in."
msgstr "L'utilisateur courant, si connecté."
#: ../../<autotemplate>:1 276fe3eb9c3346dd987a579dad80e69b
msgid "The features enabled and available in Canaille."
msgstr "Les fonctionnalités disponibles, et activées dans Canaille."
#: ../../<autotemplate>:1 2d0ad06c56034e4296882043db94e127
msgid "The user locale."
msgstr "La code de la langue utilisée par l'utilisateur."
#: ../../<autotemplate>:1 bc1a541d4be4473d9ea86978fb5cbd9f
msgid ""
"The Canaille instance defined in :attr:`~canaille.core.configuration."
"CoreSettings.NAME`."
msgstr ""
"Le nom de l'instance de Canaille défini dans :attr:`~canaille.core."
"configuration.CoreSettings.NAME`."
#: ../../<autotemplate>:1 e4a5a4c5dc6f40cdb50a5bbd11ad13ca
msgid ""
"The URL of the instance logo defined in :attr:`~canaille.core.configuration."
"CoreSettings.LOGO`."
msgstr ""
"L'URL du logo de l'instance défini dans :attr:`~canaille.core.configuration."
"CoreSettings.LOGO`."
#: ../../<autotemplate>:1 a2c4eb224d834cfa8438bfa3da66f569
msgid ""
"The URL of the instance favicon defined in :attr:`~canaille.core."
"configuration.CoreSettings.FAVICON`."
msgstr ""
"L'URL du *favicon* de l'instance de Canaille défini dans :attr:`~canaille."
"core.configuration.CoreSettings.FAVICON`."
#: ../../<autotemplate>:1 d547da6f559b42d78fb3a73d97f0447e
msgid ""
"Whether the page is boosted by :attr:`~canaille.core.configuration."
"CoreSettings.HTMX`."
msgstr ""
"Indique si les pages sont propulsées par :attr:`~canaille.core.configuration."
"CoreSettings.HTMX`."
#: ../../<autotemplate>:1 e96fbba85e69401794cd24472a510920
msgid "Whether to display the menu or not."
msgstr "Indique si le menu doit être affiché ou non."
#: ../../<autotemplate>:1 915e2d15e72f448581b4232462138de8
msgid "Whether the app has been launched in debug mode."
msgstr "Indique si Canaille a été lancé en mode débogage."
#: ../../<autotemplate>:1 8e94e267a2e24fd086ff86ca5dd2d000
msgid ""
"The error page. Displayed for all kinds of errors (not found, internal "
"server error etc.)."
msgstr ""
"La page d'erreur. Cette page est affichée pour tous types d'erreurs (page "
"non trouvée, erreur interne du serveur, etc.)."
#: ../../<autotemplate>:1 2306a7ac505241a7be52428c377fdf3b
msgid "The code of the HTTP error (404, 500, etc.)"
msgstr "Le code HTTP de l'erreur (404, 500, etc.)"
#: ../../<autotemplate>:1 4bacf1c221314a0caa4206f59268df11
msgid "The error code description."
msgstr "La description du code d'erreur."
#: ../../<autotemplate>:1 d55fefef1f0142afae9079c733167f2d
msgid "An optional Font Awesome icon reference."
msgstr "La référence optionnelle à un icône *Font Awesome*."
#: ../../<autotemplate>:1 0a534694c6044876aa823571cc6431d6
msgid "Macros for Flask flash message rendering"
msgstr "Macros pour l'affichage des messages informatifs de Flask"
#: ../../<autotemplate>:1 de9e78670ac34fd2a8bfeb84e5fd449a
msgid "Macros for form and form field rendering."
msgstr "Macros pour l'affichage des formulaires et de leurs champs."
#: ../../<autotemplate>:1 010fef6420b54e9fa0030bff7cf89d66
msgid "Connects WTForms, Fomantic-UI and HTMX."
msgstr "Connecte WTForms, Fomantic-UI et HTMX."
#: ../../<autotemplate>:1 722e1cc69d054b6b90eccbbf14d34fe4
msgid "Macros for rendering table paginated with HTMX."
msgstr "Macros pour l'affichage de tables paginées avec HTMX."
#: ../references/templates.rst:22 ../references/templates.rst:40
#: ../references/templates.rst:58 c1141c3140ed49efb429fe7e0ddb07d5
#: f66b89d5a0514f8fbc41b532ceb496b6 ddd9f189d96f48cb92e11a1819d26a8f
msgid "Forms"
msgstr "Formulaires"
#: ../../canaille/app/forms.py:docstring of canaille.app.forms.TableForm:1
#: 391264c8ae9342b98ccd4af5cfbcf383
msgid ""
"Bases: :py:class:`~canaille.app.forms.I18NFormMixin`, :py:class:`~flask_wtf."
"form.FlaskForm`"
msgstr ""
"Bases: :py:class:`~canaille.app.forms.I18NFormMixin`, :py:class:`~flask_wtf."
"form.FlaskForm`"
#: ../../canaille/app/forms.py:docstring of canaille.app.forms.TableForm:1
#: bbbef09257294353ae83fcc921eca400
msgid "A form for table rendering of object collections."
msgstr "Un formulaire pour le rendu en tableau de collection d'objets."
#: ../references/templates.rst:30 a6ad4ce568a44098a9e487453d689dd5
msgid "Core"
msgstr "Cœur"
#: ../references/templates.rst:32 43fe331ad9c54541ac476bbe141b0a51
msgid ""
"The core templates are displayed in the authentication and profile edition "
"pages."
msgstr ""
"Ces patrons sont affichés dans les pages d'authentification et d'édition de "
"profiles utilisateurs."
#: ../../<autotemplate>:1 d19a70214ef0419bb0ce07ea39578834
msgid ""
"The 'About' page. This is an informational page, displaying the project "
"links."
msgstr ""
"La page « À propos ». Cette page est informationnelle, elle affiche les "
"liens du projet."
#: ../../<autotemplate>:1 51aba32d8e6d4e43ab37c3042b830e3a
msgid "The current Canaille version."
msgstr "La version de l'instance de Canaille."
#: ../../<autotemplate>:1 d296db599ed840dda1ffa1af92ce9e15
msgid "The first login page."
msgstr "La page de première connexion."
#: ../../<autotemplate>:1 da37d9d1681e41b7beb4d8eb1f52ee17
msgid "This page is displayed to users who do not have set a password yet."
msgstr ""
"Cette page est affichée aux utilisateurs qui n'ont pas encore paramétré un "
"mot de passe."
#: ../../<autotemplate>:1 41cf2f06296f4529825add3e93ecce87
msgid "Password forgotten page."
msgstr "Page d'oubli du mot de passe."
#: ../../<autotemplate>:1 5544ff3d795643299723088da49f54d2
msgid ""
"This page displays a form asking for the email address of users who cannot "
"remember their password."
msgstr ""
"Cette page affiche un formulaire requérant l'adresse email d'un utilisateur "
"ayant oublié son mot de passe."
#: ../../<autotemplate>:1 91f95a21d2cf4cd682dbf7622895f744
msgid "Group edition page."
msgstr "Page d'édition des groupes."
#: ../../<autotemplate>:1 eb70b7161ea14a59800362c10a234635
msgid "Displays the group edition or creation form."
msgstr "Affiche le formulaire d'édition ou de création d'un groupe."
#: ../../<autotemplate>:1 8b37ea965e5e49358b31b3f72980cd14
msgid ""
":data:`None` in a creation context. In edition context this is the edited "
"group."
msgstr ""
":data:`None` dans un contexte de création. Dans un contexte d'édition, c'est "
"le groupe édité."
#: ../../<autotemplate>:1 c34b493558f041089780f1ee6d8bc0cb
msgid "The group edition/creation form."
msgstr "Le formulaire de création et d'édition de groupes."
#: ../../<autotemplate>:1 e6f30f59e1984b9696c77b053200c933
msgid "The group list page."
msgstr "La page de liste des groupes."
#: ../../<autotemplate>:1 1123e6271a2547938e77a710f559788a
msgid "A :class:`~canaille.core.models.Group` pagination form."
msgstr "Un formulaire de pagination de :class:`~canaille.core.models.Group`."
#: ../../<autotemplate>:1 bb18bceefbe644b39f75dd515e56f4f0
msgid "The invitation form page."
msgstr "La page de formulaire d'invitation."
#: ../../<autotemplate>:1 84e88c0d7f8146e7b245b725fa1527a1
msgid "Displays the invitation form to users with the invitation permission."
msgstr ""
"Affiche le formulaire d'invitation aux utilisateurs en ayant la permission."
#: ../../<autotemplate>:1 e6ed714de65843e5bf138d95d9d61316
msgid "The invitation form."
msgstr "Le formulaire d'invitation d'utilisateurs."
#: ../../<autotemplate>:1 dd60812049374cd18c7d3cfa6dfaec5c
msgid "The invitation acceptation page."
msgstr "La page d'acceptation d'une invitation."
#: ../../<autotemplate>:1 8c9de3bd5fd64142b2f1b40644c04114
msgid ""
"This page is displayed to users who have clicked on invitation links sent by "
"mail (or by other media). It displays a basic account creation form."
msgstr ""
"Cette page est affichée aux utilisateurs qui ont cliqué sur le lien "
"d'invitation qui leur a été envoyé par mail (ou par un autre médium). Il "
"affiche un formulaire basique de création de compte."
#: ../../<autotemplate>:1 f3767e9183b5463b8dc502ac64917496
msgid "The account creation form."
msgstr "Le formulaire de création de compte."
#: ../../<autotemplate>:1 f8d7f98b7554401081a21e260a78f706
msgid "The login page."
msgstr "La page de connexion."
#: ../../<autotemplate>:1 735e538185894b8282b972ca8b9d3426
msgid "This page displays a form to get the user identifier."
msgstr ""
"Cette page affiche un formulaire qui récupère l'identifiant d'un utilisateur."
#: ../../<autotemplate>:1 013c3dbd2c544946b7d26f65bf77a272
msgid "The login form."
msgstr "Le formulaire de connexion."
#: ../../<autotemplate>:1 81b9105d642d4fadaec60fe2f3ae2b2b
msgid "User account creation page."
msgstr "Page de création de compte utilisateur."
#: ../../<autotemplate>:1 ad5a3f08284e4d97bb932d57aa7d689e
msgid ""
"This template displays an account creation form. It is used in the "
"registration page, and in the manual account creation page available for "
"users with *user management* permission."
msgstr ""
"Ce patron affiche un formulaire de création de compte. Il est utilisé par la "
"page d'enregistrement, et sur la page de création manuelle de compte "
"disponibles aux utilisateurs avec les permissions de gestion des "
"utilisateurs."
#: ../../<autotemplate>:1 c4c05e7a207c4a55a3be41d8f4b25339
msgid ""
"The user creation form. Dynamically built according to the user :attr:"
"`~canaille.core.configuration.ACLSettings.READ` and :attr:`~canaille.core."
"configuration.ACLSettings.WRITE` permissions. The available fields are those "
"appearing in *READ* and *WRITE*, those only appearing in *READ* are read-"
"only."
msgstr ""
"Le formulaire de création d'utilisateur. Fabriqué dynamiquement à partir des "
"permissions de :attr:`~canaille.core.configuration.ACLSettings.READ` et :"
"attr:`~canaille.core.configuration.ACLSettings.WRITE`. Les champs "
"disponibles sont ceux listés dans *READ* et *WRITE*. Ceux n'apparaissant que "
"dans *READ* sont en lecture seule."
#: ../../<autotemplate>:1 242018ca141f4b478d46d6837d5e2d70
msgid "The profile edition template."
msgstr "Le patron d'édition de profil."
#: ../../<autotemplate>:1 f330ada37637476fb4bdb1c84a2ae6ea
msgid "Displays a user profile edition form."
msgstr "Affiche un formulaire d'édition de profil utilisateur."
#: ../../<autotemplate>:1 4c2881082edb4939b2915eadb7ab9bef
#: 010d499b81f04fb199ed2ba1931ee496
msgid "The user that the form will edit."
msgstr "L'utilisateur édité par le formulaire."
#: ../../<autotemplate>:1 8866fc8c9c8e4bf6a3a2f677fd272d3a
#: 4f5e9a4af8cd4f50a56d6ba6f8e5e853
msgid ""
"The user profile edition form. Dynamically built according to the user :attr:"
"`~canaille.core.configuration.ACLSettings.READ` and :attr:`~canaille.core."
"configuration.ACLSettings.WRITE` permissions. The available fields are those "
"appearing in *READ* and *WRITE*, those only appearing in *READ* are read-"
"only."
msgstr ""
"Le formulaire d'édition de profil utilisateur. Fabriqué dynamiquement à "
"partir des permissions de :attr:`~canaille.core.configuration.ACLSettings."
"READ` et :attr:`~canaille.core.configuration.ACLSettings.WRITE`. Les champs "
"disponibles sont ceux listés dans *READ* et *WRITE*. Ceux n'apparaissant que "
"dans *READ* sont en lecture seule."
#: ../../<autotemplate>:1 c4f0fe40593a4ffaa798eca30b4aac78
msgid ""
"An email edition form. Used when the :attr:`~canaille.app.features.Features."
"has_email_confirmation` feature is enabled."
msgstr ""
"Un formulaire d'édition d'adresse email. Utilisé lorsque la fonctionnalité "
"de :attr:`confirmation des adresses email <canaille.app.features.Features."
"has_email_confirmation>` est activée."
#: ../../<autotemplate>:1 779dc49b2ca248c4b05af1ddacec02b6
msgid "The profile settings template."
msgstr "Le patron de paramètres de profil utilisateur."
#: ../../<autotemplate>:1 40f89421dbc748bca7235657984eb30f
msgid "Displays the user settings edition form."
msgstr "Affiche le formulaire d'édition des paramètres utilisateur."
#: ../../<autotemplate>:1 ea6777c05f4a4e62b2e2385062c6dc8f
msgid "Whether the editor is allowed to delete the account of the edited user."
msgstr ""
"Indique si l'éditeur a la permission de supprimé le compte de l'utilisateur "
"édité."
#: ../../<autotemplate>:1 d1d48c1e0d9c43dca9c07b4617b609c1
msgid "The password reset template."
msgstr "Le patron de réinitialisation de mot de passe."
#: ../../<autotemplate>:1 61f93db68163494f9443a2954a20d7e9
msgid "Displays a password reset form."
msgstr "Affiche un formulaire de réinitialisation de mot de passe."
#: ../../<autotemplate>:1 5b94f171e4174999b79c79239f3a0e63
msgid "The password reset form."
msgstr "Le formulaire de réinitialisation de mot de passe."
#: ../../<autotemplate>:1 0179c0c333d049749ff14ac90ef2ed73
msgid "The user associated with the URL."
msgstr "L'utilisateur associé à l'URL."
#: ../../<autotemplate>:1 8cbae008b22349cab8e5647fbba5756e
msgid "The secret link hash."
msgstr "Le hachage du lien secret."
#: ../../<autotemplate>:1 b0015de385324c26ab05aaae65cc53bc
msgid "The multi-factor authentication initialization template."
msgstr "Le patron d'initialisation de l'authentification multi-facteurs."
#: ../../<autotemplate>:1 5f61ae62c1f54123872391a3b49eed9f
msgid "Display a QR-code and the OTP secret."
msgstr "Affiche un QR-code et le secret OTP."
#: ../../<autotemplate>:1 1f370c74d1e44aeaa97929094036c1f1
msgid "The user initializing the OTP."
msgstr "L'utilisateur initialisant l'OTP."
#: ../../<autotemplate>:1 a372567c3b3b4ff2a99da5b529c6597a
msgid "The OTP secret."
msgstr "Le secret de l'OTP."
#: ../../<autotemplate>:1 16636bc9c47b44b79d22b301e102acb2
msgid "A QR-code image representing the OTP secret."
msgstr "Une image QR-code représentant le secret OTP."
#: ../../<autotemplate>:1 d164582bacae40b7b2cc7474d6f9fb3e
msgid "The users list."
msgstr "La liste des utilisateurs."
#: ../../<autotemplate>:1 882b8d87c79845379937941cc0c97219
msgid "Displays a paginated list of :class:`~canaille.core.models.User`."
msgstr "Affiche une liste paginée de :class:`~canaille.core.models.User`."
#: ../../<autotemplate>:1 708426b50822492ea31a6c0da17b2c48
#: 125a29d6209f4166bf05a177110f8daf 70d1cef7e598494e868fdb5c6803edda
#: 7cfa3fb4f0f24c93aab1cf503a1a7223
msgid "The paginated list form."
msgstr "Le formulaire de listes paginées."
#: ../../<autotemplate>:1 d56775ed9ad242d4836769c7eedf12f2
msgid "The multi-factor authentication code verification template."
msgstr "Le patron de vérification de codes d'authentification multi-facteurs."
#: ../../<autotemplate>:1 25a01008fa74404d9b4cd104c129c446
msgid "Displays a form that asks for the multi-factor authentication code."
msgstr ""
"Affiche un formulaire qui requière un code d'authentification multi-facteurs."
#: ../../<autotemplate>:1 55e4772a75ef4013bd616b2a95f6f318
msgid "The code verification form."
msgstr "Le formulaire de vérification de code."
#: ../../<autotemplate>:1 fe2303972b36464c930cefc5633d251e
msgid "The username of the user attempting to log-in."
msgstr "L'identifiant de l'utilisateur tentant de se connecter."
#: ../../<autotemplate>:1 28f6d34d343e49d4820c4954328a6831
msgid "The authentication factor method."
msgstr "La méthode d'authentification multi-facteur."
#: ../../canaille/core/endpoints/forms.py:docstring of
#: canaille.core.endpoints.forms.CreateGroupForm:1
#: canaille.core.endpoints.forms.DeleteGroupMemberForm:1
#: canaille.core.endpoints.forms.EditGroupForm:1
#: canaille.core.endpoints.forms.EmailConfirmationForm:1
#: canaille.core.endpoints.forms.FirstLoginForm:1
#: canaille.core.endpoints.forms.ForgottenPasswordForm:1
#: canaille.core.endpoints.forms.InvitationForm:1
#: canaille.core.endpoints.forms.JoinForm:1
#: canaille.core.endpoints.forms.LoginForm:1
#: canaille.core.endpoints.forms.PasswordForm:1
#: canaille.core.endpoints.forms.PasswordResetForm:1
#: canaille.core.endpoints.forms.TwoFactorForm:1
#: ../../canaille/oidc/endpoints/forms.py:docstring
#: canaille.oidc.endpoints.forms.AuthorizeForm:1
#: canaille.oidc.endpoints.forms.ClientAddForm:1
#: canaille.oidc.endpoints.forms.LogoutForm:1
#: canaille.oidc.endpoints.forms.TokenRevokationForm:1
#: 7557d735c06048ccb03d3c4ffed21a1e f5f7ab5ae7484c86a89b57c79ae4d9d6
#: fb8d2b222f4b4d57abf77d5f8faafcc7 d75199c9f7c0404e8853973b78f0215e
#: 9e95fee049e0435cbd4159781f1edd50 2cb77273b20c4212831821fbd01496a6
#: 8c8d1dee54184a78812ac3d859aa7038 e460257810ed4a33a7cb85fe807494ad
#: ec61c50a963d4d8fb3aa676239db3c5c b9313e7cc1e546e0839ac8bd0fa1760e
#: 06303d0c8056424983870c202d19074f 5a75a23845964be5b79acd05e664377a
#: 01c7c817569e47c991d87c04991e1b93 994f96504a2d4c4eae1c01b3ef956af4
#: 69946c83cd194c83be75b93e19961443 364071d215404e7197f25862ad916888
msgid "Bases: :py:class:`~canaille.app.forms.Form`"
msgstr "Bases: :py:class:`~canaille.app.forms.Form`"
#: ../../canaille/core/endpoints/forms.py:docstring of
#: canaille.core.endpoints.forms.CreateGroupForm:1
#: bce83bbe98ba42a8aa85ba83608565c9
msgid "The group creation form."
msgstr "Le formulaire de création de groupes."
#: ../../canaille/core/endpoints/forms.py:docstring of
#: canaille.core.endpoints.forms.EditGroupForm:1
#: 6bc2bd87056e48ce9974042c0d00bfbc
msgid "The group edition form."
msgstr "Le formulaire d'édition de groupes."
#: ../../canaille/core/endpoints/forms.py:docstring of
#: canaille.core.endpoints.forms.InvitationForm:1
#: a909bb654e4c4565ac1ea27f28611b10
msgid "The user invitation form."
msgstr "Le formulaire d'invitation d'utilisateurs."
#: ../references/templates.rst:50 1e8006623dfc46f3871671308d57d286
msgid "The OIDC templates are displayed in the OIDC consent pages."
msgstr "Les patrons OIDC sont affichés lors des étapes de consentement OIDC."
#: ../../<autotemplate>:1 7b424e4d64804074874788b1d21f10c4
msgid "The list of authorizations."
msgstr "La liste des autorisations."
#: ../../<autotemplate>:1 49a2e809fc454e9eb81444bfa5aea2fd
msgid ""
"Displays a paginated list of :class:`~canaille.oidc.basemodels."
"AuthorizationCode`."
msgstr ""
"Affiche une liste paginées d':class:`~canaille.oidc.basemodels."
"AuthorizationCode`."
#: ../../<autotemplate>:1 59ce05b851854f99b0eb2a80c72487c0
msgid "Authorization details template."
msgstr "Patron de détails d'un code d'autorisation."
#: ../../<autotemplate>:1 b4c494183b864ab2a7c99778f68941c5
msgid ""
"Displays details about an :class:`~canaille.oidc.basemodels."
"AuthorizationCode`."
msgstr ""
"Affiche les détails d'un :class:`~canaille.oidc.basemodels."
"AuthorizationCode`."
#: ../../<autotemplate>:1 5044fed4cfb1448fa17f25b4328f8bc6
msgid "The detailed authorization."
msgstr "Le code d'autorisation détaillé."
#: ../../<autotemplate>:1 f737bff0908640b78e347324f2c5aa42
msgid "Consent request template."
msgstr "Le patron de requête de consentement."
#: ../../<autotemplate>:1 b34520f53fde44cf94788a8c83ea3f20
msgid ""
"This templates is displayed to users accessing a new application that "
"requests to access to personal information. It lists the personal "
"information requested by the application, and offers the user to accept or "
"decline."
msgstr ""
"Ce patron est affiché aux utilisateurs accédant à une nouvelle application "
"qui requête l'accès à des informations personnelles. Il liste les "
"informations personnelles demandées, et propose à l'utilisateur d'accepter "
"ou de refuser."
#: ../../<autotemplate>:1 9585274c74414512be370fea928f1c78
msgid "The user whose consent is asked."
msgstr "L'utilisateur dont le consentement est requis."
#: ../../<autotemplate>:1 5697b00cb677424f8c60d2ac42ce8e35
msgid "The OIDC grant."
msgstr "Le flux OIDC."
#: ../../<autotemplate>:1 54d27cd742d645eea8d2b8d20258580d
msgid "The client addition template."
msgstr "Le patron d'ajout d'application cliente."
#: ../../<autotemplate>:1 e38ade13b3f34dcd8f06043609e0cf87
msgid ""
"Displays a form to create a new :class:`~canaille.oidc.basemodels.Client`."
msgstr ""
"Affiche un formulaire de création de :class:`~canaille.oidc.basemodels."
"Client`."
#: ../../<autotemplate>:1 5a6e238a9dd04938b14706662f3ba7a6
#: ab09685570cc4cfcb98550e38e2f08cd
msgid "The client creation form."
msgstr "Le formulaire de création de client."
#: ../../<autotemplate>:1 52c08a4adbab4524b7fe5b67e6fe2253
msgid "The client edition template."
msgstr "Le formulaire d'édition de client."
#: ../../<autotemplate>:1 7b0dfa914fa641d984e21ef0fad3112e
msgid "Displays a form to edit a :class:`~canaille.oidc.basemodels.Client`."
msgstr ""
"Affiche un formulaire d'édition de :class:`~canaille.oidc.basemodels.Client`."
#: ../../<autotemplate>:1 aef123f8ca564e2dac9acc501f3f26e2
msgid "The edited client."
msgstr "Le client édité."
#: ../../<autotemplate>:1 b22265b671f74acdbc32dde7f2d90d9a
msgid "The list of OIDC clients."
msgstr "La liste des clients OIDC."
#: ../../<autotemplate>:1 6c42ffb024e24aea9e96df3dd65675d1
msgid "Displays a paginated list of :class:`~canaille.oidc.basemodels.Client`."
msgstr ""
"Affiche une liste paginée de :class:`~canaille.oidc.basemodels.Client`."
#: ../../<autotemplate>:1 6fd5e350b6974fc3866228bbbbce8734
msgid "The OIDC logout template."
msgstr "Le patron de déconnexion OIDC."
#: ../../<autotemplate>:1 d2d905e9b7c649ceacf130530b983fc2
msgid ""
"Used during OIDC RP-initiated logout, when an user confirmation is needed."
msgstr ""
"Utilisé durant la *déconnexion initiée par les applications clients OIDC*, "
"lorsque le consentement de l'utilisateur est nécessaire."
#: ../../<autotemplate>:1 c5ee6b63b12d450c839d00e524666077
msgid "The logout form."
msgstr "Le formulaire de déconnexion."
#: ../../<autotemplate>:1 b9f9a3b61a7e4ec18d7758b91c7021a2
msgid "The client requesting the logout."
msgstr "Le client requérant la déconnexion."
#: ../../<autotemplate>:1 43ad2b30770e4df0af73574b37d2aa2a
msgid "The preconsented applications list."
msgstr "La liste d'application avec consentement implicite."
#: ../../<autotemplate>:1 c702a3f0221d487499921bc257cceca5
msgid ""
"Display a list of trusted clients for which it is implied that users don't "
"need to explicitly give their consent."
msgstr ""
"Affiche une liste d'applications clientes de confiance dont il est établi "
"que les utilisateurs n'ont pas besoin de fournir un consentement explicite."
#: ../../<autotemplate>:1 a6823066956c4fc2b276df9d83388b4d
msgid "Description of the OIDC scopes."
msgstr "Description des *scopes* OIDC."
#: ../../<autotemplate>:1 707d1dfb66c04f43aa1c3a325604c102
msgid "The scopes to hide."
msgstr "Les *scopes* à masquer."
#: ../../<autotemplate>:1 cd04c23769714fc283d7545736cf76df
msgid "The list of implicitly consented clients."
msgstr "La liste des clients avec consentements implicite."
#: ../../<autotemplate>:1 82ad0acba372414b871d130c914abfb7
msgid "The number of consents."
msgstr "Le nombre de consentements."
#: ../../<autotemplate>:1 daf494895b0c4ccca750e702b80f6169
msgid "The number of preconsented clients."
msgstr "Le nombre de clients avec consentement implicite."
#: ../../<autotemplate>:1 8863e96ede17429c8c8290507298f75e
msgid "The list of tokens."
msgstr "La liste des jetons."
#: ../../<autotemplate>:1 9ee471727d394a3ca69aa57a1d1ce2a0
msgid "Displays a paginated list of :class:`~canaille.oidc.basemodels.Token`."
msgstr "Affiche une liste paginée de :class:`~canaille.oidc.basemodels.Token`."
#: ../../<autotemplate>:1 6f8e482728da4cc4a7cc230406724ac9
msgid "The token edition template."
msgstr "Le patron d'édition de jetons."
#: ../../<autotemplate>:1 b032ea266259462482364e665f4e8d7d
msgid ""
"Displays the details of a token :class:`~canaille.oidc.basemodels.Token`."
msgstr "Affiche les détails d'un :class:`~canaille.oidc.basemodels.Token`."
#: ../../<autotemplate>:1 4f81edbeefee48508c2f8b6cb1e2e197
msgid "A token revokation form."
msgstr "Un formulaire de révocation de jeton."
#: ../tutorial/databases.rst:4 5c79df402123406db2947c3941513130
msgid ""
"Canaille can read and save data in different databases. This page presents "
"the different database backends and their specificities:"
msgstr ""
"Canaille peut lire et écrire dans différentes bases de données. Cette page "
"présente les differents « backends » des bases de données et leurs "
"spécificités :"
#: ../tutorial/databases.rst:10 fb804421e3114ddeba964dd491d4930f
msgid ""
"Canaille comes with a lightweight inmemory backend by default. It is used "
"when no other backend has been configured."
msgstr ""
"Canaille est fourni avec un«  backend » léger en mémoire par défaut. Il est "
"utilisé lorsqu'aucun autre backend n'a été configuré."
#: ../tutorial/databases.rst:13 68262ac3da6b430584cf68823fef7dce
msgid ""
"This backend is only for test purpose and should not be used in production "
"environments."
msgstr ""
"Ce backend est destiné uniquement à des fins de test et ne devrait pas être "
"utilisé dans des environnements de production."
#: ../tutorial/databases.rst:18 87f0d130dcaa4f8190956d5d1a772945
msgid ""
"Canaille can use any database supported by `SQLAlchemy <https://www."
"sqlalchemy.org/>`_, such as sqlite, postgresql or mariadb."
msgstr ""
"Canaille peut utiliser n'importe quelle base de données acceptées par "
"`SQLAlchemy <https://www.sqlalchemy.org/>`_, comme sqlite, postgresql ou "
"mariadb."
#: ../tutorial/databases.rst:24 b8d6bb4ac80d41b08f0544154cdf26f4
msgid ""
"It is used when the ``CANAILLE_SQL`` configuration parameter is defined. For "
"instance:"
msgstr ""
"Il est utilisé quand le paramètre de configuration ``CANAILLE_SQL`` est "
"défini. Par exemple :"
#: ../tutorial/databases.rst:32 0ace17711acd4f70a5fddee46acd1f29
msgid ""
"You can find more details on the SQL configuration in the :class:`dedicated "
"section <canaille.backends.sql.configuration.SQLSettings>`."
msgstr ""
"Vous pouvez trouver plus de détails sur la configuration SQL dans la :class:"
"`dedicated section <canaille.backends.sql.configuration.SQLSettings>`."
#: ../tutorial/databases.rst:35 10baeaf0e5e64feba07dc33caa1c50ff
#, fuzzy
#| msgid "Configuration"
msgid "Migrations"
msgstr "Configuration"
#: ../tutorial/databases.rst:37 eddaa2b6515740d895284b1d2b49955a
msgid ""
"By default, migrations are applied when you run the web application. You can "
"disable this behavior with the :attr:`~canaille.backends.sql.configuration."
"SQLSettings.AUTO_MIGRATE` setting. Migrations are not automatically applied "
"with the use of the CLI though."
msgstr ""
#: ../tutorial/databases.rst:41 dc824fe2ce9047a98a90bc5ac22b09d9
msgid ""
"Migrations are done with :doc:`flask-alembic <flask-alembic:use>`, that "
"provides a dedicated CLI to manually tune migrations. You can check the :doc:"
"`flask-alembic documentation <flask-alembic:index>` and the ``canaille db`` "
"command line if you are in trouble."
msgstr ""
#: ../tutorial/databases.rst:47 8a13bd9f5910475bb70637ce82181eb9
msgid ""
"Canaille can use OpenLDAP as its main database. It is used when the "
"``CANAILLE_LDAP`` configuration parameter is defined. For instance:"
msgstr ""
"Canaille peut utiliser OpenLDAP comme base de données principale. Elle est "
"utilisée quand le paramètre de configuration ``CANAILLE_LDAP`` est défini. "
"Par exemple :"
#: ../tutorial/databases.rst:65 476b7dba11aa40b09e46cbfc9fe108d8
msgid ""
"If you want to use TOTP/HOTP authentication, you will need to add the "
"``oathHOTPToken`` class to the user:"
msgstr ""
"Si vous voulez utiliser l'authentification TOTP/HOTP, vous devrez ajouter la "
"classe ``oathHOTPToken`` à l'utilisateur :"
#: ../tutorial/databases.rst:71 4e72e945162d43e3a2dddb9cc73c3dd7
msgid ""
"You can find more details on the LDAP configuration in the :class:`dedicated "
"section <canaille.backends.ldap.configuration.LDAPSettings>`."
msgstr ""
"Vous pouvez trouver plus de détails sur la configuration LDAP dans la :class:"
"`dedicated section <canaille.backends.ldap.configuration.LDAPSettings>`."
#: ../tutorial/databases.rst:74 ae34abf5095c4902b974c7371e352c0f
msgid ""
"Currently, only the ``inetOrgPerson``, ``oathHOTPToken`` and "
"``groupOfNames`` schemas have been tested. If you want to use different "
"schemas or LDAP servers, adaptations may be needed. Patches are welcome."
msgstr ""
"Actuellement, seuls les schémas ``inetOrgPerson``, ``oathHOTPToken`` et "
"``groupOfNames`` ont été testés. Si vous voulez utiliser différents schémas "
"ou serveurs LDAP, des adaptations peuvent être nécessaires. Toute "
"amélioration est bienvenue."
#: ../tutorial/databases.rst:79 50561ef9299b4b178f99b9caa13aebb0
msgid "OpenLDAP overlays integration"
msgstr "Intégration de surcouches (« overlays ») OpenLDAP"
#: ../tutorial/databases.rst:81 3bfe9562b46643b19dee13f11b843626
msgid "Canaille can integrate with several OpenLDAP overlays:"
msgstr "Canaille peut s'intégrer avec plusieurs « overlays » OpenLDAP :"
#: ../tutorial/databases.rst:84 57a61bc80e964a168c3cfde20793fddf
msgid "memberof / refint"
msgstr "memberof / refint"
#: ../tutorial/databases.rst:86 d0198ad99ed248f18c75fb6d20f84945
msgid ""
"`memberof <https://www.openldap.org/doc/admin26/overlays."
"html#Reverse%20Group%20Membership%20Maintenance>`_ and `refint <https://www."
"openldap.org/doc/admin26/overlays.html#Referential%20Integrity>`_ overlays "
"are needed for the Canaille group membership to work correctly."
msgstr ""
"les greffons `memberof <https://www.openldap.org/doc/admin26/overlays."
"html#Reverse%20Group%20Membership%20Maintenance>`_ et `refint <https://www."
"openldap.org/doc/admin26/overlays.html#Referential%20Integrity>`_ sont "
"nécessaires pour que l'appartenance d'un utilisateur à un groupe fonctionne "
"correctement dans Canaille."
#: ../tutorial/databases.rst:90 ../tutorial/databases.rst:113
#: ../tutorial/databases.rst:136 20e9067e28e145bcabd5174d716a9ef9
msgid "Here is a configuration example compatible with canaille:"
msgstr "Voici un exemple de configuration compatible avec canaille :"
#: ../tutorial/databases.rst:92 5dca73b931c0468eb5bbe6c6446dafe8
msgid "memberof-config.ldif"
msgstr "memberof-config.ldif"
#: ../tutorial/databases.rst:96 5fb07fee21a64576b0764751cd206ab3
msgid "refint-config.ldif"
msgstr "refint-config.ldif"
#: ../tutorial/databases.rst:100 ../tutorial/databases.rst:123
#: c7c63b9c7d0f405ea86fe9da06a5a7be
msgid "You can adapt and load those configuration files with:"
msgstr "Vous pouvez adapter et charger ces fichiers de configuration avec :"
#: ../tutorial/databases.rst:109 193c7d9ce5224c5082f1d1802619c7f2
msgid "ppolicy"
msgstr "ppolicy"
#: ../tutorial/databases.rst:111 dd723bbdded6481eb77a87638b7043e8
msgid ""
"If the `ppolicy <https://www.ietf.org/archive/id/draft-behera-ldap-password-"
"policy-11.html>`_ overlay is configured and the ``pwdEndTime`` attribute is "
"available (since OpenLDAP 2.6), then account locking support will be enabled "
"in canaille. To allow users to manage account expiration, they need to have "
"a *write* permission on the :attr:`~canaille.core.models.User.lock_date` "
"attribute."
msgstr ""
"Si l'overlay `ppolicy <https://www.ietf.org/archive/id/draft-behera-ldap-"
"password-policy-11.html>`_ est configuré et que l'attribut ``pwdEndTime`` "
"est disponible (depuis OpenLDAP 2.6), alors la gestion du bloquage de compte "
"sera activée dans Canaille. Pour permettre aux utilisateurs de gérer "
"l'expiration de leur compte, ils ont besoin du droit d'*écriture* sur "
"l'attribut :attr:`~canaille.core.models.User.lock_date`."
#: ../tutorial/databases.rst:115 71e349aa00bd4fdead29c503c330fe1d
msgid "ppolicy-config.ldif"
msgstr "ppolicy-config.ldif"
#: ../tutorial/databases.rst:119 d2a999e876784f7fba94ee1c31e67954
msgid "ppolicy.ldif"
msgstr "ppolicy.ldif"
#: ../tutorial/databases.rst:132 ffcc75b8614c45f5a45c20886313db2b
msgid "otp"
msgstr "otp"
#: ../tutorial/databases.rst:134 d2aa3bda5d4c4f77807eecedf1a8f7ad
msgid ""
"If the `otp <https://www.openldap.org/software/man.cgi?query=slapo-otp>`_ "
"overlay is configured, you will be able to add one-time password "
"authentication in canaille."
msgstr ""
"Si l'overlay `otp <https://www.openldap.org/software/man.cgi?query=slapo-"
"otp>`_ est configuré, vous pourrez ajouter l'authentification par mot de "
"passe unique (OTP) dans Canaille."
#: ../tutorial/databases.rst:138 2a30eb140e2e4c97b8da3144326b6086
msgid "otp-config.ldif"
msgstr "otp-config.ldif"
#: ../tutorial/databases.rst:142 64b6e0b40dfd4236930973e51e84ce52
msgid "You can adapt and load this configuration file with:"
msgstr "Vous pouvez adapter et charger ce fichier de configuration avec :"
#: ../tutorial/databases.rst:149 e93012fc7b054366b3c4a354f8a9bf92
msgid "You will also need to add the ``oathHOTPToken`` class to the user:"
msgstr ""
"Vous aurez aussi besoin d'ajouter la classe ``oathHOTPToken`` à "
"l'utilisateur :"
#: ../tutorial/deployment.rst:2 513d899ef6dc4daa8d4d1c80b8fe09db
msgid "Deployment"
msgstr "Déploiement"
#: ../tutorial/deployment.rst:5 26a94e873f1d47cfbafd6540e505d700
msgid "Application service"
msgstr "Serveur dapplication"
#: ../tutorial/deployment.rst:7 93f18dfd47d74293b2d4395f986d2df8
msgid ""
"After having finished Canaille installation you have to run it in a WSGI "
"application server. Here are some WSGI server configuration examples you can "
"pick. Do not forget to update the paths."
msgstr ""
"Après avoir fini l'installation de Canaille, vous devez l'exécuter dans un "
"serveur d'application WSGI. Voici des exemples de configuration de serveur "
"WSGI que vous pouvez utiliser. Pensez à adapter les chemins."
#: ../tutorial/deployment.rst:11 e2f76491a3e1478ba424f5edd746c002
msgid "gunicorn"
msgstr "gunicorn"
#: ../tutorial/deployment.rst:15 82934b4c9e8c4ada9337c45654f68b77
msgid "Write a gunicorn configuration sample file."
msgstr "Écrire un fichier d'exemple de configuration gunicorn."
#: ../tutorial/deployment.rst:18 9dd0ac25fb264f0597b815ce11a6bfb3
msgid "uwsgi"
msgstr "uwsgi"
#: ../tutorial/deployment.rst:42 962996fed1da4efca4a4a02feebd33ef
msgid "Webserver"
msgstr "Serveur web"
#: ../tutorial/deployment.rst:44 47141e5a9bde40d2965553cc49bfe1ee
msgid ""
"Now you have to plug your WSGI application server to your webserver so it is "
"accessible on the internet. Here are some webserver configuration examples "
"you can pick:"
msgstr ""
"Maintenant vous devez brancher votre serveur d'application WSGI à votre "
"serveur web pour qu'il soit accessible sur internet. Voici quelques exemples "
"de configuration de serveur web que vous pouvez utiliser :"
#: ../tutorial/deployment.rst:48 820201befbcc48c6b3361229592dc180
msgid "Nginx"
msgstr "Nginx"
#: ../tutorial/deployment.rst:114 e2214f07b495472f96579f40c1db65fa
msgid "Apache"
msgstr "Apache"
#: ../tutorial/deployment.rst:153 9cbe3d556cc7426393b232f3d92365fa
msgid "Recurrent jobs"
msgstr "Tâches récurrentes"
#: ../tutorial/deployment.rst:155 e8352b7061ff460a8c5e98ab8df6b855
msgid ""
"You might want to clean up your database to avoid it growing too much. You "
"can regularly delete expired tokens and authorization codes with:"
msgstr ""
"Vous pourriez vouloir nettoyer la base de données pour limiter sa "
"croissance. Vous pouvez supprimer régulièrement les jetons expirés et les "
"code d'autorisation avec :"
#: ../tutorial/deployment.rst:164 41e645107b2f4f429d10e13fdd10dfe3
msgid "Webfinger"
msgstr "Webfinger"
#: ../tutorial/deployment.rst:166 f9c13500454c4b66a5e07e4daf8ce527
msgid ""
"You may want to configure a `WebFinger`_ endpoint on your main website to "
"allow the automatic discovery of your Canaille installation based on the "
"account name of one of your users. For instance, suppose your domain is "
"``mydomain.example`` and your Canaille domain is ``auth.mydomain.example`` "
"and there is a user ``john.doe``. A third-party application could require to "
"authenticate the user and ask them for a user account. The user would give "
"their account ``john.doe@mydomain.example``, then the application would "
"perform a WebFinger request at ``https://mydomain.example/.well-known/"
"webfinger`` and the response would contain the address of the authentication "
"server ``https://auth.mydomain.example``. With this information the third "
"party application can redirect the user to the Canaille authentication page."
msgstr ""
"Vous pourriez vouloir configurer un terminal `WebFinger`_ sur votre site web "
"principal pour permettre la découverte automatique de votre installation "
"Canaille basée sur le nom de compte d'un de vos utilisateurs. Par exemple, "
"supposons que votre domaine soit ``mydomain.example`` et que votre domaine "
"Canaille soit ``auth.mydomain.example`` et qu'il existe un utilisateur "
"``john.doe``. Une application tierce pourrait avoir besoin d'authentifier "
"l'utilisateur et lui demander son compte. L'utilisateur fournirait son "
"compte ``john.doe@mydomain.example``, alors l'application exécuterait une "
"requête WebFinger sur ``https://mydomain.example/.well-known/webfinger`` et "
"la réponse contiendrait l'adresse du serveur d'authentification ``https://"
"auth.mydomain.example``. Avec cette information, l'application tierce "
"pourrait rediriger l'utilisateur vers la page d'authentification Canaille."
#: ../tutorial/deployment.rst:168 4ab7ac8eeb9148c9a28a3e22f40fb859
msgid ""
"The difficulty here is that the WebFinger endpoint must be hosted at the top-"
"level domain (i.e. ``mydomain.example``) while the authentication server "
"might be hosted on a sublevel (i.e. ``auth.mydomain.example``). Canaille "
"provides a WebFinger endpoint, but if it is not hosted at the top-level "
"domain, a web redirection is required on the ``/.well-known/webfinger`` path."
msgstr ""
"La difficulté est que le terminal WebFinger doit être hébergé sur le domaine "
"de plus haut niveau (c'est-à-dire ``mydomain.example``) alors que le serveur "
"d'authentification peut être hébergé sur un sous-niveau(par exemple ``auth."
"mydomain.example``). Canaille fournit un terminal WebFinger, mais il n'est "
"pas hébergé sur le domaine de plus haut niveau, une redirection est "
"obligatoire sur le chemin ``/.well-known/webfinger``."
#: ../tutorial/deployment.rst:170 88e080b374de43a383b7eba9c2965280
msgid "Here are configuration examples for Nginx or Apache:"
msgstr "Voici des exemples de configuration pour Nginx ou Apache :"
#: ../tutorial/deployment.rst:172 a88231c631134524a42f216c40811164
msgid "Nginx webfinger configuration for a top level domain"
msgstr "Configuration webfinger Nginx pour le domaine de plus haut niveau"
#: ../tutorial/deployment.rst:181 808e93094e5b413e8e1a4963bdb36b14
msgid "Apache webfinger configuration for a top level domain"
msgstr "Configuration webfinger Apache pour le domaine de plus haut niveau"
#: ../tutorial/deployment.rst:191 c15c08cbe5f945c8898c5d23d90362d4
msgid "Create the first user"
msgstr "Créer le premier utilisateur"
#: ../tutorial/deployment.rst:193 4d268375e5ca48bfa9eb90fc4e3ffb44
msgid ""
"Once canaille is installed, soon enough you will need to add users. To "
"create your first user you can use the :ref:`canaille create <cli_create>` "
"CLI."
msgstr ""
"Une fois Canaille installé, vous allez assez rapidement avoir besoin "
"d'ajouter des utilisateurs. Pour créer votre premier utilisateur, vous "
"pouvez utiliser la ligne de commande :ref:`canaille create <cli_create>`."
#: ../tutorial/index.rst:2 b3789b9e712b4beeb246f85f9c49d48b
msgid "Tutorial"
msgstr "Tutoriel"
#: ../tutorial/install.rst:2 06039f8070f844df9fbda359223ebd9d
msgid "Installation"
msgstr "Installation"
#: ../tutorial/install.rst:6 4e3bbb4435314752bfbc859bd161dadd
msgid ""
"Canaille is under heavy development and may not fit a production environment "
"yet."
msgstr ""
"Canaille est en cours de développement et peut ne pas être encore prêt pour "
"un environnement de production."
#: ../tutorial/install.rst:8 8969df93b0b149f181069407f24c4d0f
msgid ""
"The installation of canaille consist in several steps, some of which you can "
"do manually or with command line tool:"
msgstr ""
"L'installation de Canaille consiste en plusieurs étapes, certaines sont "
"faisables manuellement ou l'outil en ligne de commande :"
#: ../tutorial/install.rst:11 c23cda31d355445f9fee914f862a52a0
msgid "Get the code"
msgstr "Récupérer le code source"
#: ../tutorial/install.rst:13 3d08ef96a8624845a45354bb4d39476d
msgid ""
"As the moment there is no distribution package for canaille. However, it can "
"be installed with the ``pip`` package manager. Let us choose a place for the "
"canaille environment, like ``/opt/canaille/env``."
msgstr ""
"Actuellement, les distributions ne fournissent pas de paquet pour Canaille. "
"Cependant, il peut être installé avec le gestionnaire de paquet ``pppip``. "
"Choisissons un endroit pour l'environnement de Canaille, comme ``/opt/"
"canaille/env``."
#: ../tutorial/install.rst:24 7a1b423ba1a84e3b89da2a77f850bae3
msgid "Extras"
msgstr "Extras"
#: ../tutorial/install.rst:26 84c6d479fc1e44129da6841676091c19
msgid "Canaille provides different package options:"
msgstr "Canaille fournit différentes options de paquet :"
#: ../tutorial/install.rst:28 7ec187fcd85a4d31b8db333db6173f83
msgid "`front` provides all the things needed to produce the user interface;"
msgstr ""
"`front` fournit tous les éléments nécessaires pour produire l'interface "
"utilisateur;"
#: ../tutorial/install.rst:29 fa166a769fee47e98b04ca3bc5baed57
msgid "`oidc` provides the dependencies to perform OAuth2/OIDC authentication;"
msgstr ""
"`oidc` fournit les dépendances pour exécuter une authentification OAuth2/"
"OIDC;"
#: ../tutorial/install.rst:30 ccedd8c1040a46feba1f50af045d6387
msgid "`ldap` provides the dependencies to enable the LDAP backend;"
msgstr "`ldap` fournit les dépendances pour activer le backend LDAP;"
#: ../tutorial/install.rst:31 6c5366eddd4a464ab031a8a0c427de48
msgid "`sqlite` provides the dependencies to enable the SQLite backend;"
msgstr "`sqlite` fournit les dépendances pour activer le backend SQLite;"
#: ../tutorial/install.rst:32 a92c054fbc9d4dfdafe81c1c3afdefe8
msgid ""
"`postgresql` provides the dependencies to enable the PostgreSQL backend;"
msgstr ""
"`postgresql` fournit les dépendances pour activer le backend PostgreSQL :;"
#: ../tutorial/install.rst:33 ffa21589e73f4ff89df7807eba77d409
msgid "`mysql` provides the dependencies to enable the MySQL backend;"
msgstr "`mysql` fournit les dépendances pour activer le backend MySQL;"
#: ../tutorial/install.rst:34 7f6b4a5423bd4119a59432e27daa023f
msgid "`sentry` provides sentry integration to watch Canaille exceptions;"
msgstr ""
"`sentry` fournit l'intégration Sentry pour visualiser les exceptions "
"survenues dans Canaille;"
#: ../tutorial/install.rst:35 b817b267e4d54154adb9ad22bdfa5d06
msgid ""
"`otp` provides the dependencies to enable one-time password authentication;"
msgstr ""
"`otp` fournit les dépendances pour activer l'authentification à mot de passe "
"unique (OTP);"
#: ../tutorial/install.rst:36 6c6fd587ec504c20811d525a2c0a0bc2
msgid "`sms` provides the dependencies to enable sms sending;"
msgstr "`sms` fournit les dépendances pour activer l'envoi de SMS;"
#: ../tutorial/install.rst:37 ee7eda989a3c4aaeb902d0f66f3fea3d
msgid "`all` provides all the extras above."
msgstr "`all` fournit tous les éléments supplémentaires ci-dessus."
#: ../tutorial/install.rst:39 29ca33d87d8f46618e3ea5f89c4a63f1
msgid "They can be installed with:"
msgstr "Ils peuvent être installés avec :"
#: ../tutorial/install.rst:46 379636cc71c64f659bf2ebd1a5116854
msgid "Configure"
msgstr "Configurer"
#: ../tutorial/install.rst:48 6a6c9b6a1d9d42e3899e0b689311389a
msgid ""
"Choose a path where to store your configuration file. You can pass any "
"configuration path with the ``CONFIG`` environment variable."
msgstr ""
"Choissisez un chemin où enregistrer le fichier de configuration. Vous pouvez "
"passer n'importe quel chemin de configuration avec la variable "
"d'environnement ``CONFING``."
#: ../tutorial/install.rst:56 f710879df41b4abebcfdc30a67527d36
msgid ""
"You should then edit your configuration file to adapt the values to your "
"needs. Look at the configuration details in the :doc:`configuration <../"
"references/configuration>` page."
msgstr ""
"Vous devriez alors modifier votre fichier de configuration pour adapter les "
"valeurs à vos besoins. Regardez les détails de configuration dans la page :"
"doc:`configuration <../references/configuration>`."
#: ../tutorial/install.rst:59 c973e8ccd9364877bf39706b06656503
msgid "Install"
msgstr "Installer"
#: ../tutorial/install.rst:61 64701944f4474d878ae759bd7e578bd9
msgid ""
"The :ref:`install command <cli_install>` will apply most of the things "
"needed to get Canaille working. Depending on the configured :doc:`database "
"<databases>` it will create the SQL tables, or install the LDAP schemas for "
"instance."
msgstr ""
"La :ref:`commande d'installation <cli_install>` appliquera la plupart des "
"choses nécessaires au fonctionnement de Canaille. Selon la :doc:`base de "
"données <databases>` configurée, il créera les tables SQL ou installera les "
"schémas LDAP par exemple."
#: ../tutorial/install.rst:70 f00606bdf1284a4f8014282a323a6784
msgid "Check"
msgstr "Vérifier"
#: ../tutorial/install.rst:72 ccda38335f984f02a53d28b9a045e4cd
msgid ""
"After a manual installation, you can check your configuration file using "
"the :ref:`check command <cli_install>`:"
msgstr ""
"Après une installation manuelle, vous pouvez vérifier votre fichier de "
"configuration en utilisant la :ref:`commande check <cli_install>` :"
#: ../tutorial/provisioning.rst:2 9d7ccfd105804dfca14df19021f0bb00
msgid "Provisioning"
msgstr "Provisionnement"
#: ../tutorial/provisioning.rst:4 484d232863c540ef8a27fd528e3a60f1
msgid ""
"Canaille partially implement the :rfc:`SCIM <7642>` provisioning protocol at "
"the ``/scim/v2`` endpoint."
msgstr ""
"Canaille implémente partiellement le protocole de provisionnement :rfc:`SCIM "
"<7642>` au terminal ``/scim/v2``."
#: ../tutorial/provisioning.rst:6 acd9d2bffc9042008283550b5dc7271a
msgid ""
"At the moment, only the server part is implemented. It allows client "
"applications to manage user profiles directly in Canaille."
msgstr ""
"Actuellement, seule la partie serveur est réalisée. Elle permet aux "
"applications clientes de gérer les profils utilisateur directement dans "
"Canaille."
#: ../tutorial/provisioning.rst:11 f96f385b8bdd453fa8dc5dfad64571d4
msgid ""
"Some SCIM :ref:`features and endpoints <scim_unimplemented>` are not "
"implemented. In addition to these, Canaille will implement in the future:"
msgstr ""
"Certaines :ref:`fonctionnalités et terminaux <scim_unimplemented>` de SCIM "
"ne sont pas implémentées. En plus de celles-ci, Canaille implémentera dans "
"le future :"
#: ../tutorial/provisioning.rst:14 2d6934f2d1de4397a5cfc88af92433ce
msgid ""
"Access control for clients on the SCIM API endpoint, to finely manage "
"permissions depending on clients."
msgstr ""
"Contrôle d'accès pour les clients sur le terminal API de SCIM, pour gérer "
"finement les droits en fonction des clients."
#: ../tutorial/provisioning.rst:15 350b84195c284bdd9ae93eed7e2d47ff
msgid ""
"Client-side implementation, to broadcast user and groups modifications among "
"all the clients."
msgstr ""
"Implémentation côté client, pour envoyer les modification d'utilisateur et "
"de groupes à tous les clients."
#: ../tutorial/provisioning.rst:20 12f015c76be64351862c7d36a87f4ce3
msgid ""
"To allow clients to access the SCIM API, the client must have the "
"``client_credentials`` grant type configured. This allows clients to ask an "
"authentication token on their own behalf and use this token to perform "
"queries. Currently, user tokens are not supported."
msgstr ""
"Pour permettre aux clients d'accéder à l'API SCIM, le client doit avoir le "
"type d'autorisation ``client_credentials`` configuré. Cela permet aux "
"clients de demander un jeton d'authentification pour eux-même et d'utiliser "
"ce jeton pour exécuter des requêtes. Actuellement, les jetons utilisateurs "
"ne sont pas disponibles."
#: ../tutorial/provisioning.rst:24 d039cadee3494ada9106f9226b224ab5
msgid ""
"Then the :attr:`CANAILLE_SCIM.ENABLE_SERVER <canaille.scim.configuration."
"SCIMSettings.ENABLE_SERVER>` configuration parameter must be enabled."
msgstr ""
"Alors le paramètre de configuration :attr:`CANAILLE_SCIM.ENABLE_SERVER "
"<canaille.scim.configuration.SCIMSettings.ENABLE_SERVER>` doit être activé."
#: ../tutorial/provisioning.rst:33 f3a7fcf65cc545c4a7ad8ac2009b465e
msgid "Implementation details"
msgstr "Détails d'implémentation"
#: ../tutorial/provisioning.rst:35 2d162e0038714a3b9aea13a19a098bee
msgid ""
"Due to technical reasons, the Canaille *User* and *Group* resources "
"implementation subtly differs from the :rfc:`RFC7643 <7643>` definitions:"
msgstr ""
"Pour des raisons techniques, les implémentations des resources *User* et "
"*Group* diffèrent subtilement entre Canaille et la :rfc:`RFC7643 <7643>` :"
#: ../tutorial/provisioning.rst:37 c8d0951c350640639249f99950282b08
msgid "``User.userName`` is immutable (while it is read-write in RFC7643)."
msgstr ""
"``User.userName`` est immuable (tandis qu'il est en lecture-écriture dans la "
"RFC7643)."
#: ../tutorial/provisioning.rst:38 76d54c1a256240818c4a5f84d43bf76f
msgid "``User.name.familyName`` is required (while it is optional in RFC7643)."
msgstr ""
"``User.name.familyName`` est requis (tandis qu'il est optionnel dans la "
"RFC7643)."
#: ../tutorial/provisioning.rst:39 ac544d900c0249048f073753be25a317
msgid "``Group.displayName`` is required (while it is optional in RFC7643)."
msgstr ""
"``Group.displayName`` est requis (tandis qu'il est optionnel dans la "
"RFC7643)."
#: ../tutorial/provisioning.rst:40 c76213daf50f40c2852de2fdec93ba48
msgid ""
"``Group.members`` is required (while it is optional in RFC7643), i.e. groups "
"cannot be empty."
msgstr ""
"``Group.members`` est requis (tandis qu'il est optionnel dans la RFC7643), "
"c'est à dire que les groupes ne peuvent être vides."
#: ../tutorial/provisioning.rst:43 58496f192f4c4b94b70c8a760525369c
msgid "Debugging"
msgstr "Débogage"
#: ../tutorial/provisioning.rst:45 faa6b4b7a057496abc9d96efcca72e82
msgid ""
"To check what data are exposed through the Canaille SCIM API, you need a "
"*client token* and a SCIM client application. To generate a client token, "
"you can simply manually create a token from the button on the client "
"administration page. Then, we recommend the use of :doc:`scim2-cli:index` to "
"interact with the API:"
msgstr ""
"Afin de vérifier les données exposées par l'API SCIM de Canaille, vous aurez "
"besoin d'un *jeton client* et d'une application SCIM cliente. Afin de "
"générer un jeton, vous pouvez simplement en créer un manuellement avec le "
"bouton présent sur la page d'administration des clients. Enfin, nous vous "
"recommandons l'utilisation de :doc:`scim2-cli:index` pour interagir avec "
"l'API :"
#: ../tutorial/provisioning.rst:49 25e370c855454c10a7f705a96e7c3049
msgid "scim2-cli usage example"
msgstr "Exemple d'utilisation de scim2-cli"
#: ../tutorial/theming.rst:2 25ff583d708742d6b564212c42ac76a0
msgid "Theming"
msgstr "Habillage"
#: ../tutorial/theming.rst:4 19f015eb34ff4185b0fb33829ca916be
msgid ""
"Canaille comes with a default theme based on `Fomantic UI <https://fomantic-"
"ui.com/>`__ but any part of the UI can be slightly modified or even "
"entierely rewritten if needed."
msgstr ""
"Canaille est fourni avec un thème par défaut basé sur `Fomantic UI <https://"
"fomantic-ui.com/>`__, mais n'importe quelle partie de l'interface "
"utilisateur peut être légèrement modifiée, ou bien complètement ré-écrite si "
"besoin."
#: ../tutorial/theming.rst:7 0fdaf7ef1f1d41e88243804d40d16984
msgid "Custom templates"
msgstr "Patrons personnalisés"
#: ../tutorial/theming.rst:9 7e432962674842a6a4ec1321ef3d20f9
msgid ""
"To use a custom theme, set the :attr:`~canaille.core.configuration."
"CoreSettings.THEME` to a path to a directory where you will host your custom "
"templates."
msgstr ""
"Pour utiliser un thème personnalisé, pointez le paramètre de configuration :"
"attr:`~canaille.core.configuration.CoreSettings.THEME` vers un répertoire "
"dans lequel sont enregistrés vos patrons."
#: ../tutorial/theming.rst:11 f5e08d34905747839e25e36c22ee7811
msgid ""
"Then in this directory, create new files for templates you want to override. "
"The exhaustive list of templates is available in the :doc:`reference <../"
"references/templates>`. You must respect the template file paths. So for "
"instance if you want to customize the *about page*, you need to do it in a "
"``core/about.html`` file. You can inherit from the origin template by using "
"the Jinja ``extend`` directive."
msgstr ""
"Dans ce répertoire, créez de nouveaux fichiers pour les patrons que vous "
"voulez remplacer ou affiner. Une liste exhaustive des patrons est disponible "
"dans la :doc:`référence <../references/templates>`. Vous devez respecter les "
"chemins des patrons. Par exemple, si vous souhaitez personnaliser la *page « "
"À propos »*, vous devez le faire dans un fichier ``core/about.html``. Vous "
"pouvez hériter du patron original en utilisant la directive Jinja ``extend``."
#: ../tutorial/theming.rst:15 cfa8a0a2dfe1408d9dd4b339f27a3016
msgid "core/about.html"
msgstr "core/about.html"
#: ../tutorial/theming.rst:26 08dd0f6259c34b5d92c476bda8bd40e2
msgid "Custom style sheets"
msgstr "Feuilles de style personnalisées"
#: ../tutorial/theming.rst:28 ee6d9940bc7d453f8b754abbf51cfcba
msgid ""
"If you simply want to put your custom style sheets in the default theme, you "
"can just push it in the ``base.html`` template. Put your file in a "
"``static`` subdirectory of your theme, for instance ``static/css/custom."
"css`` and reference it with ``theme_static``."
msgstr ""
"Si vous souhaitez simplement utiliser votre feuille de style dans le thème "
"par défaut, vous pouvez simplement l'insérer dans le patron ``base.html``. "
"Placez votre fichier dans un sous-répertoire ``static`` de votre thème, par "
"exemple ``static/css/custom.css`` et référencez-le avec ``theme_static``."
#: ../tutorial/theming.rst:31 bcea65c8d4ef4139a353420b7e1d5cdd
msgid "base.html"
msgstr "base.html"
#: ../tutorial/theming.rst:43 b8572e3c71c54d65ad8ea6ce986d30ea
msgid ""
"To write your custom theme and check how it is rendered, you can put the "
"path to your theme in a ``.env`` file and run the Canaille demo instance, as "
"described in the :ref:`contributing guide <local_environment>`"
msgstr ""
"Pour écrire votre thème personnalisé et vérifier comment il s'affiche, vous "
"pouvez configurer le chemin vers votre thème dans un fichier ``.env`` et "
"lancer l'instance de démonstration de Canaille, comme décrit dans le :ref:"
"`guide de contribution <local_environment>`"
#: ../tutorial/theming.rst:50 94442631b4e4430aabc6abe4b0f565db
msgid "Run the demo instance"
msgstr "Lancement de linstance de démonstration"
#: ../tutorial/troubleshooting.rst:2 ae54b220570140fc9af7133272cd26f4
msgid "Troubleshooting"
msgstr "Dépannage"
#: ../tutorial/troubleshooting.rst:5 3f156ee26a7646f69513b66ef675d793
msgid "The web interface throws useless error messages"
msgstr "L'interface web affiche des messages erreurs inutiles"
#: ../tutorial/troubleshooting.rst:7 0fb6c271073a4abdb010d7f95eeac81e
msgid ""
"Unless the current user has admin :class:`permissions <canaille.core."
"configuration.Permission>`, or the installation is in :attr:`~canaille.app."
"configuration.RootSettings.DEBUG` mode, error messages won't be too "
"technical. For instance, you can see *The request you made is invalid*. To "
"enable detailed error messages, you can **temporarily** enable the :attr:"
"`~canaille.app.configuration.RootSettings.DEBUG` configuration parameter."
msgstr ""
"À moins que l'utilisateur actuel ait des :class:`droits d'administration "
"<canaille.core.configuration.Permission>`, ou que l'installation soit en "
"mode :attr:`~canaille.app.configuration.RootSettings.DEBUG`, les messages "
"d'erreurs ne seront pas trop techniques. Par exemple, vous pourrez voir *La "
"requête que vous avez faite est invalide*. Pour activer les messages "
"d'erreur détaillées, vous pouvez **temporairement** activer le paramètre de "
"configuration :attr:`~canaille.app.configuration.RootSettings.DEBUG`."
#: ../tutorial/troubleshooting.rst:12 58570442c05e4cd19751820083151ece
msgid "How to manually install LDAP schemas?"
msgstr "Comment installer manuellement les schémas LDAP?"
#: ../tutorial/troubleshooting.rst:16 067c19e9f37c46ea91b8bed914bcd276
msgid ""
"Schema installation can be automatically done using the :ref:`install "
"command <cli_install>`."
msgstr ""
"L'installation de schema peut être automatiquement réalisé en utilisant la :"
"ref:`commande d'installation <cli_install>`."
#: ../tutorial/troubleshooting.rst:18 b590574910044ce299bfbdb318ebea6a
msgid "As of OpenLDAP 2.4, two configuration methods are available:"
msgstr "Avec OpenLDAP 2.4, deux méthodes de configuration sont disponibles :"
#: ../tutorial/troubleshooting.rst:20 6ad84183e4c64116b49932cef2584fd0
msgid ""
"The `deprecated <https://www.openldap.org/doc/admin26/slapdconf2.html>`_ "
"one, based on a configuration file (generally ``/etc/ldap/slapd.conf``);"
msgstr ""
"La métohde `obsolète <https://www.openldap.org/doc/admin26/slapdconf2."
"html>`_ , basée sur un fichier de configuration (généralement ``/etc/ldap/"
"slapd.conf``);"
#: ../tutorial/troubleshooting.rst:21 19abee92e8b14d4ba90f9506412d8118
msgid ""
"The new one, based on a configuration directory (generally ``/etc/ldap/slapd."
"d``)."
msgstr ""
"La nouvelle méthode, basée sur un répertoire de configuration "
"(généralement``/etc/ldap/slapd.d``)."
#: ../tutorial/troubleshooting.rst:23 a8ca0bf4ec6e4d71806d2071d226d2cd
msgid ""
"Depending on the configuration method you use with your OpenLDAP "
"installation, you need to chose how to add the canaille schemas:"
msgstr ""
"Selon la méthode de configuration utilisée avec votre installation OpenLDAP, "
"vous aurez besoin de choisir comment ajouter les schémas Canaille :"
#: ../tutorial/troubleshooting.rst:26 e6d653692ee34c47bb5efe760a381699
msgid "Old fashion: Copy the schemas in your filesystem"
msgstr "À l'ancienne : copier les schémas sur votre système de fichier"
#: ../tutorial/troubleshooting.rst:35 d64d1890fd104a4ea9a8d9941189af0b
msgid "New fashion: Use slapadd to add the schemas"
msgstr "Méthode moderne : utiliser slapadd pour ajouter les schémas"
#: ../tutorial/troubleshooting.rst:37 692e81784a5e4fa48dc2bcc2e1cf4a1e
msgid "Be careful to stop your ldap server before running ``slapadd``"
msgstr ""
"Soyez attentif à arrêter votre serveur LDAP avant d'exécuter ``slapadd``"
#: ../tutorial/troubleshooting.rst:46 d404812e38644b3090d9823e682c9254
msgid "How to manually generate the OIDC keypair?"
msgstr "Comment générer manuellement la paire de clef OIDC?"
#: ../tutorial/troubleshooting.rst:50 62e08f82a4804de8b5dd459b903a8cd3
msgid ""
"The keypair generation can be automatically done using the :ref:`install "
"command <cli_install>`."
msgstr ""
"La génération de la paire de clef peut être automatiquement faite en "
"utilisant la :ref:`commande d'installation <cli_install>`."
#: ../tutorial/troubleshooting.rst:52 06dd3710174a40e4a0ef3b2c54a2e9b5
msgid ""
"Canaille needs a key pair to sign OIDC tokens. You can customize those "
"commands, as long as they match the ``JWT`` section of your configuration "
"file."
msgstr ""
"Canaille a besoin d'une paire de clefs pour signer les jetons OIDC. Vous "
"pouvez personnaliser ces commandes tant qu'elles correspondent la section "
"``JWT``de votre fichier de configuration."
#: ../usecases.rst:4 168d233560c64d829ee09d581aa7d361
msgid "Use cases"
msgstr "Cas d'usage"
#: ../usecases.rst:6 a65d311c88094169acb330c3d6e3c7f7
msgid ""
"Canaille is a lightweight IAM for simple needs. Here are a few use cases you "
"might recognize in, where Canaille would fit your needs."
msgstr ""
"Canaille est un Gestionnaire des Identités et des Accès (en anglais "
 Identity and Access Management » ou IAM) pour des besoins simples. Voici "
"quelques cas d'usage dans lesquels vous pourriez vous reconnaître où "
"Canaille pourrait répondre à votre besoin."
#: ../usecases.rst:10 179edacb13c54333aace4b68c4708253
msgid "OpenID Connect provider on top of a LDAP directory"
msgstr "Fournisseur OpenID Connect au-dessus d'un annuaire LDAP"
#: ../usecases.rst:12 302b4ac43f3e467e85d2bd4b19297569
msgid ""
"Your organization has an historic :ref:`LDAP directory <feature_databases>` "
"and you want to add a :ref:`OpenID Connect <feature_oidc>` :abbr:`SSO "
"(Single Sign-On)` layer on top of it, so users can use all your application "
"while signin-in only once, without any data migration."
msgstr ""
"Votre organisation a un ref:`annuaire LDAP <feature_databases>` historique "
"et vous voulez ajouter une couche :ref:`OpenID Connect <feature_oidc>` :abbr:"
"`SSO (Single Sign-On)` au-dessus, pour que les utilisateurs puissent "
"utiliser toutes vos applications tout en ne se connectant qu'une seule fois, "
"sans aucune migration de données."
#: ../usecases.rst:15 e0024a833d08474ba72b828f6eb83a8e
msgid "Profile edition of LDAP users"
msgstr "Modification de profil d'utilisateurs LDAP"
#: ../usecases.rst:17 ea3058635a35476eb122ab777c349dc3
msgid ""
"Your organization has a :ref:`LDAP directory <feature_databases>` and you "
"want to provide a way to your users to :ref:`edit their personal information "
"<feature_profile_management>` by themselves, without requiring any "
"administrator intervention."
msgstr ""
"Votre organisation a un :ref:`annuaire LDAP <feature_databases>` et vous "
"voulez fournir une façon à vos utilisateurs de :ref:`modifier leurs "
"informations personnelles <feature_profile_management>` par eux-mêmes, sans "
"nécessiter l'intervention d'un administrateur."
#: ../usecases.rst:20 e81a578b174c43b194932cdd88c38500
msgid "Password recovery with a LDAP directory"
msgstr "Récupération de mot de passe avec un annuaire LDAP"
#: ../usecases.rst:22 7f58bba7651f4df6870fc163b486932f
msgid ""
"Your organization has an historic :ref:`LDAP directory <feature_databases>` "
"and you want to provide a way to your users to :ref:`recover their password "
"<feature_password_recovery>` when they cannot remember it, without any "
"administrator intervention."
msgstr ""
"Votre organisation a un :ref:`annuaire LDAP <feature_databases>` historique "
"et vous voulez fournir une façon à vos utilisateurs de :ref:`récupérer leur "
"mot de passe <feature_password_recovery>` quand ils ne s'en rappellent plus, "
"sans intervention d'un administrateur."
#: ../usecases.rst:25 2b626e10eb2b480b816b9151a8f160fd
msgid "A lightweight IAM for unit testing"
msgstr "un GIA (IAM) léger pour les tests unitaires"
#: ../usecases.rst:27 cff10ba64f6e4184bcbfccae206f6d9c
msgid ""
"You are :ref:`developing <feature_development>` an application relying on "
"OAuth2 or OpenID Connect to authenticate the users. You don't want to mock "
"the calls to the identity provider in your unit tests, but you want to :ref:"
"`perform real OAuth2/OIDC requests <feature_testing>`, and test your "
"application against different identity provider tunings."
msgstr ""
"Vous êtes en train de :ref:`développer <feature_development>` une "
"application basée sur OAuth2 ou OpenID Connect pour authentifier les "
"utilisateurs. Vous ne voulez pas masquer les appels vers le fournisseur "
"d'identité pour les tests unitaires mais vous voulez :ref:`exécuter de "
"véritables requêtes OAuth2/OIDC <feature_testing>`, et tester vos "
"applications avec les différents réglages du fournisseur d'identité."
#: ../usecases.rst:30 130dbc72dcb54dbf830a1c0e199e9e3b
msgid "A lightweight IAM for developing"
msgstr "Un GIA (IAM) léger pour le développement"
#: ../usecases.rst:32 0ff43cbb31f548089d237c4fbcc8e312
msgid ""
"You are :ref:`developing <feature_development>` an application relying on "
"OAuth2 or OpenID Connect to authenticate the users. You need a :ref:`IAM "
"server to develop <feature_development>` locally, but your old computer "
"cannot bear launching a full Keycloak in a Docker container."
msgstr ""
"Vous êtes en train de :ref:`développer <feature_development>` une "
"application basée sur OAuth2 ou OpenID Connect pour authentifier les "
"utilisateurs. Vous avez besoin d'un :ref:`serveur IAM pour développer "
"<feature_development>` localement, mais votre vieil ordinateur ne peut pas "
"lancer un Keycloak complet dans un conteneur Docker."
#: ../usecases.rst:35 adc956f5cf0f43bc988261b4f0ba541a
msgid "A lightweight IAM for CIs"
msgstr "Un GIA (IAM) léger pour de l'Intégration Continue"
#: ../usecases.rst:37 68048b0e31044e6eb1b844a8541f900d
msgid ""
"You are :ref:`developing <feature_development>` an application relying on "
"OAuth2 or OpenID Connect to authenticate the users. You need a IAM server "
"that could can populate with custom data, and integrate in your :ref:"
"`continuous integration environment <feature_ci>`."
msgstr ""
"Vous êtes en train de :ref:`développer <feature_development>` une "
"application basée sur OAuth2 ou OpenID Connect pour authentifier les "
"utilisateurs. Vous avez besoin d'un serveur IAM server que vous pouvez "
"remplir de données personnalisées et intégrer dans votre :ref:`environnement "
"d'intégration continue <feature_ci>`."
#: ../usecases.rst:40 ef4f06a88d3f4f3d99df361d7d25da08
msgid "A CLI to quickly edit LDAP directory users"
msgstr ""
"Une interface en ligne de commande pour modifier rapidement les utilisateurs "
"d'un annuaire LDAP"
#: ../usecases.rst:42 aec48cc98e9043ac962854780f5e4aa5
msgid ""
"Your organization has an historic :ref:`LDAP directory <feature_databases>`. "
"You are tired to deal with *ldif* syntax to manage your users and group and "
"would prefer a simple human-readable CLI."
msgstr ""
"Votre organisation a un :ref:`annuaire LDAP <feature_databases>` historique. "
"Vous êtes fatigué d'utiliser la syntaxe *ldif* pour gérer vos utilisateurs "
"et groupes, et préférez utiliser une ligne de commande simple et lisible par "
"les humains."
#~ msgid "Read information about models."
#~ msgstr "Lit les informations concernant les modèles."
#~ msgid "Options can be used to filter models::"
#~ msgstr "Les options peuvent être utilisées pour filtrer les modèles :"
#~ msgid "Displays the matching models in JSON format in the standard output."
#~ msgstr ""
#~ "Affiche les modèles correspondants au format JSON sur la sortie standard."
#~ msgid "Update models."
#~ msgstr "Mise-à-jour des modèles."
#~ msgid "The command takes an model ID and edit one or several attributes::"
#~ msgstr ""
#~ "La commande prend un identifiant de modèle et modifie un ou plusieurs "
#~ "attributs::"
#~ msgid "Displays the edited model in JSON format in the standard output."
#~ msgstr "Affiche le modèle modifié au format JSON sur la sortie standard."
#~ msgid "Create models."
#~ msgstr "Crée des modèles."
#~ msgid "The model attributes can be passed as command options::"
#~ msgstr ""
#~ "Les attributs de modèle peuvent être passés comme options de la commande::"
#~ msgid "Displays the created model in JSON format in the standard output."
#~ msgstr "Affiche le modèle créé au format JSON sur la sortie standard."
#~ msgid "Delete models."
#~ msgstr "Supprime des modèles."
#~ msgid "The command takes a model ID and deletes it::"
#~ msgstr "La commande prend un identifiant de modèle et le supprime::"
#~ msgid "Maximum length for user password."
#~ msgstr "Longueur maximum des mots de passe utilisateur."
#~ msgid "Minimum length for user password."
#~ msgstr "Longueur minimum pour le mot de passe utilisateur."
#~ msgid "It is possible not to set a minimum, by entering None or 0."
#~ msgstr ""
#~ "Il est possible de ne pas choisir de minimum en saisisant None ou 0."
#~ msgid ""
#~ "Documentation translation Translations are done with `Weblate <https://"
#~ "hosted.weblate.org/projects/canaille/documentation>`_."
#~ msgstr ""
#~ "La traduction de la documentation est faite avec `Weblate <https://hosted."
#~ "weblate.org/projects/canaille/documentation>`_."
#~ msgid ""
#~ "Some dependencies of Canaille might need to be compiled, so you probably "
#~ "want to check that `GCC` and `cargo` are available on your computer."
#~ msgstr ""
#~ "Certaines dépendances de Canaille peuvent nécessiter une compilation, "
#~ "donc devriez sans doute vérifier que `GCC` et `cargo` sont installés sur "
#~ "votre système."