diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 7073a483..c47ddf3f 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -22,6 +22,7 @@ Make sure to have uv `installed on your computer \n" "Language-Team: LANGUAGE \n" @@ -1754,205 +1754,230 @@ msgid "The only tool required for local development is `uv`. Make sure to have u msgstr "" #: ../../CONTRIBUTING.rst:24 -#: 3aab256d0e47465899e430a1229c3d1a -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." +#: 56f217cf35444c72b1bc1a1cb3ee9e53 +msgid "Initialize your development environment with:" msgstr "" -#: ../../CONTRIBUTING.rst:31 +#: ../../CONTRIBUTING.rst:26 +#: 9cf0a292c2bb408fa660e14ab61f0e43 +msgid "``uv sync --extra front --extra oidc`` to have a minimal working development environment. This will allow you to run the tests with ``uv pytest --backend memory``." +msgstr "" + +#: ../../CONTRIBUTING.rst:27 +#: 8d29fc6ad3bd43c5b232963f5137c91a +msgid "``uv sync --extra front --extra oidc --extra sqlite`` to have a minimal working development environment with SQLite backend support. This will allow you to run the tests with ``uv pytest --backend sql``." +msgstr "" + +#: ../../CONTRIBUTING.rst:28 +#: 928d535d56314259b20055eea3a4ceb4 +msgid "``uv sync --extra front --extra oidc --extra ldap`` to have a minimal working development environment with LDAP backend support. This will allow you to run the tests with ``uv pytest --backend ldap``." +msgstr "" + +#: ../../CONTRIBUTING.rst:29 +#: 45c310bb345740648d6f7fe00c190191 +msgid "``uv sync --all-extras`` if you want to have everything at your fingertips. Note that it may compile some Python dependencies that would expect things to be installed on your system;" +msgstr "" + +#: ../../CONTRIBUTING.rst:30 +#: 184edc3e6ce942af9c0c653d38b3be67 +msgid "Some dependencies of Canaille might need to be compiled, so you probably want to check that `GCC` and `cargo` are available on your computer." +msgstr "" + +#: ../../CONTRIBUTING.rst:32 #: 1a514a3605f243979b2d04e1a329368a msgid "After having launched the demo you have access to several services:" msgstr "" -#: ../../CONTRIBUTING.rst:33 +#: ../../CONTRIBUTING.rst:34 #: bbde54dc79ba4241bd97323b5152b50b msgid "A canaille server at `localhost:5000 `_" msgstr "" -#: ../../CONTRIBUTING.rst:34 +#: ../../CONTRIBUTING.rst:35 #: d028b9cbae714b2d945ba4d70a75fb99 msgid "A dummy client at `localhost:5001 `_" msgstr "" -#: ../../CONTRIBUTING.rst:35 +#: ../../CONTRIBUTING.rst:36 #: dbd0340fc974432798237b9b3efe01ea msgid "Another dummy client at `localhost:5002 `_" msgstr "" -#: ../../CONTRIBUTING.rst:37 +#: ../../CONTRIBUTING.rst:38 #: 9ff28ddd679b42f4a5bf288242e8c827 msgid "The canaille server has some default users:" msgstr "" -#: ../../CONTRIBUTING.rst:39 +#: ../../CONTRIBUTING.rst:40 #: 324e9f4f1d744fa49a0c3e7fe60cf46b msgid "A regular user which login and password are **user**;" msgstr "" -#: ../../CONTRIBUTING.rst:40 +#: ../../CONTRIBUTING.rst:41 #: 30a3f2679a4b456791471ac6d4c15e2b msgid "A moderator user which login and password are **moderator**;" msgstr "" -#: ../../CONTRIBUTING.rst:41 +#: ../../CONTRIBUTING.rst:42 #: d5e4f771a0854678af55e11ae4c8fc3d msgid "An admin user which admin and password are **admin**;" msgstr "" -#: ../../CONTRIBUTING.rst:42 +#: ../../CONTRIBUTING.rst:43 #: 325a060f0844402d80a7267a46291010 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 "" #: ../development/specifications.rst:62 -#: ../../CONTRIBUTING.rst:47 +#: ../../CONTRIBUTING.rst:48 #: c01f125a22914f369ef28ef090a728b1 #: 01a043d4a4364011b8a22a53549b20da msgid "Backends" msgstr "" -#: ../../CONTRIBUTING.rst:49 +#: ../../CONTRIBUTING.rst:50 #: 12c4afcb316c448797ed9784ef9fbaa1 msgid "Canaille comes with several backends:" msgstr "" -#: ../../CONTRIBUTING.rst:51 +#: ../../CONTRIBUTING.rst:52 #: 853d2b906b80415db33c707e29640f4c msgid "a lightweight test purpose `memory` backend" msgstr "" -#: ../../CONTRIBUTING.rst:52 +#: ../../CONTRIBUTING.rst:53 #: b280dce615cb48ec8456abf65fec4a9e msgid "a `sql` backend, based on sqlalchemy" msgstr "" -#: ../../CONTRIBUTING.rst:53 +#: ../../CONTRIBUTING.rst:54 #: ad6d07459c274a9e8282e290875d5bfb msgid "a production-ready `LDAP` backend" msgstr "" -#: ../../CONTRIBUTING.rst:56 +#: ../../CONTRIBUTING.rst:57 #: 7db1494e281b4b89949e18e1ece1cb6c msgid "Docker environment" msgstr "" -#: ../../CONTRIBUTING.rst:58 +#: ../../CONTRIBUTING.rst:59 #: c8e61bddd24e4af0ab8ee2bd2709652d 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 +#: ../../CONTRIBUTING.rst:64 #: 0e3e6469d25f43998fce20bcb1291b86 msgid "To do that, you can add the following line to your `/etc/hosts`:" msgstr "" -#: ../../CONTRIBUTING.rst:69 +#: ../../CONTRIBUTING.rst:70 #: c0dce613d6384dd18a1d6abce742bf55 msgid "To launch containers, use:" msgstr "" -#: ../../CONTRIBUTING.rst:84 +#: ../../CONTRIBUTING.rst:85 #: 9e2c9acef9184e34b00d62c97980467d msgid "Local environment" msgstr "" -#: ../../CONTRIBUTING.rst:98 +#: ../../CONTRIBUTING.rst:99 #: 5fffaf4bff884b5a839078ad5a889fc9 msgid "If you want to run the demo locally with the LDAP backend, you need to have `OpenLDAP `_ installed on your system. It is generally shipped under the ``slapd`` or ``openldap`` package name." msgstr "" -#: ../../CONTRIBUTING.rst:103 +#: ../../CONTRIBUTING.rst:104 #: aa9aab912ff04dd68c3b59bf1e36575a 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 +#: ../../CONTRIBUTING.rst:114 #: 3d21757ba34c4721af043c150330c2e4 msgid "Populate the database" msgstr "" -#: ../../CONTRIBUTING.rst:115 +#: ../../CONTRIBUTING.rst:116 #: a412d39e98cf44f6b911566e1ebcdbde 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 +#: ../../CONTRIBUTING.rst:127 #: cdf90f875bcc44d5b41197a7cdbb275c 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 +#: ../../CONTRIBUTING.rst:130 #: 2db32f774df8429fa4c9e83d00616a96 msgid "Unit tests" msgstr "" -#: ../../CONTRIBUTING.rst:131 +#: ../../CONTRIBUTING.rst:132 #: 5d6a9b57b35d49c48e2b615f8128ebcc 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 +#: ../../CONTRIBUTING.rst:135 #: e1e6e475ff78404f930bb453f1f26e3b msgid "To test a specific backend you can pass ``--backend memory``, ``--backend sql`` or ``--backend ldap`` to pytest and tox." msgstr "" -#: ../../CONTRIBUTING.rst:136 +#: ../../CONTRIBUTING.rst:137 #: 2cb85029b4274de388878da3d3285369 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 +#: ../../CONTRIBUTING.rst:142 #: 4408d499056c480f86f450a781d2ca0d msgid "Code style" msgstr "" -#: ../../CONTRIBUTING.rst:143 +#: ../../CONTRIBUTING.rst:144 #: 93e483f2a66a4d8f82feb8ca9a739818 msgid "We use `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 `_ configuration with ``uv run pre-commit install``." msgstr "" -#: ../../CONTRIBUTING.rst:149 +#: ../../CONTRIBUTING.rst:150 #: 0dca6207e6734ab487cb3fe72c3e90e8 msgid "Front" msgstr "" -#: ../../CONTRIBUTING.rst:151 +#: ../../CONTRIBUTING.rst:152 #: 930e01d770324dc68f73095cd5456a8e msgid "The interface is built upon the `Fomantic UI `_ CSS framework. The dynamical parts of the interface use `htmx `_." msgstr "" -#: ../../CONTRIBUTING.rst:154 +#: ../../CONTRIBUTING.rst:155 #: fc0da8a2736e461dab5a7d242c1cfa9a 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 +#: ../../CONTRIBUTING.rst:157 #: a13b055a65244362a025440451de998d 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 `_." msgstr "" #: ../index.rst:71 -#: ../../CONTRIBUTING.rst:161 +#: ../../CONTRIBUTING.rst:162 #: e3ff6afa466e4e61aa4f677cd58d3ed2 #: a08d8d5331494e7d93508eaf25f41a07 msgid "Documentation" msgstr "" -#: ../../CONTRIBUTING.rst:163 +#: ../../CONTRIBUTING.rst:164 #: 2e1fdcae75de46a6b50db7e4155758af msgid "The documentation is generated when the tests run:" msgstr "" -#: ../../CONTRIBUTING.rst:169 +#: ../../CONTRIBUTING.rst:170 #: 94405109592b47c09c8726c305fa5edc msgid "You can also run sphinx by hand, that should be faster since it avoids the tox environment initialization:" msgstr "" -#: ../../CONTRIBUTING.rst:175 +#: ../../CONTRIBUTING.rst:176 #: fe4610d142474897ae4f97d321448fac msgid "The generated documentation is located at ``build/sphinx/html/en``." msgstr "" -#: ../../CONTRIBUTING.rst:178 +#: ../../CONTRIBUTING.rst:179 #: bf09dd8ed31742bca2fa80175ae85bb3 msgid "Code translation" msgstr "" @@ -1971,7 +1996,7 @@ msgstr "" #: ../../canaille/translations/README.rst:8 #: readme.rst:7 #: ea5bd05b09984bcaa643efa7a1a7618c -#: 9dde116540474fe597aa26dda8187cae +#: ea5bd05b09984bcaa643efa7a1a7618c #: 33490a8ff4a3465fb8648393ff65eb75 msgid "Message extraction" msgstr "" @@ -1980,7 +2005,7 @@ msgstr "" #: ../../canaille/translations/README.rst:10 #: readme.rst:9 #: 210e9ff98db74777830a5a1f4746df44 -#: 00b6ba25d89746df982a4b2d864883d3 +#: 210e9ff98db74777830a5a1f4746df44 #: 16b22e2bc3cf495bbef529f5732887e3 msgid "After you have edited translatable strings, you should extract the messages with:" msgstr "" @@ -1989,7 +2014,7 @@ msgstr "" #: ../../canaille/translations/README.rst:17 #: readme.rst:16 #: 54ecd51acf494402964ae281c6cd639b -#: 5368f206663b441d93e573282bf7a98f +#: 54ecd51acf494402964ae281c6cd639b #: 02fa7225075346f89ad702cba8aabdeb msgid "Language addition" msgstr "" @@ -1998,7 +2023,7 @@ msgstr "" #: ../../canaille/translations/README.rst:19 #: readme.rst:18 #: 5429b47768e2472ea597ed48140a5621 -#: 0c25b2a0b91f4ebeb6b3a29d613c2344 +#: 5429b47768e2472ea597ed48140a5621 #: 015d6a437f7e4d099c8cad60986c0b68 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 "" @@ -2023,7 +2048,7 @@ msgstr "" 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:184 +#: ../../CONTRIBUTING.rst:185 #: 4ff341d941384c029ed9c0b49d1062f9 msgid "Documentation translation" msgstr "" @@ -2049,67 +2074,67 @@ msgstr "" msgid "Build the documentation in another language" msgstr "" -#: ../../CONTRIBUTING.rst:189 +#: ../../CONTRIBUTING.rst:190 #: 4b1dc3dae99f4c6fbbeec3e54be3e922 msgid "Publish a new release" msgstr "" -#: ../../CONTRIBUTING.rst:191 +#: ../../CONTRIBUTING.rst:192 #: 975b37a07edc4a42bbef14c2ca80a34f msgid "Check that dependencies are up to date with ``uv sync --all-extras --upgrade`` and update dependencies accordingly in separated commits;" msgstr "" -#: ../../CONTRIBUTING.rst:192 +#: ../../CONTRIBUTING.rst:193 #: e9bd8386c6c64ef99aac12ee831f39d1 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:193 +#: ../../CONTRIBUTING.rst:194 #: 3e7d5493a8e44c1a9067010115678723 msgid "Check that the demo environments are still working, both the local and the Docker one;" msgstr "" -#: ../../CONTRIBUTING.rst:194 +#: ../../CONTRIBUTING.rst:195 #: fe7867ea9416424e81c518f77853958a msgid "Check that the :ref:`development/changelog:Release notes` section is correctly filled up;" msgstr "" -#: ../../CONTRIBUTING.rst:195 +#: ../../CONTRIBUTING.rst:196 #: 7d89adc1c3e6478ab9e8faa02f97bf03 msgid "Increase the version number in ``pyproject.toml``;" msgstr "" -#: ../../CONTRIBUTING.rst:196 +#: ../../CONTRIBUTING.rst:197 #: a376131776cd4e469611fa3ad6749be9 msgid "Commit with ``git commit``;" msgstr "" -#: ../../CONTRIBUTING.rst:197 +#: ../../CONTRIBUTING.rst:198 #: 655fd489e5324dc5b6172d438a6b8e3e msgid "Build with ``uv build``;" msgstr "" -#: ../../CONTRIBUTING.rst:198 +#: ../../CONTRIBUTING.rst:199 #: 79fc61b7c13647a285a918a0c126ea53 msgid "Publish on test PyPI with ``uv publish --publish-url https://test.pypi.org/legacy/``;" msgstr "" -#: ../../CONTRIBUTING.rst:199 +#: ../../CONTRIBUTING.rst:200 #: 93540129ce0c440eba4da63ed3ddb769 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:200 +#: ../../CONTRIBUTING.rst:201 #: 8a73b31d1fe14fdda15e6c2dea0cafc9 msgid "Publish on production PyPI ``uv publish``;" msgstr "" -#: ../../CONTRIBUTING.rst:201 +#: ../../CONTRIBUTING.rst:202 #: 93131bb37ccc4207825449d393f92201 msgid "Tag the commit with ``git tag XX.YY.ZZ``;" msgstr "" -#: ../../CONTRIBUTING.rst:202 +#: ../../CONTRIBUTING.rst:203 #: a98a5168d5f949ec9e96f16d8ff8b6f5 msgid "Push the release commit and the new tag on the repository with ``git push --tags``." msgstr ""