# SOME DESCRIPTIVE TITLE. # Copyright (C) 2024, Yaal Coop # This file is distributed under the same license as the canaille package. # FIRST AUTHOR <EMAIL@ADDRESS>, 2024. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: canaille 0.0.56\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-22 15:37+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language: fr\n" "Language-Team: fr <LL@li.org>\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" #: ../../CONTRIBUTING.rst:2 7c1ab3305147436fb9421dffeac09375 msgid "Contributions" msgstr "" #: ../../CONTRIBUTING.rst:4 a73a38a924914b208c350201b99ade0c msgid "Contributions are welcome!" msgstr "" #: ../../CONTRIBUTING.rst:6 bb5639fbdf6c49bfa96bf0a26b42ee2a msgid "" "The repository is hosted at `gitlab.com/yaal/canaille " "<https://gitlab.com/yaal/canaille>`_." msgstr "" #: ../../CONTRIBUTING.rst:9 e35b3518080c4b3ea444a26c2b7d821f msgid "Discuss" msgstr "" #: ../../CONTRIBUTING.rst:11 ddfd8d963ac7421baad588afafd95029 msgid "" "If you want to implement a feature or a bugfix, please start by " "discussing it with us on the `bugtracker " "<https://gitlab.com/yaal/canaille/-/issues>`_ or the `matrix room " "<https://matrix.to/#/#canaille-discuss:yaal.coop>`_." msgstr "" #: ../../CONTRIBUTING.rst:16 f13a93bafe4542cbbdfb561e66869288 msgid "Development environment" msgstr "" #: ../../CONTRIBUTING.rst:18 146597b6b8d04f248ea98191137a6bcb msgid "You can either run the demo locally or with Docker." msgstr "" #: ../../CONTRIBUTING.rst:20 9b1b9c06d6f640d3baab2194d63c2ca6 msgid "" "The only tool required for local development is `uv`. Make sure to have " "uv `installed on your computer <https://docs.astral.sh/uv/getting-" "started/installation/>`_ to be able to hack Canaille." msgstr "" #: ../../CONTRIBUTING.rst:24 6b736387b592498d83c96dfef8a38832 msgid "" "Initialize your development environment with: - ``uv sync --extra front " "--extra oidc`` to have a minimal working development environment. This " "will allow you to run the tests with ``uv pytest --backend memory``. - " "``uv sync --extra front --extra oidc --extra sqlite`` to have a minimal " "working development environment with SQLite backend support. This will " "allow you to run the tests with ``uv pytest --backend sql``. - ``uv sync " "--extra front --extra oidc --extra ldap`` to have a minimal working " "development environment with LDAP backend support. This will allow you to" " run the tests with ``uv pytest --backend ldap``. - ``uv sync --all-" "extras`` if you want to have everything at your fingertips. Note that it " "may compile some Python dependencies that would expect things to be " "installed on your system; Some dependencies of Canaille might need to be " "compiled, so you probably want to check that `GCC` and `cargo` are " "available on your computer." msgstr "" #: ../../CONTRIBUTING.rst:31 3ab70f5ffe36465a9be5ef3edfe0cb57 msgid "After having launched the demo you have access to several services:" msgstr "" #: ../../CONTRIBUTING.rst:33 eab681954d7a4656bbaec53d33c0ecd0 msgid "A canaille server at `localhost:5000 <http://localhost:5000>`_" msgstr "" #: ../../CONTRIBUTING.rst:34 f2dfbb5dbad74f6792f869598373fe7c msgid "A dummy client at `localhost:5001 <http://localhost:5001>`_" msgstr "" #: ../../CONTRIBUTING.rst:35 c26dbc13ffea4e578d5cbed572cf01f4 msgid "Another dummy client at `localhost:5002 <http://localhost:5002>`_" msgstr "" #: ../../CONTRIBUTING.rst:37 643fc1a38e8c482faf9bb03f95b2a62c msgid "The canaille server has some default users:" msgstr "" #: ../../CONTRIBUTING.rst:39 9eb743b3da3f4eb0903ae5ef0a992566 msgid "A regular user which login and password are **user**;" msgstr "" #: ../../CONTRIBUTING.rst:40 c4143060eb304659ae704ec6cba281de msgid "A moderator user which login and password are **moderator**;" msgstr "" #: ../../CONTRIBUTING.rst:41 411281aded7e464f87f1f8950e6c890c msgid "An admin user which admin and password are **admin**;" msgstr "" #: ../../CONTRIBUTING.rst:42 fe28d3c09b174c6fb5c9661c3bc6ca67 msgid "" "A new user which login is **james**. This user has no password yet, and " "his first attempt to log-in would result in sending a password " "initialization email (if a smtp server is configured)." msgstr "" #: ../../CONTRIBUTING.rst:47 b9f8753db1754411a6ddd40bee7fbffb msgid "Backends" msgstr "" #: ../../CONTRIBUTING.rst:49 881e10750d914144be34fb6f03ef7a9f msgid "Canaille comes with several backends:" msgstr "" #: ../../CONTRIBUTING.rst:51 285507e6da6b4af1a7b874ce68117d2e msgid "a lightweight test purpose `memory` backend" msgstr "" #: ../../CONTRIBUTING.rst:52 240e509e162041698e7f88044e704d04 msgid "a `sql` backend, based on sqlalchemy" msgstr "" #: ../../CONTRIBUTING.rst:53 3d2495a25cec49e3b62f2c5514b380a6 msgid "a production-ready `LDAP` backend" msgstr "" #: ../../CONTRIBUTING.rst:56 1637387b09f845958e4268668f7ce5a8 msgid "Docker environment" msgstr "" #: ../../CONTRIBUTING.rst:58 5ce6e05911244aca97cc1405dc319d54 msgid "" "If you want to develop with docker, your browser needs to be able to " "reach the `canaille` container. The docker-compose file exposes the right" " ports, but front requests are from outside the docker network: the " "`canaille` url that makes sense for docker, points nowhere from your " "browser. As exposed ports are on `localhost`, you need to tell your " "computer that `canaille` url means `localhost`." msgstr "" #: ../../CONTRIBUTING.rst:63 23ce3f6f5ea44fe6ba4029203add5a27 msgid "To do that, you can add the following line to your `/etc/hosts`:" msgstr "" #: ../../CONTRIBUTING.rst:69 9cd73a71e5fa41a3a2f4f80c0408c4ba msgid "To launch containers, use:" msgstr "" #: ../../CONTRIBUTING.rst:84 8cb412e1ce584a78b6a16c189480ab98 msgid "Local environment" msgstr "" #: ../../CONTRIBUTING.rst:98 901a414c94e5400391f9dfe67b452e6f msgid "" "If you want to run the demo locally with the LDAP backend, you need to " "have `OpenLDAP <https://www.openldap.org/>`_ installed on your system. It" " is generally shipped under the ``slapd`` or ``openldap`` package name." msgstr "" #: ../../CONTRIBUTING.rst:103 0c71c9d15abd4e128ecf38e66dccd052 msgid "" "On Debian or Ubuntu systems, the OpenLDAP `slapd` binary usage might be " "restricted by apparmor, and thus makes the tests and the demo fail. This " "can be mitigated by removing apparmor restrictions on `slapd`." msgstr "" #: ../../CONTRIBUTING.rst:113 d78b3b0b3f3e49f1b2991c7f953bfd51 msgid "Populate the database" msgstr "" #: ../../CONTRIBUTING.rst:115 937755ec4cd44d28a300cfb31f4bdab0 msgid "" "The demo database comes populated with some random users and groups. If " "you need more, you can generate users and groups with the ``populate`` " "command:" msgstr "" #: ../../CONTRIBUTING.rst:126 e6478d79102a420cb29373814615483c msgid "" "Adapt to use either the `ldap` or the `sql` configuration file. Note that" " this will not work with the memory backend." msgstr "" #: ../../CONTRIBUTING.rst:129 8388b3135a7744cc9395de2be0754b97 msgid "Unit tests" msgstr "" #: ../../CONTRIBUTING.rst:131 c0beac52adbd4f8cab1b1b2b3a685b5b msgid "" "To run the tests, you just can run `uv run pytest` and/or `uv run tox` to" " test all the supported python environments. Everything must be green " "before patches get merged." msgstr "" #: ../../CONTRIBUTING.rst:134 087b9f6006f3453baffe1c6eb074925a msgid "" "To test a specific backend you can pass ``--backend memory``, ``--backend" " sql`` or ``--backend ldap`` to pytest and tox." msgstr "" #: ../../CONTRIBUTING.rst:136 fb19a1dd39b94166861307d05981764c msgid "" "The test coverage is 100%, patches won't be accepted if not entirely " "covered. You can check the test coverage with ``uv run pytest --cov " "--cov-report=html`` or ``uv run tox -e coverage -- --cov-report=html``. " "You can check the HTML coverage report in the newly created `htmlcov` " "directory." msgstr "" #: ../../CONTRIBUTING.rst:141 c529a55523124f2e89397fbc60ac0f7b msgid "Code style" msgstr "" #: ../../CONTRIBUTING.rst:143 925f6ac68525496584f01467bea4ad2d msgid "" "We use `ruff <https://docs.astral.sh/ruff/>`_ along with other tools to " "format our code. Please run ``uv run tox -e style`` on your patches " "before submitting them. In order to perform a style check and correction " "at each commit you can use our `pre-commit <https://pre-commit.com/>`_ " "configuration with ``uv run pre-commit install``." msgstr "" #: ../../CONTRIBUTING.rst:149 db166a2976184377ab59ce537418ecbf msgid "Front" msgstr "" #: ../../CONTRIBUTING.rst:151 d25881c0189747eeabc777c2929c7008 msgid "" "The interface is built upon the `Fomantic UI <https://fomantic-ui.com/>`_" " CSS framework. The dynamical parts of the interface use `htmx " "<https://htmx.org/>`_." msgstr "" #: ../../CONTRIBUTING.rst:154 86502939ce9d443c86df95720e667a91 msgid "" "Using Javascript in the interface is tolerated, but the whole website " "MUST be accessible for browsers without Javascript support, and without " "any feature loss." msgstr "" #: ../../CONTRIBUTING.rst:156 1c42dcc54b6743a0821f42046438066b msgid "" "Because of Fomantic UI we have a dependency to jQuery, however new " "contributions should not depend on jQuery at all. See the `related issue " "<https://gitlab.com/yaal/canaille/-/issues/130>`_." msgstr "" #: ../../CONTRIBUTING.rst:161 52abf5adbe644c6b82b87f4e5d2c5ebb msgid "Translations" msgstr "" #: ../../canaille/translations/README.rst:1 b1a8c4be2efd43c1a4e2282711ffbb63 msgid "" "Translations are done with `Weblate " "<https://hosted.weblate.org/projects/canaille/canaille>`_." msgstr "" #: ../../canaille/translations/README.rst:3 1d4332b3eebd48fc98d28507c9be30a5 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 "" #: ../../canaille/translations/README.rst:8 111a6826ce7d4666aebf19ee04e5750c msgid "Message extraction" msgstr "" #: ../../canaille/translations/README.rst:10 2bf701d1dcb441938142ee5e9b03bd31 msgid "" "After you have edited translatable strings, you should extract the " "messages with:" msgstr "" #: ../../canaille/translations/README.rst:17 424082dd69bc448bb50126f5e590f70c msgid "Language addition" msgstr "" #: ../../canaille/translations/README.rst:19 5be588cfe676499f8294cc593075c1ad msgid "" "You can add a new language manually with the following command, however " "this should not be needed as Weblate takes car of this:" msgstr "" #: ../../canaille/translations/README.rst:26 7db4259cd8504c73afa7b99db81efd41 msgid "Catalog update" msgstr "" #: ../../canaille/translations/README.rst:28 71bb011a076146f5baf4e3279f6c4b7e msgid "" "You can update the catalogs with the following command, however this " "should not be needed as Weblate automatically update language catalogs " "when it detects new strings or when someone translate some existing " "strings. Weblate pushes happen every 24h." msgstr "" #: ../../canaille/translations/README.rst:36 a296f2a2cbf649299d5fec0f520614d3 msgid "Catalog compilation" msgstr "" #: ../../canaille/translations/README.rst:38 c13b3771cd5b45b4884744fad24b900f msgid "" "You can compile the catalogs with the following command, however this " "should not be needed as catalogs are automatically compiled before " "running the unit tests, before launching the demo and before compiling " "the Canaille python package:" msgstr "" #: ../../CONTRIBUTING.rst:166 39b97e4fee6749c79486c19e617657ef msgid "Documentation" msgstr "" #: ../../CONTRIBUTING.rst:168 0d41272738f94ced892295701150d998 msgid "The documentation is generated when the tests run:" msgstr "" #: ../../CONTRIBUTING.rst:174 3e7a8bb825c64e9291ef2d77b3932f98 msgid "" "You can also run sphinx by hand, that should be faster since it avoids " "the tox environment initialization:" msgstr "" #: ../../CONTRIBUTING.rst:180 1ea17b9131f04d71b48b7c3c61f50983 msgid "The generated documentation is located at ``build/sphinx/html``." msgstr "" #: ../../CONTRIBUTING.rst:183 79f5374feb714359a960e5cae638c231 msgid "Publish a new release" msgstr "" #: ../../CONTRIBUTING.rst:185 2be83e33a90a4c7aac1dc519fe172e51 msgid "" "Check that dependencies are up to date with ``uv sync --all-extras " "--upgrade`` and update dependencies accordingly in separated commits;" msgstr "" #: ../../CONTRIBUTING.rst:186 1abd3d600ac0411fb999b304cb13e51e msgid "" "Check that tests are still green for every supported python version, and " "that coverage is still at 100%, by running ``uv run tox``;" msgstr "" #: ../../CONTRIBUTING.rst:187 88370dc2d9c94d559e8abe1068bfeba6 msgid "" "Check that the demo environments are still working, both the local and " "the Docker one;" msgstr "" #: ../../CONTRIBUTING.rst:188 bd8ff970e1424dd38acf71ccfb62487c msgid "" "Check that the :ref:`development/changelog:Release notes` section is " "correctly filled up;" msgstr "" #: ../../CONTRIBUTING.rst:189 b04308c3c9df45e0b23f2da5c5dc3ef3 msgid "Increase the version number in ``pyproject.toml``;" msgstr "" #: ../../CONTRIBUTING.rst:190 ebaff21b4fe04971885873f4401a38e9 msgid "Commit with ``git commit``;" msgstr "" #: ../../CONTRIBUTING.rst:191 5e75ca58d33e45d8b0035b7f1a293346 msgid "Build with ``uv build``;" msgstr "" #: ../../CONTRIBUTING.rst:192 3cc2fb6a7cc745cea14593e07ce87228 msgid "" "Publish on test PyPI with ``uv publish --publish-url " "https://test.pypi.org/legacy/``;" msgstr "" #: ../../CONTRIBUTING.rst:193 7090fbe6930449f78048558eb4be201b 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 "" #: ../../CONTRIBUTING.rst:194 03da5714d2994f5ea82a0c7764e27d72 msgid "Publish on production PyPI ``uv publish``;" msgstr "" #: ../../CONTRIBUTING.rst:195 8635aa0c6a154b02b4f1b5e4558433f0 msgid "Tag the commit with ``git tag XX.YY.ZZ``;" msgstr "" #: ../../CONTRIBUTING.rst:196 bce1c91d899e43858a763368a8877cfc msgid "" "Push the release commit and the new tag on the repository with ``git push" " --tags``." msgstr ""