From 3ada46307dc98b263cdf7cff7d993c566bf076df Mon Sep 17 00:00:00 2001 From: Philippe Jadin Date: Thu, 8 Aug 2024 10:43:29 +0200 Subject: [PATCH] add a translation script using deepl, quick test on the FR side, -> seems good enough --- .env.example | 1 + .gitignore | 3 +- docs/fr/advanced_config.md | 60 ++++++++------- docs/fr/artisan.md | 26 +++---- docs/fr/contact.md | 4 +- docs/fr/contribute.md | 11 ++- docs/fr/development.md | 64 ++++++++-------- docs/fr/documentation.md | 38 +++++----- docs/fr/first_steps.md | 14 ++-- docs/fr/group.md | 70 +++++++++++------- docs/fr/index.md | 26 +++---- docs/fr/install.md | 146 ++++++++++++++++++------------------- docs/fr/sign_up.md | 14 ++-- docs/fr/upgrade.md | 46 ++++++------ docs/fr/usage.md | 28 +++---- requirements.txt | 2 + translate.py | 46 ++++++++++++ 17 files changed, 333 insertions(+), 266 deletions(-) create mode 100644 .env.example create mode 100644 translate.py diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..f60eca4 --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +DEEPL_API_KEY=your_deepl_api_key_here_if_you_want_auto_translations \ No newline at end of file diff --git a/.gitignore b/.gitignore index 7c63ef9..b3c0487 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ book .cache -site \ No newline at end of file +site +.env \ No newline at end of file diff --git a/docs/fr/advanced_config.md b/docs/fr/advanced_config.md index 1c5315e..ee3e932 100644 --- a/docs/fr/advanced_config.md +++ b/docs/fr/advanced_config.md @@ -1,48 +1,52 @@ -## Configuration des e-mails entrants +## Configurer les courriels entrants -Cette étape supplémentaire vous permet d'avoir une boîte aux lettres pour chaque groupe afin que les membres puissent publier par e-mail pour créer des discussions et répondre aux e-mails de discussion pour créer de nouveaux commentaires. +Cette étape supplémentaire vous permet d'avoir une boîte aux lettres pour chaque groupe afin que les membres puissent envoyer des messages par courriel pour créer des discussions et répondre aux courriels des discussions pour créer de nouveaux commentaires. -NOTE: La prise en charge des e-mails entrante est expérimentale mais utilisée dans plusieurs cas.Vous pourriez cependant découvrir des bogues, veuillez les signaler si cela arrive à votre installation. +! !! note + Le support des emails entrants est expérimental mais utilisé sur plusieurs instances. Il est possible que vous rencontriez des bogues, veuillez les signaler si cela se produit dans votre installation. -- Vous avez besoin d'une adresse e-mail sur un serveur avec support IMAP. Il doit être soit une capture sur un sous-domaine (ou même sur un domaine) ou un serveur prenant en charge "+" l'adressage (Gmail par exemple le permet). -- Vous avez besoin de l'extension PHP IMAP -- La configuration se produit dans votre .env +- Vous avez besoin d'une adresse email sur un serveur supportant l'imap. Il doit s'agir d'une adresse "catch all" sur un sous-domaine (ou même sur un domaine) ou d'un serveur supportant l'adressage "+" (gmail par exemple le permet). +- Vous avez besoin de l'extension php imap +- La configuration se fait dans votre .env -Disons que vous avez installé Agorakit sur agora.example.org: +Disons que vous avez installé Agorakit sur agora.example.org : -- Créez une boîte aux lettres Catchall sur *. @ Agora.example.org -- Modifiez votre fichier .env et ajoutez / définissez les paramètres suivants: +- Créer une boîte aux lettres catchall sur * .@agora.example.org +- Editez votre fichier .env et ajoutez/définissez les paramètres suivants : -`` ' -# Paramètres du serveur de boîtes à lettres de réception, utilisation pour les e-mails entrants. -# Définissez Inbox_Driver sur NULL pour désactiver cette fonctionnalité -Inbox_Driver = IMAP -Inbox_host = yourmailhost.tld -Inbox_Username = nom d'utilisateur de la boîte aux lettres -Inbox_password = mot de passe de la boîte aux lettres -Inbox_prefix = -Inbox_Suffix=@agora.example.org +``` +# Paramètres du serveur de la boîte aux lettres, à utiliser pour les courriels entrants. +# Définissez INBOX_DRIVER à null pour désactiver cette fonctionnalité +INBOX_DRIVER=imap +INBOX_HOST=votremailhost.tld +INBOX_USERNAME=nom d'utilisateur de la boîte aux lettres +INBOX_PASSWORD=mot de passe de la boîte aux lettres +INBOX_PREFIX= +INBOX_SUFFIX=@agora.example.org -`` ' +``` -### Préfixes et suffixes définissants -Vous devez remplir le préfixe et le suffixe.Deux cas là-bas: +### Définir les préfixes et les suffixes +Vous devez renseigner le préfixe et le suffixe. Il y a deux cas de figure : -- Pour un catch, tout il n'y a pas de préfixe.Le suffixe dans l'exemple ci-dessus serait `@ agora.example.org`.Cela créera des e-mails comme `Group-Slug @ agora.example.com` +- Pour un catch all, il n'y a pas de préfixe. Le suffixe dans l'exemple ci-dessus serait `@agora.example.org` . Cela créera des courriels comme `group-slug@agora.example.com` -- D'un autre côté, si vous utilisez "+" l'adressage (une boîte Gmail par exemple, appelons-le agorakit@gmail.com), +- En revanche, si vous utilisez l'adresse "+" (une boîte gmail par exemple, appelons-la agorakit@gmail.com), -- Le préfixe sera `agorakit +` -- Le suffixe sera `@ gmail.com` + - le préfixe sera `agorakit+` + - le suffixe sera `@gmail.com`. -Cela créera des e-mails comme `agorakit + groupe-slug @ gmail.com` + Cela créera des emails comme `agorakit+group-slug@gmail.com` -Si vous activez l'e-mail entrant, la boîte aux lettres sera automatiquement cochée et le courrier électronique traité sera placé dans un dossier "traité" dans la boîte de réception.Les e-mails échoués seront également placés dans un dossier "échoué" dans la boîte de réception pour l'inspection. +Si vous activez les emails entrants, la boîte aux lettres sera automatiquement vérifiée et les emails traités seront placés dans un dossier "processed" sous INBOX. Les courriels échoués seront également placés dans un dossier "failed" sous INBOX pour inspection. ## Authentification externe -INOF: L'authentification externe a été supprimée.J'ai peu de gens (le cas échéant) de la demander.Il s'agit d'une fonctionnalité d'invasion de confidentialité, donc aucun développement n'a été effectué sur le front. \ No newline at end of file +! !! info + L'authentification externe a été supprimée. Je n'ai que très peu (voire pas du tout) de personnes qui l'ont demandée. Il s'agit d'une fonctionnalité qui porte atteinte à la vie privée, c'est pourquoi aucun développement n'a été fait dans ce sens. N'hésitez pas à soumettre un PR si vous le souhaitez. + + diff --git a/docs/fr/artisan.md b/docs/fr/artisan.md index c843c60..6c6e3f9 100644 --- a/docs/fr/artisan.md +++ b/docs/fr/artisan.md @@ -1,16 +1,16 @@ -# Useful artisan commands +# Commandes artisanales utiles -Agorakit provides some useful [artisan](https://laravel.com/docs/7.x/artisan) commands : +Agorakit fournit quelques commandes [artisan](https://laravel.com/docs/7.x/artisan) utiles : -- `agorakit:checkmailbox` Check the configured email imap server to allow post by email functionality -- `agorakit:cleanupdatabase` Cleanup the database, delete forever soft deleted models and unverified users older than 30 days -- `agorakit:convertfiles` Convert the files from the old flat path based storage to the new storage, putting back their initila filename and moving the file to public directory. Use this **once** if you already have files on your install and if your install is older than november 2016. -- `agorakit:convertfolderstotags` Convert all folders to the new tag based system. Add the tags represneting parent folder to each file -- `agorakit:deletefiles` Delete files from storage after 30 days of deletion in database -- `agorakit:export` Export a group to a zip file (work in progress) -- `agorakit:import` Import a group from an Agorakit export zip file (work in progress) -- `agorakit:populatefilesize` Set filesize in the files table using real filesize from the filesystem. Use this if you installed agorakit before november 2017 -- `agorakit:sendnotifications` Sends all the pending notifications to all users who requested it. This might take time. Call this frequently to avoid trouble -- `agorakit:sendreminders` Sends all reminders to participants who asked for it - call exactly every 5 minutes, no more, no less :-) +- `agorakit:checkmailbox` Vérifier le serveur email imap configuré pour permettre la fonctionnalité de postage par email +- `agorakit:cleanupdatabase` Nettoie la base de données, supprime pour toujours les modèles supprimés et les utilisateurs non vérifiés de plus de 30 jours. +- `agorakit:convertfiles` Convertit les fichiers de l'ancien stockage basé sur le chemin plat vers le nouveau stockage, en remettant leur nom de fichier initial et en déplaçant le fichier vers le répertoire public. Utilisez ceci **une fois** si vous avez déjà des fichiers sur votre installation et si votre installation est antérieure à novembre 2016. +- `agorakit:convertfolderstotags` Convertit tous les dossiers au nouveau système basé sur les tags. Ajouter les tags représentant le dossier parent à chaque fichier. +- `agorakit:deletefiles` Supprime les fichiers du stockage après 30 jours de suppression dans la base de données. +- `agorakit:export` Exporter un groupe vers un fichier zip (travail en cours) +- `agorakit:import` Importer un groupe depuis un fichier zip d'exportation Agorakit (travail en cours) +- `agorakit:populatefilesize` Fixe la taille des fichiers dans la table des fichiers en utilisant la taille réelle du système de fichiers. A utiliser si vous avez installé Agorakit avant novembre 2017. +- `agorakit:sendnotifications` Envoie toutes les notifications en attente à tous les utilisateurs qui l'ont demandé. Cela peut prendre du temps. Appelez ceci fréquemment pour éviter les problèmes +- `agorakit:sendreminders` Envoie tous les rappels aux participants qui l'ont demandé - appeler exactement toutes les 5 minutes, ni plus, ni moins :-) -WARNING: Most of those commands are already used by the cron job, so they don't need to be called manually. But they might be useful for debugging and development. +ATTENTION : La plupart de ces commandes sont déjà utilisées par le job cron, elles n'ont donc pas besoin d'être appelées manuellement. Mais elles peuvent être utiles pour le débogage et le développement. diff --git a/docs/fr/contact.md b/docs/fr/contact.md index 18732dd..9c75211 100644 --- a/docs/fr/contact.md +++ b/docs/fr/contact.md @@ -1,3 +1,3 @@ -You can contact the Agorakit team directly on *info [at] agorakit [dot] org* +Vous pouvez contacter l'équipe d'Agorakit directement sur *info [at] agorakit [dot] org*. -You can also join the official developer's group here, on Agorakit of course : +Vous pouvez également rejoindre le groupe officiel de développeurs ici, sur Agorakit bien sûr : diff --git a/docs/fr/contribute.md b/docs/fr/contribute.md index eb18615..0801290 100644 --- a/docs/fr/contribute.md +++ b/docs/fr/contribute.md @@ -14,14 +14,14 @@ ## Vous êtes un développeur maîtrisant laravel/php/html/css/js ? - Vous êtes un développeur backend avec une expérience du framework Laravel : ajouter de nouvelles fonctionnalités, corriger des bugs, écrire des tests, tout documenter. J'accepte volontiers les pull requests si elles passent les tests unitaires et suivent la philosophie du projet. - Vous êtes un développeur frontend avec une expérience du framework Laravel : l'interface utilisateur actuelle n'est pas jolie, rendez-la brillante. Corrigez l'UX comme vous l'entendez. J'accepte volontiers les pull requests si elles passent les tests unitaires et suivent la philosophie du projet. Nous ne voulons pas que le projet devienne une application à une page propulsée par le dernier framework js "à la mode". -- Si vous avez un peu de temps à consacrer à ce projet, il y a déjà des problèmes à résoudre (voir https://github.com/agorakit/agorakit/issues). Que vous disposiez d'une heure par jour ou d'une heure par mois, votre aide est vraiment appréciée ! Et rappelez-vous, "la parole est d'argent, le code est d'or" :-) -- Parlons-en dans la file d'attente des problèmes si votre idée implique de gros changements. +- Si vous avez du temps à consacrer à ce projet, il y a déjà des problèmes à résoudre (voir https://github.com/agorakit/agorakit/issues). Que vous disposiez d'une heure par jour ou d'une heure par mois, votre aide est vraiment appréciée ! Et rappelez-vous, "la parole est d'argent, le code est d'or" :-) +- Parlons-en dans la file d'attente des problèmes si votre idée implique des changements importants. Créez une branche de la branche principale, travaillez sur votre branche et créez une demande d'extraction lorsque vous êtes prêt. Voir http://scottchacon.com/2011/08/31/github-flow.html ## Soutien financier -- Envisagez de faire un don pour m'aider à travailler dessus (voir https://agorakit.org) -- Aidez-moi à trouver des moyens de soutenir financièrement le projet (parrainage, subventions publiques, etc.). +- Envisagez de faire un don pour m'aider à travailler sur le projet (consultez https://agorakit.org) +- Aidez-moi à trouver des moyens de soutenir financièrement le projet (sponsoring, subventions publiques, etc.) - Le soutien financier est la clé pour offrir une version hébergée gratuite à l'avenir pour les groupes qui n'ont pas les moyens de payer. ## Licence @@ -29,5 +29,4 @@ Tout le travail est open source (AGPL) - Votre travail bénéficiera à toute initiative citoyenne intéressée. Nous avons déjà des milliers d'utilisateurs qui pourraient bénéficier de votre aide. Le travail est réalisé sous licence AGPL. - Cela signifie également que si vous utilisez cette base de code, vous devez contribuer à vos modifications. -N'hésitez pas à envoyer un message à info (at) agorakit.org si vous êtes intéressé ou si vous avez des questions. - +N'hésitez pas à envoyer un message à info (at) agorakit.org si vous êtes intéressé ou si vous avez des questions. \ No newline at end of file diff --git a/docs/fr/development.md b/docs/fr/development.md index cea0d7e..a5f877b 100644 --- a/docs/fr/development.md +++ b/docs/fr/development.md @@ -1,66 +1,66 @@ -# Contributing to Agorakit +# Contribuer à Agorakit -You want to contribute to the project? Great! Any idea is welcome. +Vous voulez contribuer au projet ? C'est très bien ! Toute idée est la bienvenue. -- Please discuss the bug or feature request in the issue queue first. -- Check the licence (AGPL) to see if it fits your contribution model -- Follow Laravel best practices -- We use Unpoly js for spa like functionality, read a bit about it since it's not as popular as other options (think of it as turbolinks on steroids) -- We use Bootstrap flavored by tabler.io +- Veuillez d'abord discuter du bogue ou de la demande de fonctionnalité dans la file d'attente des problèmes. +- Vérifiez la licence (AGPL) pour voir si elle correspond à votre modèle de contribution. +- Suivez les meilleures pratiques de Laravel +- Nous utilisons Unpoly js pour les fonctionnalités de type spa, lisez un peu à son sujet car il n'est pas aussi populaire que les autres options (pensez-y comme des turbolinks sur les stéroïdes). +- Nous utilisons Bootstrap aromatisé par tabler.io -# Developement server +# Serveur de développement -## Using Laravel Sail -Sail is a docker wrapper to ease local development. It's a really cool and easy way to have a perfect local server for devs. -Laravel sail works out of the box in this project. Read the Sail documentation for more informations. +## Utilisation de Laravel Sail +Sail est un wrapper docker pour faciliter le développement local. C'est un moyen vraiment cool et facile d'avoir un serveur local parfait pour les développeurs. +Laravel Sail fonctionne d'emblée dans ce projet. Lisez la documentation de Sail pour plus d'informations. -This is what I use on my main workstation (linux based) since it's very reproductible. +C'est ce que j'utilise sur ma station de travail principale (basée sur linux) car c'est très reproductible. -Basically, `sail up` will start a developement server +En gros, `sail up` va démarrer un serveur de développement -## Using artisan serve +## Utilisation de artisan serve -If you want to start a local server for development: +Si vous voulez démarrer un serveur local pour le développement : $ php artisan serve -The install will be available to 127.0.0.1:8000 +L'installation sera disponible pour 127.0.0.1:8000 -There are a lot of other options, check the laravel doc and ecosystem to have an overview of the options for local developement. +Il y a beaucoup d'autres options, consultez la documentation et l'écosystème de Laravel pour avoir une vue d'ensemble des options pour le développement local. -# Seed the DB -First follow the installation instructions including the creation of sample content using : +# Création de la base de données +Suivez d'abord les instructions d'installation, y compris la création d'un échantillon de contenu en utilisant : $ php artisan db:seed -# Working on design and css +# Travailler sur le design et les css -I ditched all build steps, now everything happens in a flat custom.css file. +J'ai supprimé toutes les étapes de construction, maintenant tout se passe dans un fichier custom.css plat. -All external JS and CSS are served from various CDN's. At some point the files will be re-served from local, when everything will be stabilized, and if there are real benefits of doing so. +Tous les JS et CSS externes sont servis par différents CDN. A un moment donné, les fichiers seront re-servis en local, quand tout sera stabilisé, et s'il y a de réels avantages à le faire. -No npm, no node, no tailwind, no purge, no minifier, no trouble :) +Pas de npm, pas de node, pas de tailwind, pas de purge, pas de minifier, pas de problème :) -# Testing your code +# Tester votre code -Agorakit is tested using the Laravel testing framework. +Agorakit est testé en utilisant le framework de test Laravel. -In order to test, you need to have an existing testing database. Just create an additional empty DB, for instance agorakit_testing and check in the phpunit.xml file that everything matches. +Pour tester, vous devez avoir une base de données de test existante. Il suffit de créer une nouvelle base de données vide, par exemple agorakit_testing et de vérifier dans le fichier phpunit.xml que tout correspond. -Before comiting code, you should either write more tests (in this case you deserve a cookie). Or at least check that you didn't break anything by simply typing:: +Avant de commencer le code, vous devriez soit écrire plus de tests (dans ce cas, vous méritez un cookie). Ou au moins vérifier que vous n'avez rien cassé en tapant simplement: : php artisan test -...in the root of your project. +...à la racine de votre projet. -No error should appear (provided that you have everything correctly set up. +Aucune erreur ne devrait apparaître (à condition que tout soit correctement configuré). -We use travis ci to run all those tests on commit so it will be done automatically for you at some point :-) +Nous utilisons travis ci pour exécuter tous ces tests lors du commit, donc cela sera fait automatiquement pour vous à un moment donné :-) -# Writing tests +# Ecriture des tests -Don't hesitate to write tests. We favor well defined tasks an end user would really accomplish, like registering, creating an account, posting, uploading, etc... It has served us very well in the past to spot errors and it really mirrors real use cases. Although we are open to other kind of tests as well... +N'hésitez pas à écrire des tests. Nous privilégions les tâches bien définies qu'un utilisateur final accomplirait réellement, comme l'inscription, la création d'un compte, la publication, le téléchargement, etc... Cela nous a très bien servi dans le passé pour repérer les erreurs et cela reflète vraiment les cas d'utilisation réels. Bien que nous soyons ouverts à d'autres types de tests... diff --git a/docs/fr/documentation.md b/docs/fr/documentation.md index 17f2e74..a4b14b3 100644 --- a/docs/fr/documentation.md +++ b/docs/fr/documentation.md @@ -1,19 +1,19 @@ -# Contribute to the documentation +# Contribuer à la documentation -Documentation is written in markdown and the website is statically built using [Mkdocs material](https://squidfunk.github.io/mkdocs-material/) +La documentation est écrite en markdown et le site web est construit statiquement en utilisant [Mkdocs material](https://squidfunk.github.io/mkdocs-material/) -NOTE: New languages, better wording, new sections, more visuals, any fixes even small ones are welcome! +NOTE : Nouveaux langages, meilleure formulation, nouvelles sections, plus de visuels, toutes les corrections même petites sont les bienvenues ! -## How to contribute ? -- Create a Github account -- Fork the Agorakit repository -- Edit the documentation files in the /docs/ directory -- Create a pull request to ask your changes to be merged +## Comment contribuer ? +- Créer un compte Github +- Créer un dépôt Agorakit (Fork) +- Editez les fichiers de documentation dans le répertoire /docs/. +- Créez une pull request pour demander à ce que vos changements soient fusionnés -TIP: Using [Visual Studio Code](https://code.visualstudio.com/) to work on code and markdown files is a reasonably simple option. You additionaly get a built in user interface for git and github integration, which is nice for beginners. +CONSEIL : L'utilisation de [Visual Studio Code] (https://code.visualstudio.com/) pour travailler sur du code et des fichiers markdown est une option raisonnablement simple. Vous disposez en outre d'une interface utilisateur intégrée pour l'intégration de git et de github, ce qui est intéressant pour les débutants. -## How to build the docs ? -Install mkdocs material and a few plugins. +## Comment construire la documentation ? +Installez mkdocs material et quelques plugins. pip install mkdocs-material @@ -21,23 +21,23 @@ Install mkdocs material and a few plugins. pip install mkdocs-static-i18n -Then start the built-in webserver to preview your work on the documentation. +Démarrez ensuite le serveur web intégré pour prévisualiser votre travail sur la documentation. mkdocs serve -The documentation is currently served by github pages. The workflow for publication is localted here : https://github.com/agorakit/documentation/actions/workflows/ci.yml +La documentation est actuellement servie par des pages github. Le processus de publication est localisé ici : https://github.com/agorakit/documentation/actions/workflows/ci.yml -How this works ? -Each time a commit is made on main or master branch, the doc are built using https://github.com/mhausenblas/mkdocs-deploy-gh-pages -(this is a git action that does the work for us) +Comment cela fonctionne-t-il ? +A chaque fois qu'un commit est fait sur la branche principale ou master, la documentation est construite en utilisant https://github.com/mhausenblas/mkdocs-deploy-gh-pages +(c'est une action git qui fait le travail pour nous) -The resulting files are put into the GH-branch of the documentation repository which is then serbed using the github "pages" feature. +Les fichiers résultants sont placés dans la branche GH du dépôt de documentation qui est ensuite sérialisée en utilisant la fonctionnalité "pages" de github. -It's a bit painful to configure but it seems that once done, it works. +C'est un peu difficile à configurer mais il semble qu'une fois que c'est fait, ça fonctionne. -See https://squidfunk.github.io/mkdocs-material/getting-started/ for more informations on how the documentation builder works. +Voir https://squidfunk.github.io/mkdocs-material/getting-started/ pour plus d'informations sur le fonctionnement du constructeur de documentation. diff --git a/docs/fr/first_steps.md b/docs/fr/first_steps.md index 1420773..3e58e91 100644 --- a/docs/fr/first_steps.md +++ b/docs/fr/first_steps.md @@ -1,10 +1,10 @@ -# First steps after installation +# Premiers pas après l'installation -If you just installed Agorakit on a server, take some time to configure it correctly for your use case. +Si vous venez d'installer Agorakit sur un serveur, prenez le temps de le configurer correctement pour votre cas d'utilisation. -## Introduction text on the homepage -Set an intro text on the homepage for newcomers : go to the admin page from your user profile dropdown. -Using the editor you can add external images and whatever you want. +## Texte d'introduction sur la page d'accueil +Définissez un texte d'introduction sur la page d'accueil pour les nouveaux arrivants : allez sur la page d'administration à partir du menu déroulant de votre profil d'utilisateur. +En utilisant l'éditeur, vous pouvez ajouter des images externes et tout ce que vous voulez. -## Check all the admin settings -Go to the admin menu (from your user profile dropdown) and check all the settings there. Pay attention to the various permissions and group types you allow on your server. +## Vérifier tous les paramètres d'administration +Allez dans le menu d'administration (à partir du menu déroulant de votre profil d'utilisateur) et vérifiez tous les paramètres qui s'y trouvent. Faites attention aux différentes permissions et aux types de groupes que vous autorisez sur votre serveur. diff --git a/docs/fr/group.md b/docs/fr/group.md index db38cff..476ccc0 100644 --- a/docs/fr/group.md +++ b/docs/fr/group.md @@ -1,42 +1,56 @@ -# Créer un groupe et le gérer +# Créez et gérez vos groupes -Un groupe sur Agorakit est en général représentatif d'un groupe de personnes qui souhaitent travailler ensemble. Il peut aussi s'agir d'un groupe autour d'un projet précis voire d'une action à mener ensemble avec un objectif à court terme. A vous de voir comment vous structurer. Dans tous les cas, il n'est pas problématique de créer beaucoup de groupes si vous avez réellement beaucoup de personnes organisées. Techniquement un groupe ne représente que très peu d'information, ce qui fait qu'un nombre élevé de groupes ne va pas allourdir votre instance. +## Créer des groupes -La création d'un groupe sur Agorakit est très simple. -Cliquez simplement sur le menu `Groupes > Créer un groupe` en remplissez le formulaire. +Créez un ou plusieurs groupes. Un groupe de bienvenue et un groupe de test sont souvent utiles. -Une fois votre groupe créé, vous pouvez gérer différentes choses à partir du menu d'administration du groupe (le dernier menu de navigation du groupe intitulé `Gérer`). +Vous pouvez choisir le type de groupe à créer -## Le menu *Configuration* -Vous permet simplement de : -- remodifier la description du groupe -- ajouter une image de couverture -- changer le type de groupe -- archiver ou épingler le groupe (si vous êtes administrateur d'instance) +- Un groupe ouvert a un contenu public et est ouvert aux adhésions +- Un groupe privé a un contenu privé et l'adhésion se fait uniquement sur invitation (l'administrateur doit accepter les nouveaux membres). +- Un groupe secret n'est visible que par les membres existants. Parfait pour votre prochaine intrigue :-) -Epingler le groupe va le mettre en haut des listes -Archiver va au contraire le mettre en bas des listes et empêcher certaines interractions. +! !! note + Les prochaines versions d'Agorakit pourraient inclure un contrôle plus granulaire des types de groupes et de l'accès aux membres. Votre contribution est précieuse pour améliorer cette partie. -## Le menu *Tags* -Ce menu tags vous permet de gérer les tags utilisables dans votre groupe ou de laisser libre la gestion des tags. -Voir la page [Utiliser des tags pour s'y retrouver](/fr/tags) +## Paramètres du groupe +Si vous êtes administrateur d'un groupe, vous aurez un onglet "admin" sur le(s) groupe(s) que vous gérez. Vous pouvez y gérer beaucoup de choses dans votre groupe. -## Le menu *Fonctionalités* -Ce menu vous permet d'activer ou désactiver certaines fonctionalités de votre groupe. Vous pouvez par exemple désactiver l'agenda ou les discussions en fonction de l'usgae que vous faites de votre groupe. +### Le menu "configuration +Cet onglet vous permet d'ajouter une description à votre groupe, de définir les tags du groupe, de définir un emplacement (adresse) et de définir le type de groupe (voir ci-dessus). -Ce menu vous permet également d'ajouter une entrée de menu supplémentaire à votre groupe, vous permettant ainsi d'intégrer un outil tel que visioconférence, framadate ou tout autre outil spécifique que vous utilisez régulièrement. +### Le menu "tags +Ce menu vous permet de choisir la stratégie de marquage que vous souhaitez pour votre groupe : -L'intégration se fait par un code html personalisé, utilisant soit un javascript soit un iframe en fonction de l'outil choisi. Cette fonctionalité est amenée à évoluer enfonction des besoins réels des groupes. Vous pourriez par exmeple l'utiliser pour y insérer une charte de fonctionnement. +- Balisage libre : tout le monde peut baliser le contenu avec n'importe quelle étiquette. +- Tagging contrôlé : vous décidez quels tags sont autorisés dans votre groupe. -WARNING: Tout code html peut être intégré, faites donc attention à ce que vous insérez afin de ne pas casser le layout. Cette fonction est à destination des utilisateur.trices avancé.e.s +! !! note + Bien que le balisage libre soit agréable, il est souvent préférable de se fixer ensemble un ensemble de balises et de s'y tenir dans votre groupe. "Moins c'est plus" et "chacun a une façon différente d'organiser le contenu, alors tenons-nous en à une seule façon de le faire". -## Le menu *Permissions* -Vous pouvez ici limiter ce que les membres du groupe peuvent faire. L'interface est très simple il suffit de décocher les actions que vous voulez restreindre. +Les administrateurs de groupe peuvent également définir des couleurs pour les balises. Les couleurs sont partagées entre les groupes. -INFO: Ce menu est amené à évoluer en fonction de vos besoins. +### Le menu "fonctionnalités +Ce menu vous permet d'activer et de désactiver les onglets disponibles dans votre groupe. Vous pouvez ainsi activer ou désactiver : -## Le menu *Statistiques* -Ce menu vous propose quelques graphiques d'évolution de votre groupe. +- Discussions +- Le calendrier +- Fichiers +- Membres +- Carte -## Menu *Effacer* -Comme son nom l'indique il permet d'effacer votre groupe. Faites donc attention. +Vous avez également la possibilité d'ajouter un onglet personnalisé à votre groupe, avec une icône et un code HTML personnalisés. Utilisez-le pour inclure du contenu supplémentaire qui doit être partagé par tous les membres du groupe. + +### Le menu "permissions +Ce menu vous permet de choisir ce que les membres peuvent faire ou ne pas faire dans votre groupe. C'est assez explicite, il suffit de cocher les permissions que vous souhaitez accorder aux membres réguliers de votre groupe. Par défaut, les membres ont toutes les permissions. + +### Le menu "insights +Ce menu vous montre des statistiques intéressantes sur vos groupes ainsi que de jolis graphiques. + +## Inviter des personnes +Invitez des personnes à un ou plusieurs groupes en utilisant la fonction d'invitation de chaque groupe. Vous pouvez également ajouter des personnes directement si elles sont déjà inscrites sur votre installation. Ceci est particulièrement utile si les gens ont du mal à confirmer leur adresse email et leur appartenance à un groupe (croyez-moi, cela arrive). + +## Adhésions +Sur cette page, vous pouvez voir et exporter la liste des membres de votre groupe. Vous pouvez également vérifier si tout le monde a accepté une invitation à rejoindre un groupe. + +REMARQUE : le champ "Dernière activité" indique la dernière fois que quelqu'un a **écrit** quelque chose et non la dernière fois que quelqu'un s'est connecté au système. Cela peut induire en erreur. diff --git a/docs/fr/index.md b/docs/fr/index.md index 6bbc375..2eed422 100644 --- a/docs/fr/index.md +++ b/docs/fr/index.md @@ -1,22 +1,22 @@ -# Agorakit : collective's collaboration simplified +# Agorakit : la collaboration collective simplifiée -Agorakit is an **open source**, **web based** groupware for **collectives**. It allows groups to communicate, organize events and store their files. It keeps everyone in your collaborative group updated with a discussion forum, agenda for events, file manager and email notifier. +Agorakit est un collecticiel **open source**, **web based** pour **collectifs**. Il permet aux groupes de communiquer, d'organiser des événements et de stocker leurs fichiers. Il permet à tous les membres de votre groupe collaboratif de se tenir au courant grâce à un forum de discussion, un agenda pour les événements, un gestionnaire de fichiers et un notificateur d'emails. -And most of the time Agorakit doesn't need an admin, keeping the process **as horizontal as possible**. +La plupart du temps, Agorakit n'a pas besoin d'administrateur, ce qui rend le processus **aussi horizontal que possible**. -## Trying Agorakit -If you want to try Agorakit without installing it, go to , **create an account there and create or join some groups**. +## Essayer Agorakit +Si vous voulez essayer Agorakit sans l'installer, allez sur , **créez un compte et créez ou rejoignez des groupes**. -## How to install Agorakit? -As a server admin , you might want to [install](install.md) and later [upgrade](upgrade.md) Agorakit. Agorakit is written in PHP using the Laravel framework. +## Comment installer Agorakit ? +En tant qu'administrateur de serveur, vous pourriez vouloir [installer](install.md) et plus tard [mettre à jour](upgrade.md) Agorakit. Agorakit est écrit en PHP en utilisant le framework Laravel. -## User guide -If you are group member looking for help, check the [user guide](usage.md). -If you are a group administrator on an new installation of Agorakit looking for help, check the [group owner quickstart](group.md). +## Guide de l'utilisateur +Si vous êtes membre d'un groupe et que vous avez besoin d'aide, consultez le [user guide](usage.md). +Si vous êtes administrateur d'un groupe sur une nouvelle installation d'Agorakit et que vous avez besoin d'aide, consultez le [group owner quickstart](group.md). -## Contributing -If you are looking for ways to contribute (great!), **check the [contribution guide](contribute.md)**. +## Contribuer +Si vous cherchez des moyens de contribuer (super !), **voyez le [guide de contribution](contribute.md)**. -NOTE: This documentation is written in markdown and built using Mkdocs-material. Your help is hugely appreciated on any front, including documentation :-) \ No newline at end of file +NOTE : Cette documentation est écrite en markdown et construite en utilisant Mkdocs-material. Votre aide est très appréciée sur tous les fronts, y compris la documentation :-) \ No newline at end of file diff --git a/docs/fr/install.md b/docs/fr/install.md index 8ca1bc6..7478097 100644 --- a/docs/fr/install.md +++ b/docs/fr/install.md @@ -1,96 +1,96 @@ # Installation -NOTE: **Trying Agorakit without installation** - If you are just looking to give Agorakit a try, you can do that without having to install it. Just create an account on , an Agorakit instance for citizen-activists and for evaluation purposes. +NOTE : **Essayer Agorakit sans l'installer** + Si vous souhaitez simplement essayer Agorakit, vous pouvez le faire sans avoir à l'installer. Il suffit de créer un compte sur , une instance d'Agorakit pour les citoyens-activistes et à des fins d'évaluation. - You can also get in touch with the developper if you are interested in managed hosting of a private Agorakit instance. Contact info [at] agorakit.org for more details. + Vous pouvez également contacter le développeur si vous êtes intéressé par l'hébergement géré d'une instance privée d'Agorakit. Contactez info [at] agorakit.org pour plus de détails. - Keep reading if you want to install an Agorakit instance on your own server. + Continuez à lire si vous souhaitez installer une instance d'Agorakit sur votre propre serveur. -## Requirements +## Exigences -You need a good web hosting provider that provides the following : +Vous avez besoin d'un bon fournisseur d'hébergement web qui fournit les éléments suivants : -- php >= 8 with the usual extensions -- Mysql or MariaDb or SQlite +- php >= 8 avec les extensions habituelles +- Mysql ou MariaDb ou SQlite - Composer - Git -- the ability to run cron jobs -- ssh access +- la possibilité d'exécuter des tâches cron +- accès ssh -NOTE: All those features together are hard to find, so people are obliged to use a VPS and setup everything themselves. This is a riskier proposal if you don't know how it works. We have been very successful with [Alwaysdata](https://www.alwaysdata.com) shared hosting. By the way they host at a reduced fee [the free instance of Agorakit](https://app.agorakit.org). +NOTE : Toutes ces fonctionnalités réunies sont difficiles à trouver, c'est pourquoi les gens sont obligés d'utiliser un VPS et de tout configurer eux-mêmes. C'est une proposition plus risquée si vous ne savez pas comment cela fonctionne. Nous avons eu beaucoup de succès avec l'hébergement partagé [Alwaysdata] (https://www.alwaysdata.com). Ils hébergent d'ailleurs à un tarif réduit [l'instance gratuite d'Agorakit](https://app.agorakit.org). -## Install +## Installer -Currently, you need to know how to install a Laravel application using the command line. -This is perfectly standard and documented here : https://laravel.com/docs/master/installation. +Actuellement, vous devez savoir comment installer une application Laravel en utilisant la ligne de commande. +Ceci est parfaitement standard et documenté ici : https://laravel.com/docs/master/installation. -### Clone the repository +### Cloner le dépôt git clone https://github.com/agorakit/agorakit -This will create an `agorakit` directory in the current path. +Cela créera un répertoire `agorakit` dans le chemin courant. -### Create the .env file -All settings are stored in a .env file. This file is not provided in the Git repository, because it is specific to your installation, and because you don't want your configuration to be overwritten when doing an upgrade :-) +### Créer le fichier .env +Tous les paramètres sont stockés dans un fichier .env. Ce fichier n'est pas fourni dans le dépôt Git, parce qu'il est spécifique à votre installation, et parce que vous ne voulez pas que votre configuration soit écrasée lors d'une mise à jour :-) -Create and edit the configuration file from the example file provided: +Créez et éditez le fichier de configuration à partir du fichier d'exemple fourni : cp .env.example .env nano .env -Nano is a simple text editor available on most servers. Feel free to use something else to edit your .env file. +Nano est un simple éditeur de texte disponible sur la plupart des serveurs. N'hésitez pas à utiliser autre chose pour éditer votre fichier .env. -### Setup your database credentials +### Configurer les informations d'identification de la base de données -NOTE: You need to set at least your database credentials & site name. Check that your database exists and is reachable with those credentials. +NOTE : Vous devez au moins définir les identifiants de votre base de données et le nom de votre site. Vérifiez que votre base de données existe et qu'elle est accessible avec ces identifiants. ``` -APP_ENV=local // local or production -APP_DEBUG=true // show the debugbar and extended errors or not -APP_KEY=SomeRandomString // will be auto generated -APP_NAME='Agorakit' // name of your application -APP_URL=http://locahost // base url -APP_LOG=daily // log rotation -APP_DEFAULT_LOCALE=en // default locale when not detected from user browser - -DB_HOST=localhost // host of your mysql server -DB_DATABASE=agorakit // db name of your sql DB -DB_USERNAME=root // login of mysql -DB_PASSWORD= // password of mysql - -CACHE_DRIVER=file // driver to use for caching -SESSION_DRIVER=file // driver to use for storing sessions -QUEUE_DRIVER=sync // driver to use for queues +APP_ENV=local // local ou production +APP_DEBUG=true // affiche ou non la barre de débogage et les erreurs étendues +APP_KEY=SomeRandomString // sera généré automatiquement +APP_NAME='Agorakit' // nom de votre application +APP_URL=http://locahost // url de base +APP_LOG=daily // rotation du journal +APP_DEFAULT_LOCALE=en // locale par défaut si elle n'est pas détectée par le navigateur de l'utilisateur + +DB_HOST=localhost // hôte de votre serveur mysql +DB_DATABASE=agorakit // nom de votre base de données SQL +DB_USERNAME=root // login de mysql +DB_PASSWORD= // mot de passe de mysql + +CACHE_DRIVER=file // driver à utiliser pour la mise en cache +SESSION_DRIVER=file // pilote à utiliser pour stocker les sessions +QUEUE_DRIVER=sync // pilote à utiliser pour les files d'attente ``` -### Setup email sending +### Configurer l'envoi d'emails -You can now configure your mail server. For the mail driver you can use `mail` to use php built in mail function or `smtp` to use any smtp server. Choose the right port (on most servers this is 25), host and username / password. +Vous pouvez maintenant configurer votre serveur de messagerie. Pour le pilote de messagerie, vous pouvez utiliser `mail` pour utiliser la fonction de messagerie intégrée de php ou `smtp` pour utiliser n'importe quel serveur smtp. Choisissez le bon port (sur la plupart des serveurs, il s'agit de 25), l'hôte et le nom d'utilisateur / mot de passe. ``` -MAIL_DRIVER=mail // driver to use for sending emails. Use mail to use php built-in mail function -MAIL_HOST=mailtrap.io // hostname if you use smtp for sending mails -MAIL_PORT=2525 // port if you use smtp for sending mails -MAIL_USERNAME=null // login if you use smtp for sending mails -MAIL_PASSWORD=null // password if you use smtp for sending mails -MAIL_ENCRYPTION=null // encryption if you use smtp for sending mails - -MAIL_FROM=admin@localhost // from email adress used when sending admin emails -MAIL_FROM_NAME=Agorakit // name of sender of admin emails -MAIL_NOREPLY=noreply@localhost // no reply adress for service messages - -MAPBOX_TOKEN=null // Create a Mapbox account and generate a token to enable geolocalisation and display maps +MAIL_DRIVER=mail // pilote à utiliser pour envoyer des emails. Utilisez mail pour utiliser la fonction mail intégrée de php +MAIL_HOST=mailtrap.io // nom d'hôte si vous utilisez smtp pour envoyer des mails +MAIL_PORT=2525 // port si vous utilisez smtp pour envoyer des mails +MAIL_USERNAME=null // login si vous utilisez smtp pour envoyer des mails +MAIL_PASSWORD=null // mot de passe si vous utilisez smtp pour envoyer des mails +MAIL_ENCRYPTION=null // cryptage si vous utilisez smtp pour envoyer des mails + +MAIL_FROM=admin@localhost // adresse email utilisée pour l'envoi d'emails d'administration +MAIL_FROM_NAME=Agorakit // nom de l'expéditeur des emails d'administration +MAIL_NOREPLY=noreply@localhost // pas d'adresse de réponse pour les messages de service + +MAPBOX_TOKEN=null // Créer un compte Mapbox et générer un jeton pour permettre la géolocalisation et l'affichage des cartes. ``` -TIP: You need a working email server to be able to verify any registered user account. If you cannot verify your user account, you can always set the column `verified` to `1` inside the `users` table. +ASTUCE : Vous devez disposer d'un serveur de courrier électronique opérationnel pour pouvoir vérifier tout compte utilisateur enregistré. Si vous ne pouvez pas vérifier votre compte utilisateur, vous pouvez toujours mettre la colonne `verified` à `1` dans la table `users`. -### Install the packages +### Installer les paquets -Download all the packages needed: +Téléchargez tous les paquets nécessaires : ``` composer install @@ -98,58 +98,58 @@ composer install -### Generate a key +### Générer une clé ``` php artisan key:generate ``` -This is a very important step since the key is used to generate various tokens and sessions. +Cette étape est très importante car la clé est utilisée pour générer différents tokens et sessions. -### Create the tables in the DB +### Créer les tables dans la base de données -Migrate (create all tables in) the database: +Migrer (créer toutes les tables dans) la base de données : ``` php artisan migrate ``` -### Link file storage +### Stockage des fichiers de liens -Link the storage public folder to the user visible public folder: +Lier le dossier public de stockage au dossier public visible par l'utilisateur : ``` php artisan storage:link ``` -### Create dummy content +### Créer un contenu factice -(Optional) Create sample content the database: +(Facultatif) Créer un exemple de contenu dans la base de données : ``` php artisan db:seed ``` -!!! warning - Don't do this last step for a production install since it will create an admin user with default password and dummy groups and content. +! !! avertissement + Ne faites pas cette dernière étape pour une installation en production car elle créera un utilisateur admin avec un mot de passe par défaut et des groupes et contenus factices. -## Setup your web server +## Configurez votre serveur web -You can now setup your web server to serve the `/public` directory. This is very important, since you don't want to expose the rest of the directories (for example you DON'T want to expose your .env file!) +Vous pouvez maintenant configurer votre serveur web pour qu'il serve le répertoire `/public`. Ceci est très important, car vous ne voulez pas exposer le reste des répertoires (par exemple, vous ne voulez PAS exposer votre fichier .env !). -## Setup a cron job +## Configurer un job cron -A cron job is a task your server runs at specific intervals to run stuff in the background. +Une tâche cron est une tâche que votre serveur exécute à des intervalles spécifiques pour exécuter des choses en arrière-plan. -Agorakit needs to periodically do some tasks, like sending email summaries, celaning the DB, remove old versions of content, delete old files, etc... +Agorakit a besoin d'effectuer périodiquement certaines tâches, comme l'envoi de résumés par email, le nettoyage de la base de données, la suppression d'anciennes versions du contenu, la suppression d'anciens fichiers, etc... -The script `php artisan schedule:run` should be run at least every 5 minutes using a cron job. +Le script `php artisan schedule:run` doit être exécuté au moins toutes les 5 minutes en utilisant une tâche cron. -Follow Laravel cron documentation here : https://laravel.com/docs/master/scheduling +Suivez la documentation de Laravel cron ici : https://laravel.com/docs/master/scheduling -NOTE: Without cron job your application will **NOT** send summaries, clean the DB, remind users of upcoming events, etc. Cron jobs are required for correct opperation. +NOTE : Sans job cron, votre application n'enverra **PAS** de résumés, ne nettoiera pas la base de données, ne rappellera pas aux utilisateurs les événements à venir, etc. Les jobs cron sont nécessaires pour une exploitation correcte. diff --git a/docs/fr/sign_up.md b/docs/fr/sign_up.md index 423a2ce..f691ea2 100644 --- a/docs/fr/sign_up.md +++ b/docs/fr/sign_up.md @@ -1,12 +1,12 @@ -To use Agorakit, simply connect to the Agorakit server you are using. +Pour utiliser Agorakit, il suffit de se connecter au serveur Agorakit que vous utilisez. -This can be either the shared instance at https://app.agorakit.org ("name your price" instance available for your tests and for collectives), or a server you have installed or someone manages for you. +Il peut s'agir de l'instance partagée sur https://app.agorakit.org (instance "name your price" disponible pour vos tests et pour les collectifs), ou d'un serveur que vous avez installé ou que quelqu'un gère pour vous. -## Registering a new user -On most servers, you can freely create a new user account. If you cannot create an account on a particular server it means registration has been disabled. In this case you need an invitation from the server admin to join the server. +## Enregistrer un nouvel utilisateur +Sur la plupart des serveurs, vous pouvez librement créer un nouveau compte utilisateur. Si vous ne pouvez pas créer de compte sur un serveur particulier, cela signifie que l'enregistrement a été désactivé. Dans ce cas, vous devez recevoir une invitation de l'administrateur du serveur pour rejoindre le serveur. -## The special case of the first user account -If you register a user account on a new server (one without any existing user), you will be the server admin (super user) on this server. +## Le cas particulier du premier compte d'utilisateur +Si vous créez un compte utilisateur sur un nouveau serveur (sans utilisateur existant), vous serez l'administrateur du serveur (super utilisateur) sur ce serveur. -NOTE: You need to have email sending working in order to validate your account. +NOTE : L'envoi d'email doit fonctionner pour que votre compte puisse être validé. diff --git a/docs/fr/upgrade.md b/docs/fr/upgrade.md index 126f310..f37dde5 100644 --- a/docs/fr/upgrade.md +++ b/docs/fr/upgrade.md @@ -1,28 +1,28 @@ -# Upgrade Agorakit -It is important to keep an up to date installation of Agorakit. The process is safe +# Mise à jour d'Agorakit +Il est important de maintenir une installation d'Agorakit à jour. Le processus est sûr -We try to keep the master branch always in a good, safe, and working condition (this is called a "rolling release" model). +Nous essayons de garder la branche master toujours dans un bon état de fonctionnement (c'est ce qu'on appelle un modèle de "rolling release"). -That means that tests passes and that you get the latest features directly from the master branch. +Cela signifie que les tests sont réussis et que vous obtenez les dernières fonctionnalités directement à partir de la branche master. -WARNING: Make a backup of your SQL database in case something goes wrong. Make a backup of all your files as well. Make two backups even, and store them on a separate server. +ATTENTION : Faites une sauvegarde de votre base de données SQL au cas où quelque chose tournerait mal. Faites également une sauvegarde de tous vos fichiers. Faites même deux sauvegardes et stockez-les sur un serveur séparé. -INFO: You can choose between an automated update procedure from the command line, or a step by step to update manually. +INFO : Vous pouvez choisir entre une procédure de mise à jour automatisée à partir de la ligne de commande, ou une procédure de mise à jour manuelle étape par étape. -## Option 1 : Using the update script -There is a helper script that does the update for you : +## Option 1 : Utilisation du script de mise à jour +Il existe un script d'aide qui effectue la mise à jour pour vous : ``` ./update ``` -!!! warning - Beware that the script will migrate your database without asking for confirmation. Always make a backup of the database just in case something goes wrong. +! !! avertissement + Attention, le script migrera votre base de données sans vous demander confirmation. Faites toujours une sauvegarde de la base de données au cas où quelque chose se passerait mal. -## Option 2 : Proceed with the update manually -You can at anytime do this to update your install : +## Option 2 : Procéder à la mise à jour manuellement +Vous pouvez à tout moment procéder à la mise à jour de votre installation : ``` php artisan down @@ -33,19 +33,19 @@ php artisan up ``` -# If something goes wrong -Restore your database backup and git checkout a previous (working) version. Then re-run composer install. +# Si quelque chose ne va pas +Restaurez la sauvegarde de votre base de données et faites un git checkout d'une version précédente (fonctionnelle). Puis réexécutez composer install. -Contact us if an update fails (it never happened so this kind of failure is highly interesting information for the project). +Contactez-nous si une mise à jour échoue (cela n'est jamais arrivé, donc ce genre d'échec est une information très intéressante pour le projet). -# Version Specific Instructions -## Upgrade to 1.5 -After the normal update you might get an error mentioning duplicate username key in user table. +# Instructions spécifiques à la version +## Mise à jour vers la version 1.5 +Après la mise à jour normale, il se peut que vous obteniez une erreur mentionnant la duplication de la clé du nom d'utilisateur dans la table des utilisateurs. -Run `php artisan agorakit:enforceuniqueusernames` to fix the issue -Then re-run the update script. +Exécutez `php artisan agorakit:enforceuniqueusernames` pour corriger le problème. +Puis réexécutez le script de mise à jour. -This happens only on large installs and can be run multiple times without problem. It's a future proof fix for this issue. +Ceci n'arrive que sur les grosses installations et peut être exécuté plusieurs fois sans problème. C'est une solution à l'épreuve du temps pour ce problème. -!!! note - Most one time upgrades like the one mentionned above are now made inside migrations to reduce the amount of documentation you need to read in order to properly upgrade your installation. Sit back, relax, and enjoy automation at work :-) +! !! note + La plupart des mises à jour ponctuelles comme celle mentionnée ci-dessus sont maintenant effectuées dans le cadre de migrations afin de réduire la quantité de documentation que vous devez lire pour mettre à jour correctement votre installation. Asseyez-vous, détendez-vous et appréciez l'automatisation au travail :-) diff --git a/docs/fr/usage.md b/docs/fr/usage.md index 34f3c8d..44fc553 100644 --- a/docs/fr/usage.md +++ b/docs/fr/usage.md @@ -1,27 +1,27 @@ -# Using Agorakit +# Utilisation d'Agorakit -## Start discussions +## Démarrer les discussions -Each group allows one to create discussions. Within discussions and comments, you can use a special syntax to reference existing files and discussions, and mention users. +Chaque groupe permet de créer des discussions. Dans les discussions et les commentaires, vous pouvez utiliser une syntaxe spéciale pour faire référence à des fichiers et des discussions existants, et mentionner des utilisateurs. -- Just start typing @ to mention someone (autocomplete appears) +- Il suffit de taper @ pour mentionner quelqu'un (l'autocomplétion apparaît). -You may also directly attach a file to a discussion. Use the "Browse..." button below the discussion form to upload a file from your computer, attach it to the group, and mention it in the discussion in one go. +Vous pouvez également joindre directement un fichier à une discussion. Utilisez le bouton "Parcourir..." situé sous le formulaire de discussion pour télécharger un fichier depuis votre ordinateur, le joindre au groupe et le mentionner dans la discussion en une seule fois. -## Schedule events +## Programmer des événements -Each group has a calendar where you can add actions/events. You just need to set a start date and time, and an optional duration. If no duration is set, it is assumed to be 1 hour. +Chaque groupe dispose d'un calendrier dans lequel vous pouvez ajouter des actions/événements. Il vous suffit de définir une date et une heure de début, ainsi qu'une durée facultative. Si aucune durée n'est définie, elle est supposée être d'une heure. -## Upload files and share links -You can add file to groups directly in the files tab. Just upload one or more files, add some tags for organization. As explained above, you can also directly attach files to comments and discussions. +## Télécharger des fichiers et partager des liens +Vous pouvez ajouter des fichiers aux groupes directement dans l'onglet des fichiers. Il suffit de télécharger un ou plusieurs fichiers et d'ajouter quelques balises pour les organiser. Comme expliqué ci-dessus, vous pouvez également joindre directement des fichiers aux commentaires et aux discussions. -## Categorize content using tags +## Catégoriser le contenu à l'aide de balises -Tags (aka Labels) are very important to organize your content. You can tag anything in Agorakit (files, users, discussions, groups, actions). Group admins can either choose to use freeform tagging (anyone can choose any tag) or restrict the tags you can use in each group (more like github labels for example). +Les tags (ou étiquettes) sont très importants pour organiser votre contenu. Vous pouvez étiqueter n'importe quoi dans Agorakit (fichiers, utilisateurs, discussions, groupes, actions). Les administrateurs de groupes peuvent choisir d'utiliser des tags libres (n'importe qui peut choisir n'importe quel tag) ou restreindre les tags que vous pouvez utiliser dans chaque groupe (plus comme les labels github par exemple). -Once content is tagged, it can be found as a simple overview page, showing all tags and showing all content attached to a particular tag. Great to have a big overview of your groups. +Une fois que le contenu est étiqueté, il peut être trouvé comme une simple page d'aperçu, montrant tous les tags et montrant tous les contenus attachés à un tag particulier. C'est très pratique pour avoir une vue d'ensemble de vos groupes. -## Last step : profit ! +## Dernière étape : le profit ! -(or in some cases, revolution!) +(ou dans certains cas, révolution !) diff --git a/requirements.txt b/requirements.txt index 228ea18..56a3a33 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,5 @@ mkdocs-material mkdocs-static-i18n markdown-callouts +python-dotenv +deepl \ No newline at end of file diff --git a/translate.py b/translate.py new file mode 100644 index 0000000..ca15608 --- /dev/null +++ b/translate.py @@ -0,0 +1,46 @@ +import os +import deepl +from dotenv import load_dotenv + +# Charger les variables d'environnement à partir du fichier .env +load_dotenv() + +# Récupérer la clé API +deepl_api_key = os.getenv("DEEPL_API_KEY") + + + +def translate_markdown_files(input_dir, output_dir, src_lang='en', dest_lang='fr'): + if not os.path.exists(output_dir): + os.makedirs(output_dir) + + translator = deepl.Translator(deepl_api_key) + + for filename in os.listdir(input_dir): + if filename.endswith(".md"): + input_filepath = os.path.join(input_dir, filename) + output_filepath = os.path.join(output_dir, filename) + + with open(input_filepath, 'r', encoding='utf-8') as file: + content = file.read() + + try: + # Traduire le contenu + result = translator.translate_text(content, source_lang=src_lang, target_lang=dest_lang) + translated = result.text + + # Vérifier si la réponse est valide + if translated: + with open(output_filepath, 'w', encoding='utf-8') as file: + file.write(translated) + print(f"Translated {filename} to {dest_lang}") + else: + raise ValueError("La réponse de la traduction est vide ou mal formée.") + + except Exception as e: + print(f"Failed to translate {filename}: {e}") + + +input_directory = './docs/en' +output_directory = './docs/fr' +translate_markdown_files(input_directory, output_directory) \ No newline at end of file