From 5438eb9a5d93923cee991f43b455725339cd4571 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Thu, 5 Dec 2024 10:36:38 +0100 Subject: [PATCH] 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/ --- doc/locales/fr/LC_MESSAGES/doc.po | 2458 +++++++++++++++-------------- 1 file changed, 1245 insertions(+), 1213 deletions(-) diff --git a/doc/locales/fr/LC_MESSAGES/doc.po b/doc/locales/fr/LC_MESSAGES/doc.po index 01704c7e..213bd227 100644 --- a/doc/locales/fr/LC_MESSAGES/doc.po +++ b/doc/locales/fr/LC_MESSAGES/doc.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: canaille 0.0.56\n" -"Report-Msgid-Bugs-To: contact@yaal.coop\n" -"POT-Creation-Date: 2024-11-30 14:50+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-12-05 10:35+0100\n" "PO-Revision-Date: 2024-12-03 21:00+0000\n" "Last-Translator: Éloi Rivard \n" "Language-Team: French `_, and this project adheres to `Semantic Versioning `_, et ce projet adhère à la politique de `versionnage sémantique " "`_." -#: ../../CHANGES.rst:2 c415689d242946298da972c97d5bb0c4 +#: ../../CHANGES.rst:2 206f6798b58b44e9ade1689d820c7552 msgid "[0.0.57] - Unreleased" msgstr "[0.0.57] - Inédit" -#: ../../CHANGES.rst:5 ../../CHANGES.rst:20 ../../CHANGES.rst:48 -#: ../../CHANGES.rst:67 ../../CHANGES.rst:74 ../../CHANGES.rst:93 -#: ../../CHANGES.rst:153 ../../CHANGES.rst:179 ../../CHANGES.rst:194 -#: ../../CHANGES.rst:243 ../../CHANGES.rst:269 ../../CHANGES.rst:288 -#: ../../CHANGES.rst:296 ../../CHANGES.rst:305 ../../CHANGES.rst:331 -#: ../../CHANGES.rst:366 ../../CHANGES.rst:392 ../../CHANGES.rst:441 -#: ../../CHANGES.rst:469 ../../CHANGES.rst:499 ../../CHANGES.rst:555 -#: ../../CHANGES.rst:588 ../../CHANGES.rst:609 ../../CHANGES.rst:619 -#: ../../CHANGES.rst:642 ../../CHANGES.rst:709 ../../CHANGES.rst:747 -#: ../../CHANGES.rst:764 ../../CHANGES.rst:800 91a8054efa234209906812cdd41bd586 -#: 2e9453d4722144fd9ad7f53b28a7cb37 9543a44b8b874bfba8fe2c14eb5a3b9e -#: ee17ac05a56b484a911079a62e4239b1 47f754d8104f45fd97c2a708d3e3a762 -#: 38acf51b96b14d9ea147a107168673ca 68234c29757c49afb6f848010320f9a1 -#: c5f04758aea24340a27c062595482f64 5f6ee4c5340841679e9163ab94a26631 -#: b9643ba008b646b09a0c81c05f4f5d1a 4f1725d88b8f47f89e0963791a599b78 -#: 882c5648be5043d9bd0548a4bbfee8b9 31ef883ef72b492e91f1fb1335893cb8 -#: 4fcceb25cc244723bf6785a76975c5e3 33560e599f12447bbaa84eeedb8f3351 -#: 363be11c3f4947fca1ca71461245c92c 4d0de4ec5fef48c4a8b0a5e66fede8cd -#: fbe3161ef07e47518b92e3277841bc87 caa4f9d1911745da8d44e057214fedeb -#: 366186dbb3ef4343a7ac182f9000a430 5e1e83c39a874fb79ecef4d60c00f3c4 -#: c15daece1da4437f91b625a265916b67 ac2ba3bda6c543e6b2da1e5104c1e980 -#: f290d44be0ec48a6b509a60a763954d6 5fb724ac7eba4e1b928c242224b4a6b9 -#: d6334e39f82a4b09b331222f464eca4c ec21757a31c24bee89fbb3cdfdbbb427 -#: 24fe9ee5210a4bc3ac7b1df5136ef1f4 fc7d263a49f94a478ff294d4fc74db3f +#: ../../CHANGES.rst:5 ../../CHANGES.rst:24 ../../CHANGES.rst:52 +#: ../../CHANGES.rst:71 ../../CHANGES.rst:78 ../../CHANGES.rst:97 +#: ../../CHANGES.rst:157 ../../CHANGES.rst:183 ../../CHANGES.rst:198 +#: ../../CHANGES.rst:247 ../../CHANGES.rst:273 ../../CHANGES.rst:292 +#: ../../CHANGES.rst:300 ../../CHANGES.rst:309 ../../CHANGES.rst:335 +#: ../../CHANGES.rst:370 ../../CHANGES.rst:396 ../../CHANGES.rst:445 +#: ../../CHANGES.rst:473 ../../CHANGES.rst:503 ../../CHANGES.rst:559 +#: ../../CHANGES.rst:592 ../../CHANGES.rst:613 ../../CHANGES.rst:623 +#: ../../CHANGES.rst:646 ../../CHANGES.rst:713 ../../CHANGES.rst:751 +#: ../../CHANGES.rst:768 ../../CHANGES.rst:804 5b2ae28202d249e39370b51c82a35bda +#: a10a871fc6ea42e8a52a1aa323001a53 06bb06ed26e14f228d39a5805e212e8c +#: b99bae88eb5b4794a79d8e4e561f0509 5a2cc6dfd9bd4718b83ddf24ce1f0832 +#: 1b88c84d14d44098b08bceb97c6ee6b0 42b40b7899684424834906af815973c2 +#: da9b8c095e3049e6b2e2a980ffe8dd82 bcd36bf880b9436a8298bcf0ba43f539 +#: 9b87cf3e3bc74704ac8e1ed254afa219 fb573dd0e3214fd2bd42dfc9bfd4ed3f +#: 879349a0469a4bfb8f1bebf657e3a492 f69756f7cbce4c91be792d04ef264b0e +#: a8a72b6277c64934bb9c78f1c5b113e0 2f75c23bf6df48dcb5ded202a9e2825d +#: 4399afc444074a98b3a22ad73aa7077b 449c62c57a4945e9a138c5c45ad305e0 +#: 204ce62ed14c49eba295562875072081 a2bb082b896343be8a641e657dcb57a4 +#: 1476e487c3a44450b169eafe4bc64496 a9020fb52fd7474eae708f0b533fcdac +#: 18695ced44594bda89af136cbd170550 2d5fa640a1e141ce8d7f5f3d6afe5b19 +#: a8c7d759c999485b8cbbcc0104a48ba1 4257e62307cd428e86ce67017e9e53a6 +#: ad20c0696d134742bd715d909f1c98c6 6418106c387b4e41aac9b92e8c80bb8d +#: 3759d3e54b7542fcad71a184d1bccf98 79217de42415446d832d6fd1ce8c18e2 msgid "Added" msgstr "Ajouté" -#: ../../CHANGES.rst:6 05060126fea740ef82fba8246132aa6e +#: ../../CHANGES.rst:6 ba76f44c46d54198af2dcd0692442ce2 msgid "Password compromission check :issue:`179`" msgstr "Vérification de la compromission des mots de passe :issue:`179`" -#: ../../CHANGES.rst:7 a90b270f7e144a4b81babbac96f5ff22 +#: ../../CHANGES.rst:7 4eaf987f0daa4715826a62f691583866 msgid "" ":attr:`~canaille.core.configuration.CoreSettings.ADMIN_EMAIL` and :attr:" "`~canaille.core.configuration.CoreSettings." @@ -85,50 +85,76 @@ msgstr "" "ENABLE_PASSWORD_COMPROMISSION_CHECK` et :attr:`~canaille.core.configuration." "CoreSettings.API_URL_HIBP` :issue:`179`" -#: ../../CHANGES.rst:13 045b041136be49de8d54674ad57fea87 +#: ../../CHANGES.rst:13 ../../CHANGES.rst:32 ../../CHANGES.rst:45 +#: ../../CHANGES.rst:57 ../../CHANGES.rst:82 ../../CHANGES.rst:90 +#: ../../CHANGES.rst:138 ../../CHANGES.rst:164 ../../CHANGES.rst:216 +#: ../../CHANGES.rst:253 ../../CHANGES.rst:322 ../../CHANGES.rst:340 +#: ../../CHANGES.rst:378 ../../CHANGES.rst:417 ../../CHANGES.rst:452 +#: ../../CHANGES.rst:495 ../../CHANGES.rst:599 ../../CHANGES.rst:653 +#: ../../CHANGES.rst:685 ../../CHANGES.rst:699 51ebea9760e04f049db58a8d1e2fdd09 +#: f16b19d1f00741a9a6ac39eca0c46f63 21a7e1c51c9f409bae3952d5da790583 +#: 9181f143eccb42d7baf7101edc992caa 48808b227d9242f5882ee5057a4a92cb +#: ddfdd7b0d1f74ca5857ecef32902cb86 6c416cc471a945fa82c2a46845f9c593 +#: f72bc6d596fc4badae768da5cd7c012d 13ffe768ee0a4f6ab654b3f0f090e135 +#: 728e29f4be254e7dbbb9087e2f303521 5301bab7d22747bca4ec98874862f2cf +#: a412822ca58c421ca42a01da4ac0b815 84faaeb41df44041af3a25592f99518c +#: 6ad82476e1ff423f8ef651748d34816b f67f0886183c4164bab79b1b287e1715 +#: bfd890b945e14106985c29fb6148c8f0 a050e5fd325044b38874a6d5e184203b +#: b8d2b1429b6e4352a7e57df751cc4345 fbc7112e3c8a49688aa4fcbeb4ff6c80 +#: 0c9657b1e40544beb9bf1081622a7c4a +msgid "Changed" +msgstr "Modifié" + +#: ../../CHANGES.rst:14 5085714dd09e40dcbf2540a73162985c +msgid "" +"PostgreSQL and MySQL extras does not rely on libraries that need to be " +"compiled." +msgstr "" + +#: ../../CHANGES.rst:17 56edbd9989cf41c4b9b58dfd5e108991 msgid "[0.0.56] - 2024-11-07" msgstr "[0.0.56] - 2024-11-07" -#: ../../CHANGES.rst:16 ../../CHANGES.rst:58 ../../CHANGES.rst:97 -#: ../../CHANGES.rst:105 ../../CHANGES.rst:113 ../../CHANGES.rst:120 -#: ../../CHANGES.rst:127 ../../CHANGES.rst:141 ../../CHANGES.rst:171 -#: ../../CHANGES.rst:184 ../../CHANGES.rst:202 ../../CHANGES.rst:221 -#: ../../CHANGES.rst:229 ../../CHANGES.rst:255 ../../CHANGES.rst:263 -#: ../../CHANGES.rst:283 ../../CHANGES.rst:313 ../../CHANGES.rst:345 -#: ../../CHANGES.rst:353 ../../CHANGES.rst:379 ../../CHANGES.rst:399 -#: ../../CHANGES.rst:423 ../../CHANGES.rst:433 ../../CHANGES.rst:454 -#: ../../CHANGES.rst:462 ../../CHANGES.rst:485 ../../CHANGES.rst:508 -#: ../../CHANGES.rst:520 ../../CHANGES.rst:529 ../../CHANGES.rst:538 -#: ../../CHANGES.rst:547 ../../CHANGES.rst:567 ../../CHANGES.rst:574 -#: ../../CHANGES.rst:624 ../../CHANGES.rst:632 ../../CHANGES.rst:657 -#: ../../CHANGES.rst:665 ../../CHANGES.rst:673 ../../CHANGES.rst:686 -#: ../../CHANGES.rst:700 ../../CHANGES.rst:732 ../../CHANGES.rst:755 -#: ../../CHANGES.rst:786 13ee0de3f7db4046b8399917e8d52e0b -#: 0dc0629179f5400386e9c856338e265d 574cec87282d4deaa94c9e30d3ffda4e -#: e81d5f3a4a1d4cf3acaf5a4940525072 961b2233ae9f485182b152d59efbf264 -#: 8aa12c56b1ec4fb99bd9490d6dbe4272 ced309911720411692cd12a52473f32b -#: 1987b2d6de09493891eeef4d4d2d100b aba77f15d4a545578b783976b275487e -#: f251ffbac69548f6b747cd4b8ea6f8ec 3a19b71ff5a24cbe915c71bbfabad433 -#: e7589d9e344f47f3a850bead8a1636b6 78867dced8fe492a821b465c5d539c76 -#: eb9c68774eb84fb49f179bde0611a346 0f275a51c41e4604b28af3918ea74584 -#: a6edd30d5949449694f7b250e0031010 8862dccf8b1845bc8f2d341dcaec4c71 -#: 19bfd15c66a5403aa8cb0ca83baa5541 67b2572f05c84530aed1f635543785fe -#: 867c5d46876a4e5ab99c161d9966740d ff6bc12e61414002b60b75641ed97204 -#: b3de1f055977465586c5f10103e88bb6 c582172293c74e6e9df5bb65756c4c6c -#: 1e34ec458ec14ddbb2bb0e770fb28f63 2d621438090341fda9ad1304b5a849d2 -#: e3bf374e75dc4099859d20d3fd3e15ae dbc926c58a3d4413bcffcf2aa8392a17 -#: afa06832ab324399ac847aaebc6e5ea9 ecbe693daf1741048b55a19bbe0ceec0 -#: c3c0b0f146684406ac9a9b7887f16d37 8823207f7e254b269b612654eea87b6b -#: d30b2503bd444caeaf914fbb2ea5ece0 9d27864f27c84f73af85f211d9b82b65 -#: e7c8e47588974f7086c494af072e2b2c 9b4c62548257483c98ca66a652097f3d -#: b4038234a1f740a88609e1569d381bc0 6b9ddd33c0424f5ca821016d6fd5ed3d -#: 69919a35cbcb42ce9e5037803879cf51 839f52c15ed94f0ba4a9356f392f728b -#: fdf7420d3b8b4718b3b4d99edf6e6aff fc24747886644b45a32e65e1676a3ad8 -#: 0d17007dcf37499ab35d22c4f6a6b677 872b6e973efd4b99af4fd291423c0746 +#: ../../CHANGES.rst:20 ../../CHANGES.rst:62 ../../CHANGES.rst:101 +#: ../../CHANGES.rst:109 ../../CHANGES.rst:117 ../../CHANGES.rst:124 +#: ../../CHANGES.rst:131 ../../CHANGES.rst:145 ../../CHANGES.rst:175 +#: ../../CHANGES.rst:188 ../../CHANGES.rst:206 ../../CHANGES.rst:225 +#: ../../CHANGES.rst:233 ../../CHANGES.rst:259 ../../CHANGES.rst:267 +#: ../../CHANGES.rst:287 ../../CHANGES.rst:317 ../../CHANGES.rst:349 +#: ../../CHANGES.rst:357 ../../CHANGES.rst:383 ../../CHANGES.rst:403 +#: ../../CHANGES.rst:427 ../../CHANGES.rst:437 ../../CHANGES.rst:458 +#: ../../CHANGES.rst:466 ../../CHANGES.rst:489 ../../CHANGES.rst:512 +#: ../../CHANGES.rst:524 ../../CHANGES.rst:533 ../../CHANGES.rst:542 +#: ../../CHANGES.rst:551 ../../CHANGES.rst:571 ../../CHANGES.rst:578 +#: ../../CHANGES.rst:628 ../../CHANGES.rst:636 ../../CHANGES.rst:661 +#: ../../CHANGES.rst:669 ../../CHANGES.rst:677 ../../CHANGES.rst:690 +#: ../../CHANGES.rst:704 ../../CHANGES.rst:736 ../../CHANGES.rst:759 +#: ../../CHANGES.rst:790 ada79906de064c77a4cff6eda5238016 +#: ef969b105e9e4c859461ca5c7891fc97 eb9148b93ff5430b8fec0cd848bc586a +#: eb04d9c2277a4f659e81503351502067 a3b680e4889447fcb4cc6e466dfa4a86 +#: 65689b9a907c47c5a29cf66a8375e867 f4c798aa2b3f49b9b32ad4b262e5a18a +#: 85130e29389d4d72a616ed2b9945e624 853479a51fd14b3ebea4f217b95f813f +#: 35ab2d6805704ee0b8d69df22cfb370c 18954c2ed9a64c2080e60a8ddc7250c9 +#: 79bbc08738324d69bead6ffedb3d5587 d72f4c84822c412caf0fd12563fca75f +#: 555159be8ad946d4a2fefc3ff0a67f8c ee6d703c1d1f4e52b8641f5ed853e890 +#: a610bc73b442434b8dd9e615b4458650 45154e22bc5d4f5eaf168669931f3885 +#: 9221ecf9b8ac444fb065d93e3d848e9b 39d7b6338980431a9e7c73d1793c0909 +#: ccffafc3081845c5a6a35da5e3e3b80f ab0d961d2d2a46a3831e766d550d8c14 +#: 71a254a18b884948a3b26d32ed9d5f40 c1fdc5c9274941c0839e8da466550eb4 +#: 560dd043f92d43e0a973602fd3ec8947 4bc790da686c4699871821796053520a +#: c66630ffcf7145d4bcc60b68fbbb5262 0236d94896cb499185bd37a01c89928b +#: b5fd023061684f088f7d99a0163da3f1 ebf41a7f162340ddafce86f0e8f0d3de +#: ae1a4acf06cb47b8b49b3e4d3d1a03f3 fee9b3c278a74ea0b66f67150aca956c +#: 51b3ec121780468e96f1a5956ad1e96f 07a9c88a7e7c45a796cd066b6064472e +#: 3584c55c5f50423cb2fbbf6b18336fbf b65f90e4e327446eabd2f41d9b3ec79c +#: 89e9318124d7428abd02adf61a7fdecc 5a6fda0701884fffb8bf244ed6a66638 +#: 7d577d62f6ea47de9c1a3334513718fa 255c1c9025e84264b6736d9fb069cb05 +#: 3bb4a69fd40f4680acdc8da38a73e64e eeb4cd7c19f44ca9b32c21cbd631483b +#: 8e01d28285da4abc813e8de16dc19431 4ec0a2ef90b54b64a9a037b6623cfa81 msgid "Fixed" msgstr "Corrigé" -#: ../../CHANGES.rst:17 10c707b06b884b168b2dd26bffd7bf76 +#: ../../CHANGES.rst:21 3d50d62c605c4973956375e2229be4f1 msgid "" "With LDAP backend, updating another user groups could result in a permission " "lost for the editor. :issue:`202`" @@ -136,7 +162,7 @@ msgstr "" "Avec la base de données LDAP, la mise à jour des groupes d’utilisateurs " "pouvait engendrer une perte de permissions de l’éditeur. :issue:`202`" -#: ../../CHANGES.rst:21 efa1fc20329f42918fe6a530617cf102 +#: ../../CHANGES.rst:25 ce5db69d7e134a938f544bc4c14c2dbc msgid "" ":attr:`~canaille.core.configuration.CoreSettings.MAX_PASSWORD_LENGHT` and :" "attr:`~canaille.core.configuration.CoreSettings.MIN_PASSWORD_LENGHT` " @@ -146,47 +172,28 @@ msgstr "" "MAX_PASSWORD_LENGHT` et :attr:`~canaille.core.configuration.CoreSettings." "MIN_PASSWORD_LENGHT` :issue:`174`" -#: ../../CHANGES.rst:23 cdab69b7537c452caa3eadb572993a40 +#: ../../CHANGES.rst:27 0952593cb9c24691baaf0bbbeafbefd0 msgid "Password strength visual indicator. :issue:`174`" msgstr "Indicateur visuel de la force des mots de passe :issue:`174`" -#: ../../CHANGES.rst:24 2ae6bad543d64621886630d3db7832e6 +#: ../../CHANGES.rst:28 34660cc568ac402485a0ae2a226c3ed9 msgid "Security events logs. :issue:`177`" msgstr "Journalisation des évènements de sécurité. :issue:`177`" -#: ../../CHANGES.rst:25 40ab5f1ed3bc406fb662d0025e5b3212 +#: ../../CHANGES.rst:29 74390b590e9e4714bff818c8d9d95630 msgid "Support for Python 3.13. :pr:`186`" msgstr "Support de Python 3.13. :pr:`186`" -#: ../../CHANGES.rst:28 ../../CHANGES.rst:41 ../../CHANGES.rst:53 -#: ../../CHANGES.rst:78 ../../CHANGES.rst:86 ../../CHANGES.rst:134 -#: ../../CHANGES.rst:160 ../../CHANGES.rst:212 ../../CHANGES.rst:249 -#: ../../CHANGES.rst:318 ../../CHANGES.rst:336 ../../CHANGES.rst:374 -#: ../../CHANGES.rst:413 ../../CHANGES.rst:448 ../../CHANGES.rst:491 -#: ../../CHANGES.rst:595 ../../CHANGES.rst:649 ../../CHANGES.rst:681 -#: ../../CHANGES.rst:695 254357b217fe4a309d66a400497a104a -#: b52d8d66ee46448395c2ef69801946fa dcd69f53d0aa47c588bd5df81a94bf8f -#: 46df62c5bb0144069dbcd9e2002d7a31 5b1d82108f564276abe59cdc520c94e0 -#: 5be16c2fafdf49c3bd7e1ea5c784f5ad 9683d0e40c584035b4079f806594e3fb -#: 398263c90dc74b15ad03b2aa78f5216e 69dced26171e4725bd4bd158cada5f9a -#: bf8e8844acd9402796a472364448fa7b 5281ba16c8ef4e61a1315065ce59cfef -#: dc45f8b42dfa4598a793b459828fe2bf 1fce46356a934e209fae382802fcc624 -#: f00576fac1524365903e3114cfe31056 7978d2d2d93b41ac87432dcd2937dde3 -#: 6aa1c0d77e094ba8848ad4d83b773bd8 70062efedd9f4d43b17de99d6d8f36b9 -#: edd967eb63c947ef8ebe6bf904e26e5e df741c4602764336b114859e6e2deb48 -msgid "Changed" -msgstr "Modifié" - -#: ../../CHANGES.rst:29 c7940e351aac4939b964ccb80cebd616 +#: ../../CHANGES.rst:33 962e298f8c7c44a8b3b0f450eb596537 msgid "Update to `HTMX` 2.0.3. :pr:`184`" msgstr "Mise à jour vers HTMX 2.0.3. :pr:`184`" -#: ../../CHANGES.rst:30 dfc1569ae0ec412d86503a0695522fa5 +#: ../../CHANGES.rst:34 ab78bee0981041d3ade7f68673ab3f12 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:31 40c97bec2553487fa62efc486d3ee444 +#: ../../CHANGES.rst:35 7cb284d8934d4df7b96b3d995f0ae69a msgid "" "The ``sql`` package extra is now split between ``sqlite``, ``postgresql`` " "and ``mysql``." @@ -194,31 +201,31 @@ msgstr "" "L’extra de paquet ``sql`` a été divisé en ``sqlite``, ``postgresql`` et " "``mysql``." -#: ../../CHANGES.rst:34 ../../CHANGES.rst:384 ../../CHANGES.rst:792 -#: bc1a20b5783a4fe38fa201438a8075e5 b0e6e7ec669e424db9388def0897cc72 -#: 7344cae030e642f99598aa5f0e716054 +#: ../../CHANGES.rst:38 ../../CHANGES.rst:388 ../../CHANGES.rst:796 +#: 06fd8459f24443f5bc2dd961a2174774 6dc9208788034de2ad0cf0c696b719ff +#: 0f77e9dcdff145b4af33a3d0c9c27b51 msgid "Removed" msgstr "Supprimé" -#: ../../CHANGES.rst:35 3f97d00692d047dbbecb5c18a2d45b07 +#: ../../CHANGES.rst:39 7dbb1818231144988378efbcc14e0335 msgid "End support for Python 3.9. :pr:`179`" msgstr "Fin de support pour Python 3.9. :pr:`179`" -#: ../../CHANGES.rst:38 4a57056601f148969254d2f049e0f460 +#: ../../CHANGES.rst:42 bb731fcd74024f44b0b679df8fd1de3b msgid "[0.0.55] - 2024-08-30" msgstr "[0.0.55] - 2024-08-30" -#: ../../CHANGES.rst:42 a037ad5da20049ad82e9f9b0d766cfbb +#: ../../CHANGES.rst:46 e3f7e5b1ec3d471bbaad41ad6afbd38e msgid "Use poetry-core build backend. :pr:`178`" msgstr "" "Utilisation de `poetry-core` comme outil de construction de paquets. :pr:" "`178`" -#: ../../CHANGES.rst:45 d6bf96b8e5cc4a6f8e099b48c1951a6a +#: ../../CHANGES.rst:49 97d86f7b7b6d4df3a78b00068c114b55 msgid "[0.0.54] - 2024-07-25" msgstr "[0.0.54] - 2024-07-25" -#: ../../CHANGES.rst:49 062bcc176aac499384187fcb06e2a00b +#: ../../CHANGES.rst:53 0f6a7830c88b4121b1141a68853d36fd msgid "" "Group member removal can be achieved from the group edition page. :issue:" "`192`" @@ -226,34 +233,34 @@ msgstr "" "La suppression des membres de groupes peut être effectuée depuis la page " "d’édition des groupes. :issue:`192`" -#: ../../CHANGES.rst:50 8680469549c74d37a52b1c6252c74d57 +#: ../../CHANGES.rst:54 761788b232b74eb089dd20c1a57bcf2a msgid "Model management commands. :issue:`117` :issue:`54`" msgstr "Commande de gestion des modèles. :issue:`117` :issue:`54`" -#: ../../CHANGES.rst:54 c19428c67d8f4d198d0ab97defe14fb3 +#: ../../CHANGES.rst:58 1e28ba0fab8947bfbb7b10fc9dfca645 msgid "Model `identifier_attributes` are fixed." msgstr "L’attribut `identifier_attributes` des models est fixe." -#: ../../CHANGES.rst:55 571f38b1484b43e2beed6f33eb675700 +#: ../../CHANGES.rst:59 72287f1ba34c4cc8b2cf0b4af47bbd53 msgid "Bump to `HTMX` 1.9.12. :pr:`172`" msgstr "Mise-à-jour vers `HTMX` 1.9.12. :pr:`172`" -#: ../../CHANGES.rst:60 9e54da898699471194477836791f08a6 +#: ../../CHANGES.rst:64 72071aa06de847d29dcd9500881409d0 msgid "Dark theme colors for better readability." msgstr "Couleurs des champs dans le thème sombre." -#: ../../CHANGES.rst:61 4e0f2a8e03a447e59cb0a2b0e6d208f1 +#: ../../CHANGES.rst:65 600f70e2aecd4eba9ddee16500df48db msgid "" "Crash for passwordless users at login when no SMTP server was configured." msgstr "" "Erreur lorsque les utilisateurs sans mots de passe lorsqu’aucun serveur SMTP " "n’a été configuré." -#: ../../CHANGES.rst:64 a9273241db7e4137bac5973b20e3ec5d +#: ../../CHANGES.rst:68 09953502ecec43198af93b4c10d5dc3e msgid "[0.0.53] - 2024-04-22" msgstr "[0.0.53] - 2024-04-22" -#: ../../CHANGES.rst:68 17fbf739a68a4e59b5cc6da8befa1c6f +#: ../../CHANGES.rst:72 4627291987094c60b1acc76d520719b4 msgid "" "`env_prefix` :meth:`~canaille.create_app` variable can select the " "environment var prefix." @@ -261,85 +268,85 @@ msgstr "" "La variable `env_prefix`de la méthode :meth:`~canaille.create_app` permet de " "choisir le préfixe des variables d’environnement." -#: ../../CHANGES.rst:71 7bdc8f732053463b95353cdf5c994838 +#: ../../CHANGES.rst:75 f21535ae9e6643708c8459143e861870 msgid "[0.0.52] - 2024-04-22" msgstr "[0.0.52] - 2024-04-22" -#: ../../CHANGES.rst:75 bc7d1037cdfd40a69044f465467f6834 +#: ../../CHANGES.rst:79 c9c3eb7bdd894b96b0adf60e33691fd4 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:79 9685a5e5a13147f093ac57e2039fe11b +#: ../../CHANGES.rst:83 7cda9bf8a22540d0b3233546e130847f msgid "Locked users cannot be impersonated anymore." msgstr "Les comptes verrouillés ne peuvent plus être incarnés." -#: ../../CHANGES.rst:80 1b83a24a97384c2faab67e915701e6b2 +#: ../../CHANGES.rst:84 965223cd352948c8a77f1b4ce2b50ce4 msgid "Minimum Python requirement is 3.9." msgstr "La version minimum requise de Python est 3.9." -#: ../../CHANGES.rst:83 e88f01e3f89f45f2a63b456f8e304d3d +#: ../../CHANGES.rst:87 de227140ea8e4d629ffd4189dbd43460 msgid "[0.0.51] - 2024-04-09" msgstr "[0.0.51] - 2024-04-09" -#: ../../CHANGES.rst:87 aae3d126989840578ec2b08058aad688 +#: ../../CHANGES.rst:91 79f55debd9964020a684739fd256ef14 msgid "Display the menu bar on error pages." msgstr "Affichage de la barre de menu sur les pages d’erreur." -#: ../../CHANGES.rst:90 22b11dc18595450fa5e7fe5f35824ebe +#: ../../CHANGES.rst:94 27a5f8ea8faa41deaf71ae8564fd43a5 msgid "[0.0.50] - 2024-04-09" msgstr "[0.0.50] - 2024-04-09" -#: ../../CHANGES.rst:94 fc1bc503759c4beb943e9dcbf0c4a9cf +#: ../../CHANGES.rst:98 8d78dcd06ac84e7d9075dbb55d08b68c msgid "Sign in/out events are logged in. :issue:`177`" msgstr "" "Journalisation des évènements de connexion et déconnexion. :issue:`177`" -#: ../../CHANGES.rst:98 cfe0182123c94bcc9ee847739bd2e114 +#: ../../CHANGES.rst:102 f54c1f04263c4f19bf7c01a9e9fb1533 msgid "`HTMX` and `JAVASCRIPT` configuration settings." msgstr "Paramètres de configuration `HTMX` et `JAVASCRIPT`." -#: ../../CHANGES.rst:99 3bc7c83763d34549bac91df86a22b3a0 +#: ../../CHANGES.rst:103 aac9f0d6bc274a6998bed8663e581445 msgid "Compatibility with old sessions IDs." msgstr "Compatibilité avec les anciens identifiants de session." -#: ../../CHANGES.rst:102 cdee0bee34024d21bace2d77ff637ed9 +#: ../../CHANGES.rst:106 6c309d659a9d4b00897c0c86136117f2 msgid "[0.0.49] - 2024-04-08" msgstr "[0.0.49] - 2024-04-08" -#: ../../CHANGES.rst:106 f9c9585c305d47628adffcae287229d2 +#: ../../CHANGES.rst:110 e40c5385bf174d4dbdeb1e6c8f2bbca9 msgid "LDAP user group removal." msgstr "Suppression des groupes d’utilisateurs avec LDAP." -#: ../../CHANGES.rst:107 c25c5c6a9cca4061be6502cae5e86ba2 +#: ../../CHANGES.rst:111 db426dd917e9449ea1571f6d90fb59cb msgid "" "Display an error message when trying to remove the last user from a group." msgstr "" "Affichage d’un message d’erreur lors de tentatives de suppression du dernier " "utilisateur d’un groupe." -#: ../../CHANGES.rst:110 5e0c66b55801444497954839297b97eb +#: ../../CHANGES.rst:114 aa9c1e96a9d84eb388b2ad22b0b9fa86 msgid "[0.0.48] - 2024-04-08" msgstr "[0.0.48] - 2024-04-08" -#: ../../CHANGES.rst:114 bd9920a130844ee897863a6b649484e2 +#: ../../CHANGES.rst:118 3bbde6f2fc244902955a6b16a1d9bdc6 msgid "LDAP ``objectClass`` guessing exception." msgstr "Exception lors de la détection des classes d’objet LDAP." -#: ../../CHANGES.rst:117 93cf829932204311ba399ae713aff29f +#: ../../CHANGES.rst:121 f55a477d72624ef691e7a783940c3208 msgid "[0.0.47] - 2024-04-08" msgstr "[0.0.47] - 2024-04-08" -#: ../../CHANGES.rst:121 b7a5d3351a334b0592b12373e1c7afa6 +#: ../../CHANGES.rst:125 aa6227db351548d1a883af36de508805 msgid "Lazy permission loading exception." msgstr "Exception lors du chargement paresseux des permissions." -#: ../../CHANGES.rst:124 c6000ae4f0fc4d488ab180c3aa9eb144 +#: ../../CHANGES.rst:128 665fb2129c5f4c498a9eca30a7625d69 msgid "[0.0.46] - 2024-04-08" msgstr "[0.0.46] - 2024-04-08" -#: ../../CHANGES.rst:128 db4476f22ad049f49833696323eb1b33 +#: ../../CHANGES.rst:132 a736243f81d845d5a13e66303db4632d msgid "" "Saving an object with the LDAP backend keeps the ``objectClass`` un-managed " "by Canaille. :pr:`171`" @@ -347,11 +354,11 @@ msgstr "" "La sauvegarde des objets avec LDAP garde les valeurs de ``objectClass`` non " "gérés par Canaille. :pr:`171`" -#: ../../CHANGES.rst:131 d7117b0322b549ff87b73b8e4c839915 +#: ../../CHANGES.rst:135 23d50243f242497eafeb43190b191910 msgid "[0.0.45] - 2024-04-04" msgstr "[0.0.45] - 2024-04-04" -#: ../../CHANGES.rst:135 9690ab893eef4290a52b1137f24b9be8 +#: ../../CHANGES.rst:139 8ca38c12afde4e1d881f0f631dee2180 msgid "" "Internal indexation mechanism of :class:`~canaille.backends.memory.model." "MemoryModel`." @@ -359,54 +366,54 @@ msgstr "" "Mécanisme d’indexation interne de :class:`~canaille.backends.memory.model." "MemoryModel`." -#: ../../CHANGES.rst:138 be79650410904879b53da2c62ac092d5 +#: ../../CHANGES.rst:142 0ec8aaff2a864d52beaead02de313d2f msgid "[0.0.44] - 2024-03-29" msgstr "[0.0.44] - 2024-03-29" -#: ../../CHANGES.rst:142 1c2533bc36b548c59361d7b3e304cce6 +#: ../../CHANGES.rst:146 23af820d08664c0dbf3229567505e6a9 msgid "Fix the default LDAP ``USER_FILTER`` value." msgstr "Correction de la valeur par défaut de ``USER_FILTER`` pour LDAP." -#: ../../CHANGES.rst:143 c429e79bd5aa46edb7b4cd1bd87c3ad8 +#: ../../CHANGES.rst:147 695d4f4fe29a4f07960244b87ee1db21 msgid "Fix the OIDC feature detection." msgstr "Correction de la détection de la fonctionnalité OIDC." -#: ../../CHANGES.rst:146 51a43a574cc943b5912effdaa67f8690 +#: ../../CHANGES.rst:150 e7f1b082e81e4486b09fc76512e49dc5 msgid "[0.0.43] - 2024-03-29" msgstr "[0.0.43] - 2024-03-29" -#: ../../CHANGES.rst:150 ../../CHANGES.rst:409 02e8eccba3b74e889a68c78dc51e0a24 -#: 163717d0290841848f3b3a4c7a95efb4 +#: ../../CHANGES.rst:154 ../../CHANGES.rst:413 5cd7f27a291e46298c9a3aa6ee0e5cf0 +#: 9500c80e02fb4222ab0d65fe10144c3e msgid "Configuration files must be updated." msgstr "Les fichiers de configuration doivent être mis à jour." -#: ../../CHANGES.rst:155 a39fba5f25754fdc9f0f339142ff0320 +#: ../../CHANGES.rst:159 d7d284cc9b424ec69d5240b428964d52 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:156 b1e37ddf62994798a70a23cff76ed4d6 +#: ../../CHANGES.rst:160 19050fc882664743866b11a49ca7e398 msgid "Sitemap to the documentation. :pr:`169`" msgstr "Cartographie de la documentation. :pr:`169" -#: ../../CHANGES.rst:157 54cf20bc59af4634af6b3f2d0e10c5e9 +#: ../../CHANGES.rst:161 bd7c56451cfa479fb3b8d19275045b6e 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:162 689b4f88ba4b43db8c8b1a7bff0aebe6 +#: ../../CHANGES.rst:166 d3e65f7666664d4f8ca54f02bf597c71 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:163 7d18c66450654e25a65749ea273b859d +#: ../../CHANGES.rst:167 ae5e4441862443b9aac1e26cf19a8908 msgid "Bump to `HTMX` 1.99.11. :pr:`166`" msgstr "Mise à jour vers ``HTMX`` 1.9.11. :pr:`166`" -#: ../../CHANGES.rst:164 9d053f12577548bc8cff1add00376bae +#: ../../CHANGES.rst:168 e487c2a78a354c6e85ec43fda9f59c4d msgid "" "Use the standard tomllib Python module instead of `toml` starting from " "Python 3.11. :pr:`167`" @@ -414,24 +421,24 @@ msgstr "" "Utilisation du module Python standard `tomllib` à la place de `toml` à " "partir de Python 3.11. :pr:`167`" -#: ../../CHANGES.rst:165 fd8c1c0314b2465c9cacb4ba593eae77 +#: ../../CHANGES.rst:169 e80e66bd46e14c0fae82950444ba043b msgid "Use shibuya as the documentation theme :pr:`168`" msgstr "Utilisation du thème de documentation `shibuya`. :pr:`168`" -#: ../../CHANGES.rst:168 abc0b3ba739e4f99866d02027d8128d2 +#: ../../CHANGES.rst:172 0eb0c4eec73848d283d54626e8538c61 msgid "[0.0.42] - 2023-12-29" msgstr "[0.0.42] - 2023-12-29" -#: ../../CHANGES.rst:173 74e8932123b744b2809d370b36980326 +#: ../../CHANGES.rst:177 8e57897d767b4603a54db28c97416ee8 msgid "Avoid to fail on imports if ``cryptography`` is missing." msgstr "" "Correction d’une erreur d’import lorsque ``cryptography`` était manquant." -#: ../../CHANGES.rst:176 41f209b7a9054599b7b71d4fab3afe8f +#: ../../CHANGES.rst:180 f4ff69324e6e4a24b2f5aabf9ee71655 msgid "[0.0.41] - 2023-12-25" msgstr "[0.0.41] - 2023-12-25" -#: ../../CHANGES.rst:181 77ff8fdeadf94e2f8696b2f5b9bd9349 +#: ../../CHANGES.rst:185 39dd9ec6c6c2415fa90973a715a08d9f msgid "" "OIDC support for the ``create`` value of the ``prompt`` parameter. :issue:" "`185` :pr:`164`" @@ -439,7 +446,7 @@ msgstr "" "Support pour la valeur ``create`` du paramètre ``prompt`` d’OIDC. :issue:" "`185` :pr:`164`" -#: ../../CHANGES.rst:186 8940d9836a9f46a09613c3646e1d55f8 +#: ../../CHANGES.rst:190 7d59a023c9bc4a9b94f4339112602d32 msgid "" "Correctly set up :attr:`~canaille.oidc.basemodels.Client.audience` during " "OIDC dynamic registration." @@ -447,79 +454,79 @@ msgstr "" "Configuration correcte de l’:attr:`~canaille.oidc.basemodels.Client." "audience` durant l’enregistrement dynamique OIDC." -#: ../../CHANGES.rst:187 bb9a9230771445b6a7c93f042fb289ee +#: ../../CHANGES.rst:191 1e194b3a94034c65936a18174d1078c5 msgid "" "``post_logout_redirect_uris`` was ignored during OIDC dynamic registration." msgstr "" "``post_logout_redirect_uris`` était ignoré durant l’enregistrement dynamique " "OIDC." -#: ../../CHANGES.rst:188 b5d0341447ef443b969d2a48457442f2 +#: ../../CHANGES.rst:192 d9f10cf1c5b3401d95f461f57dbfbece msgid "Group field error prevented the registration form validation." msgstr "" "Une erreur sur le champ `groupe` empêchait la validation du formulaire " "d’enregistrement." -#: ../../CHANGES.rst:191 7bcad6150cbc4883817538eb23bed3bd +#: ../../CHANGES.rst:195 6653ebc2588a4ad8989581ca1060f1d9 msgid "[0.0.40] - 2023-12-22" msgstr "[0.0.40] - 2023-12-22" -#: ../../CHANGES.rst:196 aae4204166c443f99e04d84842dd6dd9 +#: ../../CHANGES.rst:200 1eb728d8f35e4e57bd9b4284c7dd677b msgid "The ``THEME`` setting can be a relative path." msgstr "Le paramètre de configuration ``THEME`` peut être un chemin relatif." -#: ../../CHANGES.rst:199 26224cfa5ee647a2b15239a78065f5f7 +#: ../../CHANGES.rst:203 37f2ef92582741e2985bab37fb6495df msgid "[0.0.39] - 2023-12-15" msgstr "[0.0.39] - 2023-12-15" -#: ../../CHANGES.rst:204 14b2b67c379045d681ee712797f44328 +#: ../../CHANGES.rst:208 b46f180dbba54aafb438013586a4100f msgid "Crash when no ACL were defined." msgstr "Erreur lorsqu’aucun ACL n’était défini." -#: ../../CHANGES.rst:205 38649598ac954d29843b54b15343dd15 +#: ../../CHANGES.rst:209 958f8c3ecc57438e835053b3a7d87721 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:206 ed1da2958a1646fd82c70171a5c04317 +#: ../../CHANGES.rst:210 c37693d772f44c64b03f3baee793c0a1 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:209 8f2bc47f69554f539aa2836958029d59 +#: ../../CHANGES.rst:213 9f0b57bb752141079ef51cc0833d3597 msgid "[0.0.38] - 2023-12-15" msgstr "[0.0.38] - 2023-12-15" -#: ../../CHANGES.rst:214 24f252671c9a4a3590e94e5e563e4d19 +#: ../../CHANGES.rst:218 b208dfe943e64175906f965703dc33dd msgid "Convert all the `PNG` pictures in `Webp`. :pr:`162`" msgstr "Conversion de toutes les images `PNG` en `Webp`. :pr:`162`" -#: ../../CHANGES.rst:215 8a1d423f79f749868c06a775e9c21bd2 +#: ../../CHANGES.rst:219 3827e636cee240479b1fcedbc86bdfde msgid "Update to Flask 3. :issue:`161` :pr:`163`" msgstr "Mise à jour vers Flask 3. :issue:`161` :pr:`163`" -#: ../../CHANGES.rst:218 9d53638e5933499baafec12390f02e23 +#: ../../CHANGES.rst:222 acb7a5113f214b84b7f8fd21b48e22de msgid "[0.0.37] - 2023-12-01" msgstr "[0.0.37] - 2023-12-01" -#: ../../CHANGES.rst:223 5ed255dd094a4a3aae1b75edf54001ad +#: ../../CHANGES.rst:227 a22ebfb72b3d4c8c8285d99f4a18ed88 msgid "Handle 4xx and 5xx error codes with HTMX. :issue:`171` :pr:`161`" msgstr "" "Gestion des codes d’erreur 4xx et 5xx avec `HTMX`. :issue:`171` :pr:`161`" -#: ../../CHANGES.rst:226 26d16685ada341a29bf6ee6e98997128 +#: ../../CHANGES.rst:230 5033ceb76b61492896a738cbabdf0e1a msgid "[0.0.36] - 2023-12-01" msgstr "[0.0.36] - 2023-12-01" -#: ../../CHANGES.rst:231 2cfddfd6843e4cbfb1b645c84bc70322 +#: ../../CHANGES.rst:235 df785fb08515480b8205eb8d521d699b msgid "Avoid crashing when LDAP groups references unexisting users." msgstr "" "Correction d’une erreur avec LDAP lorsque des groupes référencent des " "utilisateurs inexistants." -#: ../../CHANGES.rst:232 f5714a32e81841e29f2619f6ee5464e8 +#: ../../CHANGES.rst:236 e24d3cf2b5344f3196d44717249eeac9 msgid "" "Password reset and initialization mails were only sent to the preferred user " "email address." @@ -527,7 +534,7 @@ msgstr "" "Les courriels d’initialisation et de réinitialisation de mots de passe " "n’étaient envoyés qu’à l’adresse préférée des utilisateurs." -#: ../../CHANGES.rst:234 4e121ada1cc24b7b8051d085b0ce464b +#: ../../CHANGES.rst:238 279eb5763cb9437e98472ba23ef09cb9 msgid "" "Password reset and initialization mails were not sent at all the user " "addresses if one email address could not be reached." @@ -535,50 +542,50 @@ msgstr "" "Les courriels d’initialisation et de réinitialisation de mots de passe " "n’étaient pas tous envoyés si l’un des envois échouait." -#: ../../CHANGES.rst:236 c5fc8c86d3df4732b3a06f70dd89af18 +#: ../../CHANGES.rst:240 8dbbbb93c0d9468db5756b74091a0346 msgid "Password comparison was too permissive on login." msgstr "La comparaison des mots de passe était trop permissive à la connexion." -#: ../../CHANGES.rst:237 36f936a6dd8c41c5bc833d928f347321 +#: ../../CHANGES.rst:241 2d5c6dab823a45df94ab7061b78fa140 msgid "Encrypt passwords in the SQL backend." msgstr "Chiffrement des mots de passe dans la base de données SQL." -#: ../../CHANGES.rst:240 76befacfb135435fbee6ee0fe07f40e5 +#: ../../CHANGES.rst:244 09acf9167bb14934ac3e4b763914df5c msgid "[0.0.35] - 2023-11-25" msgstr "[0.0.35] - 2023-11-25" -#: ../../CHANGES.rst:245 14d361d80e4c429f929b943d3321e895 +#: ../../CHANGES.rst:249 b616ae34c6084446b826cbb4bea285ce msgid "" "Refresh token grant supports other client authentication methods. :pr:`157`" msgstr "" "Support de méthodes d’authentifications additionnels pour les jetons de " "rafraîchissement. :pr:`157`" -#: ../../CHANGES.rst:246 c52cda2685214bcab533db539acee007 +#: ../../CHANGES.rst:250 5e0cc8d4b2f9482cb0dd7d15578824ca 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:251 57670f55b7644a0888ab65cd2da2fd8c +#: ../../CHANGES.rst:255 1379d1aee7ee46fca1a78b6015f8d450 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:252 f4ef25b7b38b42a48fb2a32c5cd8888f +#: ../../CHANGES.rst:256 08f54a2189ba47dbb2e65e442181d6fd msgid "Bump to `HTMX` 1.9.9. :pr:`159`" msgstr "Mise à jour vers `HTMX` 1.9.9. :pr:`159`" -#: ../../CHANGES.rst:257 49b0b7da40204fdeaf40c5281235c2a6 +#: ../../CHANGES.rst:261 001465c19ae140678ce9a78eb0ae7ff5 msgid "Disable `HTMX` boosting during the OIDC dance. :pr:`160`" msgstr "" "Désactivation de `HTMX` pendant la phase d’identification OIDC. :pr:`160`" -#: ../../CHANGES.rst:260 db372dee122e4b4fb18c2c99dd056ce2 +#: ../../CHANGES.rst:264 e063fae1c9984dc0af421058e9bfb500 msgid "[0.0.34] - 2023-10-02" msgstr "[0.0.34] - 2023-10-02" -#: ../../CHANGES.rst:265 a4b5211e96894c5d9d51b2630d6aea17 +#: ../../CHANGES.rst:269 3aadd82912d6401f8fddc3655ad594b9 msgid "" "Canaille installations without account lockabilty could not delete users. :" "pr:`153`" @@ -586,7 +593,7 @@ msgstr "" "Les installations de Canaille n’ayant pas la fonctionnalité de verrouillage " "des comptes ne pouvaient pas supprimer des utilisateurs. :pr:`153`" -#: ../../CHANGES.rst:271 4f4ca04b08a04dcb8f6a2eb6605f0e13 +#: ../../CHANGES.rst:275 52c2946196324ed2bfacac3fb518a6a1 msgid "" "If users register or authenticate during a OAuth Authorization phase, they " "get redirected back to that page afterwards. :issue:`168` :pr:`151`" @@ -595,7 +602,7 @@ msgstr "" "ils sont ensuite redirigés vers la page dont ils viennent. :issue:`168` :pr:" "`151`" -#: ../../CHANGES.rst:274 298ffe26093441918be8b38d13f0cc58 +#: ../../CHANGES.rst:278 e0bb3561373b4651b98fcc1df2e5db94 msgid "" "The `flask-babel` and `pytz` libraries are now part of the `front` packaging " "extras." @@ -603,51 +610,51 @@ msgstr "" "Les bibliothèques `flask-babel` et `pytz` font désormais partie de l’extra " "d'empaquetage `front`." -#: ../../CHANGES.rst:275 ccb502180d634f11ad173619af1b68d8 +#: ../../CHANGES.rst:279 9cc1748f2a624399ae9983904d6765fc msgid "Bump to `fomantic-ui` 2.9.3. :pr:`152`" msgstr "Mise à jour vers `fomantic-ui` 2.9.3. :pr:`152`" -#: ../../CHANGES.rst:276 7413676f512d4473972484920ff5f060 +#: ../../CHANGES.rst:280 ec7e3985dc034f43bc0e2411086928e7 msgid "Bump to `HTMX` 1.9.6. :pr:`154`" msgstr "Mise à jour vers `HTMX` 1.9.6. :pr:`154`" -#: ../../CHANGES.rst:277 7905327465c44c09b2a10854abe79960 +#: ../../CHANGES.rst:281 768b97eabcb04396a1c3f7e3691c3ed2 msgid "Support for Python 3.12. :pr:`155`" msgstr "Support de Python 3.12 :pr:`155`" -#: ../../CHANGES.rst:280 808e57e560f74a25b60029fbd6531d2e +#: ../../CHANGES.rst:284 4664970b84d545e18a553f8191bc6e8b msgid "[0.0.33] - 2023-08-26" msgstr "[0.0.33] - 2023-08-26" -#: ../../CHANGES.rst:285 1179dc27648248188fdecf5696fd5045 +#: ../../CHANGES.rst:289 3456a02cbd894fccb45ffc1108226c5a msgid "OIDC jwks endpoint do not return empty `kid` claim." msgstr "" "Le point de terminaison OIDC jwks ne retourne plus le paramètre `kid` " "lorsqu’il est vide." -#: ../../CHANGES.rst:290 b8b2caca239b4b609143ffd267522a16 +#: ../../CHANGES.rst:294 fd6c83b8455f4402b82ffe670e6c83c1 msgid "Documentation details on the Canaille models." msgstr "Documentation des modèles de Canaille." -#: ../../CHANGES.rst:293 dd35ed0e27664b6b954e9b39881f14bc +#: ../../CHANGES.rst:297 1f3135eb404e412787af9b4f971ea523 msgid "[0.0.32] - 2023-08-17" msgstr "[0.0.32] - 2023-08-17" -#: ../../CHANGES.rst:298 bdcae061315a4e92a6bc1a48475cb351 +#: ../../CHANGES.rst:302 fe7a0cb646094a3d9b2428f7b7d2f3d4 msgid "Additional inmemory backend. :issue:`30` :pr:`149`" msgstr "" "Implémentation d’un connecteur de base de données en mémoire. :issue:`30` :" "pr:`149`" -#: ../../CHANGES.rst:299 c39cbed721254ce5ad9c250de1e7ea41 +#: ../../CHANGES.rst:303 82523d1da67a46089ffd899f134486dd msgid "Installation extras. :issue:`167` :pr:`150`" msgstr "Définition de dépendances `extra`. :issue:`167` :pr:`150`" -#: ../../CHANGES.rst:302 5311648e4c714ed29e89e9644167f963 +#: ../../CHANGES.rst:306 9b5b3399c9fd4f3bbc8e152ee37e7910 msgid "[0.0.31] - 2023-08-15" msgstr "[0.0.31] - 2023-08-15" -#: ../../CHANGES.rst:307 a6a4b510a0ac4b4ebeb9160510f72d77 +#: ../../CHANGES.rst:311 b2ebe664d67047a5882a33ac5c75875b msgid "" "Configuration option to disable the forced usage of OIDC `nonce` parameter. :" "pr:`143`" @@ -655,35 +662,35 @@ msgstr "" "Option de configuration pour désactiver l’utilisation du paramètre OIDC " "`nonce`. :pr:`143`" -#: ../../CHANGES.rst:308 37eb24ef005e44da8ae0f4c48bda766c +#: ../../CHANGES.rst:312 463b404944d9465fa6a17d3d3c0ea106 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:309 2be2120a0500430a8d854d1b8f19a0bf +#: ../../CHANGES.rst:313 0effe02b658f49698ab59c14e9103fbe msgid "Email verification. :issue:`41` :pr:`147`" msgstr "Vérification des adresses email. :issue:`41`:pr:`147`" -#: ../../CHANGES.rst:310 d3be95492ef348efa77976515d4ffca9 +#: ../../CHANGES.rst:314 ca5e445840644c90980662464ea67abc msgid "Account registration. :issue:`55` :pr:`133` :pr:`148`" msgstr "Enregistrement de comptes utilisateur. :issue:`55` :pr:`133` :pr:`148`" -#: ../../CHANGES.rst:315 1a3da0153c2b451d99665d2b61c512f2 +#: ../../CHANGES.rst:319 3792c9999c5a44c892129bce1c222552 msgid "The `check` command uses the default configuration values." msgstr "La commande `check` utilise les valeurs de configuration par défaut." -#: ../../CHANGES.rst:320 15f35fa96af04e508b1a6448d866cb5f +#: ../../CHANGES.rst:324 6e0b77065c024ebb96f30998294a3b8d msgid "Modals do not need use Javascript at the moment. :issue:`158` :pr:`144`" msgstr "" "Les fenêtres modales ne nécessitent plus l’utilisation de Javascript. :issue:" "`158` :pr:`144`" -#: ../../CHANGES.rst:323 add3188842de44b691dfbe3152546f7b +#: ../../CHANGES.rst:327 e513ff9194cb493fb3273e811b5b96d0 msgid "[0.0.30] - 2023-07-06" msgstr "[0.0.30] - 2023-07-06" -#: ../../CHANGES.rst:327 b96e981450334eee84128d7dffb40d8f +#: ../../CHANGES.rst:331 7bd32f1cc1c24ce9a6a7a4f3d7fd6024 msgid "" "Configuration files must be updated. Check the new format with ``git diff " "0.0.29 0.0.30 canaille/conf/config.sample.toml``" @@ -691,15 +698,15 @@ 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:333 ab83051dda0b48d185846e49011f2429 +#: ../../CHANGES.rst:337 a3f5487d18624886a2adee2c28346eae msgid "Configuration option to disable Javascript. :pr:`141`" msgstr "Option de configuration pour désactiver Javascript. :pr:`141" -#: ../../CHANGES.rst:338 85fb804c891f444c9de116e6e4771526 +#: ../../CHANGES.rst:342 e6ab42f3565b415f85d7778e5ac18966 msgid "The configuration parameter ``USER_FILTER`` is parsed with Jinja." msgstr "Le paramètre de configuration ``USER_FILTER`` est analysé avec Jinja." -#: ../../CHANGES.rst:339 42d91f7cf5a3438a8bcb0bd5c193f1ea +#: ../../CHANGES.rst:343 de4e44a5b6324f389effc64a28a69c5d msgid "" "Configuration use ``PRIVATE_KEY_FILE`` instead of ``PRIVATE_KEY`` and " "``PUBLIC_KEY_FILE`` instead of ``PUBLIC_KEY``." @@ -707,29 +714,29 @@ msgstr "" "La configuration utilise ``PRIVATE_KEY_FILE`` à la place de ``PRIVATE_KEY`` " "et ``PUBLIC_KEY_FILE`` à la place de ``PUBLIC_KEY``." -#: ../../CHANGES.rst:342 30736e0e4b854b46940e80c38023946a +#: ../../CHANGES.rst:346 812f9e5828dd4912bc832214d5ae721d msgid "[0.0.29] - 2023-06-30" msgstr "[0.0.29] - 2023-06-30" -#: ../../CHANGES.rst:347 89d319fb81e148cb8f82f4b1a5a5390c +#: ../../CHANGES.rst:351 81bf1e1132f44c5399805dc865372873 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:350 68d32ee84fa642dfbf358ef907193eb8 +#: ../../CHANGES.rst:354 0b442eaa0f7f44919f3793aac59d4b4d msgid "[0.0.28] - 2023-06-30" msgstr "[0.0.28] - 2023-06-30" -#: ../../CHANGES.rst:355 5490daf53fd144c0b6b360e90bf5667b +#: ../../CHANGES.rst:359 3b645ba8d22642f7ae36a9401a170414 msgid "A template variable was misnamed." msgstr "Une variable de template était mal nommée." -#: ../../CHANGES.rst:358 c65a251ed68a49beaff42740c12ce76a +#: ../../CHANGES.rst:362 1c8d7269601c4cbf8c6952063000a5f1 msgid "[0.0.27] - 2023-06-29" msgstr "[0.0.27] - 2023-06-29" -#: ../../CHANGES.rst:362 ccf84fb0d4cd47058c3849498bd92259 +#: ../../CHANGES.rst:366 3082667648f14f86a48ba1f4c71c6bf1 msgid "" "Configuration files must be updated. Check the new format with ``git diff " "0.0.26 0.0.27 canaille/conf/config.sample.toml``" @@ -737,7 +744,7 @@ 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:368 0856562aad23492aa6efc7f6e4bf8f90 +#: ../../CHANGES.rst:372 d37a0bf60d6a407094dca1df32907bc3 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:" @@ -747,35 +754,35 @@ msgstr "" "paramètre a un suffixe *_FILE* et que sa valeur correspond à un chemin de " "fichier. :issue:`134` :pr:`134`" -#: ../../CHANGES.rst:370 24fa209262e04bcbb46c2ab7c881fbaa +#: ../../CHANGES.rst:374 b198cedfd2dc4b1ca5caffb7281b2b77 msgid "Field list support. :issue:`115` :pr:`136`" msgstr "Support pour les listes de champ. :issue:`115` :pr:`136`" -#: ../../CHANGES.rst:371 eaff808f9ce745c59a1b373ab0ef90ab +#: ../../CHANGES.rst:375 bda5916225d046aa92eee4df020d31d7 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:376 8afcdb0ddd8f4e6c9941315ff1b06538 +#: ../../CHANGES.rst:380 f0103671112e414da54f464537b92886 msgid "Bump to jquery 3.7.0. :pr:`138`" msgstr "Mise à jour vers jquery 3.7.0. :pr:`138`" -#: ../../CHANGES.rst:381 a6e1f4b8a72f4500ab437a86f6e98d06 +#: ../../CHANGES.rst:385 a3de7cd9d0b74333bbe2252c30b27d24 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:386 cfcf7ee77bb84df1bcd780df223e9044 +#: ../../CHANGES.rst:390 a8ee95c286e44ee190211fc2e7792b41 msgid "Stop support for Python 3.7. :pr:`131`" msgstr "Arrêt du support pour Python 3.7. :pr:`131`" -#: ../../CHANGES.rst:389 42eab7328c604747ad6bde0067cb6603 +#: ../../CHANGES.rst:393 031ef0bde1a142fda5313115f399b305 msgid "[0.0.26] - 2023-06-03" msgstr "[0.0.26] - 2023-06-03" -#: ../../CHANGES.rst:394 b621a029c6ec420d8708f0ddd4b49c85 +#: ../../CHANGES.rst:398 8cd815265cd245d8ae32992c885e4c63 msgid "" "Implemented account expiration based on OpenLDAP ppolicy overlay. Needs " "OpenLDAP 2.5+. :issue:`13` :pr:`118`" @@ -783,27 +790,27 @@ msgstr "" "Implémentation de l’expiration des comptes en se basant sur l’overlay " "OpenLDAP `ppolicy``. Nécessite au minimun OpenLDAP 2.5. :issue:`13` :pr:`118`" -#: ../../CHANGES.rst:396 05f5b0808e74429b92bf61fa570014cf +#: ../../CHANGES.rst:400 f7ab79e41d1c400fa0f5be534df749eb msgid "Timezone configuration entry. :issue:`137` :pr:`130`" msgstr "Paramètre de configuration des fuseaux horaire. :issue:`137` :pr:`130`" -#: ../../CHANGES.rst:401 d7e71d1ce6704911b7e5094538cc1084 +#: ../../CHANGES.rst:405 01a6b5ffbd164e11a7d13c2a720b6230 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 n’ont pas de " "valeur définie." -#: ../../CHANGES.rst:402 e16dcca3b764486d874401ba65e22f78 +#: ../../CHANGES.rst:406 1b9beda783b14033b13b34bb69dcf94e 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:405 dcbd97e0bc4f44babcdc9ad9a503c162 +#: ../../CHANGES.rst:409 98f294fe9c78448e92a9340f14812660 msgid "[0.0.25] - 2023-05-05" msgstr "[0.0.25] - 2023-05-05" -#: ../../CHANGES.rst:410 4109765130284304994ae405858bdd3c +#: ../../CHANGES.rst:414 b9e80a38348a4fabb577d17c476ef787 msgid "" "Check the new format with ``git diff 0.0.25 0.0.24 canaille/conf/config." "sample.toml``" @@ -811,93 +818,93 @@ msgstr "" "Vérifiez le nouveau format avec ``git diff 0.0.25 0.0.24 canaille/conf/" "config.sample.toml``" -#: ../../CHANGES.rst:415 c4645c08f789400bba029897871bb828 +#: ../../CHANGES.rst:419 d72e485b1606403e895166193d518a26 msgid "" "Renamed user model attributes to match SCIM naming convention. :pr:`123`" msgstr "" "Renommage des modèles d’attributs d’'utilisateurs en suivant la convention " "SCIM. :pr:`123`" -#: ../../CHANGES.rst:416 3c58d21fdc81418e8ee43179c2d6384f +#: ../../CHANGES.rst:420 f53dae9936ca4478b6575167779eb297 msgid "Moved OIDC related configuration entries in ``OIDC``." msgstr "Déplacement des paramètres de configuration OIDC dans ``OIDC``." -#: ../../CHANGES.rst:417 5b002906414e41448a3fadea87d71e45 +#: ../../CHANGES.rst:421 c097b3593a1f42d882167cef3925368a msgid "Moved ``LDAP`` configuration entry to ``BACKENDS.LDAP``." msgstr "" "Déplacement des paramètres de configuration ``LDAP`` dans ``BACKENDS.LDAP``." -#: ../../CHANGES.rst:418 d58c113094474cf3b82e8a3303202bb6 +#: ../../CHANGES.rst:422 88b8faa16b314ab3bc05c8a24dc7432e msgid "Bumped to `HTMX` 1.9.0. :pr:`124`" msgstr "Mise à jour vers HTMX 1.9.0. :pr:`184`" -#: ../../CHANGES.rst:419 3bbdffb495f74fccbdb9eeb78a8eaf81 +#: ../../CHANGES.rst:423 391a6692f5de4897ac370fc253b7caf4 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:420 0d3ea4f8df2542e0a7da5029159f31e0 +#: ../../CHANGES.rst:424 286baa01210c47ee8a9c71a8c51e72fb msgid "Bumped to `HTMX` 1.9.2. :pr:`127`" msgstr "Mise-à-jour vers `HTMX` 1.9.2. :pr:`127`" -#: ../../CHANGES.rst:425 71139e5ab6e34c2a87d51d3d04c0dbc0 +#: ../../CHANGES.rst:429 2f5e152512fe493c9e5f291f3dc47ca3 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:426 e34b111a3a8b4e2da966a36107a682b5 +#: ../../CHANGES.rst:430 646ffd29b1694f58a41036fec066e023 msgid "Fixed empty model attributes registration. :pr:`125`" msgstr "Correction des attributs vides lors de l’enregistrement. :pr:`125`" -#: ../../CHANGES.rst:427 566d49eca850419cbb39c3a78a4160aa +#: ../../CHANGES.rst:431 8ef81a1e8e584cab90c6401a07c88b81 msgid "Password initialization mails were not correctly sent. :pr:`128`" msgstr "" "Les courriels d’initialisation de mot de passe n’étaient pas correctement " "envoyés. :pr:`128`" -#: ../../CHANGES.rst:430 f461dc48e9c846628f7ddb99b18252c6 +#: ../../CHANGES.rst:434 e9729b8de309453a862cb61a500d83a6 msgid "[0.0.24] - 2023-04-07" msgstr "[0.0.24] - 2023-04-07" -#: ../../CHANGES.rst:435 007393d26d6e4375a0e05cbbf6c41d65 +#: ../../CHANGES.rst:439 e25900ea2cb9451f9def4f1230cf311b msgid "Fixed avatar update. :pr:`122`" msgstr "Correction de la mise à jour des avatars. :pr:`122`" -#: ../../CHANGES.rst:438 0ddfaf5df815484f9eb469a884e5f667 +#: ../../CHANGES.rst:442 6b0ff68eb4d048f9a87c723077b6a917 msgid "[0.0.23] - 2023-04-05" msgstr "[0.0.23] - 2023-04-05" -#: ../../CHANGES.rst:443 2e7346baddf44a7f9f5b9a05ae826913 +#: ../../CHANGES.rst:447 45d12b8c7b044a6aa129a826cb589403 msgid "Organization field. :pr:`116`" msgstr "Champ `organization` :pr:`116`" -#: ../../CHANGES.rst:444 1c68c43ae90f4e2e944dab12514f06d1 +#: ../../CHANGES.rst:448 7554a21c2da44a10ae7044507e7e8ef1 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:445 bcaf8fe7d8e940f191ed6ea5178566c1 +#: ../../CHANGES.rst:449 56e3c78c43bc4ebfb789357d53401f12 msgid "Dynamic form validation. :pr:`120`" msgstr "Validation dynamique des formulaires. :pr:`120`" -#: ../../CHANGES.rst:450 2b077ff5215a4b20b8438e82f4366ada +#: ../../CHANGES.rst:454 eef201e52d6e487fb83b276678dcf6ad msgid "UX rework. Submenu addition. :pr:`114`" msgstr "Travaux sur l’interface utilisateur. Ajout de sous-menus. :pr:`114`" -#: ../../CHANGES.rst:451 166152fdbf6248e8a4af29f4f3bf5b6e +#: ../../CHANGES.rst:455 f6dfc94a3486418cb94ebe88c6078543 msgid "Properly handle LDAP date timezones. :pr:`117`" msgstr "Gestion correcte des fuseaux horaire des dates dans LDAP. :pr:`117`" -#: ../../CHANGES.rst:456 343c4102b6d648018544f151f97540e1 +#: ../../CHANGES.rst:460 c81b6adf5d6e40e8b0aeb2898e40c692 msgid "CSRF protection on every forms. :pr:`119`" msgstr "Protection CSRF sur tous les formulaires. :pr:`119`" -#: ../../CHANGES.rst:459 7140973831594dacad0bd205ca9b60e5 +#: ../../CHANGES.rst:463 41e5cc643b4e4c35b9d04ed3c6eba537 msgid "[0.0.22] - 2023-03-13" msgstr "[0.0.22] - 2023-03-13" -#: ../../CHANGES.rst:463 67dc897fec2946598dbb4fe82db8a94f +#: ../../CHANGES.rst:467 e510bec507814d5387a49ba6117ef0a7 msgid "" "The `Faker` library is not imported anymore when the `clean` command is " "called." @@ -905,26 +912,26 @@ msgstr "" "La bibliothèque `Faker` n’est plus importée lorsque la commande `clean` est " "appelée." -#: ../../CHANGES.rst:466 58e3c0af1ce74125bf42a5ea16b88fbf +#: ../../CHANGES.rst:470 9af418bca29f4c169f5720ea8e14e9ac msgid "[0.0.21] - 2023-03-12" msgstr "[0.0.21] - 2023-03-12" -#: ../../CHANGES.rst:471 a25f75d9086a4499aa1088e537f21bc3 +#: ../../CHANGES.rst:475 6c81ccf5040343cebb06fe34cc66221e msgid "Display TOS and policy URI on the consent list page. :pr:`102`" msgstr "" "Affichage des liens vers les conditions d’utilisation sur la page de liste " "des consentements. :pr:`102`" -#: ../../CHANGES.rst:472 e848a4f5372b44249423579a7e2cdc3d +#: ../../CHANGES.rst:476 4d19d14961744e028504787840181114 msgid "Admin token deletion. :pr:`100` :pr:`101`" msgstr "" "Suppression des jetons via l’interface administrateur. :pr:`100` :pr:`101`" -#: ../../CHANGES.rst:473 61b841de5b89407d9912c8c73309111a +#: ../../CHANGES.rst:477 cf00a4a47f2a4463a3cc06dd126d589d msgid "Revoked consents can be restored. :pr:`103`" msgstr "Les consentements révoqués peuvent être restaurés. :pr:`103`" -#: ../../CHANGES.rst:474 656acd80913242a4820a20bc76d797e8 +#: ../../CHANGES.rst:478 06108983455940049911e3b8892f8735 msgid "" "Pre-consented clients are displayed in the user consent list, and their " "consents can be revoked. :issue:`69` :pr:`103`" @@ -932,7 +939,7 @@ 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:476 e08c1586240745fa9537dd7501475c0d +#: ../../CHANGES.rst:480 2f26c80f733b42f99df3af94c8774ad5 msgid "" "A ``populate`` command can be used to fill the database with random users " "generated with faker. :pr:`105`" @@ -940,29 +947,29 @@ msgstr "" "Implémentation d’une 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:478 dc653adfdbc441589c385b956ae9739e +#: ../../CHANGES.rst:482 64049d3aa81141f3b29778b9f2f3d188 msgid "SMTP SSL support. :pr:`108`" msgstr "Support des connexions SMTP avec SSL. :pr:`108`" -#: ../../CHANGES.rst:479 c69d8b01e4194d5b9268b84ab81849d6 +#: ../../CHANGES.rst:483 6f16cdf0ce864a20b13344f84e6dfefb msgid "Server side pagination. :issue:`114` :pr:`111`" msgstr "Pagination côté serveur. :issue:`114`:pr:`111`" -#: ../../CHANGES.rst:480 5b4f3aa107a74df3ba845920503dfdc5 +#: ../../CHANGES.rst:484 7aeacbe0b4fa48c79db52ed0cf7229fd msgid "Department number support. :issue:`129`" msgstr "Support du champs de numéro de département. :issue:`129`" -#: ../../CHANGES.rst:481 d219e1ac8fa148d5b6e4babc678fbeb2 +#: ../../CHANGES.rst:485 e5bb989cd1fe472cb845dfe3de958f55 msgid "Address edition support (but not in the OIDC claims yet). :pr:`112`" msgstr "" "Support de l’édition de l’adresse (sans que cela apparaisse dans les " "paramètres du jeton OIDC). :pr:`112`" -#: ../../CHANGES.rst:482 52d2ceda28ab430a984dee19f8766b2a +#: ../../CHANGES.rst:486 1140843546bf41dd826bf71bea29ff23 msgid "Title edition support. :pr:`113`" msgstr "Support de l’édition du paramètre `title`. :pr:`113`" -#: ../../CHANGES.rst:487 c4aca25daa3b491f9208d71f7715800f +#: ../../CHANGES.rst:491 d9bd3caa1f4f47ebb304efd457802ca1 msgid "" "Client deletion also deletes related :class:`~canaille.oidc.basemodels." "Consent`, :class:`~canaille.oidc.basemodels.Token` and :class:`~canaille." @@ -973,63 +980,63 @@ msgstr "" "Token` et :class:`~canaille.oidc.basemodels.AuthorizationCode`. :issue:" "`126` :pr:`98`" -#: ../../CHANGES.rst:493 a1c057df21a9436a9b149fb91fdb28d0 +#: ../../CHANGES.rst:497 ac1feaf507284b65bab96bc30457d263 msgid "Removed the `DataTables` Javascript library." msgstr "Suppression de la bibliothèque Javascript `Datatables`." -#: ../../CHANGES.rst:496 74a0312b6fff499fa609d0adbe73dfac +#: ../../CHANGES.rst:500 d0d7087c87844d069df327a34667ef31 msgid "[0.0.20] - 2023-01-28" msgstr "[0.0.20] - 2023-01-28" -#: ../../CHANGES.rst:501 c443970df56e4203b8ee3fd9e4fa2395 +#: ../../CHANGES.rst:505 6254c6b37dea417d908d7679fa0c2df5 msgid "Spanish translation. :pr:`85` :pr:`88`" msgstr "Traduction espagnole. :pr:`85` :pr:`88`" -#: ../../CHANGES.rst:502 9e42a95e59a74c5584d1144c249a57c1 +#: ../../CHANGES.rst:506 3a8a7c3e462e4388a29c87ea44bbca31 msgid "Dedicated connectivity test email. :pr:`89`" msgstr "Test de connectivité. :pr:`89`" -#: ../../CHANGES.rst:503 e06855259b6f463897acd0f8a23cd05e +#: ../../CHANGES.rst:507 6c73a2cff39a4b8caacfca57f27ba60b msgid "Update to jquery 3.6.3. :pr:`90`" msgstr "Mise à jour vers jquery 3.6.3. :pr:`90`" -#: ../../CHANGES.rst:504 96cb7430946248108d8c97973a4799d5 +#: ../../CHANGES.rst:508 2a31509ad04a41d4a9ceab66e4447c61 msgid "Update to fomantic-ui 2.9.1. :pr:`90`" msgstr "Mise à jour vers Fomantic-UI 2.9.1. :pr:`90`" -#: ../../CHANGES.rst:505 5b5784d9aedb4949bac1591395fc7eb9 +#: ../../CHANGES.rst:509 1b8798a48e73416383644caadcb8c9d0 msgid "Update to DataTables 1.13.1. :pr:`90`" msgstr "Mise à jour vers DataTAbles 1.13.1. :pr:`90`" -#: ../../CHANGES.rst:510 e88b90b5e0eb418f99ea2839c1e79943 +#: ../../CHANGES.rst:514 43bb3fea7c22470bb734e723ae6ec2dc msgid "Fix typos and grammar errors. :pr:`84`" msgstr "Correction de fautes de frappe et d’erreurs de grammaire. :pr:`84`" -#: ../../CHANGES.rst:511 d333115d646f4ccf9a5bb2dc4d23eba0 +#: ../../CHANGES.rst:515 28f37a5212944339bb10de4c91b1555d msgid "Fix wording and punctuations. :pr:`86`" msgstr "Correction de formulations et de ponctuations. :pr:`86`" -#: ../../CHANGES.rst:512 cfc153afa2ec4bee9c2dd589a234716c +#: ../../CHANGES.rst:516 3511a582ca4d4dd5b57f04e945ff2615 msgid "Fix HTML lang tag. :issue:`122` :pr:`87`" msgstr "Correction de la balise HTML de langue. :issue:`122` :pr:`87`" -#: ../../CHANGES.rst:513 a2dc7b3677d040c7a43bde721f766029 +#: ../../CHANGES.rst:517 227f6ecacee547eab969399f3543c1a9 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:514 9a91064adb7f414fab73518fbc77b01d +#: ../../CHANGES.rst:518 ce4262a979b34e588c4d99db8ec9fae6 msgid "Fixed dynamic registration scope management. :issue:`123` :pr:`93`" msgstr "" "Correction de la gestion du domaine de l’enregistrement dynamique. :issues:" "`123` :pr:`93`" -#: ../../CHANGES.rst:517 d7a2cda6d8e24cc484f13ee4df40c1ea +#: ../../CHANGES.rst:521 3326dbb8be62452d8140320a39612093 msgid "[0.0.19] - 2023-01-14" msgstr "[0.0.19] - 2023-01-14" -#: ../../CHANGES.rst:522 f7c94b5e7545458e8375ef8a8e3dc21c +#: ../../CHANGES.rst:526 c15def45121b4d30ab4c57c640f5da6a msgid "" "Ensures the token `expires_in` claim and the `access_token` `exp` claim have " "the same value. :pr:`83`" @@ -1037,11 +1044,11 @@ msgstr "" "Le paramètre ``expires_in`` du flux d’autorisation et le paramètre ``exp``du " "jeton d’accès ont la même valeur. :pr:`83" -#: ../../CHANGES.rst:526 9291df232e4b4a7eb97fb87504f9b8d4 +#: ../../CHANGES.rst:530 2e2f24525dba4a819e97e6589907d0a5 msgid "[0.0.18] - 2022-12-28" msgstr "[0.0.18] - 2022-12-28" -#: ../../CHANGES.rst:531 c896b9996ab24cfeb217e9ebfdbed090 +#: ../../CHANGES.rst:535 82745fec4b984965b3d0b81bed5a3941 msgid "" "OIDC end_session was not returning the ``state`` parameter in the " "``post_logout_redirect_uri``. :pr:`82`" @@ -1049,40 +1056,40 @@ msgstr "" "Le paramètre ``state`` n’était pas transmis à l’URL de redirection post " "déconnexion. :pr:`82`" -#: ../../CHANGES.rst:535 2fa2e9a70b8d4ab4bed4d7f0d8d68f37 +#: ../../CHANGES.rst:539 3bd062d77c0048d3816421ed0de978e6 msgid "[0.0.17] - 2022-12-26" msgstr "[0.0.17] - 2022-12-26" -#: ../../CHANGES.rst:540 cff81f4ef5254cfdb1e6ba76c2c3b9f6 +#: ../../CHANGES.rst:544 4f0e0feb2cca4a8eb54473f5764cfcc7 msgid "Fixed group deletion button. :pr:`80`" msgstr "Correction du bouton de suppression de groupe. :pr:`80`" -#: ../../CHANGES.rst:541 552d92ac7c364f198201b60a3abebae2 +#: ../../CHANGES.rst:545 b6fc018fb2dc41ecaf43a313cf5330b9 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:544 f7c78b950b184117855277070cb4e548 +#: ../../CHANGES.rst:548 0e9699c0d5a74e689fdb73d2ac431d28 msgid "[0.0.16] - 2022-12-15" msgstr "[0.0.16] - 2022-12-15" -#: ../../CHANGES.rst:549 3e522208e81740fba479a43b017311fd +#: ../../CHANGES.rst:553 a43af598d338438ea64a3352a866610c msgid "Fixed LDAP operational attributes handling." msgstr "Correction sur le comportement des attributs LDAP opérationnels." -#: ../../CHANGES.rst:552 53e83abb15b24cc0a3d589011cf7c2a3 +#: ../../CHANGES.rst:556 11d5f04851c847e6b3939176add7c1e2 msgid "[0.0.15] - 2022-12-15" msgstr "[0.0.15] - 2022-12-15" -#: ../../CHANGES.rst:557 7194a505926740e3b52b81708d2818de +#: ../../CHANGES.rst:561 ce751d2ad6e44f438e092afbdcfe72ce msgid "User can chose their display name. :pr:`77`" msgstr "Les utilisateurs peuvent choisir leur nom d’affichage. :pr:`77`" -#: ../../CHANGES.rst:558 5c5a59a03bd5497aa7474ae59e88f6bf +#: ../../CHANGES.rst:562 008bcd50172d46429d218c6afbd7bc0f msgid "Bumped to Authlib 1.2. :pr:`78`" msgstr "Mise à jour vers Authlib 1.2. :pr:`78`" -#: ../../CHANGES.rst:559 0a3d037fae66464b8c2dfeea28dd3eaf +#: ../../CHANGES.rst:563 3edcc407205b44918ab63920f9734a50 msgid "" "Implemented :rfc:`RFC7592 <7592>` OAuth 2.0 Dynamic Client Registration " "Management Protocol. :pr:`79`" @@ -1090,26 +1097,26 @@ msgstr "" "Implémentation de la :rfc:`RFC7592 <7592>` OAuth 2.0 Dynamic Client " "Registration Management Protocol. :pr:`79`" -#: ../../CHANGES.rst:561 0670727ea1074acf968c49e71dc4062b +#: ../../CHANGES.rst:565 e327d602ecac448f8f73a848047f6319 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:564 eb86b7335b7b4971812f25c9a2d37d1e +#: ../../CHANGES.rst:568 74ad576932584357834751ca5edd823a msgid "[0.0.14] - 2022-11-29" msgstr "[0.0.14] - 2022-11-29" -#: ../../CHANGES.rst:568 9903a64c05994256813debf83e9a6b21 +#: ../../CHANGES.rst:572 1205e961f8944bbb8dbc519bbfdf4993 msgid "Fixed translation catalogs packaging." msgstr "Correction de l'empaquetage des catalogues de traduction." -#: ../../CHANGES.rst:571 eb1e508e7d2c46bdb471cffecbe4d897 +#: ../../CHANGES.rst:575 fc089f22a3a14548b469d6c4668bb3dc msgid "[0.0.13] - 2022-11-21" msgstr "[0.0.13] - 2022-11-21" -#: ../../CHANGES.rst:576 6e71d21752234824bc42897b8a434bb3 +#: ../../CHANGES.rst:580 ea1f503e84f04965b18a569cf25d2941 msgid "" "Fixed a bug on the contacts field in the admin client form following the " "LDAP schema update of 0.0.12." @@ -1118,7 +1125,7 @@ msgstr "" "d’administration des clients OIDC, du à la mise à jour des schémas LDAP de " "la version 0.0.12." -#: ../../CHANGES.rst:578 374bd3f105af42bc8ea5c0de35e7437f +#: ../../CHANGES.rst:582 95a73e92dd77499c9109135edf0040cf msgid "" "Fixed a bug happening during RP initiated logout on clients without " "`post_logout_redirect_uri` defined." @@ -1126,39 +1133,39 @@ msgstr "" "Correction d’une erreur survenant dans la phase de déconnexion initiée par " "les clients sans paramètre `post_logout_redirect_uri` défini." -#: ../../CHANGES.rst:580 6244294cde9d429dbab852b0f7721160 +#: ../../CHANGES.rst:584 5648d45162744cf4956d8d9c7d9bbf3d msgid "Gitlab CI fix. :pr:`64`" msgstr "Correction de l’intégration continue de Gitlab. :pr:`64`" -#: ../../CHANGES.rst:581 8dc7de6abbd447f4a78272f33cbcb6cf +#: ../../CHANGES.rst:585 1b490834cff04cb99ff4b83f9e5dd758 msgid "" "Fixed `client_secret` display on the client administration page. :pr:`65`" msgstr "" "Correction de l’affichage de l’attribut `client_secret` sur la page " "d’administration des clients. :pr:`65`" -#: ../../CHANGES.rst:582 be276c6c0aed433987b562fa51a9af06 +#: ../../CHANGES.rst:586 5d7cd051df4c45eb9b8e2beea6ec9659 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:583 45c4b643c08f4e98b8eb1994cca78051 +#: ../../CHANGES.rst:587 16e68eaca761436eb1add2beea510963 msgid "Fixed schema path on installation. :pr:`68`" msgstr "Correction des chemins d’installation des schémas. :pr:`68`" -#: ../../CHANGES.rst:584 490ff7e15c244e1c80522169f52be22c +#: ../../CHANGES.rst:588 5d87e6344c9d474c821419beb33a1d56 msgid "Fixed RFC7591 ``software_statement`` claim support. :pr:`70`" msgstr "Correction du paramètre ``software_statement` de la RFC7591. :pr:`70`" -#: ../../CHANGES.rst:585 13d139a4ca6b420eb0780952acd8582c +#: ../../CHANGES.rst:589 b65b8f602a7d4440936987b7c0143cf7 msgid "Fixed client preconsent disabling. :pr:`72`" msgstr "" "Correction de la désactivation du pré-consentement des clients. :pr:`72`" -#: ../../CHANGES.rst:590 f863beea190c4605afc13c35d7828c7e +#: ../../CHANGES.rst:594 05f32b1852b34334be85dc02f3bc2689 msgid "Python 3.11 support. :pr:`61`" msgstr "Support de Python 3.11. :pr:`61`" -#: ../../CHANGES.rst:591 dfa820f752f64485950bd9f2f4f2f798 +#: ../../CHANGES.rst:595 33289ea27c844082832e8eea78498d86 msgid "" "``apparmor`` slapd configuration instructions in the documentation page for " "contributions. :pr:`66`" @@ -1166,11 +1173,11 @@ msgstr "" "Instructions concernant la configuration ``apparmor`` pour OpenLDAP dans la " "page de documentation sur les contributions. :pr:`66`" -#: ../../CHANGES.rst:592 33f4b497e723467fb7cca94de105b331 +#: ../../CHANGES.rst:596 d12ad2a4e17244f8b2719ba9d0749597 msgid "``preferredLanguage`` attribute support. :pr:`75`" msgstr "Support de l’attribut utilisateur ``preferredLanguage``. :pr:`75`" -#: ../../CHANGES.rst:597 80931cb05ba54eb0bdd13af0e69ae5c4 +#: ../../CHANGES.rst:601 dac1b885aa8243af874405b4ccce52f2 msgid "" "Replaced the use of the deprecated `FLASK_ENV` environment variable by " "`FLASK_DEBUG`." @@ -1178,7 +1185,7 @@ msgstr "" "Remplacement de la variable d’environnement dépréciée `FLASK_ENV` par " "`FLASK_DEBUG`." -#: ../../CHANGES.rst:599 74c0ecca84cb4195b047360a2a12b281 +#: ../../CHANGES.rst:603 b6ca7ce41fa346b8bb3fa325f1e1ac0d msgid "" "Dynamically generate the server metadata. Users won't have to copy and " "manually edit ``oauth-authorizationserver.json`` and ``openid-configuration." @@ -1188,70 +1195,70 @@ msgstr "" "plus à copier manuellement et éditer les fichiers ``oauth-" "authorizationserver.json`` et ``openid-configuration.json``. :pr:`71`" -#: ../../CHANGES.rst:602 b56f59b2dd124c91a6268830cf4ddecc +#: ../../CHANGES.rst:606 ae1b6570238e43f1ac83a511fece3cf5 msgid "The `FROM_ADDR` configuration option is not mandatory anymore. :pr:`73`" msgstr "" "L’option de configuration ``FROM_ADDR``n’est plus obligatoire. :pr:`73`" -#: ../../CHANGES.rst:603 d701256eb4764f81827acd7b0a0dbda3 +#: ../../CHANGES.rst:607 cba8b0fae91a4dfe9f0e05ddb541f667 msgid "The `JWT.ISS` configuration option is not mandatory anymore. :pr:`74`" msgstr "L’option de configuration ``JWT.ISS``n’est plus obligatoire. :pr:`74`" -#: ../../CHANGES.rst:606 45607852e443428199051f1ecba9ba24 +#: ../../CHANGES.rst:610 36caf034f254408aa020410594ab0cce msgid "[0.0.12] - 2022-10-24" msgstr "[0.0.12] - 2022-10-24" -#: ../../CHANGES.rst:611 9997d515babd44b4841ef0218885f1f1 +#: ../../CHANGES.rst:615 319c8b51be714d25ab11b9a83241970d msgid "Basic WebFinger endpoint. :pr:`59`" msgstr "Support basique du point de terminaison WebFinger. :pr:`59`" -#: ../../CHANGES.rst:612 509a601f77664756bc01064f20359cf6 +#: ../../CHANGES.rst:616 97c9f28850884353be68c0ada430c443 msgid "Bumped to FomanticUI 2.9.0." msgstr "Mise à jour vers FomanticUI 2.9.0." -#: ../../CHANGES.rst:613 2cfcbdba2e9541dbab610bc724a2683a +#: ../../CHANGES.rst:617 c3938df1d7fc47aa9e9e686b32366a0a msgid "Implemented Dynamic Client Registration. :pr:`60`" msgstr "" "Implémentation de l’enregistrement dynamique des clients OIDC. :pr:`60`" -#: ../../CHANGES.rst:616 4acb242ffb5440d1a468e2d3c3856fe8 +#: ../../CHANGES.rst:620 5fbfc5c654b0443bac204c4743931636 msgid "[0.0.11] - 2022-08-11" msgstr "[0.0.11] - 2022-08-11" -#: ../../CHANGES.rst:621 0c4bd2691ba9453b88a686a22ede18ef +#: ../../CHANGES.rst:625 d3758c7b32f54dc38b34ab4f54a526ba msgid "Default theme has a dark variant. :pr:`57`" msgstr "Le thème par défaut a une variante sombre. :pr:`57`" -#: ../../CHANGES.rst:626 d3cabac68def4f77a693a6159bf2f5c0 +#: ../../CHANGES.rst:630 eac5e673605c44bebeab671117d02935 msgid "Fixed missing ``canaille`` binary. :pr:`58`" msgstr "Correction du binaire manquant ``canaille``. :pr:`58`" -#: ../../CHANGES.rst:629 735459f4aeea42c6b0f7be4a2b06802f +#: ../../CHANGES.rst:633 be7d08fe65be48d09396c1c7af7f0e49 msgid "[0.0.10] - 2022-07-07" msgstr "[0.0.10] - 2022-07-07" -#: ../../CHANGES.rst:634 f9dfd87d0fa145579e2297b27b61a11b +#: ../../CHANGES.rst:638 f2759b5afad84126b4041f583edb72eb msgid "Online demo. :pr:`55`" msgstr "Démo en ligne. :pr:`55`" -#: ../../CHANGES.rst:635 5e5eef7b53ce470ab0a0137617552a9c +#: ../../CHANGES.rst:639 e3d980415ffb4cccb2272b1cf96719cc 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:636 f7b8675a05b64bafb3efbbad603537ce +#: ../../CHANGES.rst:640 d936dc556a9f4503b0802988273649d3 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:639 a14c8084a27d463f82c1573d946a6676 +#: ../../CHANGES.rst:643 1732d28f09b24b89854f21bfe7942840 msgid "[0.0.9] - 2022-06-05" msgstr "[0.0.9] - 2022-06-05" -#: ../../CHANGES.rst:644 d04e2396209641cc84fa39d8bb397eaa +#: ../../CHANGES.rst:648 a298893156394c80b5f843c7193b0ca8 msgid "" "``DISABLE_PASSWORD_RESET`` configuration option to disable password " "recovery. :pr:`46`" @@ -1259,112 +1266,112 @@ msgstr "" "Mise en place de l’option de configuration ``DISABLE_PASSWORD_RESET`` pour " "désactiver la fonctionnalité de réinitialisation des mots de passe. :pr:`46`" -#: ../../CHANGES.rst:645 01acc147a456445eb3858de7b0586dca +#: ../../CHANGES.rst:649 c831a4847472435881495bdc121788f9 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:646 dafb92303cb147909db73fdc619f1267 +#: ../../CHANGES.rst:650 312e6a546170436ea1fa95b58e7d91e1 msgid "`RP-initiated logout` implementation. :pr:`54`" msgstr "Implémentation de la norme OIDC `RP-initiated logout` :pr:`54`" -#: ../../CHANGES.rst:651 f672b1443aa9498994204b20952103e4 +#: ../../CHANGES.rst:655 797b8359f6a449e5ba16bcc78088768f msgid "Bumped to Authlib 1. :pr:`48`" msgstr "Mise à jour vers Authlib 1. :pr:`48`" -#: ../../CHANGES.rst:652 18c1456a82f748cd9ee0d6abcb40801f +#: ../../CHANGES.rst:656 4d9126ad1c3742759d3d204f1cf76dac msgid "Various documentation improvements. :pr:`50`" msgstr "Diverses améliorations de la documentation. :pr:`50`" -#: ../../CHANGES.rst:653 77c7a3b3242647718a3a94a1fc4d05a1 +#: ../../CHANGES.rst:657 36dc25439ee04162b5a0a808de0e823e 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:654 3b65181a80b64d0d8a474a5e643d3f80 +#: ../../CHANGES.rst:658 f1fc01004b2f41349cbe787739c40b03 msgid "Additional tests for the OIDC ``nonce`` parameter. :pr:`52`" msgstr "Tests additionnels concernant le paramètre OIDC ``nonce``. :pr:`52`" -#: ../../CHANGES.rst:658 35eef6ab06b940e8ad49bf31b7620404 +#: ../../CHANGES.rst:662 0183302671b24cb0b537b104dc58a9ea msgid "``HIDE_INVALID_LOGIN`` behavior and default value." msgstr "Comportement et valeur par défaut de ``HIDE_INVALID_LOGIN``." -#: ../../CHANGES.rst:659 2792732f7d154df2b11a35b13114939b +#: ../../CHANGES.rst:663 781578064d2347228773e4f950d612b2 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:662 8766634316d146ab8929259434391f34 +#: ../../CHANGES.rst:666 d816db34635d4549985bb9d94d9a7862 msgid "[0.0.8] - 2022-03-15" msgstr "[0.0.8] - 2022-03-15" -#: ../../CHANGES.rst:667 f053b2fe7153473a81cb24bfc2b90c7d +#: ../../CHANGES.rst:671 5c82cce323c6462687804d2c7f006f8d msgid "Fixed dependencies." msgstr "Correction des dépendances." -#: ../../CHANGES.rst:670 6fe1289ea759485b9c3c7658461a409d +#: ../../CHANGES.rst:674 e6ab77996ddc43dab6022173bbd8eae0 msgid "[0.0.7] - 2022-03-15" msgstr "[0.0.7] - 2022-03-15" -#: ../../CHANGES.rst:675 f40f5e320ea4412fadc8f1bc1d99198c +#: ../../CHANGES.rst:679 db3701add4984f8c8dd764706a9639fd 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:678 ac9b3059b303486a9b31536f1726d873 +#: ../../CHANGES.rst:682 099a78c093eb4078914a63b9f15403b7 msgid "[0.0.6] - 2022-03-08" msgstr "[0.0.6] - 2022-03-08" -#: ../../CHANGES.rst:683 357a41c66f054b9b830d9ae20551690d +#: ../../CHANGES.rst:687 4598be258efa4e99ab34d7bd5648a824 msgid "Access token are JWT. :pr:`38`" msgstr "Les jetons d’accès sont des JWT. :pr:`38`" -#: ../../CHANGES.rst:688 20b619f456934ab09712d95d37ef12cd +#: ../../CHANGES.rst:692 19eb39b5f802426f9c1380f0d3c0dfbb msgid "Default groups on invitations. :pr:`41`" msgstr "Groupes par défaut lors des invitations. :pr:`41`" -#: ../../CHANGES.rst:689 74f8d8568cd1405bbef739de7b92f380 +#: ../../CHANGES.rst:693 81b3f2d331284cd1bd5d5a148b5d3b77 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:692 936cdbdb780241beb677c1a3c5d21735 +#: ../../CHANGES.rst:696 bc34ed5400c7449886a6d25b679c7ae2 msgid "[0.0.5] - 2022-02-17" msgstr "[0.0.5] - 2022-02-17" -#: ../../CHANGES.rst:697 b49925c79428413ca8c31eff4f42a588 +#: ../../CHANGES.rst:701 45fc46e1672846778b27bc8766c1aeae msgid "LDAP model objects have new identifiers. :pr:`37`" msgstr "Les objects LDAP ont de nouveaux identifiants. :pr:`37`" -#: ../../CHANGES.rst:702 21e3bd1145ce480ea8a82394722cef34 +#: ../../CHANGES.rst:706 8973b4acdebf481783a30266f9502cc2 msgid "Admin menu dropdown display. :pr:`39`" msgstr "Le menu d’administration est déroulant. :pr:`39`" -#: ../../CHANGES.rst:703 b50bd877e6fa4055a450f65d4e0e6951 +#: ../../CHANGES.rst:707 b5deb21feb4d45e58f0b010788916ecd msgid "``GROUP_ID_ATTRIBUTE`` configuration typo. :pr:`40`" msgstr "" "Correction d’une faute de frappe pour le paramètre de configuration " "``GROUP_ID_ATTRIBUTE`` :pr:`40`" -#: ../../CHANGES.rst:706 93523c049fd2438b9f8dbb942b657b7c +#: ../../CHANGES.rst:710 3dad472d941b4b5392930e039a934df2 msgid "[0.0.4] - 2022-02-16" msgstr "[0.0.4] - 2022-02-16" -#: ../../CHANGES.rst:711 9cc5e4c0be3e43f98a84d076d254a7a8 +#: ../../CHANGES.rst:715 3086c540c13844a3b626a211f86a856b msgid "Client pre-authorization. :pr:`11`" msgstr "Pré-autorisation des clients OIDC. :pr:`11`" -#: ../../CHANGES.rst:712 b1444e5514e3495f8f05b00bfb31e54b +#: ../../CHANGES.rst:716 b621896643ca409cac8c3007137ed084 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:713 81badbb21dfe4dd0bd990037947c24cf +#: ../../CHANGES.rst:717 ac5232266c154c829a210031f4d8a1bc msgid "" "Update consents when a scope required is larger than the scope of an already " "given consent. :pr:`13`" @@ -1372,37 +1379,37 @@ msgstr "" "Mise à jour des consentements lorsque le domaine requis est plus large que " "le domaine déjà autorisé. :pr:`13`" -#: ../../CHANGES.rst:715 5f6092f6103d401e9fe4554e04ad12cb +#: ../../CHANGES.rst:719 7af42dde14864ada93162b9ea16e7cd4 msgid "Theme customization. :pr:`15`" msgstr "Personnalisation du thème. :pr:`15`" -#: ../../CHANGES.rst:716 7e99d3a9c9134144a8e18989e6d0d633 +#: ../../CHANGES.rst:720 b8096ecde48d430b91666fa493e4fffe msgid "Logging configuration. :pr:`16`" msgstr "Configuration de la journalisation. :pr:`16`" -#: ../../CHANGES.rst:717 abd6618054b443efbb5101e9c32f0c90 +#: ../../CHANGES.rst:721 0db8075af2664c10be1433c0426592e5 msgid "Installation command. :pr:`17`" msgstr "Commande d’installation. :pr:`17`" -#: ../../CHANGES.rst:718 18c69372e28c42c4b0ac0cae51fcd8aa +#: ../../CHANGES.rst:722 5a0d7f3aca6b446fba5f0d36512be8c1 msgid "Invitation links. :pr:`18`" msgstr "Liens d’invitation. :pr:`18`" -#: ../../CHANGES.rst:719 2e35dc7cf246485c97650451d1f41d93 +#: ../../CHANGES.rst:723 900b1cb1421848c78ccd8559ce8aa513 msgid "Advanced permissions. :pr:`20`" msgstr "Permissions avancées. :pr:`20`" -#: ../../CHANGES.rst:720 ef3b8ab7e89448089a9d09363832c7cc +#: ../../CHANGES.rst:724 be2815e3ce9b44f6aeb64d24d7cd75ee msgid "An option to not use OIDC. :pr:`23`" msgstr "Une option pour désactiver OIDC. :pr:`23`" -#: ../../CHANGES.rst:721 4d5d5581283a4eaabab00c6df18077a0 +#: ../../CHANGES.rst:725 6fe21ccaf0474887a8c6c04e69154ada msgid "Disable some features when no SMTP server is configured. :pr:`24`" msgstr "" "Désactivation de quelques fonctionnalités lorsqu’aucun serveur SMTP n’a été " "configuré." -#: ../../CHANGES.rst:722 a54b117ff68e47eabb66aa0a741790b1 +#: ../../CHANGES.rst:726 7fcdcf093e8849e59445af91ec4cfab6 msgid "" "Login placeholder dynamically generated according to the configuration. :pr:" "`25`" @@ -1410,56 +1417,56 @@ msgstr "" "Le texte d’exemple du champ de connexion est généré dynamiquement en " "fonction de la configuration. :pr:`25`" -#: ../../CHANGES.rst:723 8593aca44439457296e5591823f56739 +#: ../../CHANGES.rst:727 9bebc076e1b64cb3be67690a3e46e808 msgid "Added an option to tune object IDs. :pr:`26`" msgstr "" "Ajout d’une option pour paramétrer les identifiants des objets. :pr:`26`" -#: ../../CHANGES.rst:724 548d5d09a1da4104aed49324dd3d96b6 +#: ../../CHANGES.rst:728 983fa51b51db46409b73d0ba279c76d5 msgid "Avatar support. :pr:`27`" msgstr "Support des avatars. :pr:`27`" -#: ../../CHANGES.rst:725 e6275bae918547beab8caabaf64f57db +#: ../../CHANGES.rst:729 94758b3cf72342d2948e727f6deb10a7 msgid "Dynamical and configurable JWT claims. :pr:`28`" msgstr "Paramètres des jetons d’accès dynamiques et configurables. :pr:`28`" -#: ../../CHANGES.rst:726 82bbcaaa7973438696de021fbff14354 +#: ../../CHANGES.rst:730 33402d7e6d47455cbfc52aeb276a12f2 msgid "UI improvements. :pr:`29`" msgstr "Améliorations de l’interface utilisateur. :pr:`29`" -#: ../../CHANGES.rst:727 70cd1dd3d81d4288b1c6bca674492944 +#: ../../CHANGES.rst:731 181fed73a01445ea9865aadc802e9642 msgid "Invitation links expiration. :pr:`30`" msgstr "Expiration des liens d’invitation. :pr:`30`" -#: ../../CHANGES.rst:728 af865fef102c44bc801e8aec157c2835 +#: ../../CHANGES.rst:732 eeaa39f7f6c842d39c1d8d40c6e4fbf8 msgid "Invitees can choose their IDs. :pr:`31`" msgstr "Les invités peuvent choisir leur identifiant. :pr:`31`" -#: ../../CHANGES.rst:729 d194b87cfbd94dd398f1c58bec6e4c37 +#: ../../CHANGES.rst:733 8123032bb5d341ec82aa2b0ac8caf886 msgid "LDAP backend refactoring. :pr:`35`" msgstr "Ré-usinage concernant la base de données LDAP. :pr:`35`" -#: ../../CHANGES.rst:734 2409763cd25243c9a80678c470fa336d +#: ../../CHANGES.rst:738 c9a12647745f472890eff2ceb165a8b8 msgid "Fixed ghost members in a group. :pr:`14`" msgstr "Correction des membres fantômes dans les groupes. :pr:`14`" -#: ../../CHANGES.rst:735 ae04a8fa1896467792d8aaaf161fed29 +#: ../../CHANGES.rst:739 834311277daf401e9c654cfe0751d4f2 msgid "Fixed email sender names. :pr:`19`" msgstr "Correction de l’adresse email des émetteurs. :pr:`19`" -#: ../../CHANGES.rst:736 596c5956ebc6442984251ca5c558834e +#: ../../CHANGES.rst:740 5fa1016aa05747ca84948a30c452d5a4 msgid "Fixed filter being not escaped. :pr:`21`" msgstr "Les filtres n’étaient pas échappés. :pr:`21`" -#: ../../CHANGES.rst:737 bbf97ea202404efd8708cfbed4bbfe74 +#: ../../CHANGES.rst:741 a221c0e18ffd40e3986f7d20f6eac01a msgid "Demo script good practices. :pr:`32`" msgstr "Bonnes pratiques du script de démo. :pr:`32`" -#: ../../CHANGES.rst:738 8d176b7d4da5419d8768430eeb01036c +#: ../../CHANGES.rst:742 7e90135fab824314847bb5f4e9ab0664 msgid "Binary path for Debian. :pr:`33`" msgstr "Chemins des binaires pour Debian. :pr:`33`" -#: ../../CHANGES.rst:739 004ecd0e934049ef823bbf0d63f75c14 +#: ../../CHANGES.rst:743 39205a39be2c4d4bbc2359ba32796266 msgid "" "Last name was not mandatory in the forms while this was mandatory in the " "LDAP server. :pr:`34`" @@ -1467,97 +1474,97 @@ msgstr "" "Le nom de famille était facultatif dans les formulaires alors que c’est un " "paramètre obligatoire pour LDAP. :pr:`34`" -#: ../../CHANGES.rst:741 c6de3dbeeb5f40ff85c60e062271bfdb +#: ../../CHANGES.rst:745 bef3030603fa42ccaeffb936e450cfeb msgid "Spelling typos. :pr:`36`" msgstr "Corrections de fautes d’orthographe. :pr:`36`" -#: ../../CHANGES.rst:744 d49aed2f00e346cc8adaa26aa54f470a +#: ../../CHANGES.rst:748 2dc8f2d4014f4eb9805a19921e4e336a msgid "[0.0.3] - 2021-10-13" msgstr "[0.0.3] - 2021-10-13" -#: ../../CHANGES.rst:749 0b32a6319c044bba95b3a00f245c6956 +#: ../../CHANGES.rst:753 f0b73ca5d1da4a728d770d11887f9754 msgid "Two-steps sign-in. :issue:`49`" msgstr "Connexion en deux étapes. :issue:`49`" -#: ../../CHANGES.rst:750 4cf53569893c4b0ba8eab17b44a4a15b +#: ../../CHANGES.rst:754 d8353e939a4341fdb9d8b51ac4e03c75 msgid "Tokens can have several audiences. :issue:`62` :pr:`9`" msgstr "Les jetons peuvent avoir plusieurs audiences. :issue:`62` :pr:`9`" -#: ../../CHANGES.rst:751 2956507b8bba47839fef6f9a63d5321a +#: ../../CHANGES.rst:755 a8bf6576f8214a6299aadf379a50f282 msgid "Configuration check command. :issue:`66` :pr:`8`" msgstr "Commande de vérification de la configuration. :issue:`66` :pr:`8`" -#: ../../CHANGES.rst:752 0415c157cb414913b3d7748afba41cda +#: ../../CHANGES.rst:756 05a103a6101241a9afbfeffb28b04ee2 msgid "Groups management. :issue:`12` :pr:`6`" msgstr "Gestion des groupes. :issue:`12` :pr:`6`" -#: ../../CHANGES.rst:757 e08a9eafc49f45cbb361ed3bd89d4649 +#: ../../CHANGES.rst:761 f9681903b632489e99eb53fdf5301bb7 msgid "Introspection access bugfix. :issue:`63` :pr:`10`" msgstr "" "Correction de l’accès au point de terminaison d’introspection OIDC. :issue:" "`63`:pr:`10`" -#: ../../CHANGES.rst:758 48e63a4a411d4aab8259f74b1d257a37 +#: ../../CHANGES.rst:762 08202024eda84dd2b15e255de912389d msgid "Introspection sub claim. :issue:`64` :pr:`7`" msgstr "" "Support du paramètre ``sub``dans l’introspection OIDC. :issue:`64` :pr:`7`" -#: ../../CHANGES.rst:761 2a9047b937be481f811eb403d6bf7fd9 +#: ../../CHANGES.rst:765 c8cf3465674b4ecb94bf3a4548fc5601 msgid "[0.0.2] - 2021-01-06" msgstr "[0.0.2] - 2021-01-06" -#: ../../CHANGES.rst:766 9f74458dacff435998774594822a1506 +#: ../../CHANGES.rst:770 a52712c92f57496f9cbaf32727c9a2df msgid "Login page is responsive. :issue:`1`" msgstr "La page de connexion est réactive. :issue:`1`" -#: ../../CHANGES.rst:767 8a87683d8d524cd482264473256b3777 +#: ../../CHANGES.rst:771 3e40e18b9ffa4afd9036177b6d1a0393 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:768 c777083179094cd994619adcfc8499d9 +#: ../../CHANGES.rst:772 cf124fc4d201473f9a1d604b092c8c0a msgid "Password recovery interface. :issue:`3`" msgstr "Interface de réinitialisation des mots de passe. :issue:`3`" -#: ../../CHANGES.rst:769 c7393dc1bb6a4290bfdb2d59a3fef0c9 +#: ../../CHANGES.rst:773 6a024dfd785b44f09e231f0f3b6a1bdd msgid "User profile interface. :issue:`4`" msgstr "Interface de gestion des profiles utilisateur. :issue:`4`" -#: ../../CHANGES.rst:770 e874e0e97cae4310ba62553c3d31cd16 +#: ../../CHANGES.rst:774 295718a0674c41749936c9ee63d895b2 msgid "Renamed the project *Canaille*. :issue:`5`" msgstr "Renommage du projet en *Canaille*. :issue:`5`" -#: ../../CHANGES.rst:771 27a300eabaaf4644989d134ccca22dd8 +#: ../../CHANGES.rst:775 5572ba58f8934db484ed5914858c1f61 msgid "Command to remove old tokens. :issue:`17`" msgstr "Commande pour supprimer les jetons expirés. :issue:`17`" -#: ../../CHANGES.rst:772 8e168b1583984a71848678112365d1c7 +#: ../../CHANGES.rst:776 da0ebb8c52d34d209bbbc13ec7a1902a 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:773 901de9a21dd94541b3c23946ada4cd88 +#: ../../CHANGES.rst:777 2eca9a011ae64f8788ff5b22428f2b63 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:774 62c1e3da0a87437aaa529dcc936c7dbc +#: ../../CHANGES.rst:778 42eb9a40233047e4a8d632b8b60a4220 msgid "Improved consents page. :issue:`27`" msgstr "Améliorations sur la page de consentement. :issue:`27`" -#: ../../CHANGES.rst:775 f816ffeb73244ae0b1171b8c156d1e12 +#: ../../CHANGES.rst:779 4511807efd4b4f6ea558d2632d914cae msgid "Admin user page. :issue:`8`" msgstr "Page d’administration des utilisateurs. :issue:`8`" -#: ../../CHANGES.rst:776 2241f2b45f1e426f99f68ccc516c6b60 +#: ../../CHANGES.rst:780 9928a9d6301649a2bb80e54f26506c4e msgid "Project logo. :pr:`29`" msgstr "Logo pour le projet. :pr:`29`" -#: ../../CHANGES.rst:777 dd802cef3e384fdc928fc43178ab119a +#: ../../CHANGES.rst:781 4403f90b28a249c2b38248bf0c9f77f7 msgid "" "User account self-deletion can be enabled in the configuration with " "`SELF_DELETION`. :issue:`35`" @@ -1565,22 +1572,22 @@ msgstr "" "L’auto-suppression des comptes est configurable avec le paramètre de " "configuration ``SELF_DELETION``. :issue:`35`" -#: ../../CHANGES.rst:778 75d6d908a827424284ea63478783cbf9 +#: ../../CHANGES.rst:782 21fd51a849844a03b830dc97bc05ab0c msgid "Admins can impersonate users. :issue:`39`" msgstr "" "Les administrateurs peuvent prendre l’identité des utilisateurs. :issue:`39`" -#: ../../CHANGES.rst:779 b4eee6e748f94ba9b6e62e2e7fd4d86b +#: ../../CHANGES.rst:783 31d73c9489164e0e92e62ac84bc8c22a msgid "Forgotten page UX improvement. :pr:`43`" msgstr "" "Améliorations sur l’interface utilisateur de la page des mots de passe " "oubliés. :pr:`43`" -#: ../../CHANGES.rst:780 44489482b8d54ae78c70959758d6f825 +#: ../../CHANGES.rst:784 2b400ada80514bc68dd82d954fff040d msgid "Admins can remove clients. :pr:`45`" msgstr "Les administrateurs peuvent supprimer des clients. :pr:`45`" -#: ../../CHANGES.rst:781 be6e5371ee2a48efa0d9d276e9caa9a0 +#: ../../CHANGES.rst:785 2355c3ec7d674d50ace6ac3ad2065627 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`" @@ -1589,39 +1596,39 @@ msgstr "" "laisser ou non les utilisateurs savoir si le compte avec lequel ils tentent " "de se connecter existe ou pas. :pr:`48`" -#: ../../CHANGES.rst:783 b1df16b2411a440d8d2a0745c972f368 +#: ../../CHANGES.rst:787 ad8e32ede8504576b73db0b8b7bf303a msgid "Password initialization mail. :pr:`51`" msgstr "Courriels d’initialisation des mots de passe. :pr:`51`" -#: ../../CHANGES.rst:788 ba317999584d46d7b5bfda36157bc111 +#: ../../CHANGES.rst:792 0f2d8650e76545438f92a8ca420e65e9 msgid "Form translations. :issue:`19` :issue:`23`" msgstr "Traductions des formulaires. :issue:`19` :issue:`23`" -#: ../../CHANGES.rst:789 e0d773fd3f814a438321528df1c4d67d +#: ../../CHANGES.rst:793 6f367157d7464c9492c0f8a528dbd11f msgid "Avoid to use Google Fonts. :issue:`21`" msgstr "Utilisations d’autres polices que celles de Google Fonts. :issue:`21`" -#: ../../CHANGES.rst:794 d7c5d0509cfe422ab95beb9c1929e413 +#: ../../CHANGES.rst:798 ae2646eead6a4983998e7b76396f3862 msgid "'My tokens' page. :issue:`22`" msgstr "Page « Mes jetons ». :issue:`22`" -#: ../../CHANGES.rst:797 35ab727ebe564ff2a2aa3e28f9392f5b +#: ../../CHANGES.rst:801 b2a9ee20e0214e2eb650a3c0c80c6a8f msgid "[0.0.1] - 2020-10-21" msgstr "[0.0.1] - 2020-10-21" -#: ../../CHANGES.rst:802 487e834d3b154f69991d042f97ce3734 +#: ../../CHANGES.rst:806 974217beadfa4205ad58a4fff852a8d4 msgid "Initial release." msgstr "Publication initiale." -#: ../../CONTRIBUTING.rst:2 77d0a023f5f34e7c804011fd50b75bc3 +#: ../../CONTRIBUTING.rst:2 a96f68b7ad98474ba59c1cc935c2fab4 msgid "Contributions" msgstr "Contributions" -#: ../../CONTRIBUTING.rst:4 9955ba6bbfb54c74930043f9d86335dc +#: ../../CONTRIBUTING.rst:4 f190f6b5c4a1498eadcb7fae2bcdf493 msgid "Contributions are welcome!" msgstr "Les contributions sont bienvenues !" -#: ../../CONTRIBUTING.rst:6 dd58980e1983404d8bc93b9e0866785d +#: ../../CONTRIBUTING.rst:6 26f13dddd093492789f21e4db847d7a9 msgid "" "The repository is hosted at `gitlab.com/yaal/canaille `_." @@ -1629,11 +1636,11 @@ msgstr "" "Le dépôt de code est hébergé sur `gitlab.com/yaal/canaille `_." -#: ../../CONTRIBUTING.rst:9 880fd4b263fa4f5aa77f826cf6d7a13e +#: ../../CONTRIBUTING.rst:9 25361fdaed76435db19183cb37a4ee83 msgid "Discuss" msgstr "Discuter" -#: ../../CONTRIBUTING.rst:11 0e5a0bf82cd4444ebc3ff1dd43a4362c +#: ../../CONTRIBUTING.rst:11 b8e752ea3b8f4591a9c8616ed7f0d9af msgid "" "If you want to implement a feature or a bugfix, please start by discussing " "it with us on the `bugtracker `_ " @@ -1644,17 +1651,17 @@ msgstr "" "gestion de ticket `_ ou bien sur " "le `salon Matrix `_." -#: ../../CONTRIBUTING.rst:16 032421a7ce0548e38943bb37b9e46f90 +#: ../../CONTRIBUTING.rst:16 5e0c1113f29742f89b251b5903f73e36 msgid "Development environment" msgstr "Environnement de développement" -#: ../../CONTRIBUTING.rst:18 464b7af189da4cf2ba346183c47e6264 +#: ../../CONTRIBUTING.rst:18 710016d6c25b4193925b83445146a358 msgid "You can either run the demo locally or with Docker." msgstr "" "Vous pouvez exécuter l’instance de démonstration localement ou bien à l’aide " "de Docker." -#: ../../CONTRIBUTING.rst:20 b918844970c545a3826d0b39a79cb08c +#: ../../CONTRIBUTING.rst:20 62ee7de4d731446fa1b2df4e3805803b msgid "" "The only tool required for local development is `uv`. Make sure to have uv " "`installed on your computer `_ afin de pouvoir développer Canaille." -#: ../../CONTRIBUTING.rst:24 56f217cf35444c72b1bc1a1cb3ee9e53 +#: ../../CONTRIBUTING.rst:24 b95dab6a28fb472bba445e43148ff6bc msgid "Initialize your development environment with:" msgstr "Initialisez votre environnement de développement avec :" -#: ../../CONTRIBUTING.rst:26 9cf0a292c2bb408fa660e14ab61f0e43 +#: ../../CONTRIBUTING.rst:26 8724e2b7dec24128988b2a3ffb199a4d 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 " @@ -1678,7 +1685,7 @@ msgstr "" "développement minimal. Cela vous permettra d’exécuter les tests avec ``uv " "pytest --backend memory``." -#: ../../CONTRIBUTING.rst:27 8d29fc6ad3bd43c5b232963f5137c91a +#: ../../CONTRIBUTING.rst:27 ef925e13845f4ec1abf9cae0f0e64140 msgid "" "``uv sync --extra front --extra oidc --extra sqlite`` to have a minimal " "working development environment with SQLite backend support. This will allow " @@ -1689,7 +1696,7 @@ msgstr "" "SQLite. Cela vous permettra d’exécuter les tests avec ``uv pytest --backend " "sql``." -#: ../../CONTRIBUTING.rst:28 928d535d56314259b20055eea3a4ceb4 +#: ../../CONTRIBUTING.rst:28 2a07d0fc832b4178be5633d02a0f1d07 msgid "" "``uv sync --extra front --extra oidc --extra ldap`` to have a minimal " "working development environment with LDAP backend support. This will allow " @@ -1700,7 +1707,7 @@ msgstr "" "données LDAP. Cela vous permettra d’exécuter les tests avec ``uv pytest --" "backend ldap``." -#: ../../CONTRIBUTING.rst:29 56b8780399064aec89d3099841d1b017 +#: ../../CONTRIBUTING.rst:29 77b8e98fabe140a28382d44b936baa18 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 " @@ -1715,47 +1722,47 @@ msgstr "" "compilées, vous voudrez probablement vérifier que `GCC` et `cargo` sont " "installés sur votre système." -#: ../../CONTRIBUTING.rst:32 1a514a3605f243979b2d04e1a329368a +#: ../../CONTRIBUTING.rst:32 a69af4c344d546e4abf52e4a3aa35cf8 msgid "After having launched the demo you have access to several services:" msgstr "" "Après avoir lancé l’instance de démonstration, vous avec accès à plusieurs " "services :" -#: ../../CONTRIBUTING.rst:34 bbde54dc79ba4241bd97323b5152b50b +#: ../../CONTRIBUTING.rst:34 dda88353032541b9a70440211ee1a89b msgid "A canaille server at `localhost:5000 `_" msgstr "" "Un serveur Canaille à l’adresse `localhost:5000 `_" -#: ../../CONTRIBUTING.rst:35 d028b9cbae714b2d945ba4d70a75fb99 +#: ../../CONTRIBUTING.rst:35 5d2493dbe0924c578cbce67b64f80d14 msgid "A dummy client at `localhost:5001 `_" msgstr "" "Un client factice à l’adresse `localhost:5001 `_" -#: ../../CONTRIBUTING.rst:36 dbd0340fc974432798237b9b3efe01ea +#: ../../CONTRIBUTING.rst:36 595602fe39c040259d1e0346e45efdb7 msgid "Another dummy client at `localhost:5002 `_" msgstr "" "Un autre client factice à l’adresse `localhost:5002 `_" -#: ../../CONTRIBUTING.rst:38 9ff28ddd679b42f4a5bf288242e8c827 +#: ../../CONTRIBUTING.rst:38 6de7e48182d648f89fe8b2c0b30634fd msgid "The canaille server has some default users:" msgstr "Le serveur Canaille embarque quelques utilisateurs par défaut :" -#: ../../CONTRIBUTING.rst:40 324e9f4f1d744fa49a0c3e7fe60cf46b +#: ../../CONTRIBUTING.rst:40 05cc64bd64b3425f8c727e448bac1904 msgid "A regular user which login and password are **user**;" msgstr "" "Un utilisateur de base dont l’identifiant et le mot de passe sont **user** ;" -#: ../../CONTRIBUTING.rst:41 30a3f2679a4b456791471ac6d4c15e2b +#: ../../CONTRIBUTING.rst:41 526ece6f767c4728a86ccc832ed77f3e msgid "A moderator user which login and password are **moderator**;" msgstr "" "Un modérateur dont l’identifiant et le mot de passe sont **moderator** ;" -#: ../../CONTRIBUTING.rst:42 d5e4f771a0854678af55e11ae4c8fc3d +#: ../../CONTRIBUTING.rst:42 bb69c0dfc3e64ceeba0152302e50d5d2 msgid "An admin user which admin and password are **admin**;" msgstr "" "Un administrateur dont l’identifiant et le mot de passe sont **admin** ;" -#: ../../CONTRIBUTING.rst:43 325a060f0844402d80a7267a46291010 +#: ../../CONTRIBUTING.rst:43 c188d453c64c47869a6c1bba24c32639 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 " @@ -1767,31 +1774,31 @@ msgstr "" "est configuré)." #: ../development/specifications.rst:62 ../../CONTRIBUTING.rst:48 -#: c01f125a22914f369ef28ef090a728b1 01a043d4a4364011b8a22a53549b20da +#: f9d8d16e7fd1478ea154c65fddc0c109 30174a5d8c1f479eaf739cfb67550caa msgid "Backends" msgstr "Bases de données" -#: ../../CONTRIBUTING.rst:50 12c4afcb316c448797ed9784ef9fbaa1 +#: ../../CONTRIBUTING.rst:50 0ec216a61a0f4d0c81ef8859f4b8e775 msgid "Canaille comes with several backends:" msgstr "Canaille peut se connecter à plusieurs types de bases de données :" -#: ../../CONTRIBUTING.rst:52 853d2b906b80415db33c707e29640f4c +#: ../../CONTRIBUTING.rst:52 d49ccb7bb5d349b3b97dcb367e9f50db 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 b280dce615cb48ec8456abf65fec4a9e +#: ../../CONTRIBUTING.rst:53 2b5961e3d4d34b41a03f5f4e1b305f14 msgid "a `sql` backend, based on sqlalchemy" msgstr "une base de données `SQL`, utilsant SQLAlchemy" -#: ../../CONTRIBUTING.rst:54 ad6d07459c274a9e8282e290875d5bfb +#: ../../CONTRIBUTING.rst:54 3db6bec104534cbbb972fef81e090786 msgid "a production-ready `LDAP` backend" msgstr "une base de données `LDAP` prête à l’emploi" -#: ../../CONTRIBUTING.rst:57 7db1494e281b4b89949e18e1ece1cb6c +#: ../../CONTRIBUTING.rst:57 b800e3599701462b8ad5f4449e0a62b4 msgid "Docker environment" msgstr "Environnement Docker" -#: ../../CONTRIBUTING.rst:59 c8e61bddd24e4af0ab8ee2bd2709652d +#: ../../CONTRIBUTING.rst:59 39ea2b50603a473cb167b4e1a6a135ca 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, " @@ -1802,30 +1809,30 @@ msgid "" 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 l’extérieur du réseau Docker :" -" l'URL `canaille` a un sens à l’inté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`." +"les bons ports, mais les requêtes viendront de l’extérieur du réseau " +"Docker : l'URL `canaille` a un sens à l’inté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 0e3e6469d25f43998fce20bcb1291b86 +#: ../../CONTRIBUTING.rst:64 dd86e0f0a4204a77ba9927f1768aa33e 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 c0dce613d6384dd18a1d6abce742bf55 +#: ../../CONTRIBUTING.rst:70 5572861cc5114b9b9e7f520fee49b975 msgid "To launch containers, use:" msgstr "Pour lancer les conteneurs, utilisez :" #: ../development/specifications.rst:64 ../tutorial/databases.rst:16 #: ../../CONTRIBUTING.rst:73 ../../CONTRIBUTING.rst:106 -#: 32e05154931e4a6fadcba3b0720e0655 f1b0c988daa54dd4a0c5b30a062cf012 -#: 94f958ac7cab437580604c64cdfa27be 528aa40e3cd04297b5ebf44fc955e9a9 +#: 7a0d8968fcbe4d8693ac6cf593f51106 fafde474a9ed41dab483dfb87f46dda3 +#: f210968f704646b2a4b35d9f6a5baa90 e8a3d979968c4e05ab1fb5630eb8fc6b msgid "SQL" msgstr "SQL" #: ../../CONTRIBUTING.rst:74 ../../CONTRIBUTING.rst:107 -#: c66d8a018f064cb3ba36abf12473b5f4 15c287c63f7f441f991033e23cbb9f95 +#: a1183f0e179942889b697fccf6fde014 f12297286ea648a7a4f8723cd900dd74 msgid "" "With the SQL backend, the demo instance will load and save data in a local " "sqlite database." @@ -1834,50 +1841,50 @@ msgstr "" "enregistrera les données dans un fichier sqlite local." #: ../../CONTRIBUTING.rst:76 ../../CONTRIBUTING.rst:109 -#: 6ddf226447fa4bb89cbf73cc8376c371 c72bd69b5ad94f5992bfe2d30f5b0e8d +#: 2f256843b3974bfe82ebbd54b22758a0 03535ba511ef42feb8d6fb77934fb88b msgid "Run the demo instance with the SQL backend" msgstr "Lancer l’instance de démonstration avec la base de données SQL" #: ../tutorial/databases.rst:8 ../../CONTRIBUTING.rst:83 -#: ../../CONTRIBUTING.rst:115 e5f82f8945b747ac81b31a20cc241e5d -#: 9a11f967d4c74ad8b9dff673e77d2315 84a192a56d404fb1baf97b065f6ceaa8 +#: ../../CONTRIBUTING.rst:115 3216b8433f1847809573eaaa434fe9a7 +#: 6323f7ec77464e2ba7d399f7ccc6f590 d63a7ad080eb47be9529226d4685cf76 msgid "Memory" msgstr "En-mémoire" #: ../../CONTRIBUTING.rst:84 ../../CONTRIBUTING.rst:116 -#: 9c56b31ca9724e62a5aee62e28196764 22784d30d5a748d2b73ebe7c423c64bc +#: 96e1856006aa4151b406b7f7922e84ff 74b6ac7aa3c144f9be537b2c60010548 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:118 -#: da0af4f3bc5147ae8130399630381126 c1436f14bd2049479ac16384a47f2d38 +#: 6751970e321642cb9cfabd3395bdf82b b4933b104b004ed39073970b595e9b5f msgid "Run the demo instance with the memory backend" msgstr "Lancer l’instance de démonstration avec la base de données en mémoire" #: ../development/specifications.rst:64 ../tutorial/databases.rst:32 #: ../../CONTRIBUTING.rst:93 ../../CONTRIBUTING.rst:124 -#: 6f4008249f544ff4afa4e2a7ccebfab2 ce4afa36ab774346b11322758b51325e -#: f9a9bf9c1c6d49b99edee201000ea0a0 2e130a461dc64b989f22d4f932976a65 +#: fdfa320e4c4445e5a0c5443e647c0835 44d5d5bd5737458d81975f70b3477b17 +#: bbe1b4e1618b44fb9651929f4e459099 2794653a6dd64b5f8a13bc552aa7acc9 msgid "LDAP" msgstr "LDAP" #: ../../CONTRIBUTING.rst:94 ../../CONTRIBUTING.rst:125 -#: 4f3a2e440337421f95f937952e7dc9be db5ad48ecaa94207ab2b7d84bbebf569 +#: c8a1e8a894ef4fa9a4ea60027c3b73a1 8733bd5bbf5b4744ab8896570d709291 msgid "With the LDAP backend, all data is lost when Canaille stops." msgstr "Avec LDAP, toutes les données sont perdues lorsque Canaille s’arrête." #: ../../CONTRIBUTING.rst:96 ../../CONTRIBUTING.rst:127 -#: 50095289006e499588719acc50eb5a56 80a55900cfc34f4e8b34b5e653a7fdfb +#: ac813d37940b4d189a3957eeba2ffb08 73ef2cc1d55f45acbe1568f8da59c158 msgid "Run the demo instance with the LDAP backend" msgstr "Lancer l’instance de démo avec le support de LDAP" -#: ../../CONTRIBUTING.rst:103 9e2c9acef9184e34b00d62c97980467d +#: ../../CONTRIBUTING.rst:103 80000162aaf447eda038a20ae12973c7 msgid "Local environment" msgstr "Environnement local" -#: ../../CONTRIBUTING.rst:133 5fffaf4bff884b5a839078ad5a889fc9 +#: ../../CONTRIBUTING.rst:133 8b346e3f0ae84b289a7e819279283718 msgid "" "If you want to run the demo locally with the LDAP backend, you need to have " "`OpenLDAP `_ installed on your system. It is " @@ -1888,7 +1895,7 @@ msgstr "" "installé sur votre système. OpenLDAP est généralement fourni via les paquets " "nommés ``slapd`` ou ``openldap``." -#: ../../CONTRIBUTING.rst:138 aa9aab912ff04dd68c3b59bf1e36575a +#: ../../CONTRIBUTING.rst:138 ad84a2866902456b8f29498783fd665b 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 " @@ -1899,11 +1906,11 @@ msgstr "" "`_ ou le `salon Matrix `_." -#: ../../CONTRIBUTING.rst:148 3d21757ba34c4721af043c150330c2e4 +#: ../../CONTRIBUTING.rst:148 cdab025ce1dc48fa97161a955423b957 msgid "Populate the database" msgstr "Remplissage de la base de données" -#: ../../CONTRIBUTING.rst:150 a412d39e98cf44f6b911566e1ebcdbde +#: ../../CONTRIBUTING.rst:150 319a37a58be44aac8e617f300e3c3afb 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:" @@ -1912,7 +1919,7 @@ msgstr "" "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:161 cdf90f875bcc44d5b41197a7cdbb275c +#: ../../CONTRIBUTING.rst:161 4bf45406e18a4505999dca7b84c4e8f0 msgid "" "Adapt to use either the `ldap` or the `sql` configuration file. Note that " "this will not work with the memory backend." @@ -1920,11 +1927,11 @@ 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:164 2db32f774df8429fa4c9e83d00616a96 +#: ../../CONTRIBUTING.rst:164 62c234c473324a82a1038d3f4610a338 msgid "Unit tests" msgstr "Tests unitaires" -#: ../../CONTRIBUTING.rst:166 5d6a9b57b35d49c48e2b615f8128ebcc +#: ../../CONTRIBUTING.rst:166 314f0cc4c01c47f4bca6c87e7460b03b 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 " @@ -1935,7 +1942,7 @@ msgstr "" "supportés. Tout doit être au vert avant que les contributions soient " "fusionnées." -#: ../../CONTRIBUTING.rst:169 e1e6e475ff78404f930bb453f1f26e3b +#: ../../CONTRIBUTING.rst:169 b9dc93b982bf4fc98eddf47c5730b09c msgid "" "To test a specific backend you can pass ``--backend memory``, ``--backend " "sql`` or ``--backend ldap`` to pytest and tox." @@ -1944,7 +1951,7 @@ msgstr "" "argumentes ``--backend memory``, ``--backend sql`` ou ``--backend ldap`` à " "pytest et tox." -#: ../../CONTRIBUTING.rst:171 2cb85029b4274de388878da3d3285369 +#: ../../CONTRIBUTING.rst:171 13c7913d62db412bb4e66637a79cd789 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-" @@ -1957,11 +1964,11 @@ msgstr "" "--cov-report=html`. Vous pouvez ensuite consulter le rapport de couverture " "HTML dans le dossier `htmlcov` nouvellement créé." -#: ../../CONTRIBUTING.rst:176 4408d499056c480f86f450a781d2ca0d +#: ../../CONTRIBUTING.rst:176 6a901706012a4004b1dbb87ef68c803a msgid "Code style" msgstr "Style de code" -#: ../../CONTRIBUTING.rst:178 93e483f2a66a4d8f82feb8ca9a739818 +#: ../../CONTRIBUTING.rst:178 9fa3a042eca848fe9b9af832c325142c msgid "" "We use `ruff `_ along with other tools to " "format our code. Please run ``uv run tox -e style`` on your patches before " @@ -1975,11 +1982,11 @@ msgstr "" "style à chaque commit, vous pouvez utiliser la configuration `pre-commit " "`_ avec ``uv run pre-commit install``." -#: ../../CONTRIBUTING.rst:184 0dca6207e6734ab487cb3fe72c3e90e8 +#: ../../CONTRIBUTING.rst:184 831a60fcf8ee4e37828421e71b2931c0 msgid "Front" msgstr "Interface utilisateur" -#: ../../CONTRIBUTING.rst:186 930e01d770324dc68f73095cd5456a8e +#: ../../CONTRIBUTING.rst:186 f9ab478278ef4d39bee37c056fb937f2 msgid "" "The interface is built upon the `Fomantic UI `_ " "CSS framework. The dynamical parts of the interface use `htmx `_. Les parties dynamiques utilisent `HTMX `_." -#: ../../CONTRIBUTING.rst:189 fc0da8a2736e461dab5a7d242c1cfa9a +#: ../../CONTRIBUTING.rst:189 115550e00eb74a80828b6acae2948606 msgid "" "Using Javascript in the interface is tolerated, but the whole website MUST " "be accessible for browsers without Javascript support, and without any " @@ -1998,7 +2005,7 @@ msgstr "" "l’application DOIT pouvoir être utilisé par des navigateurs sans support " "Javascript, et sans perte de fonctionnalité." -#: ../../CONTRIBUTING.rst:191 a13b055a65244362a025440451de998d +#: ../../CONTRIBUTING.rst:191 4d3ab5a48a9d49a6aaef6c5c583e938d 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 " @@ -2008,16 +2015,16 @@ msgstr "" "nouvelles contributions ne devraient pas utiliser jQuery. Lisez le `ticket à " "ce sujet`_." -#: ../index.rst:71 ../../CONTRIBUTING.rst:196 e3ff6afa466e4e61aa4f677cd58d3ed2 -#: a08d8d5331494e7d93508eaf25f41a07 +#: ../index.rst:71 ../../CONTRIBUTING.rst:196 03d0d76bba134693bed77e50d1911dd9 +#: 84410d2758484c01b8b48461c40d0a7c msgid "Documentation" msgstr "Documentation" -#: ../../CONTRIBUTING.rst:198 2e1fdcae75de46a6b50db7e4155758af +#: ../../CONTRIBUTING.rst:198 5eb4ba179d0444fd9647504055935495 msgid "The documentation is generated when the tests run:" msgstr "La documentation est générée lors de l’exécution des tests :" -#: ../../CONTRIBUTING.rst:204 94405109592b47c09c8726c305fa5edc +#: ../../CONTRIBUTING.rst:204 7f28cb743dcb44d9b66a31febcc8a6d0 msgid "" "You can also run sphinx by hand, that should be faster since it avoids the " "tox environment initialization:" @@ -2025,15 +2032,15 @@ msgstr "" "Vous pouvez aussi exécuter `sphinx` à la main, cela devrait être plus rapide " "puisque cela évite l’initialisation des environnements tox :" -#: ../../CONTRIBUTING.rst:210 fe4610d142474897ae4f97d321448fac +#: ../../CONTRIBUTING.rst:210 4e73e6c26d164591bd5edf84fc921cc4 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:213 bf09dd8ed31742bca2fa80175ae85bb3 +#: ../../CONTRIBUTING.rst:213 3fd3b7e2ec184cf8b2a81f87177f48fb msgid "Code translation" msgstr "Traduction du code" -#: ../../canaille/translations/README.rst:1 35fff9d115334ec6aa6a99ec5da8a27f +#: ../../canaille/translations/README.rst:1 3f134d116261469d8e6e9a05b5c47b47 msgid "" "Translations are done with `Weblate `_." @@ -2041,23 +2048,25 @@ msgstr "" "La traduction s’effectue avec `Weblate `_." -#: ../../canaille/translations/README.rst:3 b72ee2174a9b42c493780415e3d3fcfd +#: ../../canaille/translations/README.rst:3 f5045b02a67f426188352a5d6ff207e1 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 l’" -"extraction des messages est utile aux contributeurs. Toutes les autres " +"Les commandes suivantes sont présentées à titre de documentation, seule " +"l’extraction des messages est utile aux contributeurs. Toutes les autres " "étapes sont effectuées automatiquement par Weblate." #: readme.rst:7 ../../canaille/translations/README.rst:8 -#: ea5bd05b09984bcaa643efa7a1a7618c 33490a8ff4a3465fb8648393ff65eb75 +#: 24b270040aba498184edc6fd3b60c94e 2056f7130ccd40b7b3b34c0c572a6578 +#: 41a918a2d4a74a5b9b2817c613ca08f4 msgid "Message extraction" msgstr "Extraction des messages" #: readme.rst:9 ../../canaille/translations/README.rst:10 -#: 210e9ff98db74777830a5a1f4746df44 16b22e2bc3cf495bbef529f5732887e3 +#: 3d0d46dbb4b849429d1b20c8d4655b71 ca03937bab89437aaca273df6d905a44 +#: 5743021622e04712918dcadbabc6c7f7 msgid "" "After you have edited translatable strings, you should extract the messages " "with:" @@ -2066,12 +2075,14 @@ msgstr "" "extraire les messages avec :" #: readme.rst:16 ../../canaille/translations/README.rst:17 -#: 54ecd51acf494402964ae281c6cd639b 02fa7225075346f89ad702cba8aabdeb +#: 33a52dea69f84cdd8031217438609b01 1bdb41af37fb4b29970caa32ceb9f68e +#: fcdbb11edc8c403dba19ddcc30f0c74a msgid "Language addition" msgstr "Ajout de langues" #: readme.rst:18 ../../canaille/translations/README.rst:19 -#: 5429b47768e2472ea597ed48140a5621 015d6a437f7e4d099c8cad60986c0b68 +#: 85155247ccbe4cdda3c379b515fd2413 04039c23ea56483b9ccf96d20f26f2bd +#: ba0855443a6f465d9274426f59f251de msgid "" "You can add a new language manually with the following command, however this " "should not be needed as Weblate takes car of this:" @@ -2080,11 +2091,11 @@ msgstr "" "suivante, cependant cela ne devrait pas être nécessaire puisque Weblate s'en " "occupe automatiquement :" -#: ../../canaille/translations/README.rst:26 bdfbb4ef60c54b26abf457ba930b7fcf +#: ../../canaille/translations/README.rst:26 d186ca49fae24bbd9d3c28120601a60e msgid "Catalog update" msgstr "Mise à jour des catalogues" -#: ../../canaille/translations/README.rst:28 94b8fc10d3aa4e05b54d619c4b1aaa25 +#: ../../canaille/translations/README.rst:28 0ed1087f30a74059b6c7e0e06de6573d msgid "" "You can update the catalogs with the following command, however this should " "not be needed as Weblate automatically update language catalogs when it " @@ -2097,11 +2108,11 @@ msgstr "" "caractères ou lorsque quelqu’un traduit des chaînes de caractères " "existantes. Weblate pousse ses modifications toutes les 24 heures." -#: ../../canaille/translations/README.rst:36 f232cbfdd201463ab74fe71353c8e23b +#: ../../canaille/translations/README.rst:36 ddf0e21cf51b4dc79d6250343d97b0d1 msgid "Catalog compilation" msgstr "Compilation des catalogues" -#: ../../canaille/translations/README.rst:38 3c756dd105564866a8d74e994e65f2b6 +#: ../../canaille/translations/README.rst:38 6ef8340ccc2c46ea99f8d0de91ee483a 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 " @@ -2114,12 +2125,12 @@ msgstr "" "lancement de l’instance de démonstration et avant la compilation du paquet " "Python de Canaille :" -#: ../../CONTRIBUTING.rst:219 4ff341d941384c029ed9c0b49d1062f9 +#: ../../CONTRIBUTING.rst:219 1de2a285415949c49cad5e827186884c msgid "Documentation translation" msgstr "Traduction de la documentation" -#: readme.rst:1 2e38a895387e4821a3f61eccb03496a4 -#: 7abe83f2eeb54b3f9f3d1a8542696765 +#: readme.rst:1 ffda18be929d41558176c90fbfe0475a +#: 82307c31bbd04c86b438e8a4e005cbfd msgid "" "Documentation translation Translations are done with `Weblate `_." @@ -2127,8 +2138,8 @@ msgstr "" "La traduction de la documentation est faite avec `Weblate `_." -#: readme.rst:4 de92a131ecf44614963dd89770f593ae -#: 0ca00925251d48668c7673ddece41d66 +#: readme.rst:4 e68bab4e55074d099971067e8585e7bc +#: 36d72bb59c6442f0ac0078ec35cff7db msgid "" "The following commands are there as documentation, only the message " "extraction and the language addition is needed for contributors." @@ -2137,24 +2148,24 @@ msgstr "" "l’extraction de message et l’ajout de langues de traduction sont utiles aux " "contributeurs." -#: readme.rst:25 3d142fe9f633400ea029e949f1e869ee -#: 74cc2740b1584972aa3c0e672dff5f3e +#: readme.rst:25 2249c8bd3ebb4123b1b85e55d501a414 +#: 592956cc63d849ad8f23d530a03daa2a msgid "Build the documentation in another language" msgstr "Construire la documentation dans une autre langue" -#: ../../CONTRIBUTING.rst:224 4b1dc3dae99f4c6fbbeec3e54be3e922 +#: ../../CONTRIBUTING.rst:224 ccb55b67aa5c4d8baf4a4a56eb19fe8c msgid "Publish a new release" msgstr "Publier une nouvelle version" -#: ../../CONTRIBUTING.rst:226 975b37a07edc4a42bbef14c2ca80a34f +#: ../../CONTRIBUTING.rst:226 a2df8944754246d4a92c6e7f76b8273a 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é ;" +"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:227 e9bd8386c6c64ef99aac12ee831f39d1 +#: ../../CONTRIBUTING.rst:227 4d2be841e11345a7a9f62a7f7e0d46b3 msgid "" "Check that tests are still green for every supported python version, and " "that coverage is still at 100%, by running ``uv run tox``;" @@ -2163,7 +2174,7 @@ msgstr "" "Python, et que la couverture de code est toujours de 100%, en lançant ``uv " "run tox`` ;" -#: ../../CONTRIBUTING.rst:228 3e7d5493a8e44c1a9067010115678723 +#: ../../CONTRIBUTING.rst:228 69338c8be69e45659eada1ffe5c0f67c msgid "" "Check that the demo environments are still working, both the local and the " "Docker one;" @@ -2171,7 +2182,7 @@ msgstr "" "Vérifiez que les instances de démonstration sont toujours fonctionnelles, à " "la fois en local et avec Docker ;" -#: ../../CONTRIBUTING.rst:229 fe7867ea9416424e81c518f77853958a +#: ../../CONTRIBUTING.rst:229 8bba3fab5e164ade8916c47fb38a9c19 msgid "" "Check that the :ref:`development/changelog:Release notes` section is " "correctly filled up;" @@ -2179,19 +2190,19 @@ msgstr "" "Vérifiez que les :ref:`development/changelog:notes de versioin` sont " "correctement renseignées ;" -#: ../../CONTRIBUTING.rst:230 7d89adc1c3e6478ab9e8faa02f97bf03 +#: ../../CONTRIBUTING.rst:230 7be3604476174714a93fb5c8673febf7 msgid "Increase the version number in ``pyproject.toml``;" msgstr "Incrémentez le numéro de version dans ``pyproject.toml`` ;" -#: ../../CONTRIBUTING.rst:231 a376131776cd4e469611fa3ad6749be9 +#: ../../CONTRIBUTING.rst:231 e8b5c52d84d94d809eb6fd08e9a61939 msgid "Commit with ``git commit``;" msgstr "Commitez avec ``git commit`` ;" -#: ../../CONTRIBUTING.rst:232 655fd489e5324dc5b6172d438a6b8e3e +#: ../../CONTRIBUTING.rst:232 70de3f18c0d144c8b5e6ad264629491e msgid "Build with ``uv build``;" msgstr "Construisez le paquet avec ``uv build`` ;" -#: ../../CONTRIBUTING.rst:233 79fc61b7c13647a285a918a0c126ea53 +#: ../../CONTRIBUTING.rst:233 54bbdc2762b14df98894d94d760597b9 msgid "" "Publish on test PyPI with ``uv publish --publish-url https://test.pypi.org/" "legacy/``;" @@ -2199,25 +2210,25 @@ msgstr "" "Publiez le paquet sur l’instance de test de PyPI avec ``uv publish --publish-" "url https://test.pypi.org/legacy/`` ;" -#: ../../CONTRIBUTING.rst:234 93540129ce0c440eba4da63ed3ddb769 +#: ../../CONTRIBUTING.rst:234 327a4abb66b14f95821cf861312ff6be 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 l’" -"installation s’est bien passée ;" +"index-url https://test.pypi.org/simple --upgrade canaille``. Vérifiez que " +"l’installation s’est bien passée ;" -#: ../../CONTRIBUTING.rst:235 8a73b31d1fe14fdda15e6c2dea0cafc9 +#: ../../CONTRIBUTING.rst:235 270ce1780553422780cddbbca1791bbd msgid "Publish on production PyPI ``uv publish``;" msgstr "Publiez sur l’instance de production de PyPI avec ``uv publish`` ;" -#: ../../CONTRIBUTING.rst:236 93131bb37ccc4207825449d393f92201 +#: ../../CONTRIBUTING.rst:236 35cf31b173f34bb2b6ffc0d5cb0931a9 msgid "Tag the commit with ``git tag XX.YY.ZZ``;" msgstr "Étiquetez le commit avec ``git tag XX.YY.ZZ`` ;" -#: ../../CONTRIBUTING.rst:237 a98a5168d5f949ec9e96f16d8ff8b6f5 +#: ../../CONTRIBUTING.rst:237 673bf114db3945dbbe806b281a6bc1d6 msgid "" "Push the release commit and the new tag on the repository with ``git push --" "tags``." @@ -2225,15 +2236,15 @@ msgstr "" "Poussez le commit de publication avec la nouvelle étiquette avec ``git push " "--tags``." -#: ../development/index.rst:2 c0f14bad2988468fa0700bbd47fe1de0 +#: ../development/index.rst:2 82f9846032eb48449059b9b21039acf3 msgid "Development" msgstr "Développement" -#: ../development/specifications.rst:2 156d2082306649a89c7c6ff9b0879911 +#: ../development/specifications.rst:2 68b9e4a665f74983994ec7f7820a6555 msgid "Specifications" msgstr "Normes" -#: ../development/specifications.rst:4 2c830d15b604470ca1912e9a07b2deb6 +#: ../development/specifications.rst:4 a91f12df80654d7a9159894525f0a1fa msgid "" "This page details which specifications are implemented in Canaille, and " "compares Canaille with other well-known identity providers." @@ -2241,26 +2252,27 @@ msgstr "" "Cette page détaille les spécifications implémentées dans Canaille, et " "compare Canaille avec d’autres serveurs d’identité renommés." -#: ../development/specifications.rst:7 bfa87dc7f42445fb96172a2ce7643950 +#: ../development/specifications.rst:7 798ff9024fa049a5889c4e9f725985f4 msgid "State of the specs in Canaille" msgstr "L’état des spécifications dans Canaille" -#: ../development/specifications.rst:10 b57576e6aa1e46c0ab9b0d74e40f7a1c +#: ../development/specifications.rst:10 faec5be28e9d4a0380914450cb563d74 msgid "OAuth2" msgstr "OAuth2" -#: ../development/specifications.rst:12 44156ac1d21c44f89d2090ae27ad397e +#: ../development/specifications.rst:12 bc158a2abfdf4e669db0bf71ac12e539 msgid "" "✅ `RFC6749: OAuth 2.0 Framework `_" -msgstr "✅ `RFC6749: OAuth 2.0 Framework `_" +msgstr "" +"✅ `RFC6749: OAuth 2.0 Framework `_" -#: ../development/specifications.rst:13 3dd5d1bc312e4808b9dfb7e906f9a1b3 +#: ../development/specifications.rst:13 41aacf25a278469488576916b0dc1100 msgid "" "✅ `RFC6750: OAuth 2.0 Bearer Tokens `_" msgstr "" "✅ `RFC6750: OAuth 2.0 Bearer Tokens `_" -#: ../development/specifications.rst:14 3f7c67f6ca7049a0a99455d27e7b9278 +#: ../development/specifications.rst:14 c84b09e12da74d1e9bb498f4abd41cef msgid "" "✅ `RFC7009: OAuth 2.0 Token Revocation `_" @@ -2268,7 +2280,7 @@ msgstr "" "✅ `RFC7009: OAuth 2.0 Token Revocation `_" -#: ../development/specifications.rst:15 b11098fcf9e64dfca026aa25e97624cc +#: ../development/specifications.rst:15 319878f12ee94c71bcd20839b8e9cdf2 msgid "" "❌ `RFC7523: JWT Profile for OAuth 2.0 Client Authentication and " "Authorization Grants `_" @@ -2276,7 +2288,7 @@ msgstr "" "❌ `RFC7523: JWT Profile for OAuth 2.0 Client Authentication and " "Authorization Grants `_" -#: ../development/specifications.rst:16 0213796d176a4938a10c902cfb737a18 +#: ../development/specifications.rst:16 7c8c430d14b04548a82b1f6c5b41edef msgid "" "✅ `RFC7591: OAuth 2.0 Dynamic Client Registration Protocol `_" @@ -2284,7 +2296,7 @@ msgstr "" "✅ `RFC7591: OAuth 2.0 Dynamic Client Registration Protocol `_" -#: ../development/specifications.rst:17 afdc8def073c495e8bb24a1ec6a0d62a +#: ../development/specifications.rst:17 a0eeca49247d4d0a858fbd68b8feae7a msgid "" "✅ `RFC7592: OAuth 2.0 Dynamic Client Registration Management Protocol " "`_" @@ -2292,15 +2304,15 @@ msgstr "" "✅ `RFC7592: OAuth 2.0 Dynamic Client Registration Management Protocol " "`_" -#: ../development/specifications.rst:18 f592e7f0f2074289b67beb893604277d +#: ../development/specifications.rst:18 6ba8732c85c743c3ac3f63b40fbf3aa2 msgid "" "✅ `RFC7636: Proof Key for Code Exchange by OAuth Public Clients `_" msgstr "" -"✅ `RFC7636: Proof Key for Code Exchange by OAuth Public Clients " -"`_" +"✅ `RFC7636: Proof Key for Code Exchange by OAuth Public Clients `_" -#: ../development/specifications.rst:19 bc914d1d327d4ce6a638c5245c4cfcc3 +#: ../development/specifications.rst:19 338bb06b2df547edbe50a150b4d8c146 msgid "" "✅ `RFC7662: OAuth 2.0 Token Introspection `_" @@ -2308,7 +2320,7 @@ msgstr "" "✅ `RFC7662: OAuth 2.0 Token Introspection `_" -#: ../development/specifications.rst:20 08bbaa19162d456899ba99be7b0f9e3d +#: ../development/specifications.rst:20 1663509c8aa249af8ec326ae877e7044 msgid "" "✅ `RFC8414: OAuth 2.0 Authorization Server Metadata `_" @@ -2316,7 +2328,7 @@ msgstr "" "✅ `RFC8414: OAuth 2.0 Authorization Server Metadata `_" -#: ../development/specifications.rst:21 abbbc93f57ba4660bafa5396616419d8 +#: ../development/specifications.rst:21 37a881c253ff4c87b340587a85546041 msgid "" "❌ `RFC8428: OAuth 2.0 Device Authorization Grant `_" @@ -2324,13 +2336,13 @@ msgstr "" "❌ `RFC8428: OAuth 2.0 Device Authorization Grant `_" -#: ../development/specifications.rst:22 a9adf95822164ad9a91366b631a095ab +#: ../development/specifications.rst:22 5398a841990f4e6ea8b40b97e9a32097 msgid "" "❌ `RFC8693: OAuth 2.0 Token Exchange `_" msgstr "" "❌ `RFC8693: OAuth 2.0 Token Exchange `_" -#: ../development/specifications.rst:23 fac77fd04d2c457cbdda2f46d21a549d +#: ../development/specifications.rst:23 2045b4c2c1bf4d808e03894e4b365fb8 msgid "" "❌ `RFC8705: OAuth 2.0 Mutual-TLS Client Authentication and Certificate-" "Bound Access Tokens `_" @@ -2338,7 +2350,7 @@ msgstr "" "❌ `RFC8705: OAuth 2.0 Mutual-TLS Client Authentication and Certificate-" "Bound Access Tokens `_" -#: ../development/specifications.rst:24 772cbe80f8cd44faa3230ee4e690e5f3 +#: ../development/specifications.rst:24 107a0959842641af8fa7f1382928f2e1 msgid "" "❌ `RFC8707: Resource Indicators for OAuth 2.0 `_" @@ -2346,7 +2358,7 @@ msgstr "" "❌ `RFC8707: Resource Indicators for OAuth 2.0 `_" -#: ../development/specifications.rst:25 8b06eb72e70742fc821332a4676ba48e +#: ../development/specifications.rst:25 b6b8eaed434f47bfb07f5d077c670b22 msgid "" "❌ `RFC9068: JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens " "`_" @@ -2354,15 +2366,15 @@ msgstr "" "❌ `RFC9068: JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens " "`_" -#: ../development/specifications.rst:26 088615a4afdc48a5b6449df856cb1eb3 +#: ../development/specifications.rst:26 48f411a150274d74b09dd3111d70d4ef msgid "" "❌ `RFC9101: OAuth 2.0 JWT-Secured Authorization Request (JAR) `_" msgstr "" -"❌ `RFC9101: OAuth 2.0 JWT-Secured Authorization Request (JAR) `_" +"❌ `RFC9101: OAuth 2.0 JWT-Secured Authorization Request (JAR) `_" -#: ../development/specifications.rst:27 4bd307887c6a4dcebb9d5ff9b9c3176a +#: ../development/specifications.rst:27 68ff3ad36aa1400e85a6f6703f5d75ae msgid "" "❌ `RFC9126: OAuth 2.0 Pushed Authorization Requests `_" @@ -2370,15 +2382,15 @@ msgstr "" "❌ `RFC9126: OAuth 2.0 Pushed Authorization Requests `_" -#: ../development/specifications.rst:28 bf777af155ec47bb85265068ff053b85 +#: ../development/specifications.rst:28 312945002b5f49a5ac6e6d797e9322d0 msgid "" "❌ `RFC9207: OAuth 2.0 Authorization Server Issuer Identification `_" msgstr "" -"❌ `RFC9207: OAuth 2.0 Authorization Server Issuer Identification " -"`_" +"❌ `RFC9207: OAuth 2.0 Authorization Server Issuer Identification `_" -#: ../development/specifications.rst:29 06b84e457b3f423099a45450e8be7b96 +#: ../development/specifications.rst:29 6f0f83d947a3442c84f44b67f11184b3 msgid "" "❌ `RFC9394: OAuth 2.0 Rich Authorization Requests `_" @@ -2386,15 +2398,15 @@ msgstr "" "❌ `RFC9394: OAuth 2.0 Rich Authorization Requests `_" -#: ../development/specifications.rst:30 17a488e183c64a7696ff1f8b3f02e3d8 +#: ../development/specifications.rst:30 f11bf858bc1342a781c9139f05938eae msgid "" "❌ `OAuth2 Multiple Response Types `_" msgstr "" -"❌ `OAuth2 Multiple Response Types `_" +"❌ `OAuth2 Multiple Response Types `_" -#: ../development/specifications.rst:31 28df30b698994c9ebb429fbe577701ac +#: ../development/specifications.rst:31 d2e5d74b4dd94d85a5d431f60f875dbc msgid "" "❌ `OAuth2 Form Post Response Mode `_" @@ -2403,11 +2415,11 @@ msgstr "" "post-response-mode-1_0.html>`_" #: ../development/specifications.rst:34 ../features.rst:212 -#: 273611a66c514122bd1b8986c81f8464 511272a32c844e4cb9ca0d2c2b0aeb42 +#: 8f72523ff51c4575b94efb2d3ce15f6b f36365f798bf4a29a1c762d3d984b773 msgid "OpenID Connect" msgstr "OpenID Connect" -#: ../development/specifications.rst:36 1b811c589c884281a965b470a69c935c +#: ../development/specifications.rst:36 cf8887ca156c4c1c9888a84fc8065530 msgid "" "✅ `OpenID Connect Core `_" @@ -2415,7 +2427,7 @@ msgstr "" "✅ `OpenID Connect Core `_" -#: ../development/specifications.rst:37 8eb4c67d2de84a09ba6681ab0ad1dcf0 +#: ../development/specifications.rst:37 5c4310f0f040430fbc2a843183e96fd8 msgid "" "✅ `OpenID Connect Discovery `_" @@ -2423,7 +2435,7 @@ msgstr "" "✅ `OpenID Connect Discovery `_" -#: ../development/specifications.rst:38 3dd0ab1827034c7f8bb58dd56463cb2a +#: ../development/specifications.rst:38 5d5801df6b9c4bf4a6a02e97b8ced460 msgid "" "✅ `OpenID Connect Dynamic Client Registration `_" @@ -2431,7 +2443,7 @@ msgstr "" "✅ `OpenID Connect Dynamic Client Registration `_" -#: ../development/specifications.rst:39 5202769d4fed46999e56f7d6a0a03c5d +#: ../development/specifications.rst:39 7d48e73edb044c8e85e6210edc4c327b msgid "" "✅ `OpenID Connect RP Initiated Logout `_" @@ -2439,7 +2451,7 @@ msgstr "" "✅ `OpenID Connect RP Initiated Logout `_" -#: ../development/specifications.rst:40 768d7dd2182a418fb9344db3f5cba48a +#: ../development/specifications.rst:40 cdef4546f7dc4de8865f7a1302d4ba5d msgid "" "❌ `OpenID Connect Session Management `_" @@ -2447,7 +2459,7 @@ msgstr "" "❌ `OpenID Connect Session Management `_" -#: ../development/specifications.rst:41 bffbc632d9bf4c89b64bb51cdece0844 +#: ../development/specifications.rst:41 21aa2648b1f64ffeabe2a6123a75c27d msgid "" "❌ `OpenID Connect Front Channel Logout `_" @@ -2455,7 +2467,7 @@ msgstr "" "❌ `OpenID Connect Front Channel Logout `_" -#: ../development/specifications.rst:42 3001306e82cc4e9b80078a4631c791f9 +#: ../development/specifications.rst:42 dac849b7b0ae48afb3e07330a4155e85 msgid "" "❌ `OpenID Connect Back Channel Logout `_" @@ -2463,7 +2475,7 @@ msgstr "" "❌ `OpenID Connect Back Channel Logout `_" -#: ../development/specifications.rst:43 3e1058c4a8154eb58a563e171a03a51b +#: ../development/specifications.rst:43 9465d51e2c23461486052de55942bbea msgid "" "❌ `OpenID Connect Back Channel Authentication Flow `_" @@ -2471,7 +2483,7 @@ msgstr "" "❌ `OpenID Connect Back Channel Authentication Flow `_" -#: ../development/specifications.rst:44 7d20317b02f54007a0d6e9e79b82b243 +#: ../development/specifications.rst:44 b4f2991cded34e7190e7e7185828536c msgid "" "❌ `OpenID Connect Core Error Code unmet_authentication_requirements " "`_" -#: ../development/specifications.rst:45 cc695337a4a4431c9a62bdc2471f489d +#: ../development/specifications.rst:45 1cb0fe5d644c49b2a1c6c7af780c407a msgid "" "✅ `Initiating User Registration via OpenID Connect 1.0 `_" @@ -2490,11 +2502,11 @@ msgstr "" "specs/openid-connect-prompt-create-1_0.html>`_" #: ../development/specifications.rst:48 ../development/specifications.rst:64 -#: d9278a9cbe784818b57f9fd9d76dda68 7ad1170acbe7400785a02a07e408ce3b +#: 81a42181f7ed4f43b5fc6af1bae15e65 15e8049b1557446680584e87930c2dc5 msgid "SCIM" msgstr "SCIM" -#: ../development/specifications.rst:50 c91f11a0512e4782981c5bb98a8038d7 +#: ../development/specifications.rst:50 aefb1b937f7a4e35a4eae6d8648c6303 msgid "" "❌ `RFC7642: System for Cross-domain Identity Management: Definitions, " "Overview, Concepts, and Requirements `_" -#: ../development/specifications.rst:51 2f4ea31b4c80425a8e3075b8597ae8e5 +#: ../development/specifications.rst:51 6193cd6fb48643e99f0e2018dbdaba83 msgid "" "❌ `RFC7643: System for Cross-domain Identity Management: Core Schema " "`_" @@ -2512,24 +2524,24 @@ msgstr "" "❌ `RFC7643: System for Cross-domain Identity Management: Core Schema " "`_" -#: ../development/specifications.rst:52 6ffdb285557144afb301b05c33fecddf +#: ../development/specifications.rst:52 9b124b409b3041f5bdefedf9b0593d06 msgid "" "❌ `RFC7644: System for Cross-domain Identity Management: Protocol `_" msgstr "" -"❌ `RFC7644: System for Cross-domain Identity Management: Protocol " -"`_" +"❌ `RFC7644: System for Cross-domain Identity Management: Protocol `_" -#: ../development/specifications.rst:55 ac600b38603f4fb999aebf5ffbe33cc7 +#: ../development/specifications.rst:55 efa9edcb4c094b339af9010d82b9f505 msgid "Comparison with other providers" msgstr "Comparaison avec d’autres serveurs d’identité" -#: ../development/specifications.rst:57 2ef9567e17694a669ed5071c882661ad +#: ../development/specifications.rst:57 cb82439c48684c8d919147a88247f36f msgid "Here is a feature comparison with other OpenID Connect server software." msgstr "" "Voici une comparaison de fonctionnalités avec d’autres serveurs d’identité." -#: ../development/specifications.rst:59 d6d241980d3e46e192dd54a5082b0197 +#: ../development/specifications.rst:59 47f5af9436b14ce8afaae2e08adceb8d msgid "" "Canaille voluntarily only implements the OpenID Connect protocol to keep its " "codebase simple." @@ -2537,43 +2549,43 @@ msgstr "" "Afin de garder la base de code réduite, Canaille n’implémente que le " "protocole OpenID Connect." -#: ../development/specifications.rst:62 0b9a4fba353c483692ed6fb04227691e +#: ../development/specifications.rst:62 230957da07d14930aac58e75241f769b msgid "Software" msgstr "Logiciel" -#: ../development/specifications.rst:62 62c2fe7c97644cfa8e7d297a337bfe36 +#: ../development/specifications.rst:62 1e53a394ee3f4824ac843953a1c6f6a4 msgid "Project" msgstr "Projet" -#: ../development/specifications.rst:62 f4700ad912314bfc8d66be8471a4c772 +#: ../development/specifications.rst:62 da7a2a26dbfb494abca9e21b3178087e msgid "Protocols implementations" msgstr "Protocoles implémentés" -#: ../development/specifications.rst:64 ea237be2a99a4940be67516a1b95d97d +#: ../development/specifications.rst:64 54e482c6722046fc9cad9abdf6501ebf msgid "FLOSS" msgstr "Libre" -#: ../development/specifications.rst:64 55d5dd9174f94ca9850b999864598259 +#: ../development/specifications.rst:64 27466fe335f14fc58651275455bc3b85 msgid "Language" msgstr "Langage" -#: ../development/specifications.rst:64 27002c409c6440d29ae89e91559a6994 +#: ../development/specifications.rst:64 a62b0ccd1e3642f1922043446575891c msgid "LOC" msgstr "LOC" -#: ../development/specifications.rst:64 3ba35fd6c6d44150b4b049cf603e4a85 +#: ../development/specifications.rst:64 8a0ae563aeb34a48afdd436dfb90bdfb msgid "OIDC" msgstr "OIDC" -#: ../development/specifications.rst:64 dc762bcd6eca4fc79dae1ca65c411351 +#: ../development/specifications.rst:64 988a35af2eef476299eb83b8ae5a3849 msgid "SAML" msgstr "SAML" -#: ../development/specifications.rst:64 6ae5803282c4439a9e7b1c1570e4c505 +#: ../development/specifications.rst:64 32c77efb6cff4149868aa5ae1ea6e9d4 msgid "CAS" msgstr "CAS" -#: ../development/specifications.rst:66 f4c4ac6fdea74558a74bc9a3cefbb5c7 +#: ../development/specifications.rst:66 f48994303e73429c9073af002d2cbe8b msgid "Canaille" msgstr "Canaille" @@ -2583,47 +2595,47 @@ msgstr "Canaille" #: ../development/specifications.rst:78 ../development/specifications.rst:80 #: ../development/specifications.rst:82 ../development/specifications.rst:84 #: ../development/specifications.rst:86 ../development/specifications.rst:88 -#: c2035a448fa9405a92d51c9c90277394 1fff4f30a7714816a18b3fcc116290ea -#: c40b5154d16f4769a90f544f921ff160 b4f8f14c2ccd48d7a2df4514e072872c -#: 070425d5941a41a5b151cd30b60c8759 ae10fc61ac05465c88b82d0432b9f6f3 -#: 487a8e03d0e34a79b0382407ce0105e6 aa47e755d8094a54a72e5a984eca8212 -#: 1e641255c61242d782202c8eafa965b0 66fcd17bb81c48538f3b165edb4842e4 -#: 28011cbaa1f84bc2b0c07e50fe8ee4c1 33e7166b401144bcadff959d61e03c4c -#: 3e414716fb234b5a98cbd381348c05b8 4233cb97a80043599c2ab7b25dfc7e09 -#: 01a61d6ece794b39adc441233aef3a3d 7bba6b8427854a41b99c15b883290007 -#: 87f7b258b9084896962266eef600ead0 35d2af03a40c44f3be85f38d56883d26 -#: d90d1af7efe04fa397f58ec889a042d2 721544149a7244feb2fd14bc071b9ba4 -#: 588ab8a50fca4528b9a471dbddfb7d4a 814ccdbc41184e08ac5d1dfc65486f1c -#: 5b92e201931a462c90a3d3883c2bd94a ba65de35554741a48a7eb4a72fc66433 -#: c5d5335a195a44cd882f443ae316348f 9a77ea56aecb4e859046a32bcd052251 -#: b845153d9ebc4c2e83791da5c5d0bf5a 4dd20636352243038f0bdad8d15e8449 -#: 5b23071246ab41f1abd1bfa5596a4b46 e9195a6880cc4824bb5fbfce4b1d26dc -#: f0943b3b5cd34615a55cb2f9b1608b4a d95ce6d1875045fc8442060795ebfe22 -#: eaa0089f734b48eea7a06ed3c5a0dad5 c1aa2d442f2047f9a1194e38c2b1ddd1 -#: f86c1eae20714e9dba1f0f48395c4dc9 0657decbae9645678985ea6020d354d2 -#: ce03d94ab7954c02968bfb44eb0f72fd 9fb4e3e247d846419051f2852ffa3f31 -#: f5e5911bcb704af19c073370f437c1b4 2a75e780caa141b798c8b207bcc8fcbe -#: 47c3b428281d41fcb8e7bc0cdc16581f 44dd040e077248b48b1ed0af53404b9c -#: e063ffcc58474df4a66b2814eb4c0f61 24cd7d2b70af4d138d065f2b568969bc -#: 1b724ec2c443410fa224420a2dc57059 9909afe63bb34adcafa5eca97a23cd03 -#: cb0aa79288f1454880b063396f3803e5 b96e91bf613c4f4cb6ac463fad5a68fe -#: cff48ca4a13545309d9e1b58c3dede80 e55ccef99f4a45be8fb35a1ed8bb1ac4 -#: a5b3f91649094efebe4e858d745ccb2e 4b09487097334807804aaba873d4dc7b -#: a981b83da6074c448bcbcfaf442ff4f8 93c98f61c81b4628a9acfd096e11e7a4 -#: c9b45500d9d145a8862c978d95329330 c34b7940cbbd4218af2cb94e8eb24fc7 -#: 007275e0e3314ae5a27bc93732d22221 8a394726b7b941dfbbd8af3e546782c1 -#: eda36ba62e4947528d14d5bb46f98767 78eb76570364482583c3cb19d0303903 -#: 911d55a0575e40f68acac8945e382a6f 888a30003d764dd28c8744ea11295da4 -#: f5320617a03e47dea905ac5a70208c70 +#: cecfeb6d9fb7420ca837b206d1d6764c 1bf9058c7b5140cfb942a261bc1d5fb4 +#: f20a686626324145b1062186686d2ee8 1584d21e10ac44db89804752041377c1 +#: c739a882a4924ee6b74aae11f9ac4f70 7921d737ae024139a45a81a95c0de37d +#: 2081e5cb2e704eca831f4b88c63719a5 3e58cc7801d24e09a5d0ca85b3151d90 +#: d9e49d514c5e4fd5a9c88c87adb60131 531dd2150dbf4e22bb89a9febb4e4d3c +#: e6161702f7d0483abeb299b2abf7ed01 4384675732a44a5699eadf3db840ea68 +#: f6e2f76646f54a1e835df2a5b32db7af 6ece4298037042d183800662fc6d7730 +#: 386cf18f38064e489e8c88d6d3166e20 a2b336de60474811a85371ac9b8fc936 +#: a0c55d79ed23441b9a2081434bf2ec16 17be8bbb60b9415aa7c928d1c385758a +#: a5340472ac864f2da34b666cfd10013e 823015fb7cd34ec890b163c25499e88a +#: f1e4ba474c2545f788b426e174b25269 4d0a5e236e9c4ca68d1b5ff222e6d5b2 +#: 2e6f5a41bc4a4b66a9c8761101baf641 45623bf338bb42e8b4a3f1276d08dbf8 +#: 60459c90052d4c2892d17142e74355b2 b1c9f70c22e54552a662b1e20de0cf11 +#: d993414221d04d9cb7f42e1f1df885f7 5c1d5b1b5b9947169a6512526bf1354c +#: bca0227caf0541afac9dde2ef357f96a 34d81b7015ef42098eeb90a4c97c7574 +#: 99c49b778a0248848dc909e7e9de6327 ac54e974ffc04684889d2d439f69bfc8 +#: 6a564012257e451b9a5feee09526dff0 646e26dbbb6d4c158ff400b6c7ac4752 +#: 348497e0085840b497537393ccf1232b 594f21bbff0b4d92b9b6b503c064a272 +#: 047de5aa45d14d57a0f7c65c16a25060 374cb94f40a9471e95364d0dca1f9a0c +#: 726b27f2dcf347c0b5421f3e41bf3dba 3f3124894e83434daf0a6af56c281803 +#: 5a2f5313c9a642a584991f80f54f6e2c 9fc1f509353c4f6cab3f7c3b21883cf6 +#: eea6bc914188401e8e132b973e250a62 4b48b1cbe78d47449fa5bbbd9d7f7ab1 +#: 6a258a1e0e65408d9dbfa2bbd0280e2b 41c352bade1d4f998ccbb014be0700f6 +#: ed5ad7a13d4f410091f42610b879a17a d0d8145310fd4bad961ac397da7f369a +#: 92e87b99f7a1479aaa8dbca7200356e4 6f79ec5e229a4675b9b9a8c0d2700567 +#: aa6616697ba245eca8c38349d3db5daf cdd868b8d08c488f9f47c95e0acf3f1b +#: a1cf6631636741719ad05edd1ed1142c b36371c9f8004f0788446980ea23685a +#: fc2c732457544aeab7c028832e170afd 47f38426ae2d4daf866ba55ca0fb065c +#: 27dfdf836dc74d26b1347dfa2d96e7b1 764feb42eb4f4c218bc5764f8d1076f3 +#: 9c5315804b3c46b79b68c6a16fa1796f a5c930dccddc4499a5700bf80cd15c53 +#: a80e2f550fd842f3bdf85a6b83f985cd 7a385969942f4c15af443d5fad275e3b +#: d2a83a7da92c4f599843afcaacff9727 msgid "✅" msgstr "✅" #: ../development/specifications.rst:66 ../development/specifications.rst:72 -#: 86f975b8aaab4af9bfc62ef2df91ba28 9dd4f11a08ae4fb0b0fde477b7209bc3 +#: c38bff66a17c471fabb1344102a537ea 24a7b6b572334fca88cdc4e1a09afb49 msgid "Python" msgstr "Python" -#: ../development/specifications.rst:66 3a757539fafc4e3aa92dbdec5227a2df +#: ../development/specifications.rst:66 2898d3796e7c4b88b8b7a9f519d2fc45 msgid "10k" msgstr "10k" @@ -2632,119 +2644,119 @@ msgstr "10k" #: ../development/specifications.rst:74 ../development/specifications.rst:76 #: ../development/specifications.rst:78 ../development/specifications.rst:82 #: ../development/specifications.rst:86 ../development/specifications.rst:88 -#: d1129a1abbbe451393139f636f972160 0baee04e46584b46ab2b5bd83dea4c0d -#: cab3dd361d004e25bc0250cb2e0ffe9a d3bccdee48f340dcac2b45c0892ceceb -#: 71b748e4a2b34c0bb767e54e9a6035e5 a2b3f6f336424dbbaf5dc3d387d841e6 -#: 465d3f3e0fd74093b25163100de425b3 7d6b64f2f3bd472bac864db31a8369db -#: 56488a2c86774489986852389d9bdc8b 31a1e7b5acc84a55bcb704865acece12 -#: 64856df8e2b846fc9b5af8a2091645a0 bfba022e99874f03afc35e4de5bd4708 -#: a879dcda766c4da185322f35d22e6f46 fd884c4495c144699d4ed019e0264719 -#: aa15002c037b42d49c62426116a999c9 94a1a61f502a42569788cfe93ad6bcf7 -#: 2f498851758b4c13943c69ec1ce9a3db 205c9937da9946108d0a0e2b4f8458aa -#: 7aa2bbcd681b45e3b3027de382926640 +#: 3a76f65f9cc740a5ac8954efd498ae76 ee8058c9659d4522af86baa0d44521db +#: 7067b91d5b034b88af327b419fe8ea19 b22fca8933ac4977886c37e5770c959b +#: 666fb77031f64ed7ae5a5d0b8c6b6550 5b45662d4826451ebdacb465b7d683f8 +#: c6233909a9bc4e3284b963e1fb52a6c3 5fa99110d40b4fbc97e8e758718ced85 +#: cb6c92749e67443fa98487d347f69b6b fd392afb027d4bd283a6e1f097fd9bf3 +#: b42f4f5688f24e4fad61c6ab45d54904 590061afc6414325919082432a939071 +#: bd96709d387a4855b03d79a3a2c4488f d60b6d8859424a948660d0866563a3b2 +#: 45155350fd7c4a4daab67edcc35ed1a0 fff8dea44f12432098ca99ba6d1b5c2e +#: f7205f328a5147fc9de435ea6cc60941 cc99c8a90acc44c4a0365af86582388d +#: 358ad064d07f4a12bf2e933b1cb10b01 msgid "❌" msgstr "❌" -#: ../development/specifications.rst:68 41d7747dc9384c6b908b8394168b5b5a +#: ../development/specifications.rst:68 d9d78032f92a41c7bf30d755415a3cbb msgid "`Auth0`_" msgstr "`Auth0`_" #: ../development/specifications.rst:68 ../development/specifications.rst:78 #: ../development/specifications.rst:80 ../development/specifications.rst:88 -#: b391b0e5e2724d7f9d457a4e64303697 8f85eeab9d6945af894c55e2a4aa0b9b -#: 042200dd8e5446a9bf353b47b219b1bb cf98ae825b30479499de8a4c5ffa1941 -#: 9d4e74c78b2b439785310a334d06a1c7 29630d08824746cb989fd0b402a48ba1 -#: 40c78abb3bce4fc8a59fabdef15f0f33 d6fbf12d6eb6429d84551ea23bf8eecc -#: f682275b9cb14280a7f2654d727c75d1 +#: 517701d2d9ae411db882f60fd1747fd0 672b1686e4dc46048d2ab5b2e8a1898c +#: cf6d4aa407464d01bfc90dbf3c0cf042 9d875d1cb8164dab82c2e1e6d901a7ab +#: 3af85fa640dc4120bbc32407a4c1c7bc 9d5d95c8c1c04c69ab16020652349a76 +#: 131d2ad4ffab4b8ca0b06cdcc7c4365f 3e4058105eb742dfb589d273ec4b94c6 +#: 06b3d4362a834f9d831db89cbd8ac961 msgid "❔" msgstr "❔" -#: ../development/specifications.rst:70 47ff7b1213464f85b246c4282f3af933 +#: ../development/specifications.rst:70 1682bb5887184cd9bff0b61796d76876 msgid "`Authelia`_" msgstr "`Authelia`_" #: ../development/specifications.rst:70 ../development/specifications.rst:74 -#: ../development/specifications.rst:82 5db56fd3e64948f5a108d2f74f7070b4 -#: 336fd480628c4851957b790dee759f7c f263685446a54133804e5f8517d59f1d +#: ../development/specifications.rst:82 d82982be3ee7475a983ce04e39624c7b +#: 6ed6387905f44170a97cde7665ca83d5 7a3147d487ba4f96bfc7c7d3af467f57 msgid "Go" msgstr "Go" #: ../development/specifications.rst:70 ../development/specifications.rst:82 -#: 741e97755b8c4478b7e19ba006898401 ffc79e1d4373446e88d2065ff0109fc8 +#: 44c24ba16cb6419abd4d3af84403a709 73882f9c7ba44c7ebda0e245b69a5643 msgid "50k" msgstr "50k" -#: ../development/specifications.rst:72 7fb71b70103e40eeb178e1281ea81de3 +#: ../development/specifications.rst:72 9110311d7f6e48b38ba0b32706d706e8 msgid "`Authentic2`_" msgstr "`Authentic2`_" -#: ../development/specifications.rst:72 cb26c38797d9416fafe5d1a1b5c5b03b +#: ../development/specifications.rst:72 d5b5b77fa7e544278f1e017ebe7b9b73 msgid "65k" msgstr "65k" -#: ../development/specifications.rst:74 6f7fc7bbb2694f09a12393a74ffc8013 +#: ../development/specifications.rst:74 0f7c8328ceb74a3286d140ea99595441 msgid "`Authentik`_" msgstr "`Authentik`_" -#: ../development/specifications.rst:74 bb964534c0704925b6d856bd54af7c7f +#: ../development/specifications.rst:74 9b22f0bb6f364ffba33f4906e6bca29d msgid "55k" msgstr "55k" -#: ../development/specifications.rst:76 4604cb0778044b63807b2be23ced893c +#: ../development/specifications.rst:76 935dcdae37fe48a68e5dfb04ab8f64f8 msgid "`CAS`_" msgstr "`CAS`_" #: ../development/specifications.rst:76 ../development/specifications.rst:80 -#: ../development/specifications.rst:84 aa3618e441ac413e83acdfe56631d15a -#: 1dc363d8cf99410890cbd44e0f60699c 4104aef4b998447299aa6b10e861098c +#: ../development/specifications.rst:84 a9de8918cec743a1a9d325a74233ece4 +#: 02e355d30b3f4867afe0791f475d3894 901209d3a4b74c7184c8360d12864d6a msgid "Java" msgstr "Java" -#: ../development/specifications.rst:76 c316893b4f00454a8c5745071e0888b1 +#: ../development/specifications.rst:76 fd1f63cd853f44e885dd67b3a6094f9a msgid "360k" msgstr "360k" -#: ../development/specifications.rst:78 c8a158afb8d841209c20b9ef42e563cb +#: ../development/specifications.rst:78 f10eb07a326744518a2f6b631cb88d15 msgid "`Connect2id`_" msgstr "`Connect2id`_" -#: ../development/specifications.rst:80 a264cd68201c442faf08474397c550aa +#: ../development/specifications.rst:80 4c26496dd0e544ef97d8d345c3d9169f msgid "`Gluu`_" msgstr "`Gluu`_" -#: ../development/specifications.rst:82 e54b53bfeafd4764b01095c1cd0077b7 +#: ../development/specifications.rst:82 b505e8661bf24fe287f1fc77d1326ab2 msgid "`Hydra`_" msgstr "`Hydra`_" -#: ../development/specifications.rst:84 87594578370246d494ef5e63196a3a92 +#: ../development/specifications.rst:84 53abb4819cbf4fb7ad273fa25556814e msgid "`Keycloak`_" msgstr "`Keycloak`_" -#: ../development/specifications.rst:84 d6304d1f41714ad5af15edb6febbfbc5 +#: ../development/specifications.rst:84 5d8e6ef889ba4715986a7a237b753297 msgid "600k" msgstr "600k" -#: ../development/specifications.rst:86 2efe7957b848447dacfecb082a95c438 +#: ../development/specifications.rst:86 30fe26bf61584e29ac73c07d679ba6a5 msgid "`LemonLDAP`_" msgstr "`LemonLDAP`_" -#: ../development/specifications.rst:86 cdd25b565e5d4de4b4202f82f4407843 +#: ../development/specifications.rst:86 12a5b8832f2b4831a41af30522055343 msgid "Perl" msgstr "Perl" -#: ../development/specifications.rst:86 51b2d4fcc1fc43d2a692826a2b2c62d1 +#: ../development/specifications.rst:86 42f8e0deef9246a5a4f9a3cb69a5966f msgid "130k" msgstr "130k" -#: ../development/specifications.rst:88 4c2a5d27487345f7bc3c1bbd0c897c47 +#: ../development/specifications.rst:88 8bcf4b8cde474ff49b0e8bbc96e52986 msgid "`Okta`_" msgstr "`Okta`_" -#: ../features.rst:9 61a68141a485477a9fb49921e7b8aa3a +#: ../features.rst:9 f057b88a8b504465b8ed8e332fd5a830 msgid "Features" msgstr "Fonctionnalités" -#: ../features.rst:11 5dd070084abb440ebf87c36df501f197 +#: ../features.rst:11 ede71f0291474638a54b3c73dbf2e4bf msgid "" "Here are the different features that Canaille provides. You can enable any " "of those features with the :doc:`configuration ` " @@ -2752,7 +2764,7 @@ msgid "" "`roadmap ` to see what is coming next." msgstr "" -#: ../features.rst:15 83eef1f1157b4d37b4627438618f31ab +#: ../features.rst:15 cf814f15959a43cfaa0392cd83755fce msgid "" "Users can interact with Canaille through its :ref:`web interface ` and administrators can also use its :ref:`command line " @@ -2760,31 +2772,31 @@ msgid "" "`database backends `." msgstr "" -#: ../features.rst:19 73c7e363c37147fc825deea06ee26975 +#: ../features.rst:19 02e100abc6e44fe49224f9e4046dc49e msgid "User and group management" msgstr "Gestion d’utilisateurs et de groupes" -#: ../features.rst:21 e19b2b99a8544219b61bbedc1229e77c +#: ../features.rst:21 09d69566150048b4a17d192bfc4d5112 msgid "" "Canaille web interface can be used either in :doc:`production environments " "` or locally for development purposes." msgstr "" -#: ../features.rst:26 ../index.rst:27 759b0714ba194bc5a5d043350cb4cd14 -#: dd79223676e0465293d1499d8929fa26 +#: ../features.rst:26 ../index.rst:27 4a8e8cfdbaaf4d86a28840ef0939d7d9 +#: 947ce49c0ff9406fb81b5e3cc5329c24 msgid "Profile management" msgstr "" -#: ../features.rst:28 ../features.rst:220 53e5483c51ae4df28138ae990c16de07 -#: 0a36f2261b84450b98131ff740f7ceb9 +#: ../features.rst:28 ../features.rst:220 d4de0b07d24e47b9aba16e48ed9cbe27 +#: 542fdff284144a8c805b4824d03d6b76 msgid "Profile" msgstr "Profil" -#: ../features.rst:33 864adfa77693422cad803b08d9187a5e +#: ../features.rst:33 c59d37a518514008bc2c6f2c18dd6326 msgid "Canaille provides an interface to manage user profiles." msgstr "" -#: ../features.rst:35 505ce537381249ec82445d38a4e093df +#: ../features.rst:35 8b67e3a00af440328b615d2921dc27a6 msgid "" "The exact list of displayed fields, and whether they are :attr:`writable " "` or :attr:`read-only " @@ -2793,18 +2805,18 @@ msgid "" "ACLSettings>`." msgstr "" -#: ../features.rst:37 625c7cea8a034a7ba263a71ce0587a26 +#: ../features.rst:37 eb4ca5b563c44281aefc8d4ad4c549e8 msgid "" "Depending on their ACL :class:`permissions `, users can either be allowed to edit their own profile, edit " "any user profile, or do nothing at all." msgstr "" -#: ../features.rst:42 530dac22b587444cbd5de9ba2d7a3a90 +#: ../features.rst:42 e4d34befed5941bab9161eb3c0330fad msgid "Email confirmation" msgstr "" -#: ../features.rst:44 2c3acd412bb944ab81ff2631784bff71 +#: ../features.rst:44 28a9397d838e4ffaaf5c8f8558416355 msgid "" "If the :attr:`email confirmation feature ` is enabled, any modification or addition " @@ -2813,29 +2825,29 @@ msgid "" "email address." msgstr "" -#: ../features.rst:46 8d597149b59e45f896eff2baa716fc20 +#: ../features.rst:46 d3563178a13d42268ae8a3f0cb15b90f msgid "" "Users with :attr:`user management permission ` can set user emails without confirmation though." msgstr "" -#: ../features.rst:51 4a6be5a6b71a4a5ea35d7c4a41630e35 +#: ../features.rst:51 280cf35bfcbe4a25b39bb567780bafdb msgid "Group management" msgstr "Gestion de groupes" -#: ../features.rst:53 ../features.rst:140 4824338c1fbf4fdd8c2e01534219ee98 -#: 3d8b9fc086e945d890bf9b3e01c82984 +#: ../features.rst:53 ../features.rst:140 1d74522e450c43f5adec93c195b5a356 +#: ca799065d4684b54940c65062bed411b msgid "Group edition" msgstr "Édition de groupes" -#: ../features.rst:58 afc7e192d41148e0a2ef8ec6f8944729 +#: ../features.rst:58 1471f707ae604de8b2b0222ca43eb2c2 msgid "" "In a similar fashion than :ref:`profile management " "` Canaille provides an interface to manage user " "groups." msgstr "" -#: ../features.rst:60 b83c6d0af7fe45228496bb2c594cf88c +#: ../features.rst:60 08eb7bac987947149589e0b40c938b0c 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 " @@ -2844,50 +2856,50 @@ msgid "" msgstr "" #: ../features.rst:63 ../features.rst:83 ../features.rst:149 -#: ../tutorial/deployment.rst:13 6fdf0a969ccb49e1bf9bfc28f4df9169 -#: 4065a0b70a1444058df3bb16f0abc445 bc0be7a805e04b5f91b89db28d7dffae -#: 7ab21494d11e4287acffeb771f8f5244 +#: ../tutorial/deployment.rst:13 4ca7b990ff9c429aa56f1ec0ab57aef9 +#: 2cf4c2bbf0ab431f857b4fe0f7b840a0 1382b05cef654b76b8fb57324f33b950 +#: 757f761fb4724713bdc1308505431bfb msgid "Todo" msgstr "" -#: ../features.rst:64 60eafd84b6934482b1ec0831e6aaa3b7 +#: ../features.rst:64 89199041503f41d3b7cad73267f4cf96 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 "" -#: ../features.rst:66 6440e19e527d4d5f8abc44d99c8a3dba +#: ../features.rst:66 fcdf9f9d5f1e4723b46a2ca1fc89539e msgid "" "Group management can be enable with a :attr:`dedicated user permission " "`." msgstr "" -#: ../features.rst:69 2382414ec97641a4925e741a26ae3148 +#: ../features.rst:69 95eff978c7994138a3200e090c84471d msgid "" "Due to limitations in the :ref:`LDAP backend `, " "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 "" -#: ../features.rst:75 ../index.rst:34 b136f97d836d4c8dbb63cd671ceebe4e -#: 76d8725ced9e421f98de5fb1e1ee01a2 +#: ../features.rst:75 ../index.rst:34 177c53d2c6094d43875d87ca2a55ed98 +#: 937baa96f2514cdaad76f4d28816abe7 msgid "User authentication" msgstr "" -#: ../features.rst:77 022b43e4ff7f4932aa151eaade78aeb6 +#: ../features.rst:77 d461efae4b9d41e4b7dba32a75588df0 msgid "" "Unless their account is :ref:`locked `, users can " "authenticate with a login and a password." msgstr "" -#: ../features.rst:81 1a8cb7dc227a452b81768be3758a8fb4 +#: ../features.rst:81 3c53cd1507ce48c780297457fc4efd97 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 " "`." msgstr "" -#: ../features.rst:83 778349cb3c344689bd8cc06184005e10 +#: ../features.rst:83 80eee19145c64fbc9ea0c26464fab965 msgid "" ":ref:`LDAP backend ` users can define which :class:" "`user field ` should be used as the login (such " @@ -2898,11 +2910,11 @@ msgid "" "issue:`working to improve this <196>`." msgstr "" -#: ../features.rst:88 aa467ae3118543ed94401a8ca23776f1 +#: ../features.rst:88 560be09061014d5485f75f3c90d3790c msgid "User registration" msgstr "" -#: ../features.rst:90 c81ba8ba520c4d8bb6c8475fe023404b +#: ../features.rst:90 4780fab4d36744c6991df9ae3919e4a0 msgid "" "Users can create accounts on Canaille if the feature :attr:`registration " "feature ` is " @@ -2911,7 +2923,7 @@ msgid "" "ACLSettings>`." msgstr "" -#: ../features.rst:92 c1f2442a948d414e9b9983d79aa91ae4 +#: ../features.rst:92 f1e0991feda34f918887bf7653c16801 msgid "" "If :attr:`email confirmation ` is also enabled, users will be sent a confirmation link " @@ -2919,12 +2931,12 @@ msgid "" "finalize their registration." msgstr "" -#: ../features.rst:97 ../features.rst:99 3d200c871e19420db3ce1885f7414a3c -#: 7bf61d1ad01240f7b1ed2db4ab0fdf77 +#: ../features.rst:97 ../features.rst:99 6edf18a1ecff4430baaed61db6717c23 +#: a2293ea9f6564b6b8bc9c02c5a8f0f40 msgid "User invitation" msgstr "" -#: ../features.rst:104 134f042cb892434e922c01d62222ed54 +#: ../features.rst:104 7f4e56bdbb9842beba1644e2fabad41f msgid "" "If a :class:`mail server ` is " "configured, users with :attr:`user management permission ` is disabled." msgstr "" -#: ../features.rst:108 536cbb5eff1444dda4ac45998d356fe6 +#: ../features.rst:108 24a4d13134934174aaedf461e03f2363 msgid "It can be automatically sent by email to the new user." msgstr "" -#: ../features.rst:113 c24731829c1949aeb3f54f0167ed8b37 +#: ../features.rst:113 a05444b5846248f9aebaa28b316be1b8 msgid "Account locking" msgstr "Verrouillage des comptes" -#: ../features.rst:115 48e7bf2282b5487f9437be3863edc5ed +#: ../features.rst:115 1c40bbaf596c4a28993904e4aab8b076 msgid "" "If Canaille is plugged to a :ref:`backend ` that supports " "it, user accounts can be locked by users with :attr:`user management " @@ -2954,51 +2966,51 @@ msgid "" "date can be set instantly or at a given date in the future." msgstr "" -#: ../features.rst:118 31e7e6b90652414ab1b450f98ddb7d53 +#: ../features.rst:118 e6053c7a0e4c4feabd77b2aa14c50018 msgid "At the moment a user account is locked:" msgstr "" -#: ../features.rst:120 6be8caf7464643e99cb2614ce0138045 +#: ../features.rst:120 1614c2a9020a4da58427064a8b480050 msgid "their open sessions will be closed;" msgstr "" -#: ../features.rst:121 93da628150674abe85e3ff8f27e83c0a +#: ../features.rst:121 bd083a39c3e94f20b0ca06eb45a6ee68 msgid "they won't be able to sign in again;" msgstr "" -#: ../features.rst:122 e5196d576eb445d9aa83989d6f241c42 +#: ../features.rst:122 3f671916358b469d91fb687a638b5c39 msgid "no new OIDC token will be issued;" msgstr "" -#: ../features.rst:124 c784a99a157b46028eb5c3543da73e38 +#: ../features.rst:124 2cc679d736b341e4bde79d159d806618 msgid "" "User accounts must be manually unlocked by an administrator for the users to " "regain access to those actions." msgstr "" -#: ../features.rst:129 da2f0b388508475cbb3fd080de1ff44c +#: ../features.rst:129 fb080216984840ba99f095aece85255d msgid "Account deletion" msgstr "Suppression des comptes" -#: ../features.rst:131 5bc09c4f89764a1a950c44dc255b98d2 +#: ../features.rst:131 1339699fc6974a4e8e1ab03633a79a69 msgid "" "Users with the :attr:`account deletion permission ` are allowed to delete their own " "account." msgstr "" -#: ../features.rst:133 85f4ea778e8f45f7841ddf39f1bc8b41 +#: ../features.rst:133 65b2e1806f3a437aa8b5238f022e0352 msgid "" "Users that also have the :attr:`user management permission ` are also allowed to delete other " "users accounts." msgstr "" -#: ../features.rst:138 86a66e197de94dcbb90d559730b89318 +#: ../features.rst:138 278ed12bce6b4b318f677aa6d22138f5 msgid "Password recovery" msgstr "" -#: ../features.rst:145 6693db5e96354da69ed660a259c109ce +#: ../features.rst:145 c2409768ec7a46d584ed1ed235e7a4d0 msgid "" "If a :class:`mail server ` is " "configured and the :attr:`password recovery feature ` is " "configured, :attr:`user management permission ` are optional. If " "a :class:`mail server ` is " @@ -3043,11 +3055,11 @@ msgid "" "password." msgstr "" -#: ../features.rst:173 412b386c0c794b5d8c71ea7b51278da8 +#: ../features.rst:173 4f60c7a56e5544afa1bbaee9df0805e0 msgid "Password compromission check" msgstr "" -#: ../features.rst:175 35e11da6bbdf4e2da05a3a66c24e1dbe +#: ../features.rst:175 3dc13b94cd014d6f976426da9840a3d6 msgid "" "If :attr:`password compromission check feature ` is enabled, Canaille will " @@ -3056,19 +3068,19 @@ msgid "" "`." msgstr "" -#: ../features.rst:178 cbba3fccd9f84230b6eb0774cfd7e109 +#: ../features.rst:178 a9118911f6a341a3b529fd8882c4e3e4 msgid "Web interface" msgstr "" -#: ../features.rst:183 fab0081b9bd4460098de6df7d8c317b5 +#: ../features.rst:183 277603f8de354f15857ad0068f148115 msgid "Internationalization" msgstr "" -#: ../features.rst:185 46cf7a3a3e9047439aa7fa6654b07921 +#: ../features.rst:185 6bc7d90be4bf486d8a2e84a48cc76b66 msgid "Translation state" msgstr "" -#: ../features.rst:190 0a5afedc31de47a28d0bf7842a8558cd +#: ../features.rst:190 a1f40124b57e452a85abf8af401dc2b1 msgid "" "Canaile will display in your :attr:`preferred language ` if available, or your browser language if " @@ -3078,22 +3090,22 @@ msgid "" "for every users." msgstr "" -#: ../features.rst:196 2caebf718cab47029a83bb91253e36e5 +#: ../features.rst:196 8bf0ddac3fee4b4f931bd704bbb167dc msgid "Lightweight" msgstr "" -#: ../features.rst:198 e3cbad3b2af0422287a92a4094559d8b +#: ../features.rst:198 3774910a87b34b9dba3b6c28a1e6ba68 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 "" -#: ../features.rst:202 a7db848b637a46b1874f04fb542009e2 +#: ../features.rst:202 0da766448075460d9360204e6975a0f4 msgid "Customizable" msgstr "" -#: ../features.rst:204 0c829a128889493fbc97247a60390954 +#: ../features.rst:204 737f45bc79a542ee903e8349947c3b5f 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 `." msgstr "" -#: ../features.rst:207 3a69d40c024744af967a1408c054aca0 +#: ../features.rst:207 36b615461b0c49e9aca81c65a60c3308 msgid "" "If you need more you can also use a :attr:`custom theme `." msgstr "" -#: ../features.rst:214 003c4e8eee334a9d89486e2c0ae5d106 +#: ../features.rst:214 02908b4590a0462cac7afbc2fd17d7f6 msgid "" "Canaille implements a :ref:`subset` of the OAuth2/OpenID Connect specifications . This " @@ -3115,48 +3127,48 @@ msgid "" "On)` to applications plugged to Canaille." msgstr "" -#: ../features.rst:218 51e9a6e1ddb04b99a6a73135fc8728e7 +#: ../features.rst:218 f8c59847b97049d19a13ccaa6539f863 msgid "Consent management" msgstr "" -#: ../features.rst:226 a613e3d10f1243f3bc5d4e796b278c89 +#: ../features.rst:226 8e7afe2e2e6943feb664ab03ae9da770 msgid "" "Users can give their consent to application requesting access to their " "personal information, and then revoke those consent at their will." msgstr "" -#: ../features.rst:230 115bec7ea8944f6ab98641d9bd2540ec +#: ../features.rst:230 c7a8da519165448ebc4e1c53eb25f207 msgid "Application management" msgstr "" -#: ../features.rst:232 526d36374a8747d6ad6280379bcf664c +#: ../features.rst:232 2e65c0c497da4a77bc85c9500a074047 msgid "" "Users with the right :attr:`permission ` can manager OIDC clients through the web interface." msgstr "" -#: ../features.rst:234 79f0217902dc4b2ca73128ff6c16e7b5 +#: ../features.rst:234 bafe35db98f749d99557feec3ceaf4e7 msgid "" "In some cases, it might be useful to avoid the consent page for some trusted " "applications, so clients can be pre-consented." msgstr "" -#: ../features.rst:237 d1f7f85df6404afe91d29e4dee44be1d +#: ../features.rst:237 76b48b09fc1c44038a697dfa816afbcc msgid "Discovery" msgstr "" -#: ../features.rst:239 8b306f1c76664574a0f3d85805a46d87 +#: ../features.rst:239 f251fff6b3374ecd9fde5bdebced6313 msgid "" "Canaille implements the :doc:`Discovery specifications ` so most of the applications plugged to Canaille can auto-" "configure themselves." msgstr "" -#: ../features.rst:242 d5a2f0c4fa2f4363b5e87c4243376aaa +#: ../features.rst:242 4fac1fe3bcd346aeb34e8c600df0d542 msgid "Dynamic Client Registration" msgstr "" -#: ../features.rst:244 800aec57df82487f80fc7da359dc5c34 +#: ../features.rst:244 f53321a9a89d40c0b7fdc48be51240a4 msgid "" "Canaille implements the :doc:`Dynamic Client Registration specifications " "`, so when the :attr:`feature is enabled " @@ -3165,22 +3177,22 @@ msgid "" "Canaille without an administrator intervention." msgstr "" -#: ../features.rst:247 9cae9e0af58f499dac34354e9c12785d +#: ../features.rst:247 ec8846e6d8404a8185860b509814e54c msgid "System administration" msgstr "" #: ../features.rst:252 ../references/commands.rst:2 -#: 9b5fcf18f6214856ae377f83005f8309 e2a97a5dfb5844f9a74c78b1a28ed23f +#: 511d3810fbd4411dbf14065b1f014256 a07ec9235c4347858a3f9dd667ade4b6 msgid "Command Line Interface" msgstr "" -#: ../features.rst:254 98ef5f39d74944668dfff8b63d9d6199 +#: ../features.rst:254 446a668dea4548ffb184afa168ed6115 msgid "" "Canaille comes with a :abbr:`CLI (Command Line Interface)` to help " "administrators in hosting and management." msgstr "" -#: ../features.rst:256 9a30112ff2eb47c69263e73aa3c4ee15 +#: ../features.rst:256 1b76ec06f2f841ccb8396a5345014ffd msgid "" "There are tools to :ref:`check your configuration ` or to :ref:" "`install missing parts `. You can use the CLI to :ref:`create " @@ -3190,18 +3202,18 @@ msgid "" "clients `." msgstr "" -#: ../features.rst:259 02d13c90aa8f41f5b1007cd67fcea510 +#: ../features.rst:259 9f10d5a6354c4cda8b1a4e652c129231 msgid "" "There are also tools to :ref:`fill your database ` with random " "objects, for tests purpose for instance." msgstr "" #: ../features.rst:264 ../tutorial/databases.rst:2 -#: 0225297b7d884971a952f5ec904a15ac cf1fc0e0abb74b3ca66c1e92a5e773e9 +#: 3f06ed32b21149799d58c75cad1db5ff fbfabda71be84552b6583acdaa13af3e msgid "Databases" msgstr "" -#: ../features.rst:266 1a7af5dc07fa4f6c9231664737ee46a7 +#: ../features.rst:266 004f29ea7eb74ee2912627a929e87f1c msgid "" "Canaille can handle data from the most :ref:`common SQL databases ` such as PostgreSQL, MariaDB or SQLite, as well as :ref:" @@ -3210,68 +3222,68 @@ msgid "" "unit tests suites." msgstr "" -#: ../features.rst:272 a6a6a7334af54051aebed82d83027ea8 +#: ../features.rst:272 8add6581a16b4877a66ba7c8827152ca msgid "Logging" msgstr "" -#: ../features.rst:274 9bc7705bd378459abf2f813381aa58a6 +#: ../features.rst:274 1179b565c1de4b11a03ca824cce52977 msgid "" "Canaille writes :attr:`logs ` for every important event happening, to help administrators " "understand what is going on and debug funky situations." msgstr "" -#: ../features.rst:276 2aeb5161276a4f048c40a7256c3d7f0e +#: ../features.rst:276 a6282bdfca0b4e2c8ecfd02478d3623d msgid "" "The following security events are logged with the tag [SECURITY] for easy " "retrieval :" msgstr "" -#: ../features.rst:278 ed4be0b57afe4ce9976c45f03c249444 +#: ../features.rst:278 49f7ec7627e7414aa616f1060c33d110 msgid "Authentication attempt" msgstr "" -#: ../features.rst:279 452456f9907e4bbd89439903c2fc9ebc +#: ../features.rst:279 a26713f492ff4f14a2e3a881e7ab19f1 msgid "Password update" msgstr "" -#: ../features.rst:280 9ccb4ef2a139403c85223576eb87a182 +#: ../features.rst:280 ca7c103705f14293950cc12dedd96378 msgid "Email update" msgstr "" -#: ../features.rst:281 bd0936deb7994f8fb59f2f0a47115edc +#: ../features.rst:281 0e01ba62ff054e4e849ae1d4c1f6fdee msgid "Forgotten password mail sent to user" msgstr "" -#: ../features.rst:282 02079fe76d2041aaba48a6b2079630f1 +#: ../features.rst:282 8f4e5a1567114749b944d391c43ad2bb msgid "Token emission" msgstr "" -#: ../features.rst:283 814519684d8c47a5b0b5ae6eaa9aa66e +#: ../features.rst:283 04cf77b4e9514ab7805b4f4156209cff msgid "Token refresh" msgstr "" -#: ../features.rst:284 4489f99b64dd40248f28453fb8b4b0df +#: ../features.rst:284 ec6501d110694e58b6181468d6154bda msgid "Token revokation" msgstr "Révocation des jetons" -#: ../features.rst:285 99abcc04f85649c1b184e22e67b36f18 +#: ../features.rst:285 76f7ecd101a541d3a1dbb7b3090db868 msgid "New consent given for client application" msgstr "" -#: ../features.rst:286 c64802d623a74d678c4aca29f82c39d7 +#: ../features.rst:286 100d9e39db3644c78ed000b9d27342a4 msgid "Consent revokation" msgstr "" -#: ../features.rst:291 f9d92f5f76a745ee97ea36afc853c516 +#: ../features.rst:291 267852d80a8f4235af2ca961f8de8f09 msgid "Development and testing tool" msgstr "" -#: ../features.rst:296 9c0500515a5847c2bec5b1bb743f42fc +#: ../features.rst:296 3dd5b1afcdf74705a07096fb3d7fd788 msgid "Unit-testing tool" msgstr "" -#: ../features.rst:298 b1dc62a0c2024ff1bd6682408301766a +#: ../features.rst:298 8c74a6c31d294bcb85e4fd0db0bb40fd msgid "" "Thanks to its lightweight :ref:`in-memory database ` and its curated :ref:`dependency list `, you can prepare data in Canaille, let your application " "interact with it, and then check the side effects." msgstr "" -#: ../features.rst:313 beb39ccb89e040118104ba0c0f41eb71 +#: ../features.rst:313 cef90af6922045ccb06933f9c96c6f6e msgid "Roadmap" msgstr "" -#: ../features.rst:316 4fee3c311fe844bbb345bd5b562844ad +#: ../features.rst:316 35efac03aaf843308e6941fa96ff921b msgid "Bêta version" msgstr "" -#: ../features.rst:318 f699343ae7fe4f12a9d12f4692c22827 +#: ../features.rst:318 390267ac81744daf95a62fffcd0af834 msgid "" "To go out of the current Alpha version we want to achieve the following " "tasks:" msgstr "" -#: ../features.rst:320 c8aec1fe7d574a789319e75cc64bd2e7 +#: ../features.rst:320 16cbac25ee2f420abda2992cd351559c msgid ":issue:`Configuration validation using pydantic <138>`" msgstr "" -#: ../features.rst:323 706d590389f54c40ba1b219877946bb5 +#: ../features.rst:323 9f7d9a2a96974645bd8fc63a44d1a2c8 msgid "Stable version" msgstr "" -#: ../features.rst:325 54c0d4cc60054a5ebe7456575b1b70c3 +#: ../features.rst:325 2736b944f850403f9592ba3265b6f986 msgid "" "Before we push Canaille in stable version we want to achieve the following " "tasks:" msgstr "" -#: ../features.rst:328 7807e2d92e264bc78fd5b6a3c63beb3a +#: ../features.rst:328 4a9ef596fb13405185ef106cd2dda007 msgid "Security" msgstr "" -#: ../features.rst:330 577ab46503ee45e89daa8c42938635e5 +#: ../features.rst:330 a09c2af5ad3e424eba893efd02faf213 msgid ":issue:`Password hashing configuration <175>`" msgstr "" -#: ../features.rst:331 a337cb0aac704dbca90dd70f1d68456d +#: ../features.rst:331 3001ee87077c4479b3f3c8b3b5aecd33 msgid ":issue:`Authentication logging policy <177>`" msgstr "" -#: ../features.rst:332 39adf64b80444b27bb6f9f11747a6960 +#: ../features.rst:332 e4387f0454dd483eb1c33ce14ef1d9ea msgid ":issue:`Intruder lockout <173>`" msgstr "" -#: ../features.rst:333 3eeac7b1dec04fe9b990864b8810db50 +#: ../features.rst:333 e38560428a8f48528d9f02a5e00197fb msgid ":issue:`Password expiry policy <176>`" msgstr "" -#: ../features.rst:334 4ad4707b7d02481ab507ded2d410eb70 +#: ../features.rst:334 de013ed91c4443d190d9783c5cff060a msgid ":issue:`Multi-factor authentication: Email <47>`" msgstr "" -#: ../features.rst:335 478b4f7b443f4f728085a2ea686b0248 +#: ../features.rst:335 d0049b96f7c1401a91d968aa93715930 msgid ":issue:`Multi-factor authentication: SMS <47>`" msgstr "" -#: ../features.rst:336 fd624a7e3d404428830928ee05ec5348 +#: ../features.rst:336 e5e2f43901ae4d00bd1c675076fb846d msgid ":issue:`Multi-factor authentication: OTP <47>`" msgstr "" -#: ../features.rst:339 a6acbc89a16a4fad8658fb33764830ad +#: ../features.rst:339 277364ce7ca04a169409ad5acf68d075 msgid "Packaging" msgstr "" -#: ../features.rst:341 575b556539994d1190e50cbfd0133bd4 +#: ../features.rst:341 dece9c7d75d441cdbdce48eb7a4bebcf msgid ":issue:`Nix package <190>`" msgstr "" -#: ../features.rst:342 f8facef108bf4d668509e57200f732bb +#: ../features.rst:342 a53f52a497344bb6b889fa63de7d9c26 msgid ":issue:`Docker / OCI package <59>`" msgstr "" -#: ../features.rst:345 92825d26f07c4b718121c2784a9b6b81 +#: ../features.rst:345 6a738414fcb944ac9c4d5b61a53f0d11 msgid "And beyond" msgstr "" -#: ../features.rst:347 ac17ddb06c4d400ebc190454535608c2 +#: ../features.rst:347 66a95c24a32940118517f6bb3bf27838 msgid ":issue:`OpenID Connect certification <182>`" msgstr "" -#: ../features.rst:348 1b80703b0f434fe6ade3288840b9cf3c +#: ../features.rst:348 73307b368d454e338ff4bbd05657bbcc msgid ":issue:`SCIM support <116>`" msgstr "" -#: ../index.rst:15 2c1f5afe842843a6bbedd65606fde0f5 +#: ../index.rst:15 8d018998cb4b4ff38d92f2a73326716e msgid "Lightweight Identity and Authorization Management" msgstr "Serveur d’identité et d'autorisations ultra-léger" -#: ../index.rst:19 0fa9dc97ee984c00a9460a07144eba66 +#: ../index.rst:19 55ed7b7eb88e42f78ef42eb5b55a3555 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 " @@ -3398,60 +3410,60 @@ msgid "" "simple to install and simple to maintain. Its main features are :" msgstr "" -#: ../index.rst:31 8b56e6fd5b374afbadf70d3371ad8538 +#: ../index.rst:31 d12af997fa5e48da987d2ecfcb4f149f msgid "User profile and groups management, Basic permissions" msgstr "" -#: ../index.rst:38 ae2a113a2f63489ebb6a9696df422ed1 +#: ../index.rst:38 ea53cfd918924c97a6726cfd357f5ce5 msgid "" "Authentication, registration, email confirmation, \"I forgot my password\" " "emails" msgstr "" -#: ../index.rst:40 c4659885674a4b848e904b352c94b89c +#: ../index.rst:40 127cca0af1054bf08a8ce05d1c55d539 msgid "SSO" msgstr "" -#: ../index.rst:44 3dabf6a8010d4aff943f07dbf6fe52aa +#: ../index.rst:44 f4b6d7b278ba480da9d7c964849ba988 msgid "OpenID Connect identity provider" msgstr "" -#: ../index.rst:46 f7caa27d43354246a89db295901976cb +#: ../index.rst:46 be1ff5f7d2ca468fa300f595696d9c10 msgid "Multi-database support" msgstr "" -#: ../index.rst:50 73b988c55cc241eeafe075a55fd037a0 +#: ../index.rst:50 92a7a7f6ee474890bf705bd67945dd9e msgid "PostgreSQL, Mariadb and OpenLDAP first-class citizenship" msgstr "" -#: ../index.rst:52 9caead4464284ccca1a59bff67fbec2d +#: ../index.rst:52 b1569cdc9eef44d68ed3b52496ef75b3 msgid "Customization" msgstr "" -#: ../index.rst:56 e2604712b57b4583b53181a9fefcda0e +#: ../index.rst:56 68415646dbfa4be79d953583749246fe msgid "Put Canaille at yours colors by choosing a logo or use a custom theme!" msgstr "" -#: ../index.rst:58 b168d0612c04400e8b259edb581dc6c7 +#: ../index.rst:58 2a6a4e752e494f65b7766a082624d1a4 msgid "Developers friendliness" msgstr "" -#: ../index.rst:62 8b5f849ae22348f19d5d8feca1590032 +#: ../index.rst:62 42693164646349bcbe9f680b08cd904b msgid "" "Canaille can easily fit in your unit tests suite or in your Continuous " "Integration." msgstr "" -#: ../index.rst:66 a4dbd4558bda425cab549061b5952854 +#: ../index.rst:66 bc563a309b784f2cbc15399c3ad8f51c msgid ":doc:`Full feature list ` :doc:`Common use cases `" msgstr "" -#: ../references/commands.rst:4 574cb073f7584f8599a4cc129a337c4a +#: ../references/commands.rst:4 aebb427c91ed41da9c0b7ecdfcaf590a msgid "" "Canaille provide several commands to help administrator manage their data." msgstr "" -#: ../references/commands.rst:6 aa7436e81d0347aca49e76837769f92b +#: ../references/commands.rst:6 b907889f6d0d4dabb1a963c60758fedf msgid "" "Generally, some configuration has to be loaded by `Canaille`. This can be " "achieved by :ref:`configuration loading method` for inspiration." msgstr "" -#: ../references/configuration.rst:29 8cbac0cd9e3e4bc3ad5fc60d82180568 +#: ../references/configuration.rst:29 52e72a243eda4c6d8c20601ec11d21ea msgid "Environment variables" msgstr "" -#: ../references/configuration.rst:31 b909831b5aed44a4b439b37701feabb7 +#: ../references/configuration.rst:31 5a5db358ab214e86b11ce341a71a4abb 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 " @@ -3785,75 +3797,95 @@ msgid "" "values>`_." msgstr "" -#: ../references/configuration.rst:36 fd22a354c18f4733b8b1962cfcbe2139 +#: ../references/configuration.rst:36 9c85a8e682a74e9d9d8c3aa79e2d02ba 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 "" -#: ../references/configuration.rst:40 f12f0cbb606e4627be2fa3b2a895f162 +#: ../references/configuration.rst:40 26c9129f81c54386966cffd31c323f14 msgid "Environment file" msgstr "" -#: ../references/configuration.rst:42 365f08457733440981be6a70f72771f7 +#: ../references/configuration.rst:42 39a7bf3ae7b64aad8763d1fc961ce4cc msgid "" "Any environment variable can also be written in a ``.env``, and will be read " "if present." msgstr "" -#: ../references/configuration.rst:44 83d91b20c3204d09b61a4a6de8c84769 +#: ../references/configuration.rst:44 ba796d7f6bdb4ef5a32865f844ead63e msgid ".env" msgstr "" -#: ../references/configuration.rst:62 e8e7a0f78d68479a9586036adf25e183 +#: ../references/configuration.rst:62 3c2136aab27c4650acf0d25ced3636e2 +msgid "Configuration methods priority" +msgstr "" + +#: ../references/configuration.rst:64 6e85c7ec407f4fc68adff17adb6652b2 +msgid "" +"If a same configuration option is defined by different ways, here is how " +"Canaille will choose which one to use:" +msgstr "" + +#: ../references/configuration.rst:66 8857be48d8f54be7aa8d350d5346887a +msgid "" +"environment vars have priority over the environment file and the " +"configuration file;" +msgstr "" + +#: ../references/configuration.rst:67 d946c715e1c34f55acfe97acc96cab68 +msgid "environment file will have priority over the configuration file." +msgstr "" + +#: ../references/configuration.rst:70 369d25ff21b042fbabf703be7b66e138 msgid "Parameters" msgstr "" #: ../../canaille/app/configuration.py:docstring of -#: canaille.app.configuration.RootSettings:1 ba32908d458e4689a5d90a46b386fdf3 +#: canaille.app.configuration.RootSettings:1 2226ecd0f90440d58a4089df736be757 msgid "" "The top-level namespace contains holds the configuration settings unrelated " "to Canaille." msgstr "" #: ../../canaille/app/configuration.py:docstring of -#: canaille.app.configuration.RootSettings:4 fffc30ea67ab47d99472750172be2a29 +#: canaille.app.configuration.RootSettings:4 f53fd6edbc9148c781006d112688f022 msgid "The configuration paramateres from the following libraries can be used:" msgstr "" #: ../../canaille/app/configuration.py:docstring of -#: canaille.app.configuration.RootSettings:6 ae9ceb139bfc47f8b383dec852b507c2 +#: canaille.app.configuration.RootSettings:6 0a1ba7d3d9d24c598640a87301549190 msgid ":doc:`Flask `" msgstr "" #: ../../canaille/app/configuration.py:docstring of -#: canaille.app.configuration.RootSettings:7 3d01d0dc9cdc47e59420f5b121370277 +#: canaille.app.configuration.RootSettings:7 6288bee773454f6fb13d7c3c43c0acfe msgid ":doc:`Flask-WTF `" msgstr "" #: ../../canaille/app/configuration.py:docstring of -#: canaille.app.configuration.RootSettings:8 d573a04c56154eaf857d49c057690bfd +#: canaille.app.configuration.RootSettings:8 8dc449c88676405aa689c232c0c17eaa msgid ":doc:`Flask-Babel `" msgstr "" #: ../../canaille/app/configuration.py:docstring of -#: canaille.app.configuration.RootSettings:9 552391e3f12c4385abb3e1a2e3929cfa +#: canaille.app.configuration.RootSettings:9 f0f21a8b4661490ea85203669e05fe2a msgid ":doc:`Authlib `" msgstr "" #: ../../docstring of canaille.app.configuration.RootSettings.DEBUG:1 -#: 4309008dba2c4aa79584299f19987ac4 +#: aee2c3dead184d3ab7655e0df3b9f66c msgid "The Flask :external:py:data:`DEBUG` configuration setting." msgstr "" #: ../../docstring of canaille.app.configuration.RootSettings.DEBUG:3 -#: f8cb9ba68ed14b818c2fb2bcfbffb16a +#: da1c3a1146284b0597c12fab8ac713a9 msgid "This enables debug options." msgstr "" #: ../../docstring of canaille.app.configuration.RootSettings.DEBUG:7 -#: 553b378e895a4b74aa242c08cd29450f +#: 22813fdeb3ad46729bf6d91f1a6a799b msgid "" "This is useful for development but should be absolutely avoided in " "production environments." @@ -3861,67 +3893,67 @@ msgstr "" #: ../../docstring of #: canaille.app.configuration.RootSettings.PREFERRED_URL_SCHEME:1 -#: cb2cc7437e4a4d3c90895c4148186b25 +#: 8d9650f0f1c34ab7b888fce27cfcc459 msgid "" "The Flask :external:py:data:`PREFERRED_URL_SCHEME` configuration setting." msgstr "" #: ../../docstring of #: canaille.app.configuration.RootSettings.PREFERRED_URL_SCHEME:4 -#: 530f78ce6f4842c983c10b38fe4c4b93 +#: 33538d7dda284e2da14720d9ecf5b81f msgid "This sets the url scheme by which canaille will be served." msgstr "" #: ../../docstring of canaille.app.configuration.RootSettings.SECRET_KEY:1 -#: 42e179fea274407eb26dd67e4a6d14a5 +#: ca299cb1b21a4aff913e478725dee516 msgid "The Flask :external:py:data:`SECRET_KEY` configuration setting." msgstr "" #: ../../docstring of canaille.app.configuration.RootSettings.SECRET_KEY:3 -#: b16e239dce5c4f199a2fba1707c82d1a +#: e0e842ea56e7409da386c9fa3b44f45f msgid "You MUST change this." msgstr "" #: ../../docstring of canaille.app.configuration.RootSettings.SERVER_NAME:1 -#: 0f0f60195f334cf597f67857740b2ace +#: 8aaa9ab83eb245a996e82b25f47a18be msgid "The Flask :external:py:data:`SERVER_NAME` configuration setting." msgstr "" #: ../../docstring of canaille.app.configuration.RootSettings.SERVER_NAME:3 -#: 39edb89e79af4a10a154a5c42d51e86e +#: a7a33ff93b6d471e9395fffab55b8497 msgid "This sets domain name on which canaille will be served." msgstr "" #: ../../canaille/core/configuration.py:docstring of -#: canaille.core.configuration.CoreSettings:1 d831c1b108eb4e96bb11a6ddc92ed45e +#: canaille.core.configuration.CoreSettings:1 49b29a899f644466acba509b0b3e9f00 msgid "The settings from the ``CANAILLE`` namespace." msgstr "" #: ../../canaille/core/configuration.py:docstring of -#: canaille.core.configuration.CoreSettings:3 a51801e81d914eb3bfe1fa4e649133c1 +#: canaille.core.configuration.CoreSettings:3 63104b7fc45e4ef39f55f96c7a093f33 msgid "" "Those are all the configuration parameters that controls the behavior of " "Canaille." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.ACL:1 -#: 89de24471b434051a4a84e39bc47aded +#: 1c134db317ea498d8b595a7a3b2f610e msgid "" "Mapping of permission groups. See :class:`ACLSettings` for more details." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.ACL:3 -#: 1f85af06bed64d9da4417c6e6f7e244e +#: c2f72f20b39c4706b4e5ba01db79eb2c msgid "The ACL name can be freely chosen. For example::" msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.ADMIN_EMAIL:1 -#: e07c109febe5434e95b532da3dadf454 +#: da428b02fcc6465ca83593370a8c52c1 msgid "Administration email contact." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.ADMIN_EMAIL:3 -#: 7a5e93e36d434fcb96b85beea8f1adc6 +#: 80265b26992742b4a55529bb9514ef19 msgid "" "In certain special cases (example : questioning about password corruption), " "it is necessary to provide an administration contact email." @@ -3929,7 +3961,7 @@ msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.EMAIL_CONFIRMATION:1 -#: 478effaaf0da47a1a31b996b06b8c650 +#: aae582f58bfa47f2a6f5b32a1b5c3ead 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." @@ -3937,7 +3969,7 @@ msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.EMAIL_CONFIRMATION:4 -#: b82dc4dc6818409eb5fa256462c4ac19 +#: 35bd824b2f8d4040898ed4dbdb7e599d 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 " @@ -3946,7 +3978,7 @@ msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.ENABLE_PASSWORD_COMPROMISSION_CHECK:1 -#: cb4478169a09415a9f17e3df16239ecd +#: 2bb9ee1a4a1f4c3dac7cd54259173873 msgid "" "If :py:data:`True`, Canaille will check if passwords appears in " "compromission databases such as `HIBP `_ when " @@ -3955,7 +3987,7 @@ msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.ENABLE_PASSWORD_RECOVERY:1 -#: b70cf94037df4bd1ae8a74acc370b3a5 +#: 9b83a2bb7e5a45358efb53447ed21cda msgid "" "If :py:data:`False`, then users cannot ask for a password recovery link by " "email." @@ -3963,32 +3995,32 @@ msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.ENABLE_REGISTRATION:1 -#: 6ee78ec59c21456e8761778153d4f700 +#: ad8746125fae4336a86e7a5a47949ea4 msgid "" "If :py:data:`True`, then users can freely create an account at this instance." msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.ENABLE_REGISTRATION:4 -#: 979b9444b9c04354add2e781bd324752 +#: 4519e48effe84001a82418bf3a2da190 msgid "" "If email verification is available, users must confirm their email before " "the account is created." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.FAVICON:1 -#: 8931d55b0c264be0982765f04f83ae38 +#: ad1dce6bc9dd49608f1556cebf0f44fe msgid "You favicon." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.FAVICON:3 -#: 7991e0eec12c457dad401f49b34ad835 +#: 36086dc79c1b485fa6594ef442028011 msgid "If unset and :attr:`LOGO` is set, then the logo will be used." msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.HIDE_INVALID_LOGINS:1 -#: 8e19d8a485fe456191ab16773f84483e +#: 15d696ce895d4517964f6a9fe0269d30 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 " @@ -3997,52 +4029,52 @@ msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.HIDE_INVALID_LOGINS:5 -#: dffe6e218f4f48e981ac5a9fa9a21e37 +#: 8203d7591b394141b0beec099e5a0c8d 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 "" #: ../../docstring of canaille.core.configuration.CoreSettings.HTMX:1 -#: b200882d189b46f3a83f217ff8b59551 +#: fca447a64b184732b6664c3c20ade0ce msgid "Accelerates webpages loading with asynchronous requests." msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.INVITATION_EXPIRATION:1 -#: 2dc15bd9ea8a4386b7202dbdbab5de36 +#: c3295518c8ce46359cb5fc8012267002 msgid "The validity duration of registration invitations, in seconds." msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.INVITATION_EXPIRATION:3 -#: c6aaae8719c34838aec54b8fea2d5101 +#: cca98367f271454987d915c9da1deecc msgid "Defaults to 2 days." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.JAVASCRIPT:1 -#: 70d5c7fa2dfa4e6695c84f2b4ab547c9 +#: f10d5dbbd4054185b5caff2aa7b4602c msgid "Enables Javascript to smooth the user experience." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.LANGUAGE:1 -#: 1e1cda3ec4c04a4aaeb2069ccc8f376f +#: caa7570c19d343d8a5350b38ab890a08 msgid "If a language code is set, it will be used for every user." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.LANGUAGE:3 -#: 6818acfcf652444db48e1c61878b6bb6 +#: 2f02910686974fa68a6b3af15a9e1c42 msgid "If unset, the language is guessed according to the users browser." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.LOGGING:1 -#: 63800f5a14d44e1fa3ed0266e19f5482 +#: aad50a21706943fda6f1cde1c79762fb msgid "" "Configures the logging output using the python logging configuration format:" msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.LOGGING:3 -#: 62d20006362a45ca8ff0f0a8fbb82bf4 +#: 75bb9ce97f514d3eb50ed11a5fcaf986 msgid "" "if :py:data:`None`, everything is logged in the standard error output the " "log level is :py:data:`~logging.DEBUG` if the :attr:`~canaille.app." @@ -4051,26 +4083,26 @@ msgid "" msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.LOGGING:6 -#: 44c6ded187ab4e44aac024c2cdb85303 +#: a8552f90740e4287bd06aab66b4dc85d msgid "" "if this is a :class:`dict`, it is passed to :func:`logging.config." "dictConfig`:" msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.LOGGING:7 -#: 6e269ac8b9144e9699a5856c375d7a37 +#: 1987a5781d6e42af97e3df073b29599b 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 "" #: ../../docstring of canaille.core.configuration.CoreSettings.LOGGING:10 -#: ba8b9d6794e2459492abfa778736328a +#: edd8ec5aad1047688bbbc5613d9896f5 msgid "For example::" msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.LOGO:1 -#: 851b93aeb7b54426872a6b4a2ed973b9 +#: 40c46d3aa7bb4e81a857540a99eb3df9 msgid "" "The logo of your organization, this is useful to make your organization " "recognizable on login screens." @@ -4078,13 +4110,13 @@ msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.MAX_PASSWORD_LENGTH:1 -#: f7c447a44c3446258b4edba163f587dd +#: 7f1980ff808c4d0682ddb5d03a50714b msgid "Maximum length for user password." msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.MAX_PASSWORD_LENGTH:3 -#: 435e72d3f33642da9016c521a88f15e6 +#: a40eddffe3bc4c46ac7624a5f7d40c8f msgid "" "There is a technical limit with passlib used by sql database of 4096 " "characters. If the value entered is 0 or None, or greater than 4096, then " @@ -4093,79 +4125,79 @@ msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.MIN_PASSWORD_LENGTH:1 -#: 6f4e40c7b45c4b72b571575ba0e98db9 +#: 2455bc17b90543f18e8d447f48d22c1f msgid "Minimum length for user password." msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.MIN_PASSWORD_LENGTH:3 -#: a0bcdae052d84c3fb9ef4bfd394e06a5 +#: 005b934e855440ae9fd177eb40ccb253 msgid "It is possible not to set a minimum, by entering None or 0." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.NAME:1 -#: a41944f564f5438fb8572449b5d13995 +#: befe22deda144065bcee73d9d0404dea msgid "Your organization name." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.NAME:3 -#: d61df1326c344b45b6d1c7b24e12b207 +#: 0a659d2aa1994859a59506e97a715ea7 msgid "Used for display purpose." msgstr "" #: ../../docstring of #: canaille.core.configuration.CoreSettings.PASSWORD_COMPROMISSION_CHECK_API_URL:1 -#: 4501d236ecc142e2ad045599ee19ac19 +#: 6ab659ea03d349d88fef1b5cdc9da5f8 msgid "Have i been pwned api url for compromission checks." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.SENTRY_DSN:1 -#: 0b234cbe21824f31b27a3b3c893fd37b +#: 42626c8f0fa24a3fbfc131099bae6302 msgid "A `Sentry `_ DSN to collect the exceptions." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.SENTRY_DSN:3 -#: 2eab9799f4c0478aa5479f62e826b170 +#: b29a9995f9b04c71a953d7ea902bd1f5 msgid "This is useful for tracking errors in test and production environments." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.SMTP:1 -#: 79d66e38b7d94974a21563fac9a58149 +#: 78b26880da2746c583f686747b26f179 msgid "The settings related to SMTP and mail configuration." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.SMTP:3 -#: 41d396512e7d40b28223841b21f8ed09 +#: 24787179b702424697f1fe11214d1f9c msgid "" "If unset, mail-related features like password recovery won't be enabled." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.THEME:1 -#: e327a089ace6495285f29ade69226d1b +#: 65f9f8cf44c347b9b18a9bd8e3624c6b msgid "The name of a theme in the 'theme' directory, or a path to a theme." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.THEME:3 -#: 641146b41ecc461d9fa7280687a462d9 +#: a930cadcbbaf40e59f78c34a6fea099e msgid "" "Defaults to ``default``. Theming is done with `flask-themer `_." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.TIMEZONE:1 -#: 421c3427b77b4cc4af9619406463c1c2 +#: 60a19e875a924f2ca2f466cc2a3de293 msgid "" "The timezone in which datetimes will be displayed to the users (e.g. " "``CEST``)." msgstr "" #: ../../docstring of canaille.core.configuration.CoreSettings.TIMEZONE:4 -#: d8d80524578e4697a5bb9f7e83c7d113 +#: 3674c492480c4bc8877913002b54efa1 msgid "If unset, the server timezone will be used." msgstr "" #: ../../canaille/core/configuration.py:docstring of -#: canaille.core.configuration.SMTPSettings:1 2f0178f9dbe747c695273f89e42da8c2 +#: canaille.core.configuration.SMTPSettings:1 0513a51a39d44f719e5bf3b7abfe7224 msgid "" "The SMTP configuration. Belong in the ``CANAILLE.SMTP`` namespace. If unset, " "mail related features will be disabled, such as mail verification or " @@ -4173,59 +4205,59 @@ msgid "" msgstr "" #: ../../canaille/core/configuration.py:docstring of -#: canaille.core.configuration.SMTPSettings:5 598e1ca109154455ad98b50d8853891d +#: canaille.core.configuration.SMTPSettings:5 2b30db6216b44d98973d7401cd778e03 msgid "" "By default, Canaille will try to send mails from localhost without " "authentication." msgstr "" #: ../../docstring of canaille.core.configuration.SMTPSettings.FROM_ADDR:1 -#: 8ab9425f8a6b42dc9097b69e3eaa334a +#: 60a234eca526445b86c8669fbfda12c5 msgid "The sender for Canaille mails." msgstr "" #: ../../docstring of canaille.core.configuration.SMTPSettings.FROM_ADDR:3 -#: f8f5f1377e5147d4baf9782ff95b4aa3 +#: 0ed3035ba98243e3814d51329ceac05f msgid "Some mail provider might require a valid sender address." msgstr "" #: ../../docstring of canaille.core.configuration.SMTPSettings.HOST:1 -#: 9059b29ae44849efb180f3b2da128c19 +#: 734742323e1a40e482a2433adbed3cf9 msgid "The SMTP host." msgstr "" #: ../../docstring of canaille.core.configuration.SMTPSettings.LOGIN:1 -#: 0bf8168dc84545cb810a8f25bbb4abf7 +#: 6b56c482d9274a7d9b308055ce3d8b07 msgid "The SMTP login." msgstr "" #: ../../docstring of canaille.core.configuration.SMTPSettings.PASSWORD:1 -#: ec1b4f81894e45f5abcae80dfaee87a9 +#: 8ca424cbdc7647a99400ae460510a183 msgid "The SMTP password." msgstr "" #: ../../docstring of canaille.core.configuration.SMTPSettings.PORT:1 -#: 514104bb8bcc4331b1e7fff12e550ba3 +#: f581660baf5a4637974640c3d253692f msgid "The SMTP port." msgstr "" #: ../../docstring of canaille.core.configuration.SMTPSettings.SSL:1 -#: f4e65d7811cb43d5b7d86ec07af2576d +#: 129075d9b7284662b50893663f3b3c74 msgid "Whether to use SSL to connect to the SMTP server." msgstr "" #: ../../docstring of canaille.core.configuration.SMTPSettings.TLS:1 -#: bd8dac0e38f14b6583d024fca1768b7d +#: b34e44fef5b24697bab696419b926d6d msgid "Whether to use TLS to connect to the SMTP server." msgstr "" #: ../../canaille/core/configuration.py:docstring of -#: canaille.core.configuration.ACLSettings:1 45f3089188214078ab06f2b1cff3b0e0 +#: canaille.core.configuration.ACLSettings:1 ddbf39ff35684a7c8be7dd8442348d9b msgid "Access Control List settings. Belong in the ``CANAILLE.ACL`` namespace." msgstr "" #: ../../canaille/core/configuration.py:docstring of -#: canaille.core.configuration.ACLSettings:3 733df203b313404eb417f40ed8708a2e +#: canaille.core.configuration.ACLSettings:3 fb2bf8e9b559475fa0da8a5a9a716d1b 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:" @@ -4235,18 +4267,18 @@ msgid "" msgstr "" #: ../../docstring of canaille.core.configuration.ACLSettings.FILTER:1 -#: a14933a4c7244138bb59a43c9d288955 +#: 44a6412c07e74f10991a803bec3ffd5b msgid ":attr:`FILTER` can be:" msgstr "" #: ../../docstring of canaille.core.configuration.ACLSettings.FILTER:3 -#: d0f71dfab2ec47fca2184767e58eec59 +#: a46c99d48a184f8f9cbbd60fd0113bd9 msgid "" ":py:data:`None`, in which case all the users will match this access control" msgstr "" #: ../../docstring of canaille.core.configuration.ACLSettings.FILTER:4 -#: e33849bb0c954228951cb18c56a9e70d +#: 3b80807a79704eb9b5c53f31319a334f 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 " @@ -4254,113 +4286,113 @@ msgid "" msgstr "" #: ../../docstring of canaille.core.configuration.ACLSettings.FILTER:7 -#: 2ed07fdd7da94cfd90167b2d1f4cb4eb +#: 53ad291e288c490abd5b1e854132a0ef 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 "" #: ../../docstring of canaille.core.configuration.ACLSettings.FILTER:10 -#: 657a11f5921947b88bfc47cf8affbe00 +#: eb01b4eb724941cab7f44d69c0627b1e msgid "Here are some examples::" msgstr "" #: ../../docstring of canaille.core.configuration.ACLSettings.PERMISSIONS:1 -#: df95253032c647229909e34386b1e5cc +#: 75a4d0c394fa4aebbb48d077e63aa0f0 msgid "" "A list of :class:`Permission` users in the access control will be able to " "manage. For example::" msgstr "" #: ../../docstring of canaille.core.configuration.ACLSettings.READ:1 -#: ab801708874c4b1bb937f62969614340 +#: d3e143b82c304e238a797124231f644f msgid "" "A list of :class:`~canaille.core.models.User` attributes that users in the " "ACL will be able to read." msgstr "" #: ../../docstring of canaille.core.configuration.ACLSettings.WRITE:1 -#: 384d296240314638a1f1b6b7719c6bb6 +#: cd5c4a6863b3455795388ea58d2f8ff1 msgid "" "A list of :class:`~canaille.core.models.User` attributes that users in the " "ACL will be able to edit." msgstr "" #: ../../canaille/core/configuration.py:docstring of -#: canaille.core.configuration.Permission:1 f9eec27878c64e608b2783b5e89172ed +#: canaille.core.configuration.Permission:1 d0fc68105eb54d359eb01628902767b5 msgid "The permissions that can be assigned to users." msgstr "" #: ../../canaille/core/configuration.py:docstring of -#: canaille.core.configuration.Permission:3 217cf0cc0b9b4a48a26abeaad488c131 +#: canaille.core.configuration.Permission:3 8f3355f64e2c490ab0e8b4765dca8781 msgid "" "The permissions are intended to be used in :attr:`ACLSettings `." msgstr "" #: ../../docstring of canaille.core.configuration.Permission.DELETE_ACCOUNT:1 -#: 370dec6e2b8049d0b7353b085340b102 +#: 500cfd5a09554ac0b3efb8801a314e38 msgid "Allows users to delete their account." msgstr "" #: ../../docstring of canaille.core.configuration.Permission.DELETE_ACCOUNT:3 -#: f7be239942c94727a948d27c6c93408e +#: cca431c321484569862b3a05616c7907 msgid "" "If used with :attr:`~canaille.core.configuration.Permission.MANAGE_USERS`, " "users can delete any account." msgstr "" #: ../../docstring of canaille.core.configuration.Permission.EDIT_SELF:1 -#: 1f716bb0d0ec481ab5dff0a02f5c9e37 +#: 6dc188b41f5440319e87c333aea28060 msgid "Allows users to edit their own profile." msgstr "" #: ../../docstring of #: canaille.core.configuration.Permission.IMPERSONATE_USERS:1 -#: c9018bb9aceb40bc9536cc03320c5bad +#: 113e6c4d2b714be79d746c84a0bde30a msgid "Allows users to take the identity of another user." msgstr "" #: ../../docstring of canaille.core.configuration.Permission.MANAGE_GROUPS:1 -#: 1072c369689f4922997715eb5337795a +#: 9531fd7773fe46f78f3da23f5d7e6f02 msgid "Allows group edition and creation." msgstr "" #: ../../docstring of canaille.core.configuration.Permission.MANAGE_OIDC:1 -#: 014b4028381e4f4d8dcc8dc8a5e3a26f +#: 6a14ecfbecc7402b90c1f984af552750 msgid "Allows OpenID Connect client managements." msgstr "" #: ../../docstring of canaille.core.configuration.Permission.MANAGE_USERS:1 -#: ff39df8edc7143c7b23d22bb773b5198 +#: 7d115497bd7e4284b71cee12f6012e06 msgid "Allows other users management." msgstr "" #: ../../docstring of canaille.core.configuration.Permission.USE_OIDC:1 -#: c7e27c4618a9460e8373c17f558f8d1e +#: 5e48261fd5c9437eb453e703f93703b5 msgid "Allows OpenID Connect authentication." msgstr "" #: ../../canaille/oidc/configuration.py:docstring of -#: canaille.oidc.configuration.OIDCSettings:1 e2e226bd197b4d6f87291ee45a3004ef +#: canaille.oidc.configuration.OIDCSettings:1 63057e3d73a14c63bbe40bc95a0e4c84 msgid "OpenID Connect settings." msgstr "" #: ../../canaille/oidc/configuration.py:docstring of -#: canaille.oidc.configuration.OIDCSettings:3 db9af81a48ac4b1a914370a2e47bf4e0 +#: canaille.oidc.configuration.OIDCSettings:3 035105e6e931419a8302feadec577ed6 msgid "Belong in the ``CANAILLE_OIDC`` namespace." msgstr "" #: ../../docstring of #: canaille.oidc.configuration.OIDCSettings.DYNAMIC_CLIENT_REGISTRATION_OPEN:1 -#: 092f0d4259994eb8b834b256a8f72453 +#: fba0c11bf0f648909450d12e1ceffdb9 msgid "" "Whether a token is needed for the RFC7591 dynamical client registration." msgstr "" #: ../../docstring of #: canaille.oidc.configuration.OIDCSettings.DYNAMIC_CLIENT_REGISTRATION_OPEN:3 -#: 506f1fcd0f424df4bdafd9a69307f645 +#: f5ba930ce26f4588b539da7703aafd4d 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:" @@ -4369,201 +4401,201 @@ msgstr "" #: ../../docstring of #: canaille.oidc.configuration.OIDCSettings.DYNAMIC_CLIENT_REGISTRATION_TOKENS:1 -#: 30861c9a3a294daf8105dd5ac9007282 +#: 092b15419a354a5888a9f80ab6194696 msgid "A list of tokens that can be used for dynamic client registration." msgstr "" #: ../../docstring of canaille.oidc.configuration.OIDCSettings.JWT:1 -#: 04e054bb3d094e4ea8f23ab6fdec9bf6 +#: 9cd2e236fdb14317b0ffed9a3d2608bb msgid "JSON Web Token settings." msgstr "" #: ../../docstring of canaille.oidc.configuration.OIDCSettings.REQUIRE_NONCE:1 -#: 95b1ee4fd0da4ec2b30beb3e25944cd9 +#: fa7308da6bb547ae821995b6d7995ad1 msgid "Force the nonce exchange during the authentication flows." msgstr "" #: ../../docstring of canaille.oidc.configuration.OIDCSettings.REQUIRE_NONCE:3 -#: de680082bc4546a6883ff4826df0067b +#: 0c8ebdd95ff84eca839a0b3e755815e8 msgid "This adds security but may not be supported by all clients." msgstr "" #: ../../canaille/oidc/configuration.py:docstring of -#: canaille.oidc.configuration.JWTSettings:1 750fbe7d77954d87855e68d3199c81e7 +#: canaille.oidc.configuration.JWTSettings:1 37bc9fb542044bd794610b97da9255f3 msgid "JSON Web Token settings. Belong in the ``CANAILLE_OIDC.JWT`` namespace." msgstr "" #: ../../canaille/oidc/configuration.py:docstring of -#: canaille.oidc.configuration.JWTSettings:3 03945dc4192c4f7abefbcd2b5c7c2bd9 +#: canaille.oidc.configuration.JWTSettings:3 13ef6c0a21924214b46130443a178a3b msgid "You can generate a RSA keypair with::" msgstr "" #: ../../docstring of canaille.oidc.configuration.JWTSettings.ALG:1 -#: d65a4aaf4cb64130ac59c97cddcffb0b +#: d2bc59d1182f47bea20962eb0acc5690 msgid "The key algorithm." msgstr "" #: ../../docstring of canaille.oidc.configuration.JWTSettings.EXP:1 -#: c0c460480db94b1a9ebceea06528d426 +#: f282a838950942ea9e15a209546aece5 msgid "The time the JWT will be valid, in seconds." msgstr "" #: ../../docstring of canaille.oidc.configuration.JWTSettings.ISS:1 -#: 6501426215db4b27b7b5d217954ca6be +#: 8ad74727c039426d84a5df7154d85088 msgid "The URI of the identity provider." msgstr "" #: ../../docstring of canaille.oidc.configuration.JWTSettings.KTY:1 -#: 3e338458e42e405fb025bfcfc53688f4 +#: cc46bfa52a58479ebeeabc645f0efbee msgid "The key type." msgstr "" #: ../../docstring of canaille.oidc.configuration.JWTSettings.PRIVATE_KEY:1 -#: 27a15f235d63447884175edd85e55cf4 +#: 521a0d91f9c54a45b362036aeabf476b msgid "The private key." msgstr "" #: ../../docstring of canaille.oidc.configuration.JWTSettings.PRIVATE_KEY:3 #: canaille.oidc.configuration.JWTSettings.PUBLIC_KEY:3 -#: 29d2c1b105e74d46b80db01b78954711 50803cf9f29e4e6aa869fe297d1181c5 +#: 8f11d684881944cd8a2e7a7bcbb48c48 b8a7bf70bb9640bcb8ffd98c27129eff msgid "" "If :py:data:`None` and debug mode is enabled, then an in-memory key will be " "used." msgstr "" #: ../../docstring of canaille.oidc.configuration.JWTSettings.PUBLIC_KEY:1 -#: e88605c89e4b47989186fd27e5aff172 +#: f0f19ad86cb94cc7b63447e2a6d6ef56 msgid "The public key." msgstr "" #: ../../canaille/oidc/configuration.py:docstring of #: canaille.oidc.configuration.JWTMappingSettings:1 -#: 235687b99f2c408aaf1c063061975f77 +#: 1380be8739ba4fbab5425af1c0253066 msgid "Mapping between the user model and the JWT fields." msgstr "" #: ../../canaille/oidc/configuration.py:docstring of #: canaille.oidc.configuration.JWTMappingSettings:3 -#: ebe87d5efdaa458b97451b5ab4fdeb3d +#: 6f4c5c2cbd07499c972d2f1ab29ffa1e msgid "Fields are evaluated with jinja. A ``user`` var is available." msgstr "" #: ../../canaille/backends/sql/configuration.py:docstring of #: canaille.backends.sql.configuration.SQLSettings:1 -#: b7ccdac0ebd14f47be2d77ea52bd75d7 +#: 8a43c250075c4918b0ce4204fa803047 msgid "Settings related to the SQL backend." msgstr "" #: ../../canaille/backends/sql/configuration.py:docstring of #: canaille.backends.sql.configuration.SQLSettings:3 -#: 07e03b184cb54e0a92ca3a33033da5cd +#: 038af6ccc90c4711bf2630c27656a810 msgid "Belong in the ``CANAILLE_SQL`` namespace." msgstr "" #: ../../docstring of #: canaille.backends.sql.configuration.SQLSettings.DATABASE_URI:1 -#: 4d1ff118c1a44a50a962e527d1a8e2a2 +#: 1aacc345a8b74b12af594ae00bb018d6 msgid "The SQL server URI. For example::" msgstr "" #: ../../canaille/backends/ldap/configuration.py:docstring of #: canaille.backends.ldap.configuration.LDAPSettings:1 -#: e656ae1d120e45109618f653d29d845e +#: 3f3caf7b34464a66a3616e93568df5d0 msgid "Settings related to the LDAP backend." msgstr "" #: ../../canaille/backends/ldap/configuration.py:docstring of #: canaille.backends.ldap.configuration.LDAPSettings:3 -#: 9877879932a3406b87f9893f4a6bf8f3 +#: dfa0746894e344faa806b939a64e1bc4 msgid "Belong in the ``CANAILLE_LDAP`` namespace." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.BIND_DN:1 -#: 96d852cc067c459cabfcc201a7271cf0 +#: 6bfbb516f18341ccb29ba837eee1182e msgid "The LDAP bind DN." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.BIND_PW:1 -#: 084f3814a8604375aed794d649845045 +#: 2f6f3c3c7b4946898c03f95709e8ada4 msgid "The LDAP bind password." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.GROUP_BASE:1 -#: 8f56c7d2bfb348afbcc36de24398dfac +#: 6d51a73361254d7b83fce929ae2b6b37 msgid "The LDAP node under which groups will be looked for and saved." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.GROUP_BASE:3 -#: 58cf9c9e87464b709e4e8508577fbd63 +#: 59bb594131944870a7bdbffcec6cb47b msgid "For instance `\"ou=groups,dc=mydomain,dc=tld\"`." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.GROUP_CLASS:1 -#: 3b6a2121763e4302aa1780cb6d51d9d6 +#: 6ef1fa2af1cb49d48dc49e16da349186 msgid "The object class to use for creating new groups." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.GROUP_NAME_ATTRIBUTE:1 -#: 10d8bb8232bf4b30b6c631847ea70b2b +#: 6b02bb2acfa949848ac24822ba9e65a2 msgid "The attribute to use to identify a group." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.GROUP_RDN:1 -#: 688132cb0d4e4f27973a02406d50edaa +#: d4b05df5c7c44d4aa00e29be5efbe08b msgid "The attribute to identify an object in the Group DN." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.ROOT_DN:1 -#: 4428b1de4b664a55b077caa3969d6769 +#: 1dfee889fb7348d39a4fd73315b92f0f msgid "The LDAP root DN." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.TIMEOUT:1 -#: 5a175d6a66e445458ee6bc473d614a45 +#: bf016c8880b2441ebc1f7eb63c472e1f msgid "The LDAP connection timeout." msgstr "" #: ../../docstring of canaille.backends.ldap.configuration.LDAPSettings.URI:1 -#: 3172b80b5b86434699f226a3b713c52f +#: f2d63d56281a4ac9bf59a566fca49efb msgid "The LDAP server URI." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.USER_BASE:1 -#: 0e03c3262f504b79b84847041ee442e5 +#: 2b9e8a84a0a741dba1b0eb8183d14a91 msgid "The LDAP node under which users will be looked for and saved." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.USER_BASE:3 -#: e1d16301542b40929d9e65c9a949b303 +#: 7e3ac032d5bd418482f13ab7c81d1515 msgid "For instance `ou=users,dc=mydomain,dc=tld`." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.USER_CLASS:1 -#: 92a1f8f8665848c9aaf4d5f9f1f3b6b7 +#: 5791e76405f94f38b07650cf43719cf8 msgid "The object class to use for creating new users." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.USER_FILTER:1 -#: 228fcd64b4704fa0b4ea52ab85f48f08 +#: d5ccfe3b5d7e438389f98cad6718a9d0 msgid "Filter to match users on sign in." msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.USER_FILTER:3 -#: f61c66f7c0e94e67ae5a4ce5de0dc548 +#: 737d190e512f480a9227e6fe72f96c26 msgid "" "For instance ``(|(uid={{ login }})(mail={{ login }}))``. Jinja syntax is " "supported and a ``login`` variable is available, containing the value passed " @@ -4572,27 +4604,27 @@ msgstr "" #: ../../docstring of #: canaille.backends.ldap.configuration.LDAPSettings.USER_RDN:1 -#: d49e7765b3d6440d9fdcb0ecb18c06c1 +#: b7d504ef3c74424abeccc8ad35072d0f msgid "The attribute to identify an object in the User DN." msgstr "" -#: ../references/configuration.rst:81 c4674c5a1b434e81944983c7ec2fb0f1 +#: ../references/configuration.rst:89 d0a193b9740940ceac9bbb0b609c7b38 msgid "Example file" msgstr "" -#: ../references/configuration.rst:83 87c3dcb2ef5a4f649ec0fa9005449a79 +#: ../references/configuration.rst:91 380ab48a596a497789c004a25fd645c8 msgid "Here is a configuration file example:" msgstr "" -#: ../references/index.rst:2 51ac90bb647f41b69879253e3e7c475e +#: ../references/index.rst:2 7aedfd273422477bb60f319eb4c1eb09 msgid "References" msgstr "" -#: ../references/models.rst:2 bf9a972313e94c6aa0e72470dfc9677c +#: ../references/models.rst:2 40ab2b878a534ca38780473aa8c0dd24 msgid "Data models" msgstr "" -#: ../references/models.rst:4 620f9112555349eba4cc5daecdb72217 +#: ../references/models.rst:4 fc86419b230d4b3ea107617213675e38 msgid "" "This reference details the data models used by Canaille. This is mostly " "useful for developers." @@ -4600,41 +4632,41 @@ msgstr "" #: ../../canaille/backends/models.py:docstring of #: canaille.backends.models.BackendModel:1 canaille.backends.models.Model:1 -#: b407db3f81d14e789f9f7f2e2bec7613 b29fcc3a6bdc4ee582d1e14851e430b7 +#: af7b8f2e8eae457f8451e659c3213675 0d1f4ecf6c974902b15375ec2f545d11 msgid "Bases: :py:class:`object`" msgstr "" #: ../../canaille/backends/models.py:docstring of -#: canaille.backends.models.BackendModel:1 664ca63468e648ddb0b2f2f957139ae9 +#: canaille.backends.models.BackendModel:1 5c4d9070fe3a46a695c06ef143b7b3e0 msgid "The backend model abstract class." msgstr "" #: ../../canaille/backends/models.py:docstring of -#: canaille.backends.models.BackendModel:3 e16c978524f44a57affe6f2e15fdb5e2 +#: canaille.backends.models.BackendModel:3 51d88470412841bdb28daefe752259c8 msgid "" "It details all the methods and attributes that are expected to be " "implemented for every model and for every backend." msgstr "" #: ../../canaille/backends/models.py:docstring of -#: canaille.backends.models.Model:1 9f46b7e1801e4a57a346c598161cbdac +#: canaille.backends.models.Model:1 91a5b49dc4f54e4ba3acea5e80114ad6 msgid "The model abstract class." msgstr "" #: ../../canaille/backends/models.py:docstring of -#: canaille.backends.models.Model:3 f4dad754b1d7448f842620b4f7b6069b +#: canaille.backends.models.Model:3 05f702c2e3324742a9840c46621f02e7 msgid "It details all the common attributes shared by every models." msgstr "" #: ../../docstring of canaille.backends.models.Model.created:1 -#: 8685782e932b476a8b6f80256ebca659 +#: 55c80d78a6514379b68db68d53d08628 msgid "" "The :class:`~datetime.datetime` that the resource was added to the service " "provider." msgstr "" #: ../../docstring of canaille.backends.models.Model.id:1 -#: 112d9fd0a032418682875fe5f5685fc8 +#: 6c1d3282e98e4d7b96213c626e92665a msgid "" "A unique identifier for a SCIM resource as defined by the service provider. " "Id will be :py:data:`None` until the :meth:`~canaille.backends.models." @@ -4642,7 +4674,7 @@ msgid "" msgstr "" #: ../../docstring of canaille.backends.models.Model.id:5 -#: fe3e4be3b44b43ebbbd11fe81fdc2613 +#: 64c1848034b34d2086fa0d50e1b94a98 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 " @@ -4657,27 +4689,27 @@ msgid "" msgstr "" #: ../../canaille/backends/models.py:docstring of -#: canaille.backends.models.Model.identifier:1 4f16f8a2628746e0bbb013e0ebdd53de +#: canaille.backends.models.Model.identifier:1 bd6bdb35102f4e4d803a072d6c012255 msgid "" "Returns a unique value that will be used to identify the model instance." msgstr "" #: ../../canaille/backends/models.py:docstring of -#: canaille.backends.models.Model.identifier:4 570af0c54d8a4b9ca5e1180a154578c6 +#: canaille.backends.models.Model.identifier:4 3ee0208a12e4453abe733d48f8046054 msgid "" "This value will be used in URLs in canaille, so it should be unique and " "short." msgstr "" #: ../../docstring of canaille.backends.models.Model.last_modified:1 -#: a64d636f5ae843698bae18cbc27adae5 +#: 339106d4e64c4cce82c7b4eb3e783713 msgid "" "The most recent :class:`~datetime.datetime` that the details of this " "resource were updated at the service provider." msgstr "" #: ../../docstring of canaille.backends.models.Model.last_modified:4 -#: 1478742051c64d3c8e8cb44b101c2337 +#: c7d7e9d90b744b41ac4899977c14174f 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." @@ -4688,38 +4720,38 @@ msgstr "" #: 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 31058fb082044629ab68e330524f37d4 -#: 963c873782434df6bc7a6314e406858e ec3b5ed7c8e94f728377c74990bc94e6 -#: fac7abe230f5419eadc03a768bc0872c 1269097fb76b42c29248af6773628ec4 -#: 25aa111736e44c4ea89c97864274d146 +#: canaille.oidc.basemodels.Token:1 d3ae97f457864dbf953ac9a3cfc043e2 +#: c8d3896a864d4331a8d5532b312376db c1c3e9ca21a04c1d851e4a75082b1c90 +#: 617fa31919c44666a814c7071a920963 dcf0ef56be70476ea2a10f0c1a8e0842 +#: eca1a3c4db6248bab304ef1fbaf08c3a msgid "Bases: :py:class:`~canaille.backends.models.Model`" msgstr "" #: ../../canaille/core/models.py:docstring of canaille.core.models.Group:1 -#: d8d4759602c44e048e0d4f053dc5c895 +#: fcf6434c92de4c0e9ae1790f19a43d8c msgid "" "User model, based on the `SCIM Group schema `_." msgstr "" #: ../../docstring of canaille.core.models.Group.display_name:1 -#: f557ae62a380458ca1e212165ff7ebd2 +#: 6ae4c021384e45b3b90ca7840c9caa48 msgid "A human-readable name for the Group." msgstr "" #: ../../docstring of canaille.core.models.Group.display_name:3 -#: canaille.oidc.basemodels.Client.client_id:1 3a782effac4c44f2b4084280c168f909 -#: 038998149ec146249f6cd7993b6ea7c2 +#: canaille.oidc.basemodels.Client.client_id:1 94bf457053a8408a80e8157f385e6127 +#: 8ef14562e7c1440e89a45a65c05b07c4 msgid "REQUIRED." msgstr "" #: ../../docstring of canaille.core.models.Group.members:1 -#: 83c94299de834bb7899fc5d919567ddf +#: 0b61dbdad02b48bbb9a9ace3f9ce130a msgid "A list of members of the Group." msgstr "" #: ../../docstring of canaille.core.models.Group.members:3 -#: f8395458983d4efd966c1f2bd3e771dc +#: 4f5d6c5417ce40c39617fed66f507f2d msgid "" "While values MAY be added or removed, sub-attributes of members are " "\"immutable\". The \"value\" sub-attribute contains the value of an \"id\" " @@ -4732,7 +4764,7 @@ msgid "" msgstr "" #: ../../canaille/core/models.py:docstring of canaille.core.models.User:1 -#: 3de74c338e4e45d4ada0909e1d6a2c1d +#: ea9a3214f2fe40079b36d4acc3993d0b msgid "" "User model, based on the `SCIM User schema `_, `Entreprise User Schema Extension ` configuration." msgstr "" #: ../../canaille/core/models.py:docstring of -#: canaille.core.models.User.readable_fields:4 d51b5c9a3058444187f7f52aafcc57ce +#: canaille.core.models.User.readable_fields:4 13d48165549548f4b93daef3011da021 msgid "" "This does not include the :attr:`writable ` fields." msgstr "" #: ../../docstring of canaille.core.models.User.region:1 -#: 7781da46bb4f45c19d4061a73efd1860 +#: 6f59b77e31f04e928a5ba62b1e24e768 msgid "The state or region component." msgstr "" #: ../../docstring of canaille.core.models.User.street:1 -#: e15de46ed1a745e580399d0bf40e96b8 +#: 499ca20e98174187b6a7e067dc8bb99d msgid "" "The full street address component, which may include house number, street " "name, P.O." msgstr "" #: ../../docstring of canaille.core.models.User.street:4 -#: 663a1b080f3646f5bbc30492beccda49 +#: 9da29eeb9a7749388ec24a3d730cdcca msgid "" "box, and multi-line extended street address information. This attribute MAY " "contain newlines." msgstr "" #: ../../docstring of canaille.core.models.User.title:1 -#: 96571ab69f47443087e9de7cdf2af3ef +#: d210c0de6da84b4f8336209ae9719f87 msgid "The user's title, such as \"Vice President\"." msgstr "" #: ../../docstring of canaille.core.models.User.user_name:1 -#: 5a41c74aee6040d78b20e68feedbe91d +#: 3fdb69a67da040b1bfb2682e3c8b99d4 msgid "" "A service provider's unique identifier for the user, typically used by the " "user to directly authenticate to the service provider." msgstr "" #: ../../docstring of canaille.core.models.User.user_name:4 -#: 305c46ac8a734b4fb513c2da9c0bd78d +#: 1028aa46fd5b4dc2b9315aabf36ab31c 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-" @@ -5090,7 +5122,7 @@ msgid "" msgstr "" #: ../../canaille/core/models.py:docstring of -#: canaille.core.models.User.writable_fields:1 f99945951b7f476484908fef5eb9bee4 +#: canaille.core.models.User.writable_fields:1 6f4310b43c8c41af8069664ccee7283a msgid "" "The fields the user can write according to the :class:`configuration " "`." @@ -5098,12 +5130,12 @@ msgstr "" #: ../../canaille/oidc/basemodels.py:docstring of #: canaille.oidc.basemodels.AuthorizationCode:1 -#: 470216f2acc344a9bc4fe9408cf38b4c +#: a121e077c37d4a8cab594a0629893230 msgid "OpenID Connect temporary authorization code definition." msgstr "" #: ../../canaille/oidc/basemodels.py:docstring of -#: canaille.oidc.basemodels.Client:1 b0248a05ffa44100bfcf4e84de0e154b +#: canaille.oidc.basemodels.Client:1 176b8928ffc54ed0b7a4b727cdf50387 msgid "" "OpenID Connect client definition, based on the `OAuth 2.0 Dynamic Client " "Registration protocols `_, such as sqlite, postgresql or mariadb." msgstr "" -#: ../tutorial/databases.rst:21 5cef0f1dda384284a256492c7b8dfcca +#: ../tutorial/databases.rst:21 70e3f1710abf4134b85427a21dedeaa4 msgid "" "It is used when the ``CANAILLE_SQL`` configuration parameter is defined. For " "instance:" msgstr "" -#: ../tutorial/databases.rst:29 cedc3bb2dba0427b93cf11791b189c96 +#: ../tutorial/databases.rst:29 30971ee8de5542819657f07c3e215be2 msgid "" "You can find more details on the SQL configuration in the :class:`dedicated " "section `." msgstr "" -#: ../tutorial/databases.rst:34 fd9f8f823d184c72840274fd13de5b91 +#: ../tutorial/databases.rst:34 da789ef60396408eb64b22001aaaf8fe msgid "" "Canaille can use OpenLDAP as its main database. It is used when the " "``CANAILLE_LDAP`` configuration parameter is defined. For instance:" msgstr "" -#: ../tutorial/databases.rst:52 fcbc8501c455465daa5142894408bb38 +#: ../tutorial/databases.rst:52 aa4b16bc9b7946d7904708e1f424f53f msgid "" "You can find more details on the LDAP configuration in the :class:`dedicated " "section `." msgstr "" -#: ../tutorial/databases.rst:55 2c710def18bc46539b2962ee1bde2bf6 +#: ../tutorial/databases.rst:55 faa136c2f11c4d79b3bbe652a901e785 msgid "" "Currently, only the ``inetOrgPerson`` and ``groupOfNames`` schemas have been " "tested. If you want to use different schemas or LDAP servers, adaptations " "may be needed. Patches are welcome." msgstr "" -#: ../tutorial/databases.rst:60 b7014bf888504dcc865871e8275190f6 +#: ../tutorial/databases.rst:60 21591edbced444b499d300486e257a91 msgid "OpenLDAP overlays integration" msgstr "" -#: ../tutorial/databases.rst:62 a67abbc0745e4c7e9353697969a4fbab +#: ../tutorial/databases.rst:62 33eaffdc103c4d709fb434da45ecca39 msgid "Canaille can integrate with several OpenLDAP overlays:" msgstr "" -#: ../tutorial/databases.rst:65 b1eebe57d90648b3b24cb48cb49c5436 +#: ../tutorial/databases.rst:65 b542d311f0444aef936af14660f9ddd3 msgid "memberof / refint" msgstr "" -#: ../tutorial/databases.rst:67 6bb596696373483ab0a52f0e8169ab9e +#: ../tutorial/databases.rst:67 e3756a8fbe1d4c469d6df3b4504b73d9 msgid "" "`memberof `_ and `refint `_ overlay is configured and the ``pwdEndTime`` attribute is " @@ -5623,75 +5655,75 @@ msgid "" "attribute." msgstr "" -#: ../tutorial/databases.rst:96 0194f8cb96554ed9a209784cd1a5a10e +#: ../tutorial/databases.rst:96 fe864493f65b47008ba79f9154931883 msgid "ppolicy-config.ldif" msgstr "" -#: ../tutorial/databases.rst:100 09776d76a5c54f6eb7d79e15a0dbed82 +#: ../tutorial/databases.rst:100 da19de8897bd448aaa8a8f6450974789 msgid "ppolicy.ldif" msgstr "" -#: ../tutorial/deployment.rst:2 f396d7b4fa884f55bf66b57b6c046fdb +#: ../tutorial/deployment.rst:2 968d6daab5054d1bbbaac721a53f21e6 msgid "Deployment" msgstr "" -#: ../tutorial/deployment.rst:5 2cbff8a64b41470396973c1f66482110 +#: ../tutorial/deployment.rst:5 341af181b96a4e449f124bb22e58723a msgid "Application service" msgstr "" -#: ../tutorial/deployment.rst:7 d60be98207bd489299d7492480a091c5 +#: ../tutorial/deployment.rst:7 856f5e097bd34696b59aa74f451a1a33 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 "" -#: ../tutorial/deployment.rst:11 cf41e4599bea477a8b6742ed38c09555 +#: ../tutorial/deployment.rst:11 c2fc01d884054c2c9e9f3cf5b1e7fe01 msgid "gunicorn" msgstr "" -#: ../tutorial/deployment.rst:15 9f4888747a6d4f5d85d9b94bc2814aff +#: ../tutorial/deployment.rst:15 0734bfeb3d07400d85abe6f2412c506c msgid "Write a gunicorn configuration sample file." msgstr "" -#: ../tutorial/deployment.rst:18 beb61a6d85dc407c923f0a1797571b4b +#: ../tutorial/deployment.rst:18 12db5d68d59f42958e64d74cf0a8a852 msgid "uwsgi" msgstr "" -#: ../tutorial/deployment.rst:42 804b59080cfb46a5bece65e9dfe52ae4 +#: ../tutorial/deployment.rst:42 7f42a8052b034e1e949f7308c1e80068 msgid "Webserver" msgstr "" -#: ../tutorial/deployment.rst:44 3fd8ef72a9db483aaa18397b136708a4 +#: ../tutorial/deployment.rst:44 261287d315864e4e958aab6892250086 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 "" -#: ../tutorial/deployment.rst:48 40d9837c5cdd4c9faf94797e578e409d +#: ../tutorial/deployment.rst:48 05ce956efe26448abaa00732f791ac5d msgid "Nginx" msgstr "" -#: ../tutorial/deployment.rst:114 5407fc49df8b4871a993d95ebe6b216e +#: ../tutorial/deployment.rst:114 71a5e5d57a9547909ea4a78f80883422 msgid "Apache" msgstr "" -#: ../tutorial/deployment.rst:153 9e1ca64c07984a218f094949ed99bc6e +#: ../tutorial/deployment.rst:153 c0216d38c6e74ed08fd2478d61524206 msgid "Recurrent jobs" msgstr "" -#: ../tutorial/deployment.rst:155 283551b28f2d465a830885e57a802334 +#: ../tutorial/deployment.rst:155 24d5e0ff3df449e49ec973125318f628 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 "" -#: ../tutorial/deployment.rst:164 3a91c9769ca04ed289ef4e08d71c84e0 +#: ../tutorial/deployment.rst:164 615cedede7b348a39bef43b8a0296fb0 msgid "Webfinger" msgstr "" -#: ../tutorial/deployment.rst:166 c0c2aa060ee743e797e0e0e69ed34aad +#: ../tutorial/deployment.rst:166 59c6373efd6040f2bc60ce6617810901 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 " @@ -5706,7 +5738,7 @@ msgid "" "party application can redirect the user to the Canaille authentication page." msgstr "" -#: ../tutorial/deployment.rst:168 d4f07f118d4443bcbd44e55144cf4d1f +#: ../tutorial/deployment.rst:168 ee64a42bf4104da2a68499149292566d 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 " @@ -5715,127 +5747,127 @@ msgid "" "domain, a web redirection is required on the ``/.well-known/webfinger`` path." msgstr "" -#: ../tutorial/deployment.rst:170 b305def4f6e74643b1c47e5491e46126 +#: ../tutorial/deployment.rst:170 a1aa4ace653f416eb673a5ac6f536199 msgid "Here are configuration examples for Nginx or Apache:" msgstr "" -#: ../tutorial/deployment.rst:172 f07e30950c0443ea830fb6d01181cbce +#: ../tutorial/deployment.rst:172 54696b09f9de48daa0d752cab9cbbe60 msgid "Nginx webfinger configuration for a top level domain" msgstr "" -#: ../tutorial/deployment.rst:181 f166862da12146e286d09f1189b44637 +#: ../tutorial/deployment.rst:181 7277d41cdb83400ab68d06861f1bba9b msgid "Apache webfinger configuration for a top level domain" msgstr "" -#: ../tutorial/deployment.rst:191 ed7f25a6ab90437984c0249217556b7a +#: ../tutorial/deployment.rst:191 6c673a0168dc4f159d40898328555d97 msgid "Create the first user" msgstr "" -#: ../tutorial/deployment.rst:193 e983e9c5998a475e9472c54742b25c9f +#: ../tutorial/deployment.rst:193 665633a1bc5a4185b3ac592a8e0d023d 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." msgstr "" -#: ../tutorial/index.rst:2 40de96b13f0b46ba88769f9f0c91bece +#: ../tutorial/index.rst:2 df05343770804349af328d9b3651f059 msgid "Tutorial" msgstr "" -#: ../tutorial/install.rst:2 990b0c4570294a4c914942072b835544 +#: ../tutorial/install.rst:2 a0eef22998554712a838c86b94681306 msgid "Installation" msgstr "" -#: ../tutorial/install.rst:6 1f5645b8ce114b08abc62b4f03e8d613 +#: ../tutorial/install.rst:6 366d1de010774522b5947172c22d1d64 msgid "" "Canaille is under heavy development and may not fit a production environment " "yet." msgstr "" -#: ../tutorial/install.rst:8 a76d3b71c19b4667a34e1d4b68261499 +#: ../tutorial/install.rst:8 7ec1652a0617445681d3b44ab4ef6607 msgid "" "The installation of canaille consist in several steps, some of which you can " "do manually or with command line tool:" msgstr "" -#: ../tutorial/install.rst:11 de05573555224e75869a68ac41471c97 +#: ../tutorial/install.rst:11 39b5cccca7ae4928abc5ecac4466a670 msgid "Get the code" msgstr "" -#: ../tutorial/install.rst:13 8d5ce5f2ad284774a673cad8e1be2cc5 +#: ../tutorial/install.rst:13 dd49fb118bd94e00810d55ca2e8e3c23 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 "" -#: ../tutorial/install.rst:24 5e8dbf51cc8e401d8e7f2738c4c1e500 +#: ../tutorial/install.rst:24 8f98f8e76182487aba2f150e7af39150 msgid "Extras" msgstr "" -#: ../tutorial/install.rst:26 ff09c579e2834394992e462c1a7830e6 +#: ../tutorial/install.rst:26 364aff7067fe4ab0aea19ad6024893b1 msgid "Canaille provides different package options:" msgstr "" -#: ../tutorial/install.rst:28 fba9a7d4ab8f42c1ba19ec58827c49bb +#: ../tutorial/install.rst:28 0b64d33198cf4965bf5ccec22054fc9b msgid "`front` provides all the things needed to produce the user interface;" msgstr "" -#: ../tutorial/install.rst:29 3c368569b3434d0c8821fcc5aa2a9fcd +#: ../tutorial/install.rst:29 4f47aa89080f491e8f179aadf57a32e4 msgid "`oidc` provides the dependencies to perform OAuth2/OIDC authentication;" msgstr "" -#: ../tutorial/install.rst:30 d2fa3adf12b04e879e8eb1ad5a86d131 +#: ../tutorial/install.rst:30 07d747ece341493cbfdbaacd17b9640d msgid "`ldap` provides the dependencies to enable the LDAP backend;" msgstr "" -#: ../tutorial/install.rst:31 9f0ac2527c844d26999ac4722b7a3062 +#: ../tutorial/install.rst:31 bebbbd7c0b5b4694b70dd571d6087a25 msgid "`sqlite` provides the dependencies to enable the SQLite backend;" msgstr "" -#: ../tutorial/install.rst:32 9f8652296fdd460d9d0885fd934a924f +#: ../tutorial/install.rst:32 1052d038f4154a29a0e27fd5c83f9abf msgid "" "`postgresql` provides the dependencies to enable the PostgreSQL backend;" msgstr "" -#: ../tutorial/install.rst:33 dba3b5d89e9e46c6b3774b01bf2ae122 +#: ../tutorial/install.rst:33 0696511547b64f22b36c1b3c5ade382a msgid "`mysql` provides the dependencies to enable the MySQL backend;" msgstr "" -#: ../tutorial/install.rst:34 3284b40cd5ff4177a9369e471dcd1de2 +#: ../tutorial/install.rst:34 7ec9ca47bc1a487caeb4d706f0cabeec msgid "`sentry` provides sentry integration to watch Canaille exceptions;" msgstr "" -#: ../tutorial/install.rst:35 dfd39313c050407193deac1f01f23e54 +#: ../tutorial/install.rst:35 4355ba8d8f744ad6b49f6859e36d5276 msgid "`all` provides all the extras above." msgstr "" -#: ../tutorial/install.rst:37 3d0f7f47cc1a469e9762578aed91f002 +#: ../tutorial/install.rst:37 2ad6fc294ad44e87a5c1b4389a8c280c msgid "They can be installed with:" msgstr "" -#: ../tutorial/install.rst:44 b7732a260ca84ba3a4130bd6cb0d1619 +#: ../tutorial/install.rst:44 59d5ecfe460d412ba993a785c0c20744 msgid "Configure" msgstr "" -#: ../tutorial/install.rst:46 86df5b7acf954ddfbb2982dbe0a51da1 +#: ../tutorial/install.rst:46 2bebd03f31724f66a8fc72e10fd4c00f msgid "" "Choose a path where to store your configuration file. You can pass any " "configuration path with the ``CONFIG`` environment variable." msgstr "" -#: ../tutorial/install.rst:54 042753d9c5704f21b0da35d38a17a620 +#: ../tutorial/install.rst:54 6f15d23d18c245dc9d341399328f752e 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 "" -#: ../tutorial/install.rst:57 a87138181fe64cd9891206619cad6d2d +#: ../tutorial/install.rst:57 ede066e9fd9345ac86aa519c3bc66495 msgid "Install" msgstr "" -#: ../tutorial/install.rst:59 2a7cde9a8ef54f6fb6b527734b5e471d +#: ../tutorial/install.rst:59 a888acd5f78142a88927d4585568a24a msgid "" "The :ref:`install command ` will apply most of the things " "needed to get Canaille working. Depending on the configured :doc:`database " @@ -5843,25 +5875,25 @@ msgid "" "instance." msgstr "" -#: ../tutorial/install.rst:68 faefbbda355349e19671492f478d3153 +#: ../tutorial/install.rst:68 1d9b520266704354910e893daaa1ac22 msgid "Check" msgstr "" -#: ../tutorial/install.rst:70 ab77edb446f44686bf26ef04fbf3dc7d +#: ../tutorial/install.rst:70 da69d39139ef46eabe3e65ee743ad414 msgid "" "After a manual installation, you can check your configuration file using " "the :ref:`check command `:" msgstr "" -#: ../tutorial/troubleshooting.rst:2 d5cca3688aea45bb9ed015f84d324407 +#: ../tutorial/troubleshooting.rst:2 a2179a1e932c44c59ec327cabf7a8b0e msgid "Troubleshooting" msgstr "" -#: ../tutorial/troubleshooting.rst:5 584a62a0d78b4af391bfc8bd916e3934 +#: ../tutorial/troubleshooting.rst:5 46107d829fdc4718adf7b92192756f96 msgid "The web interface throws useless error messages" msgstr "" -#: ../tutorial/troubleshooting.rst:7 acc3175f98324e73b0154a833f4291de +#: ../tutorial/troubleshooting.rst:7 86ab63d58f8848b2a40435a2f048c12f msgid "" "Unless the current user has admin :class:`permissions `, or the installation is in :attr:`~canaille.app." @@ -5871,82 +5903,82 @@ msgid "" "`~canaille.app.configuration.RootSettings.DEBUG` configuration parameter." msgstr "" -#: ../tutorial/troubleshooting.rst:12 358b28e47d4a4b48ba2bde7ddd4bc5f3 +#: ../tutorial/troubleshooting.rst:12 988d674332bb4633b860095fe99420df msgid "How to manually install LDAP schemas?" msgstr "" -#: ../tutorial/troubleshooting.rst:16 5e241c1fdd044454a5a27a9d4d609a6c +#: ../tutorial/troubleshooting.rst:16 7be9fb2994f6417889820aac3fce6560 msgid "" "Schema installation can be automatically done using the :ref:`install " "command `." msgstr "" -#: ../tutorial/troubleshooting.rst:18 fa20dff6817848489fee9434d3e8c154 +#: ../tutorial/troubleshooting.rst:18 c8c1648f65d348d0a7d601357a849604 msgid "As of OpenLDAP 2.4, two configuration methods are available:" msgstr "" -#: ../tutorial/troubleshooting.rst:20 536b6d4fabea43d48240f3b1b4e256c6 +#: ../tutorial/troubleshooting.rst:20 f37f56f196174ae895e792a933dfbea6 msgid "" "The `deprecated `_ " "one, based on a configuration file (generally ``/etc/ldap/slapd.conf``);" msgstr "" -#: ../tutorial/troubleshooting.rst:21 2681e5ed98de4633ab3e958980570c61 +#: ../tutorial/troubleshooting.rst:21 ae332fd671574a54b9f1ff1cce9ae3e0 msgid "" "The new one, based on a configuration directory (generally ``/etc/ldap/slapd." "d``)." msgstr "" -#: ../tutorial/troubleshooting.rst:23 e623df73a33a4425874322d64990dd09 +#: ../tutorial/troubleshooting.rst:23 b9fe35e9d0654a4b831845bf9f027a33 msgid "" "Depending on the configuration method you use with your OpenLDAP " "installation, you need to chose how to add the canaille schemas:" msgstr "" -#: ../tutorial/troubleshooting.rst:26 7fa64ce5f9834bfc8a84a6b147776135 +#: ../tutorial/troubleshooting.rst:26 45557c5a90314b65aca27329fe4f334b msgid "Old fashion: Copy the schemas in your filesystem" msgstr "" -#: ../tutorial/troubleshooting.rst:35 89ec7d1a5b9c488898dd0aeec512eb0f +#: ../tutorial/troubleshooting.rst:35 4aa6e1b3b0154c4ca91a982f719c08b5 msgid "New fashion: Use slapadd to add the schemas" msgstr "" -#: ../tutorial/troubleshooting.rst:37 cf355b0d0d224146b9aa9bde63c3285b +#: ../tutorial/troubleshooting.rst:37 6ba05a570b0043078256af9a016309c4 msgid "Be careful to stop your ldap server before running ``slapadd``" msgstr "" -#: ../tutorial/troubleshooting.rst:46 b688808b89a1486ea46f0a30671f0772 +#: ../tutorial/troubleshooting.rst:46 87adc4ca4b22405e948a90409bde21b0 msgid "How to manually generate the OIDC keypair?" msgstr "" -#: ../tutorial/troubleshooting.rst:50 fe622e23c48a4ec0ba3a9e00e24cfb88 +#: ../tutorial/troubleshooting.rst:50 6770309338724a4aac6439943e58b66a msgid "" "The keypair generation can be automatically done using the :ref:`install " "command `." msgstr "" -#: ../tutorial/troubleshooting.rst:52 2467c8ae6d2a4ba19056d44a89656984 +#: ../tutorial/troubleshooting.rst:52 2fad5ba8eca14ba293b910f7c82f5b34 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 "" -#: ../usecases.rst:4 dde73820d8ff46128f0ae5a245d4f212 +#: ../usecases.rst:4 0012c5a2aeb84b40b7ccb861a1f8ea07 msgid "Use cases" msgstr "" -#: ../usecases.rst:6 936471ec6e494f839a45d1a5048ddbe9 +#: ../usecases.rst:6 8fce8afa30574f348ea6a4b5169592b6 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 "" -#: ../usecases.rst:10 0c06bc8fc0754db6bdfbae05fe718b2e +#: ../usecases.rst:10 e00eb880854f4c38a94285e1986b96d2 msgid "OpenID Connect provider on top of a LDAP directory" msgstr "" -#: ../usecases.rst:12 0ec337c5784a4dc296538609b9d75dd6 +#: ../usecases.rst:12 354d32ad706d463ab06aa17efae022cc msgid "" "Your organization has an historic :ref:`LDAP directory ` " "and you want to add a :ref:`OpenID Connect ` :abbr:`SSO " @@ -5954,11 +5986,11 @@ msgid "" "while signin-in only once, without any data migration." msgstr "" -#: ../usecases.rst:15 35bb9bbb50064dc7a5383c9d5371adfd +#: ../usecases.rst:15 c80ba39e4d3d49aeb126a3a4b0cbf6ee msgid "Profile edition of LDAP users" msgstr "" -#: ../usecases.rst:17 87226e31a4ef425585e8de20647d72a3 +#: ../usecases.rst:17 f7042aa80b384749a2a1c93cdf9fb3b6 msgid "" "Your organization has a :ref:`LDAP directory ` and you " "want to provide a way to your users to :ref:`edit their personal information " @@ -5966,11 +5998,11 @@ msgid "" "administrator intervention." msgstr "" -#: ../usecases.rst:20 22ec6d0c58ed413b80cd6aca23f637b6 +#: ../usecases.rst:20 2175f903fd7049408fb6f8bca3817ec0 msgid "Password recovery with a LDAP directory" msgstr "" -#: ../usecases.rst:22 46f418970c7640f9ace069002ed337bd +#: ../usecases.rst:22 ee7ae8f8496c4ddd95b00953f0da7fc9 msgid "" "Your organization has an historic :ref:`LDAP directory ` " "and you want to provide a way to your users to :ref:`recover their password " @@ -5978,11 +6010,11 @@ msgid "" "administrator intervention." msgstr "" -#: ../usecases.rst:25 f44f325b29594fc7b31521d259e27d5f +#: ../usecases.rst:25 b270514f0fac465d9792c85a85c84525 msgid "A lightweight IAM for unit testing" msgstr "" -#: ../usecases.rst:27 c9f537fbf3cd4b3cb0e6d140b8a2327b +#: ../usecases.rst:27 88822c2e151f43a0b5dabed7616604b7 msgid "" "You are :ref:`developing ` an application relying on " "OAuth2 or OpenID Connect to authenticate the users. You don't want to mock " @@ -5991,11 +6023,11 @@ msgid "" "application against different identity provider tunings." msgstr "" -#: ../usecases.rst:30 5b9b8e07b9154150a105088cc630ce6a +#: ../usecases.rst:30 fe21632ea9034d16b4f5da19efa0b5ac msgid "A lightweight IAM for developing" msgstr "" -#: ../usecases.rst:32 7a4ff703b94e4706b5123edb0c2abe51 +#: ../usecases.rst:32 5f85f539d8cf4500889c40f6774d6e55 msgid "" "You are :ref:`developing ` an application relying on " "OAuth2 or OpenID Connect to authenticate the users. You need a :ref:`IAM " @@ -6003,11 +6035,11 @@ msgid "" "cannot bear launching a full Keycloak in a Docker container." msgstr "" -#: ../usecases.rst:35 e594e15fba204d65a3f483c36e7c0aab +#: ../usecases.rst:35 f94e9269e0d84b20998a5dc33d17bca7 msgid "A lightweight IAM for CIs" msgstr "" -#: ../usecases.rst:37 ff03e5a191564f90af81c7d210a3de24 +#: ../usecases.rst:37 c59dd6c6c59a45b6b8cc4497275c35c1 msgid "" "You are :ref:`developing ` an application relying on " "OAuth2 or OpenID Connect to authenticate the users. You need a IAM server " @@ -6015,11 +6047,11 @@ msgid "" "`continuous integration environment `." msgstr "" -#: ../usecases.rst:40 8a37de08f6594334a3ba6ed2f9a3b71e +#: ../usecases.rst:40 30c0a6e8cd2f4ec1837b2147176bed17 msgid "A CLI to quickly edit LDAP directory users" msgstr "" -#: ../usecases.rst:42 b9d55e6eeca547aabb9bbfef3998f6d2 +#: ../usecases.rst:42 884abc047ac34822b7b8fcd98ddb3f88 msgid "" "Your organization has an historic :ref:`LDAP directory `. " "You are tired to deal with *ldif* syntax to manage your users and group and "