-
Notifications
You must be signed in to change notification settings - Fork 21
Translation FR #106
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Translation FR #106
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| # Tinyauth Docs | ||
|
|
||
| This is the source code of the documentation site for my project [Tinyauth](https://github.com/steveiliop56/tinyauth). | ||
|
|
||
| I18N, Translation FR added | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -35,6 +35,11 @@ export default defineConfig({ | |
| Footer: "./src/components/footer.astro", | ||
| }, | ||
| title: "Tinyauth", | ||
| defaultLocale: 'root', | ||
| locales: { | ||
| root: { label: 'English', lang: 'en' }, | ||
| fr: { label: 'Français', lang: 'fr' }, | ||
| }, | ||
| credits: true, | ||
| logo: { | ||
| src: "./public/tinyauth.png", | ||
|
|
@@ -197,10 +202,5 @@ export default defineConfig({ | |
| }, | ||
| ], | ||
| }), | ||
| umami({ | ||
| hostUrl: "https://analytics.doesmycode.work", | ||
| endpointUrl: "https://analytics.doesmycode.work", | ||
| id: "ed560a2b-b321-4745-b2f8-d7de846aeb7f", | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please do not remove the site analytics. |
||
| }), | ||
| ], | ||
| }); | ||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is there a reason for this file? If not, please remove it. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| about.mdx | 1e889f449f5781c37104f9fad86ebf05 | ||
| getting-started.mdx | b3b7fbd6b492e7801a5b02ed9913daca | ||
| reference/authentication.mdx | 564bab6b6e0ebd699ab03a5d48353722 | ||
| reference/cli.mdx | de1c9df802761e6c17b46a2154df21fd | ||
| reference/flow.mdx | b409573c18bf4d1e074d2b0c344f2f7a | ||
| reference/telemetry.mdx | 6bccf6ee6529b2102a60b941966febfa | ||
| reference/configuration.mdx | 879be81a8538a7e2fd34e845d72c14ad | ||
| reference/labels.mdx | f4c48667df3809d065d12aa18e9af6e5 | ||
| reference/headers.mdx | fa5ae5af5e8b980a3acc8c514e23e1e1 | ||
| reference/changelog.mdx | ccacf94861c67e850177a65b90eab1ea | ||
| integrations/zerobyte.mdx | bdfebd729458f1ccf700224241b8157c | ||
| contributing/contributing.mdx | 1117d6fcc0d32b5a03fa627fa6bdc756 | ||
| community/caddy.mdx | 710ea501a1cd18548103fcec7d76e862 | ||
| community/kubernetes.mdx | 64852f2004d533664e6d08b65933b536 | ||
| community/zitadel-oauth.mdx | 87d3b156a281bc9766dbba67108b3ae0 | ||
| guides/using-the-binary.mdx | 50b3931bfd96bc9a6af5f39f7b4504fd | ||
| guides/totp.mdx | e8be1169ed48c1bb18ccee71e2c9a9f8 | ||
| guides/ldap.mdx | a7e1a57c7b7a05cf42008c5715a00bd6 | ||
| guides/advanced.mdx | 53ebcfb055e8ced55920f4635aa0d1d3 | ||
| guides/pocket-id.mdx | e878532c0d9ce788e8bb9108cea75a9c | ||
| guides/github-oauth.mdx | 7fa3d1894e9aba9a7b93db6abd1d05b3 | ||
| guides/nginx-proxy-manager.mdx | 0f856cad69a3257483e11f08075e98d2 | ||
| guides/runtipi.mdx | fe4741add036704f5a27612e8647735e | ||
| guides/github-app-oauth.mdx | 5c3af2177ffa72fc159f12576b855c2d | ||
| guides/oidc.mdx | 31d911c3ebac4b3f8f0a63bb5b07ebcf | ||
| guides/access-controls.mdx | c6025b8b7f82077ae1f3768574820dff | ||
| guides/google-oauth.mdx | 0025aef51ecea6181957b57beacb7c7a | ||
| guides/other-oauth.mdx | 6b96c12dde8ed0b207cf69c9d3e0dc10 | ||
| breaking-updates/3-to-4.mdx | 9893d8c7366a64fe0938614b28b9ac0a | ||
| breaking-updates/4-to-5.mdx | 845a7fb26416ea0ebf77b4ce2de67eaa |
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| breaking-updates/4-to-5-migrator.astro | Erreur: Le fichier '4-to-5-migrator.astro' ne correspond à aucun pattern autorisé : *.txt, *.md*, *.json |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
| title: "À propos" | ||
| description: "Quelques mots sur Tinyauth." | ||
| --- | ||
|
|
||
| Avant d'installer Tinyauth, il est naturel de se demander, _Pourquoi choisir Tinyauth plutôt que Authelia, Authentik ou Keycloak?_ C'est une question valable, et la réponse réside dans sa simplicité et son focus. | ||
|
|
||
| ## Le défi de l'authentification dans les homelabs | ||
|
|
||
| Un middleware d'authentification est souvent utilisé pour protéger les applications qui ne disposent pas de screens de connexion intégrés ou pour ajouter une couche supplémentaire de sécurité. Alors que des projets comme Authelia, Authentik et Keycloak sont des solutions performantes, ils peuvent être difficiles à configurer pour les nouveaux utilisateurs, gourmands en ressources (car conçus pour un usage d'entreprise), ou lourds à mettre en place et à maintenir. Tinyauth répond à ces défis. | ||
|
|
||
| ## La motivation derrière Tinyauth | ||
|
|
||
| Tinyauth a été développé comme un défi personnel pour créer une application robuste et résoudre les problèmes courants rencontrés avec les solutions d'authentification existantes. De nombreuses alternatives ne disposaient pas de support natif pour l'authentification directe de Traefik et nécessitaient des plugins et conteneurs supplémentaires. Tinyauth a été conçu autour de la simplicité comme principe fondamental — aucun tableau de bord complexe, aucun fichier de configuration intriqué, aucune dépendance externe. Tout est configuré à l'aide de variables d'environnement simples. | ||
|
|
||
| ## Cas d'utilisation appropriés | ||
|
|
||
| Tinyauth n'est pas destiné aux environnements de production. Son objectif principal est d'ajouter un écran de connexion aux applications dans les homelabs ou de faciliter le partage de ressources avec la famille et les amis. Pour des scénarios nécessitant une gestion avancée des utilisateurs, Authentik est recommandé. | ||
|
|
||
| ## Orientation future | ||
|
|
||
| Tinyauth a atteint un état mature, prenant en charge des fonctionnalités essentielles telles que OAuth, TOTP, LDAP et les contrôles d'accès. Il s'intègre parfaitement aux proxies populaires comme Nginx, Traefik et Caddy. L'accent restera sur le maintien de cette simplicité tout en introduisant des mises à jour améliorant la qualité de vie. Aucun plan n'est prévu pour introduire des tableaux de bord ou des fichiers de configuration complexes, préservant ainsi l'idée fondamentale du projet. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,179 @@ | ||
| --- | ||
| title: "Mise à jour de la version v3 vers v4" | ||
| description: "Un guide pour aider à migrer de Tinyauth v3 vers v4." | ||
| --- | ||
|
|
||
| Tinyauth v4 introduit plusieurs changements majeurs qui nécessitent une migration manuelle. Ce guide décrit les mises à jour nécessaires pour une mise à niveau fluide. | ||
|
|
||
| ## SQLite Database | ||
|
|
||
| À partir de la version 4, Tinyauth est une application avec état qui utilise une base de données SQLite pour stocker les sessions. Ce changement améliore la sécurité. Pour les configurations Docker, incluez le volume suivant : | ||
|
|
||
| ```yaml | ||
| services: | ||
| tinyauth: | ||
| volumes: | ||
| - ./data:/data | ||
| ``` | ||
|
|
||
| Pour les installations binaires, le chemin de la base de données peut être modifié à l'aide de l'option suivante : | ||
|
|
||
| | Environnement | Indicateur | Description | Valeur par défaut | Requis | | ||
| | --------------- | ----------------- | -------------------------------------------------- | ------------------- | -------- | | ||
| | `DATABASE_PATH` | `--database-path` | Le chemin où la base de données SQLite sera stockée. | `/data/tinyauth.db` | no | | ||
|
|
||
| :::note | ||
| La base de données SQLite ne stocke pas les options de configuration. Toute la configuration est toujours effectuée à l'aide de variables d'environnement ou de drapeaux CLI. Si la persistance des sessions entre les redémarrages n'est pas une préoccupation, le volume de la base de données peut être omis. | ||
| ::: | ||
|
|
||
| ## OAuth | ||
|
|
||
| Le backend OAuth a été réécrit pour prendre en charge plusieurs fournisseurs OAuth. Les options suivantes sont obsolètes : | ||
|
|
||
| - `GITHUB_CLIENT_ID`/`--github-client-id` | ||
| - `GITHUB_CLIENT_SECRET`/`--github-client-secret` | ||
| - `GITHUB_CLIENT_SECRET_FILE`/`--github-client-secret-file` | ||
| - `GOOGLE_CLIENT_ID`/`--google-client-id` | ||
| - `GOOGLE_CLIENT_SECRET`/`--google-client-secret` | ||
| - `GOOGLE_CLIENT_SECRET_FILE`/`--google-client-secret-file` | ||
| - `GENERIC_CLIENT_ID`/`--generic-client-id` | ||
| - `GENERIC_CLIENT_SECRET`/`--generic-client-secret` | ||
| - `GENERIC_CLIENT_SECRET_FILE`/`--generic-client-secret-file` | ||
| - `GENERIC_AUTH_URL`/`--generic-auth-url` | ||
| - `GENERIC_TOKEN_URL`/`--generic-token-url` | ||
| - `GENERIC_USER_URL`/`--generic-user-url` | ||
| - `GENERIC_SCOPES`/`--generic-scopes` | ||
| - `GENERIC_NAME`/`--generic-name` | ||
| - `GENERIC_SKIP_SSL`/`--generic-skip-ssl` | ||
|
|
||
| La nouvelle configuration pour les fournisseurs OAuth inclut un nom dynamique dans la clé de configuration (ID du fournisseur) qui sera utilisé pour les URL de rappel et l'identification au sein des points d'API. Les nouvelles options de configuration sont : | ||
|
|
||
| | Environnement | Indicateur | Description | Valeur par défaut | Requis | | ||
| | ------------------------------------------- | --------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------ | -------- | | ||
| | `PROVIDERS_[PROVIDER]_CLIENT_ID` | `--providers-[provider]-client-id` | L'ID du client pour le client OAuth. | `` | yes | | ||
| | `PROVIDERS_[PROVIDER]_CLIENT_SECRET` | `--providers-[provider]-client-secret` | Le secret du client pour le client OAuth. | `` | yes | | ||
| | `PROVIDERS_[PROVIDER]_CLIENT_SECRET_FILE` | `--providers-[provider]-client-secret-file` | Un chemin vers un fichier contenant le secret du client OAuth. | `` | no | | ||
| | `PROVIDERS_[PROVIDER]_SCOPES` | `--providers-[provider]-scopes` | Les scopes nécessaires pour le fournisseur OAuth. | `` | yes | | ||
| | `PROVIDERS_[PROVIDER]_REDIRECT_URL` [^1] | `--providers-[provider]-redirect-url` | L'URL de redirection pour le fournisseur OAuth. | `` | yes | | ||
| | `PROVIDERS_[PROVIDER]_AUTH_URL` | `--providers-[provider]-auth-url` | L'URL d'authentification pour le fournisseur OAuth. | `` | yes | | ||
| | `PROVIDERS_[PROVIDER]_TOKEN_URL` | `--providers-[provider]-token-url` | L'URL de token pour le fournisseur OAuth. | `` | yes | | ||
| | `PROVIDERS_[PROVIDER]_USER_INFO_URL` [^2] | `--providers-[provider]-user-info-url` | L'URL d'information utilisateur pour le fournisseur OAuth. | `` | yes | | ||
| | `PROVIDERS_[PROVIDER]_INSECURE_SKIP_VERIFY` | `--providers-[provider]-insecure-skip-verify` | Ignorer la vérification du certificat SSL pour le fournisseur. | `false` | no | | ||
| | `PROVIDERS_[PROVIDER]_NAME` | `--providers-[provider]-name` | Le nom du fournisseur OAuth (pour le bouton UI). | Provider ID with first letter capitalized. | no | | ||
|
|
||
| [^1]: Ceci est requis pour le moment. Bien que certains fournisseurs gèrent cela automatiquement, il est suggéré de le définir quand même. | ||
|
|
||
| [^2]: Veuillez noter l'ajout de `_INFO_` dans le nom de cette option. | ||
|
|
||
| Par exemple, pour configurer Google OAuth : | ||
|
|
||
| ``` | ||
| PROVIDERS_GOOGLE_CLIENT_ID=my-client-id | ||
| PROVIDERS_GOOGLE_CLIENT_SECRET=my-client-secret | ||
| ``` | ||
|
|
||
| Ou avec les drapeaux CLI : | ||
|
|
||
| ``` | ||
| --providers-google-client-id=my-client-id --providers-google-client-secret=my-client-secret | ||
| ``` | ||
|
|
||
| :::caution | ||
| Assurez-vous de modifier les URLs de rappel dans les paramètres de votre fournisseur OAuth pour correspondre à l'ID du fournisseur. Par exemple, si votre configuration est `PROVIDERS_GOOGLE_CLIENT_ID`, l'ID du fournisseur est `google` et l'URL de rappel est `https://tinyauth.example.com/api/oauth/callback/google`. | ||
| ::: | ||
|
|
||
| :::note | ||
| L'utilisation de `google` ou `github` comme ID de fournisseur déclenche le remplissage automatique des informations requises (par exemple, l'URL de redirection, les scopes). Vous n'aurez à fournir que l'ID du client et le secret. | ||
| ::: | ||
|
|
||
| ## Labels | ||
|
|
||
| Les étiquettes ont été restructurées. Les étiquettes obsolètes incluent : | ||
|
|
||
| - `tinyauth.users` | ||
| - `tinyauth.allowed` | ||
| - `tinyauth.headers` | ||
| - `tinyauth.domain` | ||
| - `tinyauth.basic.password.plain` | ||
| - `tinyauth.basic.password.file` | ||
| - `tinyauth.basic.username` | ||
| - `tinyauth.oauth.whitelist` | ||
| - `tinyauth.oauth.groups` | ||
| - `tinyauth.ip.allow` | ||
| - `tinyauth.ip.block` | ||
| - `tinyauth.ip.bypass` | ||
|
|
||
| La nouvelle structure utilise des identifiants spécifiques à l'application : | ||
|
|
||
| | Nom | Description | | ||
| | ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | ||
| | `tinyauth.apps.[app].config.domain` | Le domaine où l'application protégée est exposée. Tinyauth utilisera cela pour identifier le conteneur approprié. | | ||
| | `tinyauth.apps.[app].users.allow` | Une liste séparée par des virgules d'utilisateurs autorisés à accéder à l'application. | | ||
| | `tinyauth.apps.[app].users.block` | Une liste séparée par des virgules d'utilisateurs non autorisés à accéder à l'application. | | ||
| | `tinyauth.apps.[app].oauth.whitelist` | Une liste séparée par des virgules ou une expression régulière d'adresses e-mail autorisées à accéder à l'application (provenant d'OAuth). | | ||
| | `tinyauth.apps.[app].oauth.groups` | Une liste séparée par des virgules de groupes OAuth requis pour qu'un utilisateur accède à l'application. | | ||
| | `tinyauth.apps.[app].ip.allow` | Une liste séparée par des virgules d'adresses IP ou de CIDR autorisées à accéder à l'application. | | ||
| | `tinyauth.apps.[app].ip.block` | Une liste séparée par des virgules d'adresses IP ou de CIDR non autorisées à accéder à l'application. | | ||
| | `tinyauth.apps.[app].ip.bypass` | Une liste séparée par des virgules d'adresses IP ou de CIDR pour lesquelles l'authentification ne sera pas requise afin d'accéder à l'application. | | ||
| | `tinyauth.apps.[app].response.headers` | Une liste séparée par des virgules d'en-têtes que Tinyauth inclura dans sa réponse (utile pour l'authentification aux applications protégées avec des jetons). | | ||
| | `tinyauth.apps.[app].response.basicauth.username` | Nom d'utilisateur utilisé par Tinyauth pour s'authentifier à une application cible via l'authentification basique. | | ||
| | `tinyauth.apps.[app].response.basicauth.password` | Mot de passe utilisé par Tinyauth pour s'authentifier à une application cible via l'authentification basique. | | ||
| | `tinyauth.apps.[app].response.basicauth.passwordfile` | Un chemin vers un fichier contenant le mot de passe utilisé par Tinyauth pour s'authentifier à une application cible via l'authentification basique. | | ||
| | `tinyauth.apps.[app].path.allow` | Une expression régulière des chemins qui ne nécessitent pas d'authentification. | | ||
| | `tinyauth.apps.[app].path.block` | Une expression régulière des chemins qui nécessiteront une authentification (signifiant que tous les autres chemins sont autorisés). | | ||
|
|
||
| Par exemple, si votre configuration actuelle ressemble à ceci : | ||
|
|
||
| ```yaml | ||
| services: | ||
| whoami: | ||
| labels: | ||
| tinyauth.users: user1,user2 | ||
| ``` | ||
|
|
||
| Vous devrez également le modifier : | ||
|
|
||
| ```yaml | ||
| services: | ||
| whoami: | ||
| labels: | ||
| tinyauth.apps.whoami.users.allow: user1,user2 | ||
| ``` | ||
|
|
||
| :::note | ||
| Le mécanisme de découverte des étiquettes utilise désormais le nom de l'application dans le sous-domaine de la requête. Par exemple, `myapp.example.com` correspond à `tinyauth.apps.myapp.foo: bar`. La découverte d'étiquettes basée sur le nom du conteneur n'est plus prise en charge. | ||
| ::: | ||
|
|
||
| :::note | ||
| Il est conseillé de passer à l'étiquette `tinyauth.apps.[app].config.domain` pour une meilleure découverte. | ||
| ::: | ||
|
|
||
| ## Configuration Changes | ||
|
|
||
| Les options suivantes sont obsolètes : | ||
|
|
||
| - `SECRET`/`--secret` | ||
| - `SECRET_FILE`/`--secret-file` | ||
| - `DISABLE_CONTINUE`/`--disable-continue` | ||
|
|
||
| Options modifiées : | ||
|
|
||
| | Actuel | Nouveau | Valeurs | | ||
| | ----------------------------------- | ----------------------------------- | ----------------------------------------------------------- | | ||
| | `COOKIE_SECURE` (`--cookie-secure`) | `SECURE_COOKIE` (`--secure-cookie`) | `true`, `false` | | ||
| | `LOG_LEVEL` (`--log-level`) | `LOG_LEVEL` (`--log-level`) | `trace`, `debug`, `info`, `warn`, `error`, `fatal`, `panic` | | ||
|
|
||
| ## API Changes | ||
|
|
||
| L'API a été mise à jour. Si vous utilisez l'API directement, veuillez consulter les sources du [contrôleur](https://github.com/steveiliop56/tinyauth/tree/main/internal/controller). Tous les chemins d'API ont le préfixe `/api`. Plus important encore, le chemin de vérification de santé a changé. | ||
|
|
||
| | Chemin actuel | Nouveau chemin | Méthode | | ||
| | ------------------ | -------------- | ------ | | ||
| | `/api/healthcheck` | `/api/healthz` | `GET` | | ||
| | `/api/healthcheck` | `/api/healthz` | `HEAD` | | ||
|
|
||
| Il existe également une nouvelle commande `tinyauth healthcheck` qui vérifiera automatiquement si le serveur est en bonne santé en utilisant votre configuration actuelle. L'image Docker inclut la vérification de santé suivante : | ||
|
|
||
| ```dockerfile | ||
| HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 CMD ["tinyauth", "healthcheck"] | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line is not needed in the readme.