diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..ec56fe3 --- /dev/null +++ b/404.html @@ -0,0 +1,922 @@ + + + +
+ + + + + + + + + + + + + + +This additional step allows you to have one mailbox for each group so members can post by email to create discussions and reply to discussions emails to create new comments.
+Note
+Inbound email support is experimental but in use on several instances. You might however experience bugs, please report them if it happens to your installation.
+Let's say you installed Agorakit on agora.example.org :
+# Inbox mail box server settings, use for incoming emails.
+# Set INBOX_DRIVER to null to disable this feature
+INBOX_DRIVER=imap
+INBOX_HOST=yourmailhost.tld
+INBOX_USERNAME=username of the mailbox
+INBOX_PASSWORD=password of the mailbox
+INBOX_PREFIX=
+INBOX_SUFFIX=@agora.example.org
+
You need to fill prefix and suffix. Two cases there :
+For a catch all there is no prefix. The suffix in the above example would be @agora.example.org
. This will create emails like group-slug@agora.example.com
On the other hand if you use "+" addressing (a gmail box for instance, let's call it agorakit@gmail.com),
+agorakit+
@gmail.com
This will create emails like agorakit+group-slug@gmail.com
If you enable inbound email, the mailbox will be automatically checked and processed email will be put in a "processed" folder under INBOX. Failed emails will be similarly put a "failed" folder under INBOX for inspection.
+Info
+External authentification has been removed. I have fery few (if any) people ask for it. It is a privacy invading feature so no developement has been done on ths front. Feel free to submit PR if you want this.
+Agorakit provides some useful artisan commands :
+agorakit:checkmailbox
Check the configured email imap server to allow post by email functionalityagorakit:cleanupdatabase
Cleanup the database, delete forever soft deleted models and unverified users older than 30 daysagorakit: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 fileagorakit:deletefiles
Delete files from storage after 30 days of deletion in databaseagorakit: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 2017agorakit:sendnotifications
Sends all the pending notifications to all users who requested it. This might take time. Call this frequently to avoid troubleagorakit:sendreminders
Sends all reminders to participants who asked for it - call exactly every 5 minutes, no more, no less :-)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.
+You can contact the Agorakit team directly on info [at] agorakit [dot] org
+You can also join the official developer's group here, on Agorakit of course : https://app.agorakit.org/groups/39
+ + + + + + + + + + + + + +++You'd like to contribute to agorakit? Thank you !
+
++There are tons of way to contribute, everything is highly appreciated.
+
Make a branch of the master branch, work on your branch and create a pull request when ready. See http://scottchacon.com/2011/08/31/github-flow.html
+All the work is open source (AGPL) +- Your work will benefit every interested citizen initiative. We already have 1000's of users who might benefit from your help. The work is made under the AGPL licence. +- It also means that if you use this codebase, you must contribute back your changes.
+Please drop a line to info (at) agorakit.org if you are interested or have any question.
+ + + + + + + + + + + + + +You want to contribute to the project? Great! Any idea is welcome.
+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.
+This is what I use on my main workstation (linux based) since it's very reproductible.
+Basically, sail up
will start a developement server
If you want to start a local server for development:
+$ php artisan serve
+
The install will be available to 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.
+First follow the installation instructions including the creation of sample content using :
+$ php artisan db:seed
+
I ditched all build steps, now everything happens in a flat custom.css file.
+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.
+No npm, no node, no tailwind, no purge, no minifier, no trouble :)
+Agorakit is tested using the Laravel testing framework.
+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.
+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::
+php artisan test
+
...in the root of your project.
+No error should appear (provided that you have everything correctly set up.
+We use travis ci to run all those tests on commit so it will be done automatically for you at some point :-)
+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...
+ + + + + + + + + + + + + +Documentation is written in markdown and the website is statically built using Mkdocs material
+Note
+New languages, better wording, new sections, more visuals, any fixes even small ones are welcome!
+Tip
+Using Visual Studio Code 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.
+Install mkdocs material and a few plugins.
+pip install mkdocs-material
+pip install markdown-callouts
+pip install mkdocs-static-i18n
+
Then start the built-in webserver to preview your work on the 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
+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)
+The resulting files are put into the GH-branch of the documentation repository which is then serbed using the github "pages" feature.
+It's a bit painful to configure but it seems that once done, it works.
+See https://squidfunk.github.io/mkdocs-material/getting-started/ for more informations on how the documentation builder works.
+ + + + + + + + + + + + + +If you just installed Agorakit on a server, take some time to configure it correctly for your use case.
+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.
+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.
+ + + + + + + + + + + + + +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 + 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.
+Disons que vous avez installé Agorakit sur 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
+
Vous devez renseigner le préfixe et le suffixe. Il y a deux cas de figure :
+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
En revanche, si vous utilisez l'adresse "+" (une boîte gmail par exemple, appelons-la agorakit@gmail.com),
+agorakit+
@gmail.com
.Cela créera des emails comme agorakit+group-slug@gmail.com
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.
+! !! 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.
+ + + + + + + + + + + + + +Agorakit fournit quelques commandes artisan utiles :
+agorakit:checkmailbox
Vérifier le serveur email imap configuré pour permettre la fonctionnalité de postage par emailagorakit: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èmesagorakit:sendreminders
Envoie tous les rappels aux participants qui l'ont demandé - appeler exactement toutes les 5 minutes, ni plus, ni moins :-)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.
+ + + + + + + + + + + + + +Vous pouvez contacter l'équipe d'Agorakit directement sur info [at] agorakit [dot] org.
+Vous pouvez également rejoindre le groupe officiel de développeurs ici, sur Agorakit bien sûr : https://app.agorakit.org/groups/39
+ + + + + + + + + + + + + +++Vous souhaitez contribuer à agorakit ? Merci d'avance !
+
++Il y a des tonnes de façons de contribuer, tout est très apprécié.
+
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
+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.
+ + + + + + + + + + + + + +La suppression de contenu sur Agorakit respecte une procédure qui permet de répondre à différents impératifs:
+Quand un contenu est effacé, celui-ci est marqué comme effacé dans la base de donnée et n'apparait plus. Un administrateur d'instance peut remettre en ligne un contenu effacé en se rendant dans le menu "admin > récupérer du contenu".
+Le contenu marqué comme effacé est définitivement effacé (physiquement) de la base de donnée après 30 jours. Il n'est plus possible après ce délai de récupérer le contenu.
+Si un utilisateur décide d'effacer son compte, il peut au choix :
+Les discussions qui ont des commentaires sont dans tous les cas assignées à l'utilisateur anonyme afin de ne pas perdre les contributions des autres utilisateurs. +Il n'est pas possible d'effacer individuellement une discussion sous laquelle il y a des commentaires.
+Un utilisateur qui est le seul administrateur d'un groupe ne peux pas quitter le groupe.
+Un administrateur d'instance peut restaurer tout contenu effacé pendant la période de rétention (30 jours par défaut). Il suffit de se rendre dans Admin > settings > recover content
et de choisir le ou les éléments à restaurer.
Si Agorakit est installé correctement (avec les tâches "cron" récurentes), la base de donnée va être automatiquement nettoyée afin d'être en conformité avec ce qui est indiqué ci-dessus. +Le nombre de jours de rétention des informations avant suppression définitive est configurable et fixé par défaut à 30.
+ + + + + + + + + + + + + +Vous voulez contribuer au projet ? C'est très bien ! Toute idée est la bienvenue.
+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.
+C'est ce que j'utilise sur ma station de travail principale (basée sur linux) car c'est très reproductible.
+En gros, sail up
va démarrer un serveur de développement
Si vous voulez démarrer un serveur local pour le développement :
+$ php artisan serve
+
L'installation sera disponible pour 127.0.0.1:8000
+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.
+Suivez d'abord les instructions d'installation, y compris la création d'un échantillon de contenu en utilisant :
+$ php artisan db:seed
+
J'ai supprimé toutes les étapes de construction, maintenant tout se passe dans un fichier custom.css plat.
+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.
+Pas de npm, pas de node, pas de tailwind, pas de purge, pas de minifier, pas de problème :)
+Agorakit est testé en utilisant le framework de test Laravel.
+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.
+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
+
...à la racine de votre projet.
+Aucune erreur ne devrait apparaître (à condition que tout soit correctement configuré).
+Nous utilisons travis ci pour exécuter tous ces tests lors du commit, donc cela sera fait automatiquement pour vous à un moment donné :-)
+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...
+ + + + + + + + + + + + + +Choisissez un groupe et depuis l'onglet "Discussions" vous pouvez "Créer une discussion". Mentionnez un titre et un texte au minimum. Vous pouvez aussi ajouter des mots clé ou tags afin de mieux classer les discussions et aider les autres à s'y retrouver.
+Dans l'éditeur de texte, vous pouvez joindre un fichier en le faisant glisser dessus ou en cliquant sur le bouton "image" qui permet non seulement d'insérer une image mais également tout type de fichier. Lors d'un "drag and drop" (glissé déposé de fichier), le système envoit automatiquement votre fichier et insère là où se trouve votre curseur une référence à ce fichier sous la forme d'un f:xx (xx étant la référence de votre fichier). Lors de l'affichage de votre discussion ou de votre commentaire, un apperçu du fichier sera automatiquement généré.
+Le fichier apparait également dans l'onbglet "fichiers" de votre groupe.
+Dans l'éditeur de texte, tapez simplement un @ , une liste des membres du groupe apparait et vous permet de mentionner une ou plusieurs personnes. Celles-ci recevront un mail instantanément avec votre commentaire. C'est pratique quand vous souhaitez avoir une réponse rapide à votre question.
+Cliquez simplement sur les troios petits points à droite de la discussion ou du commentaire en question : (...) et choisissez l'option "Effacer". +L'auteur.e d'un message peut toujours l'effacer. Un.e admin de groupe peux tout effacer.
+Warning
+Le fait d'effacer une discussion n'efface pas les fichiers joints à cette discussion.
+La documentation est écrite en markdown et le site web est construit statiquement en utilisant Mkdocs material
+NOTE : Nouveaux langages, meilleure formulation, nouvelles sections, plus de visuels, toutes les corrections même petites sont les bienvenues !
+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.
+Installez mkdocs material et quelques plugins.
+pip install mkdocs-material
+pip install markdown-callouts
+pip install mkdocs-static-i18n
+
Démarrez ensuite le serveur web intégré pour prévisualiser votre travail sur la documentation.
+mkdocs serve
+
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
+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)
+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.
+C'est un peu difficile à configurer mais il semble qu'une fois que c'est fait, ça fonctionne.
+Voir https://squidfunk.github.io/mkdocs-material/getting-started/ pour plus d'informations sur le fonctionnement du constructeur de documentation.
+ + + + + + + + + + + + + +Si vous venez d'installer Agorakit sur un serveur, prenez le temps de le configurer correctement pour votre cas d'utilisation.
+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.
+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.
+ + + + + + + + + + + + + +Créez un ou plusieurs groupes. Un groupe de bienvenue et un groupe de test sont souvent utiles.
+Vous pouvez choisir le type de groupe à créer
+! !! 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.
+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.
+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 de choisir la stratégie de marquage que vous souhaitez pour votre groupe :
+! !! 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".
+Les administrateurs de groupe peuvent également définir des couleurs pour les balises. Les couleurs sont partagées entre les groupes.
+Ce menu vous permet d'activer et de désactiver les onglets disponibles dans votre groupe. Vous pouvez ainsi activer ou désactiver :
+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.
+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.
+Ce menu vous montre des statistiques intéressantes sur vos groupes ainsi que de jolis graphiques.
+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).
+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.
+ + + + + + + + + + + + + +En fonction du type de communauté que vous souhaitez créer, vous avez à votre disposition différents types de groupes.
+Ces groupes sont ouverts à tout le monde, et leur contenu est public. N'importe qui peut se créer un compte sur l'instance et rejoindre un groupe public. Une petite icône de planète est affichée à côté du nom.
+Ces groupes sont sur invitation uniquement et leur contenu n'est pas public. Seul est visible la pag de présentation du groupe (comprenant la photo du groupe et le texte de description). Si le groupe autorise les utilisateurs à candidater, un onglet permet de le faire. Une petite icône de cadenas est affichée à côté du nom.
+Ces groupes sont totalement invisibles pour celles et ceux qui n'en connaissent pas l'existence. Si vous n'êtes pas invité à un tel groupe vous n'y avez pas accès. Une petite icône d'oeuil barré est affichée à côté du nom.
+ + + + + + + + + + + + + +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.
+La plupart du temps, Agorakit n'a pas besoin d'administrateur, ce qui rend le processus aussi horizontal que possible.
+Si vous voulez essayer Agorakit sans l'installer, allez sur https://app.agorakit.org, créez un compte et créez ou rejoignez des groupes.
+En tant qu'administrateur de serveur, vous pourriez vouloir installer et plus tard mettre à jour Agorakit. Agorakit est écrit en PHP en utilisant le framework Laravel.
+Si vous êtes membre d'un groupe et que vous avez besoin d'aide, consultez le user guide. +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.
+Si vous cherchez des moyens de contribuer (super !), voyez le guide de contribution.
+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 :-)
+ + + + + + + + + + + + + +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 https://app.agorakit.org, une instance d'Agorakit pour les citoyens-activistes et à des fins d'évaluation.
+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.
+
+Continuez à lire si vous souhaitez installer une instance d'Agorakit sur votre propre serveur.
+
Vous avez besoin d'un bon fournisseur d'hébergement web qui fournit les éléments suivants :
+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.
+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.
+git clone https://github.com/agorakit/agorakit
+
Cela créera un répertoire agorakit
dans le chemin courant.
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 :-)
+Créez et éditez le fichier de configuration à partir du fichier d'exemple fourni :
+cp .env.example .env
+nano .env
+
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.
+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 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
+
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 // 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.
+
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
.
Téléchargez tous les paquets nécessaires :
+ +Cette étape est très importante car la clé est utilisée pour générer différents tokens et sessions.
+Migrer (créer toutes les tables dans) la base de données :
+ +Lier le dossier public de stockage au dossier public visible par l'utilisateur :
+ +(Facultatif) Créer un exemple de contenu dans la base de données :
+ +! !! 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.
+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 !).
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 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...
+Le script php artisan schedule:run
doit être exécuté au moins toutes les 5 minutes en utilisant une tâche cron.
Suivez la documentation de Laravel cron ici : https://laravel.com/docs/master/scheduling
+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.
+ + + + + + + + + + + + + +Vous devez d'abord déterminer si vous utilisez l'agora partagée sur https://app.agorakit.org ou si vous utilisez l'agora de votre organisme. Dans le premier cas, allez simplement sur https://app.agorakit.org, dans le second cas, vous aurez reçu un lien pour vous connecter.
+La création de compte est très facile, vous devez simplement cliquer sur "S'enregistrer", mentionner votre nom et votre adresse mail. Vous recevrez directement un lien pour vous connecter dans votre boite mail. Vérifiez le dossier spam si vous navez rien reçu après quelques minutes.
+Cliquer sur le bouton connexion, entrez votre nom d'utilisateur.trice ou votre mail et votre mot de passe. Si vous avez oublié votre mot de passe, laissez la case 'mot de passe' vide, le système vous enverra un lien de connexion par mail.
+ + + + + + + + + + + + + +Pour utiliser Agorakit, il suffit de se connecter au serveur Agorakit que vous utilisez.
+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.
+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.
+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 : L'envoi d'email doit fonctionner pour que votre compte puisse être validé.
+ + + + + + + + + + + + + +Le classement du contenu est une science. On l'appelle la taxonomie. C'est aussi parfois l'enfer, surtout quand on travaille à plusieurs sur des fichiers.
+++Où se trouve le dernier PV? +Dans /premier-trimestre/réunions/2021 +ou dans /2021/premier-trimestre/pv ? +ou encore dans admin/pv/2021 ?
+
Ce type de question arrive fréquemment quand un groupe de personne classe différents documents dans une structure hiérarchique de dossiers. Chacun ayant sa logique de classement, les documents sont vites éparpillés et il devient très difficile de les retrouver.
+La solution proposée par Agorakit est d'utiliser les tags (ou mots clés) pour classer le contenu. Ceux-ci consistent en de simples mots clés que l'on peut appliquer au contenu. L'avantage est que l'on peut inventer un vocabulaire simple, éventuellement limité à quelques mots clés, et sans hiérarchie qui dépendrait trop de la logique de classement de chacun.
+Info
+Ainsi, un PV daté de 2021 sera simplement taggé PV
et 2021
et sera très facile à retrouver ultérieurement.
Les tags peuvent être appliqués à des personnes, à des groupes, des discussions, des événements et des fichiers.
+Le fait de cliquer sur un tag vous permet de voir tous les autres éléments taggés de la même façon.
+Info
+Celles et ceux qui le souhaitent peuvent néanmoins classer les fichiers par dossier. Une combinaison des deux systèmes est également envisageable. A vous de voir ce qui marche le mieux pour votre groupe.
+Mais les tags ne règlent pas tout. Si votre groupe est de taille importante ou que vous avez beaucoup de contenu, il est possible qu'un moment vous vous retrouviez avec trop de tags différents et non normalisés.
+Dans ce cas, mieux vaut confier réfléchir un instant aux tags réellement nécessaire et à limiter les tags disponibles dans votre groupe. Vous pouvez très facilement le faire en allant dans les réglages de votre groupe (Gérer > Tags
).
Idem pour les utilisateurs et les groupes, afin d'uniformiser les profils des personnes et surtout de permettre à chacun de retrouer quelqu'un en fonction de mots clés communs à tous, vous pouvez limiter les tags utilisables dans les profils utilisateurs dans le menu Admin > Settings
.
Il est important de maintenir une installation d'Agorakit à jour. Le processus est sûr
+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").
+Cela signifie que les tests sont réussis et que vous obtenez les dernières fonctionnalités directement à partir de la branche master.
+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 : 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.
+Il existe un script d'aide qui effectue la mise à jour pour vous :
+ +! !! 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.
+Vous pouvez à tout moment procéder à la mise à jour de votre installation :
+ +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.
+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).
+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.
+Exécutez php artisan agorakit:enforceuniqueusernames
pour corriger le problème.
+Puis réexécutez le script de mise à jour.
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 + 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 :-)
+ + + + + + + + + + + + + +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.
+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.
+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.
+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.
+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).
+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.
+(ou dans certains cas, révolution !)
+ + + + + + + + + + + + + +Agorakit dispose de différents types d'utilisateurs. Les voici par ordre de permissions, des plus étendues aux plus restreintes :
+Il s'agit d'une personne qui dispose de tous les droits d'accès à une instance (installation) d'Agorakit. Cette personne peut tout faire : +- accéder à tous les groupes y compris les groupes secrets +- modifier les réglages de l'installation +- modifier et effacer n'importe quel contenu
+Toute personne créant un groupe devient automatiquement administrateur de ce groupe. Cela permet de : +- modifier les réglages du groupe y compris les permissions des membres +- accéder à la liste complète des participants y compris leur adresse mail +- promouvoir n'importe quel membre au statut d'admin +- changer le statut de n'importe quel membre y compris le sortir du groupe +- modifier et effacer n'importe quel contenu du groupe
+Toute personne membre d'un groupe dispose au minimum de la permission de voir l'ensemble du contenu du groupe. Elle peut en plus, en fonction des permissions définies pour le groupe en question : +- créer des discussions +- créer des événements à l'agenda +- ajouter des fichiers +- inviter de nouveaux participants
+Dans le cas d'un groupe fermé : quand un utilisateur a été invité par mail à rejoindre un groupe, il reçoit le status d'invité. Dès qu'il confirme la demande, il devient membre effectif du groupe.
+Quand une personne demande à rejoindre un groupe fermé, elle a le statut de candidat. Un des administrateurs du groupe doit accepter ou refuser sa candidature.
+Ce statut est attribué aux personnes qui ont supprimé leur compte de l'instance Agorakit.
+Ce statut est attribué aux personnes qui ont refusé une invitation à rejoindre le groupe. Il est fortement conseillé de ne pas les recontacter à propos du groupe, selon leur souhait, sauf bien entendu si il s'agit d'une fausse manoeuvre de leur part :-)
+Ce statut est attribué à une personne qui ne peut plus rejoindre le groupe.
+ + + + + + + + + + + + + +Create one or more groups. A welcome and a test group are often useful.
+You can choose the type of group to create
+Note
+Future releases of Agorakit might include more granular control of group types and membership access. Your input is valuable to further enhance this part.
+If you are admin of a group, you will have an "admin" tab on the group(s) you manage. There you can manage a lot of things in yout group.
+This tab lets you add a description to your group, set the group tags, define a location (address) and set the group type (see above).
+This menu allows you to choose which tagging strategy you want in your group:
+Note
+Altough free tagging looks nice, it is often a good idea to settle on a fixed set of tags together and then stick to it in your group. "Less is more" and "everyone has a different way to organize content, so let's stick to one way of doing it".
+
Group admins may also define tag colors. The colors are shared among groups.
+This menu allows you to enable and disable the tabs available in your group. This way you can enable or disable :
+You have also the opportunity to add one custom tab to your group with a custom icon and custom HTML. Use it to include additional content that must be shared amongst all group members.
+This menu allows you to choose what members are able to do or not in your group. This is quite self explanatory, just check the permissions you want to allow for regular members in your group. By default members have all permissions.
+This one shows you some interesting stats about your groups and some nice graphs as well.
+Invite people to one or more groups using the invite feature of each group. You can also add people directly if the already registered on your install. This is particularly useful if people have a hard time to confirm their email address and membership (trust me it happens).
+On this page, you can view and export the list of members of your group. You can also check if everyone has accepted an invitation to join a group.
+Note
+The "Last activity" field shows the last time someone wrote something not the last time someone connected to the system. It might be misleading.
+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.
+And most of the time Agorakit doesn't need an admin, keeping the process as horizontal as possible.
+If you want to try Agorakit without installing it, go to https://app.agorakit.org, create an account there and create or join some groups.
+As a server admin , you might want to install and later upgrade Agorakit. Agorakit is written in PHP using the Laravel framework.
+If you are group member looking for help, check the user guide. +If you are a group administrator on an new installation of Agorakit looking for help, check the group owner quickstart.
+If you are looking for ways to contribute (great!), check the contribution guide.
+Note
+This documentation is written in markdown and built using Mkdocs-material. Your help is hugely appreciated on any front, including documentation :-)
+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 https://app.agorakit.org, an Agorakit instance for citizen-activists and for evaluation purposes.
+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.
+Keep reading if you want to install an Agorakit instance on your own server.
+You need a good web hosting provider that provides the following :
+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 shared hosting. By the way they host at a reduced fee the free instance of Agorakit.
+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.
+git clone https://github.com/agorakit/agorakit
+
This will create an agorakit
directory in the current path.
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 :-)
+Create and edit the configuration file from the example file provided:
+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.
+Note
+You need to set at least your database credentials & site name. Check that your database exists and is reachable with those credentials.
+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
+
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.
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
+
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.
Download all the packages needed:
+ +This is a very important step since the key is used to generate various tokens and sessions.
+Migrate (create all tables in) the database:
+ +Link the storage public folder to the user visible public folder:
+ +(Optional) Create sample content the database:
+ +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.
+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!)
A cron job is a task your server runs at specific intervals to run stuff in the background.
+Agorakit needs to periodically do some tasks, like sending email summaries, celaning the DB, remove old versions of content, delete old files, etc...
+The script php artisan schedule:run
should be run at least every 5 minutes using a cron job.
Follow Laravel cron documentation here : 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.
+Agorakit est un collecticiel open source, web based pour collectifs. Il permet aux groupes de communiquer, d'organiser des \u00e9v\u00e9nements et de stocker leurs fichiers. Il permet \u00e0 tous les membres de votre groupe collaboratif de se tenir au courant gr\u00e2ce \u00e0 un forum de discussion, un agenda pour les \u00e9v\u00e9nements, un gestionnaire de fichiers et un notificateur d'emails.
La plupart du temps, Agorakit n'a pas besoin d'administrateur, ce qui rend le processus aussi horizontal que possible.
"},{"location":"fr/index.html#essayer-agorakit","title":"Essayer Agorakit","text":"Si vous voulez essayer Agorakit sans l'installer, allez sur https://app.agorakit.org, cr\u00e9ez un compte et cr\u00e9ez ou rejoignez des groupes.
"},{"location":"fr/index.html#comment-installer-agorakit","title":"Comment installer Agorakit ?","text":"En tant qu'administrateur de serveur, vous pourriez vouloir installer et plus tard mettre \u00e0 jour Agorakit. Agorakit est \u00e9crit en PHP en utilisant le framework Laravel.
"},{"location":"fr/index.html#guide-de-lutilisateur","title":"Guide de l'utilisateur","text":"Si vous \u00eates membre d'un groupe et que vous avez besoin d'aide, consultez le user guide. Si vous \u00eates administrateur d'un groupe sur une nouvelle installation d'Agorakit et que vous avez besoin d'aide, consultez le group owner quickstart.
"},{"location":"fr/index.html#contribuer","title":"Contribuer","text":"Si vous cherchez des moyens de contribuer (super !), voyez le guide de contribution.
NOTE : Cette documentation est \u00e9crite en markdown et construite en utilisant Mkdocs-material. Votre aide est tr\u00e8s appr\u00e9ci\u00e9e sur tous les fronts, y compris la documentation :-)
"},{"location":"fr/advanced_config.html","title":"Advanced configurations","text":""},{"location":"fr/advanced_config.html#configurer-les-courriels-entrants","title":"Configurer les courriels entrants","text":"Cette \u00e9tape suppl\u00e9mentaire vous permet d'avoir une bo\u00eete aux lettres pour chaque groupe afin que les membres puissent envoyer des messages par courriel pour cr\u00e9er des discussions et r\u00e9pondre aux courriels des discussions pour cr\u00e9er de nouveaux commentaires.
! !! note Le support des emails entrants est exp\u00e9rimental mais utilis\u00e9 sur plusieurs instances. Il est possible que vous rencontriez des bogues, veuillez les signaler si cela se produit dans votre installation.
Disons que vous avez install\u00e9 Agorakit sur agora.example.org :
# Param\u00e8tres du serveur de la bo\u00eete aux lettres, \u00e0 utiliser pour les courriels entrants.\n# D\u00e9finissez INBOX_DRIVER \u00e0 null pour d\u00e9sactiver cette fonctionnalit\u00e9\nINBOX_DRIVER=imap\nINBOX_HOST=votremailhost.tld\nINBOX_USERNAME=nom d'utilisateur de la bo\u00eete aux lettres\nINBOX_PASSWORD=mot de passe de la bo\u00eete aux lettres\nINBOX_PREFIX=\nINBOX_SUFFIX=@agora.example.org\n
"},{"location":"fr/advanced_config.html#definir-les-prefixes-et-les-suffixes","title":"D\u00e9finir les pr\u00e9fixes et les suffixes","text":"Vous devez renseigner le pr\u00e9fixe et le suffixe. Il y a deux cas de figure :
Pour un catch all, il n'y a pas de pr\u00e9fixe. Le suffixe dans l'exemple ci-dessus serait @agora.example.org
. Cela cr\u00e9era des courriels comme group-slug@agora.example.com
En revanche, si vous utilisez l'adresse \"+\" (une bo\u00eete gmail par exemple, appelons-la agorakit@gmail.com),
agorakit+
@gmail.com
.Cela cr\u00e9era des emails comme agorakit+group-slug@gmail.com
Si vous activez les emails entrants, la bo\u00eete aux lettres sera automatiquement v\u00e9rifi\u00e9e et les emails trait\u00e9s seront plac\u00e9s dans un dossier \"processed\" sous INBOX. Les courriels \u00e9chou\u00e9s seront \u00e9galement plac\u00e9s dans un dossier \"failed\" sous INBOX pour inspection.
"},{"location":"fr/advanced_config.html#authentification-externe","title":"Authentification externe","text":"! !! info L'authentification externe a \u00e9t\u00e9 supprim\u00e9e. Je n'ai que tr\u00e8s peu (voire pas du tout) de personnes qui l'ont demand\u00e9e. Il s'agit d'une fonctionnalit\u00e9 qui porte atteinte \u00e0 la vie priv\u00e9e, c'est pourquoi aucun d\u00e9veloppement n'a \u00e9t\u00e9 fait dans ce sens. N'h\u00e9sitez pas \u00e0 soumettre un PR si vous le souhaitez.
"},{"location":"fr/artisan.html","title":"Commandes artisanales utiles","text":"Agorakit fournit quelques commandes artisan utiles :
agorakit:checkmailbox
V\u00e9rifier le serveur email imap configur\u00e9 pour permettre la fonctionnalit\u00e9 de postage par emailagorakit:cleanupdatabase
Nettoie la base de donn\u00e9es, supprime pour toujours les mod\u00e8les supprim\u00e9s et les utilisateurs non v\u00e9rifi\u00e9s de plus de 30 jours.agorakit:convertfiles
Convertit les fichiers de l'ancien stockage bas\u00e9 sur le chemin plat vers le nouveau stockage, en remettant leur nom de fichier initial et en d\u00e9pla\u00e7ant le fichier vers le r\u00e9pertoire public. Utilisez ceci une fois si vous avez d\u00e9j\u00e0 des fichiers sur votre installation et si votre installation est ant\u00e9rieure \u00e0 novembre 2016.agorakit:convertfolderstotags
Convertit tous les dossiers au nouveau syst\u00e8me bas\u00e9 sur les tags. Ajouter les tags repr\u00e9sentant le dossier parent \u00e0 chaque fichier.agorakit:deletefiles
Supprime les fichiers du stockage apr\u00e8s 30 jours de suppression dans la base de donn\u00e9es.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\u00e9elle du syst\u00e8me de fichiers. A utiliser si vous avez install\u00e9 Agorakit avant novembre 2017.agorakit:sendnotifications
Envoie toutes les notifications en attente \u00e0 tous les utilisateurs qui l'ont demand\u00e9. Cela peut prendre du temps. Appelez ceci fr\u00e9quemment pour \u00e9viter les probl\u00e8mesagorakit:sendreminders
Envoie tous les rappels aux participants qui l'ont demand\u00e9 - appeler exactement toutes les 5 minutes, ni plus, ni moins :-)ATTENTION : La plupart de ces commandes sont d\u00e9j\u00e0 utilis\u00e9es par le job cron, elles n'ont donc pas besoin d'\u00eatre appel\u00e9es manuellement. Mais elles peuvent \u00eatre utiles pour le d\u00e9bogage et le d\u00e9veloppement.
"},{"location":"fr/contact.html","title":"How to contact us","text":"Vous pouvez contacter l'\u00e9quipe d'Agorakit directement sur info [at] agorakit [dot] org.
Vous pouvez \u00e9galement rejoindre le groupe officiel de d\u00e9veloppeurs ici, sur Agorakit bien s\u00fbr : https://app.agorakit.org/groups/39
"},{"location":"fr/contribute.html","title":"Introduction","text":"Vous souhaitez contribuer \u00e0 agorakit ? Merci d'avance !
"},{"location":"fr/contribute.html#vous-etes-une-personne-de-communication-et-de-soutien","title":"Vous \u00eates une personne de communication et de soutien ?","text":"Il y a des tonnes de fa\u00e7ons de contribuer, tout est tr\u00e8s appr\u00e9ci\u00e9.
"},{"location":"fr/contribute.html#vous-etes-un-developpeur-maitrisant-laravelphphtmlcssjs","title":"Vous \u00eates un d\u00e9veloppeur ma\u00eetrisant laravel/php/html/css/js ?","text":"Cr\u00e9ez une branche de la branche principale, travaillez sur votre branche et cr\u00e9ez une demande d'extraction lorsque vous \u00eates pr\u00eat. Voir http://scottchacon.com/2011/08/31/github-flow.html
"},{"location":"fr/contribute.html#soutien-financier","title":"Soutien financier","text":"Tout le travail est open source (AGPL) - Votre travail b\u00e9n\u00e9ficiera \u00e0 toute initiative citoyenne int\u00e9ress\u00e9e. Nous avons d\u00e9j\u00e0 des milliers d'utilisateurs qui pourraient b\u00e9n\u00e9ficier de votre aide. Le travail est r\u00e9alis\u00e9 sous licence AGPL. - Cela signifie \u00e9galement que si vous utilisez cette base de code, vous devez contribuer \u00e0 vos modifications.
N'h\u00e9sitez pas \u00e0 envoyer un message \u00e0 info (at) agorakit.org si vous \u00eates int\u00e9ress\u00e9 ou si vous avez des questions.
"},{"location":"fr/development.html","title":"Contribuer \u00e0 Agorakit","text":"Vous voulez contribuer au projet ? C'est tr\u00e8s bien ! Toute id\u00e9e est la bienvenue.
Sail est un wrapper docker pour faciliter le d\u00e9veloppement local. C'est un moyen vraiment cool et facile d'avoir un serveur local parfait pour les d\u00e9veloppeurs. Laravel Sail fonctionne d'embl\u00e9e dans ce projet. Lisez la documentation de Sail pour plus d'informations.
C'est ce que j'utilise sur ma station de travail principale (bas\u00e9e sur linux) car c'est tr\u00e8s reproductible.
En gros, sail up
va d\u00e9marrer un serveur de d\u00e9veloppement
Si vous voulez d\u00e9marrer un serveur local pour le d\u00e9veloppement :
$ php artisan serve\n
L'installation sera disponible pour 127.0.0.1:8000
Il y a beaucoup d'autres options, consultez la documentation et l'\u00e9cosyst\u00e8me de Laravel pour avoir une vue d'ensemble des options pour le d\u00e9veloppement local.
"},{"location":"fr/development.html#creation-de-la-base-de-donnees","title":"Cr\u00e9ation de la base de donn\u00e9es","text":"Suivez d'abord les instructions d'installation, y compris la cr\u00e9ation d'un \u00e9chantillon de contenu en utilisant :
$ php artisan db:seed\n
"},{"location":"fr/development.html#travailler-sur-le-design-et-les-css","title":"Travailler sur le design et les css","text":"J'ai supprim\u00e9 toutes les \u00e9tapes de construction, maintenant tout se passe dans un fichier custom.css plat.
Tous les JS et CSS externes sont servis par diff\u00e9rents CDN. A un moment donn\u00e9, les fichiers seront re-servis en local, quand tout sera stabilis\u00e9, et s'il y a de r\u00e9els avantages \u00e0 le faire.
Pas de npm, pas de node, pas de tailwind, pas de purge, pas de minifier, pas de probl\u00e8me :)
"},{"location":"fr/development.html#tester-votre-code","title":"Tester votre code","text":"Agorakit est test\u00e9 en utilisant le framework de test Laravel.
Pour tester, vous devez avoir une base de donn\u00e9es de test existante. Il suffit de cr\u00e9er une nouvelle base de donn\u00e9es vide, par exemple agorakit_testing et de v\u00e9rifier dans le fichier phpunit.xml que tout correspond.
Avant de commencer le code, vous devriez soit \u00e9crire plus de tests (dans ce cas, vous m\u00e9ritez un cookie). Ou au moins v\u00e9rifier que vous n'avez rien cass\u00e9 en tapant simplement: :
php artisan test\n
...\u00e0 la racine de votre projet.
Aucune erreur ne devrait appara\u00eetre (\u00e0 condition que tout soit correctement configur\u00e9).
Nous utilisons travis ci pour ex\u00e9cuter tous ces tests lors du commit, donc cela sera fait automatiquement pour vous \u00e0 un moment donn\u00e9 :-)
"},{"location":"fr/development.html#ecriture-des-tests","title":"Ecriture des tests","text":"N'h\u00e9sitez pas \u00e0 \u00e9crire des tests. Nous privil\u00e9gions les t\u00e2ches bien d\u00e9finies qu'un utilisateur final accomplirait r\u00e9ellement, comme l'inscription, la cr\u00e9ation d'un compte, la publication, le t\u00e9l\u00e9chargement, etc... Cela nous a tr\u00e8s bien servi dans le pass\u00e9 pour rep\u00e9rer les erreurs et cela refl\u00e8te vraiment les cas d'utilisation r\u00e9els. Bien que nous soyons ouverts \u00e0 d'autres types de tests...
"},{"location":"fr/documentation.html","title":"Contribuer \u00e0 la documentation","text":"La documentation est \u00e9crite en markdown et le site web est construit statiquement en utilisant Mkdocs material
NOTE : Nouveaux langages, meilleure formulation, nouvelles sections, plus de visuels, toutes les corrections m\u00eame petites sont les bienvenues !
"},{"location":"fr/documentation.html#comment-contribuer","title":"Comment contribuer ?","text":"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\u00e9gr\u00e9e pour l'int\u00e9gration de git et de github, ce qui est int\u00e9ressant pour les d\u00e9butants.
"},{"location":"fr/documentation.html#comment-construire-la-documentation","title":"Comment construire la documentation ?","text":"Installez mkdocs material et quelques plugins.
pip install mkdocs-material\npip install markdown-callouts\npip install mkdocs-static-i18n\n
D\u00e9marrez ensuite le serveur web int\u00e9gr\u00e9 pour pr\u00e9visualiser votre travail sur la documentation.
mkdocs serve\n
La documentation est actuellement servie par des pages github. Le processus de publication est localis\u00e9 ici : https://github.com/agorakit/documentation/actions/workflows/ci.yml
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)
Les fichiers r\u00e9sultants sont plac\u00e9s dans la branche GH du d\u00e9p\u00f4t de documentation qui est ensuite s\u00e9rialis\u00e9e en utilisant la fonctionnalit\u00e9 \"pages\" de github.
C'est un peu difficile \u00e0 configurer mais il semble qu'une fois que c'est fait, \u00e7a fonctionne.
Voir https://squidfunk.github.io/mkdocs-material/getting-started/ pour plus d'informations sur le fonctionnement du constructeur de documentation.
"},{"location":"fr/first_steps.html","title":"Premiers pas apr\u00e8s l'installation","text":"Si vous venez d'installer Agorakit sur un serveur, prenez le temps de le configurer correctement pour votre cas d'utilisation.
"},{"location":"fr/first_steps.html#texte-dintroduction-sur-la-page-daccueil","title":"Texte d'introduction sur la page d'accueil","text":"D\u00e9finissez un texte d'introduction sur la page d'accueil pour les nouveaux arrivants : allez sur la page d'administration \u00e0 partir du menu d\u00e9roulant de votre profil d'utilisateur. En utilisant l'\u00e9diteur, vous pouvez ajouter des images externes et tout ce que vous voulez.
"},{"location":"fr/first_steps.html#verifier-tous-les-parametres-dadministration","title":"V\u00e9rifier tous les param\u00e8tres d'administration","text":"Allez dans le menu d'administration (\u00e0 partir du menu d\u00e9roulant de votre profil d'utilisateur) et v\u00e9rifiez tous les param\u00e8tres qui s'y trouvent. Faites attention aux diff\u00e9rentes permissions et aux types de groupes que vous autorisez sur votre serveur.
"},{"location":"fr/group.html","title":"Cr\u00e9ez et g\u00e9rez vos groupes","text":""},{"location":"fr/group.html#creer-des-groupes","title":"Cr\u00e9er des groupes","text":"Cr\u00e9ez un ou plusieurs groupes. Un groupe de bienvenue et un groupe de test sont souvent utiles.
Vous pouvez choisir le type de groupe \u00e0 cr\u00e9er
! !! note Les prochaines versions d'Agorakit pourraient inclure un contr\u00f4le plus granulaire des types de groupes et de l'acc\u00e8s aux membres. Votre contribution est pr\u00e9cieuse pour am\u00e9liorer cette partie.
"},{"location":"fr/group.html#parametres-du-groupe","title":"Param\u00e8tres du groupe","text":"Si vous \u00eates administrateur d'un groupe, vous aurez un onglet \"admin\" sur le(s) groupe(s) que vous g\u00e9rez. Vous pouvez y g\u00e9rer beaucoup de choses dans votre groupe.
"},{"location":"fr/group.html#le-menu-configuration","title":"Le menu \"configuration","text":"Cet onglet vous permet d'ajouter une description \u00e0 votre groupe, de d\u00e9finir les tags du groupe, de d\u00e9finir un emplacement (adresse) et de d\u00e9finir le type de groupe (voir ci-dessus).
"},{"location":"fr/group.html#le-menu-tags","title":"Le menu \"tags","text":"Ce menu vous permet de choisir la strat\u00e9gie de marquage que vous souhaitez pour votre groupe :
! !! note Bien que le balisage libre soit agr\u00e9able, il est souvent pr\u00e9f\u00e9rable 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\u00e7on diff\u00e9rente d'organiser le contenu, alors tenons-nous en \u00e0 une seule fa\u00e7on de le faire\".
Les administrateurs de groupe peuvent \u00e9galement d\u00e9finir des couleurs pour les balises. Les couleurs sont partag\u00e9es entre les groupes.
"},{"location":"fr/group.html#le-menu-fonctionnalites","title":"Le menu \"fonctionnalit\u00e9s","text":"Ce menu vous permet d'activer et de d\u00e9sactiver les onglets disponibles dans votre groupe. Vous pouvez ainsi activer ou d\u00e9sactiver :
Vous avez \u00e9galement la possibilit\u00e9 d'ajouter un onglet personnalis\u00e9 \u00e0 votre groupe, avec une ic\u00f4ne et un code HTML personnalis\u00e9s. Utilisez-le pour inclure du contenu suppl\u00e9mentaire qui doit \u00eatre partag\u00e9 par tous les membres du groupe.
"},{"location":"fr/group.html#le-menu-permissions","title":"Le menu \"permissions","text":"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\u00e9guliers de votre groupe. Par d\u00e9faut, les membres ont toutes les permissions.
"},{"location":"fr/group.html#le-menu-insights","title":"Le menu \"insights","text":"Ce menu vous montre des statistiques int\u00e9ressantes sur vos groupes ainsi que de jolis graphiques.
"},{"location":"fr/group.html#inviter-des-personnes","title":"Inviter des personnes","text":"Invitez des personnes \u00e0 un ou plusieurs groupes en utilisant la fonction d'invitation de chaque groupe. Vous pouvez \u00e9galement ajouter des personnes directement si elles sont d\u00e9j\u00e0 inscrites sur votre installation. Ceci est particuli\u00e8rement utile si les gens ont du mal \u00e0 confirmer leur adresse email et leur appartenance \u00e0 un groupe (croyez-moi, cela arrive).
"},{"location":"fr/group.html#adhesions","title":"Adh\u00e9sions","text":"Sur cette page, vous pouvez voir et exporter la liste des membres de votre groupe. Vous pouvez \u00e9galement v\u00e9rifier si tout le monde a accept\u00e9 une invitation \u00e0 rejoindre un groupe.
REMARQUE : le champ \"Derni\u00e8re activit\u00e9\" indique la derni\u00e8re fois que quelqu'un a \u00e9crit quelque chose et non la derni\u00e8re fois que quelqu'un s'est connect\u00e9 au syst\u00e8me. Cela peut induire en erreur.
"},{"location":"fr/install.html","title":"Installation","text":"NOTE : Essayer Agorakit sans l'installer Si vous souhaitez simplement essayer Agorakit, vous pouvez le faire sans avoir \u00e0 l'installer. Il suffit de cr\u00e9er un compte sur https://app.agorakit.org, une instance d'Agorakit pour les citoyens-activistes et \u00e0 des fins d'\u00e9valuation.
Vous pouvez \u00e9galement contacter le d\u00e9veloppeur si vous \u00eates int\u00e9ress\u00e9 par l'h\u00e9bergement g\u00e9r\u00e9 d'une instance priv\u00e9e d'Agorakit. Contactez info [at] agorakit.org pour plus de d\u00e9tails.\n\nContinuez \u00e0 lire si vous souhaitez installer une instance d'Agorakit sur votre propre serveur.\n
"},{"location":"fr/install.html#exigences","title":"Exigences","text":"Vous avez besoin d'un bon fournisseur d'h\u00e9bergement web qui fournit les \u00e9l\u00e9ments suivants :
NOTE : Toutes ces fonctionnalit\u00e9s r\u00e9unies sont difficiles \u00e0 trouver, c'est pourquoi les gens sont oblig\u00e9s d'utiliser un VPS et de tout configurer eux-m\u00eames. C'est une proposition plus risqu\u00e9e si vous ne savez pas comment cela fonctionne. Nous avons eu beaucoup de succ\u00e8s avec l'h\u00e9bergement partag\u00e9 [Alwaysdata] (https://www.alwaysdata.com). Ils h\u00e9bergent d'ailleurs \u00e0 un tarif r\u00e9duit l'instance gratuite d'Agorakit.
"},{"location":"fr/install.html#installer","title":"Installer","text":"Actuellement, vous devez savoir comment installer une application Laravel en utilisant la ligne de commande. Ceci est parfaitement standard et document\u00e9 ici : https://laravel.com/docs/master/installation.
"},{"location":"fr/install.html#cloner-le-depot","title":"Cloner le d\u00e9p\u00f4t","text":"git clone https://github.com/agorakit/agorakit\n
Cela cr\u00e9era un r\u00e9pertoire agorakit
dans le chemin courant.
Tous les param\u00e8tres sont stock\u00e9s dans un fichier .env. Ce fichier n'est pas fourni dans le d\u00e9p\u00f4t Git, parce qu'il est sp\u00e9cifique \u00e0 votre installation, et parce que vous ne voulez pas que votre configuration soit \u00e9cras\u00e9e lors d'une mise \u00e0 jour :-)
Cr\u00e9ez et \u00e9ditez le fichier de configuration \u00e0 partir du fichier d'exemple fourni :
cp .env.example .env\nnano .env\n
Nano est un simple \u00e9diteur de texte disponible sur la plupart des serveurs. N'h\u00e9sitez pas \u00e0 utiliser autre chose pour \u00e9diter votre fichier .env.
"},{"location":"fr/install.html#configurer-les-informations-didentification-de-la-base-de-donnees","title":"Configurer les informations d'identification de la base de donn\u00e9es","text":"NOTE : Vous devez au moins d\u00e9finir les identifiants de votre base de donn\u00e9es et le nom de votre site. V\u00e9rifiez que votre base de donn\u00e9es existe et qu'elle est accessible avec ces identifiants.
APP_ENV=local // local ou production\nAPP_DEBUG=true // affiche ou non la barre de d\u00e9bogage et les erreurs \u00e9tendues\nAPP_KEY=SomeRandomString // sera g\u00e9n\u00e9r\u00e9 automatiquement\nAPP_NAME='Agorakit' // nom de votre application\nAPP_URL=http://locahost // url de base\nAPP_LOG=daily // rotation du journal\nAPP_DEFAULT_LOCALE=en // locale par d\u00e9faut si elle n'est pas d\u00e9tect\u00e9e par le navigateur de l'utilisateur\n\nDB_HOST=localhost // h\u00f4te de votre serveur mysql\nDB_DATABASE=agorakit // nom de votre base de donn\u00e9es SQL\nDB_USERNAME=root // login de mysql\nDB_PASSWORD= // mot de passe de mysql\n\nCACHE_DRIVER=file // driver \u00e0 utiliser pour la mise en cache\nSESSION_DRIVER=file // pilote \u00e0 utiliser pour stocker les sessions\nQUEUE_DRIVER=sync // pilote \u00e0 utiliser pour les files d'attente\n
"},{"location":"fr/install.html#configurer-lenvoi-demails","title":"Configurer l'envoi d'emails","text":"Vous pouvez maintenant configurer votre serveur de messagerie. Pour le pilote de messagerie, vous pouvez utiliser mail
pour utiliser la fonction de messagerie int\u00e9gr\u00e9e 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\u00f4te et le nom d'utilisateur / mot de passe.
MAIL_DRIVER=mail // pilote \u00e0 utiliser pour envoyer des emails. Utilisez mail pour utiliser la fonction mail int\u00e9gr\u00e9e de php\nMAIL_HOST=mailtrap.io // nom d'h\u00f4te si vous utilisez smtp pour envoyer des mails\nMAIL_PORT=2525 // port si vous utilisez smtp pour envoyer des mails\nMAIL_USERNAME=null // login si vous utilisez smtp pour envoyer des mails\nMAIL_PASSWORD=null // mot de passe si vous utilisez smtp pour envoyer des mails\nMAIL_ENCRYPTION=null // cryptage si vous utilisez smtp pour envoyer des mails\n\nMAIL_FROM=admin@localhost // adresse email utilis\u00e9e pour l'envoi d'emails d'administration\nMAIL_FROM_NAME=Agorakit // nom de l'exp\u00e9diteur des emails d'administration\nMAIL_NOREPLY=noreply@localhost // pas d'adresse de r\u00e9ponse pour les messages de service\n\nMAPBOX_TOKEN=null // Cr\u00e9er un compte Mapbox et g\u00e9n\u00e9rer un jeton pour permettre la g\u00e9olocalisation et l'affichage des cartes.\n
ASTUCE : Vous devez disposer d'un serveur de courrier \u00e9lectronique op\u00e9rationnel pour pouvoir v\u00e9rifier tout compte utilisateur enregistr\u00e9. Si vous ne pouvez pas v\u00e9rifier votre compte utilisateur, vous pouvez toujours mettre la colonne verified
\u00e0 1
dans la table users
.
T\u00e9l\u00e9chargez tous les paquets n\u00e9cessaires :
composer install\n
"},{"location":"fr/install.html#generer-une-cle","title":"G\u00e9n\u00e9rer une cl\u00e9","text":"php artisan key:generate\n
Cette \u00e9tape est tr\u00e8s importante car la cl\u00e9 est utilis\u00e9e pour g\u00e9n\u00e9rer diff\u00e9rents tokens et sessions.
"},{"location":"fr/install.html#creer-les-tables-dans-la-base-de-donnees","title":"Cr\u00e9er les tables dans la base de donn\u00e9es","text":"Migrer (cr\u00e9er toutes les tables dans) la base de donn\u00e9es :
php artisan migrate\n
"},{"location":"fr/install.html#stockage-des-fichiers-de-liens","title":"Stockage des fichiers de liens","text":"Lier le dossier public de stockage au dossier public visible par l'utilisateur :
php artisan storage:link\n
"},{"location":"fr/install.html#creer-un-contenu-factice","title":"Cr\u00e9er un contenu factice","text":"(Facultatif) Cr\u00e9er un exemple de contenu dans la base de donn\u00e9es :
php artisan db:seed\n
! !! avertissement Ne faites pas cette derni\u00e8re \u00e9tape pour une installation en production car elle cr\u00e9era un utilisateur admin avec un mot de passe par d\u00e9faut et des groupes et contenus factices.
"},{"location":"fr/install.html#configurez-votre-serveur-web","title":"Configurez votre serveur web","text":"Vous pouvez maintenant configurer votre serveur web pour qu'il serve le r\u00e9pertoire /public
. Ceci est tr\u00e8s important, car vous ne voulez pas exposer le reste des r\u00e9pertoires (par exemple, vous ne voulez PAS exposer votre fichier .env !).
Une t\u00e2che cron est une t\u00e2che que votre serveur ex\u00e9cute \u00e0 des intervalles sp\u00e9cifiques pour ex\u00e9cuter des choses en arri\u00e8re-plan.
Agorakit a besoin d'effectuer p\u00e9riodiquement certaines t\u00e2ches, comme l'envoi de r\u00e9sum\u00e9s par email, le nettoyage de la base de donn\u00e9es, la suppression d'anciennes versions du contenu, la suppression d'anciens fichiers, etc...
Le script php artisan schedule:run
doit \u00eatre ex\u00e9cut\u00e9 au moins toutes les 5 minutes en utilisant une t\u00e2che cron.
Suivez la documentation de Laravel cron ici : https://laravel.com/docs/master/scheduling
NOTE : Sans job cron, votre application n'enverra PAS de r\u00e9sum\u00e9s, ne nettoiera pas la base de donn\u00e9es, ne rappellera pas aux utilisateurs les \u00e9v\u00e9nements \u00e0 venir, etc. Les jobs cron sont n\u00e9cessaires pour une exploitation correcte.
"},{"location":"fr/sign_up.html","title":"Signing up","text":"Pour utiliser Agorakit, il suffit de se connecter au serveur Agorakit que vous utilisez.
Il peut s'agir de l'instance partag\u00e9e 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\u00e9 ou que quelqu'un g\u00e8re pour vous.
"},{"location":"fr/sign_up.html#enregistrer-un-nouvel-utilisateur","title":"Enregistrer un nouvel utilisateur","text":"Sur la plupart des serveurs, vous pouvez librement cr\u00e9er un nouveau compte utilisateur. Si vous ne pouvez pas cr\u00e9er de compte sur un serveur particulier, cela signifie que l'enregistrement a \u00e9t\u00e9 d\u00e9sactiv\u00e9. Dans ce cas, vous devez recevoir une invitation de l'administrateur du serveur pour rejoindre le serveur.
"},{"location":"fr/sign_up.html#le-cas-particulier-du-premier-compte-dutilisateur","title":"Le cas particulier du premier compte d'utilisateur","text":"Si vous cr\u00e9ez un compte utilisateur sur un nouveau serveur (sans utilisateur existant), vous serez l'administrateur du serveur (super utilisateur) sur ce serveur.
NOTE : L'envoi d'email doit fonctionner pour que votre compte puisse \u00eatre valid\u00e9.
"},{"location":"fr/upgrade.html","title":"Mise \u00e0 jour d'Agorakit","text":"Il est important de maintenir une installation d'Agorakit \u00e0 jour. Le processus est s\u00fbr
Nous essayons de garder la branche master toujours dans un bon \u00e9tat de fonctionnement (c'est ce qu'on appelle un mod\u00e8le de \"rolling release\").
Cela signifie que les tests sont r\u00e9ussis et que vous obtenez les derni\u00e8res fonctionnalit\u00e9s directement \u00e0 partir de la branche master.
ATTENTION : Faites une sauvegarde de votre base de donn\u00e9es SQL au cas o\u00f9 quelque chose tournerait mal. Faites \u00e9galement une sauvegarde de tous vos fichiers. Faites m\u00eame deux sauvegardes et stockez-les sur un serveur s\u00e9par\u00e9.
INFO : Vous pouvez choisir entre une proc\u00e9dure de mise \u00e0 jour automatis\u00e9e \u00e0 partir de la ligne de commande, ou une proc\u00e9dure de mise \u00e0 jour manuelle \u00e9tape par \u00e9tape.
"},{"location":"fr/upgrade.html#option-1-utilisation-du-script-de-mise-a-jour","title":"Option 1 : Utilisation du script de mise \u00e0 jour","text":"Il existe un script d'aide qui effectue la mise \u00e0 jour pour vous :
./update\n
! !! avertissement Attention, le script migrera votre base de donn\u00e9es sans vous demander confirmation. Faites toujours une sauvegarde de la base de donn\u00e9es au cas o\u00f9 quelque chose se passerait mal.
"},{"location":"fr/upgrade.html#option-2-proceder-a-la-mise-a-jour-manuellement","title":"Option 2 : Proc\u00e9der \u00e0 la mise \u00e0 jour manuellement","text":"Vous pouvez \u00e0 tout moment proc\u00e9der \u00e0 la mise \u00e0 jour de votre installation :
php artisan down\ngit pull\ncomposer install\nphp artisan migrate\nphp artisan up\n
"},{"location":"fr/upgrade.html#si-quelque-chose-ne-va-pas","title":"Si quelque chose ne va pas","text":"Restaurez la sauvegarde de votre base de donn\u00e9es et faites un git checkout d'une version pr\u00e9c\u00e9dente (fonctionnelle). Puis r\u00e9ex\u00e9cutez composer install.
Contactez-nous si une mise \u00e0 jour \u00e9choue (cela n'est jamais arriv\u00e9, donc ce genre d'\u00e9chec est une information tr\u00e8s int\u00e9ressante pour le projet).
"},{"location":"fr/upgrade.html#instructions-specifiques-a-la-version","title":"Instructions sp\u00e9cifiques \u00e0 la version","text":""},{"location":"fr/upgrade.html#mise-a-jour-vers-la-version-15","title":"Mise \u00e0 jour vers la version 1.5","text":"Apr\u00e8s la mise \u00e0 jour normale, il se peut que vous obteniez une erreur mentionnant la duplication de la cl\u00e9 du nom d'utilisateur dans la table des utilisateurs.
Ex\u00e9cutez php artisan agorakit:enforceuniqueusernames
pour corriger le probl\u00e8me. Puis r\u00e9ex\u00e9cutez le script de mise \u00e0 jour.
Ceci n'arrive que sur les grosses installations et peut \u00eatre ex\u00e9cut\u00e9 plusieurs fois sans probl\u00e8me. C'est une solution \u00e0 l'\u00e9preuve du temps pour ce probl\u00e8me.
! !! note La plupart des mises \u00e0 jour ponctuelles comme celle mentionn\u00e9e ci-dessus sont maintenant effectu\u00e9es dans le cadre de migrations afin de r\u00e9duire la quantit\u00e9 de documentation que vous devez lire pour mettre \u00e0 jour correctement votre installation. Asseyez-vous, d\u00e9tendez-vous et appr\u00e9ciez l'automatisation au travail :-)
"},{"location":"fr/usage.html","title":"Utilisation d'Agorakit","text":""},{"location":"fr/usage.html#demarrer-les-discussions","title":"D\u00e9marrer les discussions","text":"Chaque groupe permet de cr\u00e9er des discussions. Dans les discussions et les commentaires, vous pouvez utiliser une syntaxe sp\u00e9ciale pour faire r\u00e9f\u00e9rence \u00e0 des fichiers et des discussions existants, et mentionner des utilisateurs.
Vous pouvez \u00e9galement joindre directement un fichier \u00e0 une discussion. Utilisez le bouton \"Parcourir...\" situ\u00e9 sous le formulaire de discussion pour t\u00e9l\u00e9charger un fichier depuis votre ordinateur, le joindre au groupe et le mentionner dans la discussion en une seule fois.
"},{"location":"fr/usage.html#programmer-des-evenements","title":"Programmer des \u00e9v\u00e9nements","text":"Chaque groupe dispose d'un calendrier dans lequel vous pouvez ajouter des actions/\u00e9v\u00e9nements. Il vous suffit de d\u00e9finir une date et une heure de d\u00e9but, ainsi qu'une dur\u00e9e facultative. Si aucune dur\u00e9e n'est d\u00e9finie, elle est suppos\u00e9e \u00eatre d'une heure.
"},{"location":"fr/usage.html#telecharger-des-fichiers-et-partager-des-liens","title":"T\u00e9l\u00e9charger des fichiers et partager des liens","text":"Vous pouvez ajouter des fichiers aux groupes directement dans l'onglet des fichiers. Il suffit de t\u00e9l\u00e9charger un ou plusieurs fichiers et d'ajouter quelques balises pour les organiser. Comme expliqu\u00e9 ci-dessus, vous pouvez \u00e9galement joindre directement des fichiers aux commentaires et aux discussions.
"},{"location":"fr/usage.html#categoriser-le-contenu-a-laide-de-balises","title":"Cat\u00e9goriser le contenu \u00e0 l'aide de balises","text":"Les tags (ou \u00e9tiquettes) sont tr\u00e8s importants pour organiser votre contenu. Vous pouvez \u00e9tiqueter 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).
Une fois que le contenu est \u00e9tiquet\u00e9, il peut \u00eatre trouv\u00e9 comme une simple page d'aper\u00e7u, montrant tous les tags et montrant tous les contenus attach\u00e9s \u00e0 un tag particulier. C'est tr\u00e8s pratique pour avoir une vue d'ensemble de vos groupes.
"},{"location":"fr/usage.html#derniere-etape-le-profit","title":"Derni\u00e8re \u00e9tape : le profit !","text":"(ou dans certains cas, r\u00e9volution !)
"},{"location":"fr/delete_content.html","title":"Suppression de contenu","text":"La suppression de contenu sur Agorakit respecte une proc\u00e9dure qui permet de r\u00e9pondre \u00e0 diff\u00e9rents imp\u00e9ratifs:
Quand un contenu est effac\u00e9, celui-ci est marqu\u00e9 comme effac\u00e9 dans la base de donn\u00e9e et n'apparait plus. Un administrateur d'instance peut remettre en ligne un contenu effac\u00e9 en se rendant dans le menu \"admin > r\u00e9cup\u00e9rer du contenu\".
Le contenu marqu\u00e9 comme effac\u00e9 est d\u00e9finitivement effac\u00e9 (physiquement) de la base de donn\u00e9e apr\u00e8s 30 jours. Il n'est plus possible apr\u00e8s ce d\u00e9lai de r\u00e9cup\u00e9rer le contenu.
"},{"location":"fr/delete_content.html#suppression-de-compte-utilisateur","title":"Suppression de compte utilisateur","text":"Si un utilisateur d\u00e9cide d'effacer son compte, il peut au choix :
Les discussions qui ont des commentaires sont dans tous les cas assign\u00e9es \u00e0 l'utilisateur anonyme afin de ne pas perdre les contributions des autres utilisateurs. Il n'est pas possible d'effacer individuellement une discussion sous laquelle il y a des commentaires.
Un utilisateur qui est le seul administrateur d'un groupe ne peux pas quitter le groupe.
"},{"location":"fr/delete_content.html#restauration-dun-element-efface","title":"Restauration d'un \u00e9l\u00e9ment effac\u00e9","text":"Un administrateur d'instance peut restaurer tout contenu effac\u00e9 pendant la p\u00e9riode de r\u00e9tention (30 jours par d\u00e9faut). Il suffit de se rendre dans Admin > settings > recover content
et de choisir le ou les \u00e9l\u00e9ments \u00e0 restaurer.
Si Agorakit est install\u00e9 correctement (avec les t\u00e2ches \"cron\" r\u00e9curentes), la base de donn\u00e9e va \u00eatre automatiquement nettoy\u00e9e afin d'\u00eatre en conformit\u00e9 avec ce qui est indiqu\u00e9 ci-dessus. Le nombre de jours de r\u00e9tention des informations avant suppression d\u00e9finitive est configurable et fix\u00e9 par d\u00e9faut \u00e0 30.
"},{"location":"fr/discussions.html","title":"Cr\u00e9er des discussions","text":"Choisissez un groupe et depuis l'onglet \"Discussions\" vous pouvez \"Cr\u00e9er une discussion\". Mentionnez un titre et un texte au minimum. Vous pouvez aussi ajouter des mots cl\u00e9 ou tags afin de mieux classer les discussions et aider les autres \u00e0 s'y retrouver.
"},{"location":"fr/discussions.html#joindre-un-fichier","title":"Joindre un fichier","text":"Dans l'\u00e9diteur de texte, vous pouvez joindre un fichier en le faisant glisser dessus ou en cliquant sur le bouton \"image\" qui permet non seulement d'ins\u00e9rer une image mais \u00e9galement tout type de fichier. Lors d'un \"drag and drop\" (gliss\u00e9 d\u00e9pos\u00e9 de fichier), le syst\u00e8me envoit automatiquement votre fichier et ins\u00e8re l\u00e0 o\u00f9 se trouve votre curseur une r\u00e9f\u00e9rence \u00e0 ce fichier sous la forme d'un f:xx (xx \u00e9tant la r\u00e9f\u00e9rence de votre fichier). Lors de l'affichage de votre discussion ou de votre commentaire, un apper\u00e7u du fichier sera automatiquement g\u00e9n\u00e9r\u00e9.
Le fichier apparait \u00e9galement dans l'onbglet \"fichiers\" de votre groupe.
"},{"location":"fr/discussions.html#mentionner-une-autre-personne","title":"Mentionner une autre personne","text":"Dans l'\u00e9diteur de texte, tapez simplement un @ , une liste des membres du groupe apparait et vous permet de mentionner une ou plusieurs personnes. Celles-ci recevront un mail instantan\u00e9ment avec votre commentaire. C'est pratique quand vous souhaitez avoir une r\u00e9ponse rapide \u00e0 votre question.
"},{"location":"fr/discussions.html#effacer-un-commentaire-ou-une-discussion","title":"Effacer un commentaire ou une discussion","text":"Cliquez simplement sur les troios petits points \u00e0 droite de la discussion ou du commentaire en question : (...) et choisissez l'option \"Effacer\". L'auteur.e d'un message peut toujours l'effacer. Un.e admin de groupe peux tout effacer.
Warning
Le fait d'effacer une discussion n'efface pas les fichiers joints \u00e0 cette discussion.
"},{"location":"fr/groups_types.html","title":"Les diff\u00e9rents types de groupes disponible dans Agorakit","text":"En fonction du type de communaut\u00e9 que vous souhaitez cr\u00e9er, vous avez \u00e0 votre disposition diff\u00e9rents types de groupes.
"},{"location":"fr/groups_types.html#les-groupes-publics","title":"Les groupes publics","text":"Ces groupes sont ouverts \u00e0 tout le monde, et leur contenu est public. N'importe qui peut se cr\u00e9er un compte sur l'instance et rejoindre un groupe public. Une petite ic\u00f4ne de plan\u00e8te est affich\u00e9e \u00e0 c\u00f4t\u00e9 du nom.
"},{"location":"fr/groups_types.html#les-groupes-prives","title":"Les groupes priv\u00e9s","text":"Ces groupes sont sur invitation uniquement et leur contenu n'est pas public. Seul est visible la pag de pr\u00e9sentation du groupe (comprenant la photo du groupe et le texte de description). Si le groupe autorise les utilisateurs \u00e0 candidater, un onglet permet de le faire. Une petite ic\u00f4ne de cadenas est affich\u00e9e \u00e0 c\u00f4t\u00e9 du nom.
"},{"location":"fr/groups_types.html#les-groupes-secrets","title":"Les groupes secrets","text":"Ces groupes sont totalement invisibles pour celles et ceux qui n'en connaissent pas l'existence. Si vous n'\u00eates pas invit\u00e9 \u00e0 un tel groupe vous n'y avez pas acc\u00e8s. Une petite ic\u00f4ne d'oeuil barr\u00e9 est affich\u00e9e \u00e0 c\u00f4t\u00e9 du nom.
"},{"location":"fr/login.html","title":"Acc\u00e9der \u00e0 Agorakit","text":"Vous devez d'abord d\u00e9terminer si vous utilisez l'agora partag\u00e9e sur https://app.agorakit.org ou si vous utilisez l'agora de votre organisme. Dans le premier cas, allez simplement sur https://app.agorakit.org, dans le second cas, vous aurez re\u00e7u un lien pour vous connecter.
"},{"location":"fr/login.html#se-creer-un-compte","title":"Se cr\u00e9er un compte","text":"La cr\u00e9ation de compte est tr\u00e8s facile, vous devez simplement cliquer sur \"S'enregistrer\", mentionner votre nom et votre adresse mail. Vous recevrez directement un lien pour vous connecter dans votre boite mail. V\u00e9rifiez le dossier spam si vous navez rien re\u00e7u apr\u00e8s quelques minutes.
"},{"location":"fr/login.html#se-connecter","title":"Se connecter","text":"Cliquer sur le bouton connexion, entrez votre nom d'utilisateur.trice ou votre mail et votre mot de passe. Si vous avez oubli\u00e9 votre mot de passe, laissez la case 'mot de passe' vide, le syst\u00e8me vous enverra un lien de connexion par mail.
"},{"location":"fr/tags.html","title":"Les tags, qu'est-ce que c'est et \u00e0 quoi \u00e7a sert?","text":"Le classement du contenu est une science. On l'appelle la taxonomie. C'est aussi parfois l'enfer, surtout quand on travaille \u00e0 plusieurs sur des fichiers.
O\u00f9 se trouve le dernier PV? Dans /premier-trimestre/r\u00e9unions/2021 ou dans /2021/premier-trimestre/pv ? ou encore dans admin/pv/2021 ?
Ce type de question arrive fr\u00e9quemment quand un groupe de personne classe diff\u00e9rents documents dans une structure hi\u00e9rarchique de dossiers. Chacun ayant sa logique de classement, les documents sont vites \u00e9parpill\u00e9s et il devient tr\u00e8s difficile de les retrouver.
La solution propos\u00e9e par Agorakit est d'utiliser les tags (ou mots cl\u00e9s) pour classer le contenu. Ceux-ci consistent en de simples mots cl\u00e9s que l'on peut appliquer au contenu. L'avantage est que l'on peut inventer un vocabulaire simple, \u00e9ventuellement limit\u00e9 \u00e0 quelques mots cl\u00e9s, et sans hi\u00e9rarchie qui d\u00e9pendrait trop de la logique de classement de chacun.
Info
Ainsi, un PV dat\u00e9 de 2021 sera simplement tagg\u00e9 PV
et 2021
et sera tr\u00e8s facile \u00e0 retrouver ult\u00e9rieurement.
Les tags peuvent \u00eatre appliqu\u00e9s \u00e0 des personnes, \u00e0 des groupes, des discussions, des \u00e9v\u00e9nements et des fichiers.
Le fait de cliquer sur un tag vous permet de voir tous les autres \u00e9l\u00e9ments tagg\u00e9s de la m\u00eame fa\u00e7on.
Info
Celles et ceux qui le souhaitent peuvent n\u00e9anmoins classer les fichiers par dossier. Une combinaison des deux syst\u00e8mes est \u00e9galement envisageable. A vous de voir ce qui marche le mieux pour votre groupe.
"},{"location":"fr/tags.html#limiter-les-tags-utilisables","title":"Limiter les tags utilisables","text":"Mais les tags ne r\u00e8glent pas tout. Si votre groupe est de taille importante ou que vous avez beaucoup de contenu, il est possible qu'un moment vous vous retrouviez avec trop de tags diff\u00e9rents et non normalis\u00e9s.
Dans ce cas, mieux vaut confier r\u00e9fl\u00e9chir un instant aux tags r\u00e9ellement n\u00e9cessaire et \u00e0 limiter les tags disponibles dans votre groupe. Vous pouvez tr\u00e8s facilement le faire en allant dans les r\u00e9glages de votre groupe (G\u00e9rer > Tags
).
Idem pour les utilisateurs et les groupes, afin d'uniformiser les profils des personnes et surtout de permettre \u00e0 chacun de retrouer quelqu'un en fonction de mots cl\u00e9s communs \u00e0 tous, vous pouvez limiter les tags utilisables dans les profils utilisateurs dans le menu Admin > Settings
.
Agorakit dispose de diff\u00e9rents types d'utilisateurs. Les voici par ordre de permissions, des plus \u00e9tendues aux plus restreintes :
"},{"location":"fr/users_types.html#administrateurtrice-dinstance","title":"Administrateur.trice d'instance","text":"Il s'agit d'une personne qui dispose de tous les droits d'acc\u00e8s \u00e0 une instance (installation) d'Agorakit. Cette personne peut tout faire : - acc\u00e9der \u00e0 tous les groupes y compris les groupes secrets - modifier les r\u00e9glages de l'installation - modifier et effacer n'importe quel contenu
"},{"location":"fr/users_types.html#administrateurtrice-de-groupe","title":"Administrateur.trice de groupe","text":"Toute personne cr\u00e9ant un groupe devient automatiquement administrateur de ce groupe. Cela permet de : - modifier les r\u00e9glages du groupe y compris les permissions des membres - acc\u00e9der \u00e0 la liste compl\u00e8te des participants y compris leur adresse mail - promouvoir n'importe quel membre au statut d'admin - changer le statut de n'importe quel membre y compris le sortir du groupe - modifier et effacer n'importe quel contenu du groupe
"},{"location":"fr/users_types.html#membre-dun-groupe","title":"Membre d'un groupe","text":"Toute personne membre d'un groupe dispose au minimum de la permission de voir l'ensemble du contenu du groupe. Elle peut en plus, en fonction des permissions d\u00e9finies pour le groupe en question : - cr\u00e9er des discussions - cr\u00e9er des \u00e9v\u00e9nements \u00e0 l'agenda - ajouter des fichiers - inviter de nouveaux participants
"},{"location":"fr/users_types.html#membre-invite","title":"Membre invit\u00e9","text":"Dans le cas d'un groupe ferm\u00e9 : quand un utilisateur a \u00e9t\u00e9 invit\u00e9 par mail \u00e0 rejoindre un groupe, il re\u00e7oit le status d'invit\u00e9. D\u00e8s qu'il confirme la demande, il devient membre effectif du groupe.
"},{"location":"fr/users_types.html#candidat-dun-groupe","title":"Candidat d'un groupe","text":"Quand une personne demande \u00e0 rejoindre un groupe ferm\u00e9, elle a le statut de candidat. Un des administrateurs du groupe doit accepter ou refuser sa candidature.
"},{"location":"fr/users_types.html#desenregistre-supprime","title":"D\u00e9senregistr\u00e9 / supprim\u00e9","text":"Ce statut est attribu\u00e9 aux personnes qui ont supprim\u00e9 leur compte de l'instance Agorakit.
"},{"location":"fr/users_types.html#a-refuse","title":"A refus\u00e9","text":"Ce statut est attribu\u00e9 aux personnes qui ont refus\u00e9 une invitation \u00e0 rejoindre le groupe. Il est fortement conseill\u00e9 de ne pas les recontacter \u00e0 propos du groupe, selon leur souhait, sauf bien entendu si il s'agit d'une fausse manoeuvre de leur part :-)
"},{"location":"fr/users_types.html#blackliste","title":"Blacklist\u00e9","text":"Ce statut est attribu\u00e9 \u00e0 une personne qui ne peut plus rejoindre le groupe.
"}]} \ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 0000000..f2d07d5 --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"lang":["en","fr"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"index.html","title":"Agorakit : collective's collaboration simplified","text":"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.
And most of the time Agorakit doesn't need an admin, keeping the process as horizontal as possible.
"},{"location":"index.html#trying-agorakit","title":"Trying Agorakit","text":"If you want to try Agorakit without installing it, go to https://app.agorakit.org, create an account there and create or join some groups.
"},{"location":"index.html#how-to-install-agorakit","title":"How to install Agorakit?","text":"As a server admin , you might want to install and later upgrade Agorakit. Agorakit is written in PHP using the Laravel framework.
"},{"location":"index.html#user-guide","title":"User guide","text":"If you are group member looking for help, check the user guide. If you are a group administrator on an new installation of Agorakit looking for help, check the group owner quickstart.
"},{"location":"index.html#contributing","title":"Contributing","text":"If you are looking for ways to contribute (great!), check the contribution guide.
Note
This documentation is written in markdown and built using Mkdocs-material. Your help is hugely appreciated on any front, including documentation :-)
"},{"location":"advanced_config.html","title":"Advanced configurations","text":""},{"location":"advanced_config.html#setup-inbound-emails","title":"Setup inbound emails","text":"This additional step allows you to have one mailbox for each group so members can post by email to create discussions and reply to discussions emails to create new comments.
Note
Inbound email support is experimental but in use on several instances. You might however experience bugs, please report them if it happens to your installation.
Let's say you installed Agorakit on agora.example.org :
# Inbox mail box server settings, use for incoming emails.\n# Set INBOX_DRIVER to null to disable this feature\nINBOX_DRIVER=imap\nINBOX_HOST=yourmailhost.tld\nINBOX_USERNAME=username of the mailbox\nINBOX_PASSWORD=password of the mailbox\nINBOX_PREFIX=\nINBOX_SUFFIX=@agora.example.org\n
"},{"location":"advanced_config.html#definign-prefixes-and-suffixes","title":"Definign prefixes and suffixes","text":"You need to fill prefix and suffix. Two cases there :
For a catch all there is no prefix. The suffix in the above example would be @agora.example.org
. This will create emails like group-slug@agora.example.com
On the other hand if you use \"+\" addressing (a gmail box for instance, let's call it agorakit@gmail.com),
agorakit+
@gmail.com
This will create emails like agorakit+group-slug@gmail.com
If you enable inbound email, the mailbox will be automatically checked and processed email will be put in a \"processed\" folder under INBOX. Failed emails will be similarly put a \"failed\" folder under INBOX for inspection.
"},{"location":"advanced_config.html#external-authentification","title":"External authentification","text":"Info
External authentification has been removed. I have fery few (if any) people ask for it. It is a privacy invading feature so no developement has been done on ths front. Feel free to submit PR if you want this.
"},{"location":"artisan.html","title":"Useful artisan commands","text":"Agorakit provides some useful artisan commands :
agorakit:checkmailbox
Check the configured email imap server to allow post by email functionalityagorakit:cleanupdatabase
Cleanup the database, delete forever soft deleted models and unverified users older than 30 daysagorakit: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 fileagorakit:deletefiles
Delete files from storage after 30 days of deletion in databaseagorakit: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 2017agorakit:sendnotifications
Sends all the pending notifications to all users who requested it. This might take time. Call this frequently to avoid troubleagorakit:sendreminders
Sends all reminders to participants who asked for it - call exactly every 5 minutes, no more, no less :-)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.
"},{"location":"contact.html","title":"How to contact us","text":"You can contact the Agorakit team directly on info [at] agorakit [dot] org
You can also join the official developer's group here, on Agorakit of course : https://app.agorakit.org/groups/39
"},{"location":"contribute.html","title":"Introduction","text":"You'd like to contribute to agorakit? Thank you !
"},{"location":"contribute.html#you-are-a-communication-support-person","title":"You are a communication & support person ?","text":"There are tons of way to contribute, everything is highly appreciated.
"},{"location":"contribute.html#you-are-a-developer-proficient-with-laravelphphtmlcssjs","title":"You are a developer proficient with laravel/php/html/css/js ?","text":"Make a branch of the master branch, work on your branch and create a pull request when ready. See http://scottchacon.com/2011/08/31/github-flow.html
"},{"location":"contribute.html#financial-support","title":"Financial support","text":"All the work is open source (AGPL) - Your work will benefit every interested citizen initiative. We already have 1000's of users who might benefit from your help. The work is made under the AGPL licence. - It also means that if you use this codebase, you must contribute back your changes.
Please drop a line to info (at) agorakit.org if you are interested or have any question.
"},{"location":"development.html","title":"Contributing to Agorakit","text":"You want to contribute to the project? Great! Any idea is welcome.
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.
This is what I use on my main workstation (linux based) since it's very reproductible.
Basically, sail up
will start a developement server
If you want to start a local server for development:
$ php artisan serve\n
The install will be available to 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.
"},{"location":"development.html#seed-the-db","title":"Seed the DB","text":"First follow the installation instructions including the creation of sample content using :
$ php artisan db:seed\n
"},{"location":"development.html#working-on-design-and-css","title":"Working on design and css","text":"I ditched all build steps, now everything happens in a flat custom.css file.
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.
No npm, no node, no tailwind, no purge, no minifier, no trouble :)
"},{"location":"development.html#testing-your-code","title":"Testing your code","text":"Agorakit is tested using the Laravel testing framework.
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.
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::
php artisan test\n
...in the root of your project.
No error should appear (provided that you have everything correctly set up.
We use travis ci to run all those tests on commit so it will be done automatically for you at some point :-)
"},{"location":"development.html#writing-tests","title":"Writing tests","text":"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...
"},{"location":"documentation.html","title":"Contribute to the documentation","text":"Documentation is written in markdown and the website is statically built using Mkdocs material
Note
New languages, better wording, new sections, more visuals, any fixes even small ones are welcome!
"},{"location":"documentation.html#how-to-contribute","title":"How to contribute ?","text":"Tip
Using Visual Studio Code 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.
"},{"location":"documentation.html#how-to-build-the-docs","title":"How to build the docs ?","text":"Install mkdocs material and a few plugins.
pip install mkdocs-material\npip install markdown-callouts\npip install mkdocs-static-i18n\n
Then start the built-in webserver to preview your work on the documentation.
mkdocs serve\n
The documentation is currently served by github pages. The workflow for publication is localted here : 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)
The resulting files are put into the GH-branch of the documentation repository which is then serbed using the github \"pages\" feature.
It's a bit painful to configure but it seems that once done, it works.
See https://squidfunk.github.io/mkdocs-material/getting-started/ for more informations on how the documentation builder works.
"},{"location":"first_steps.html","title":"First steps after installation","text":"If you just installed Agorakit on a server, take some time to configure it correctly for your use case.
"},{"location":"first_steps.html#introduction-text-on-the-homepage","title":"Introduction text on the homepage","text":"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.
"},{"location":"first_steps.html#check-all-the-admin-settings","title":"Check all the admin settings","text":"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.
"},{"location":"group.html","title":"Create and manage your groups","text":""},{"location":"group.html#create-groups","title":"Create groups","text":"Create one or more groups. A welcome and a test group are often useful.
You can choose the type of group to create
Note
Future releases of Agorakit might include more granular control of group types and membership access. Your input is valuable to further enhance this part.
"},{"location":"group.html#group-settings","title":"Group settings","text":"If you are admin of a group, you will have an \"admin\" tab on the group(s) you manage. There you can manage a lot of things in yout group.
"},{"location":"group.html#the-configuration-menu","title":"The \"configuration\" menu","text":"This tab lets you add a description to your group, set the group tags, define a location (address) and set the group type (see above).
"},{"location":"group.html#the-tags-menu","title":"The \"tags\" menu","text":"This menu allows you to choose which tagging strategy you want in your group:
Note
Altough free tagging looks nice, it is often a good idea to settle on a fixed set of tags together and then stick to it in your group. \"Less is more\" and \"everyone has a different way to organize content, so let's stick to one way of doing it\".\n
Group admins may also define tag colors. The colors are shared among groups.
"},{"location":"group.html#the-features-menu","title":"The \"features\" menu","text":"This menu allows you to enable and disable the tabs available in your group. This way you can enable or disable :
You have also the opportunity to add one custom tab to your group with a custom icon and custom HTML. Use it to include additional content that must be shared amongst all group members.
"},{"location":"group.html#the-permissions-menu","title":"The \"permissions\" menu","text":"This menu allows you to choose what members are able to do or not in your group. This is quite self explanatory, just check the permissions you want to allow for regular members in your group. By default members have all permissions.
"},{"location":"group.html#the-insights-menu","title":"The \"insights\" menu","text":"This one shows you some interesting stats about your groups and some nice graphs as well.
"},{"location":"group.html#invite-people","title":"Invite people","text":"Invite people to one or more groups using the invite feature of each group. You can also add people directly if the already registered on your install. This is particularly useful if people have a hard time to confirm their email address and membership (trust me it happens).
"},{"location":"group.html#memberships","title":"Memberships","text":"On this page, you can view and export the list of members of your group. You can also check if everyone has accepted an invitation to join a group.
Note
The \"Last activity\" field shows the last time someone wrote something not the last time someone connected to the system. It might be misleading.
"},{"location":"install.html","title":"Installation","text":"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 https://app.agorakit.org, an Agorakit instance for citizen-activists and for evaluation purposes.
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.
Keep reading if you want to install an Agorakit instance on your own server.
"},{"location":"install.html#requirements","title":"Requirements","text":"You need a good web hosting provider that provides the following :
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 shared hosting. By the way they host at a reduced fee the free instance of Agorakit.
"},{"location":"install.html#install","title":"Install","text":"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.
"},{"location":"install.html#clone-the-repository","title":"Clone the repository","text":"git clone https://github.com/agorakit/agorakit\n
This will create an agorakit
directory in the current path.
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 :-)
Create and edit the configuration file from the example file provided:
cp .env.example .env\nnano .env\n
Nano is a simple text editor available on most servers. Feel free to use something else to edit your .env file.
"},{"location":"install.html#setup-your-database-credentials","title":"Setup your database credentials","text":"Note
You need to set at least your database credentials & site name. Check that your database exists and is reachable with those credentials.
APP_ENV=local // local or production\nAPP_DEBUG=true // show the debugbar and extended errors or not\nAPP_KEY=SomeRandomString // will be auto generated\nAPP_NAME='Agorakit' // name of your application\nAPP_URL=http://locahost // base url\nAPP_LOG=daily // log rotation\nAPP_DEFAULT_LOCALE=en // default locale when not detected from user browser\n\nDB_HOST=localhost // host of your mysql server\nDB_DATABASE=agorakit // db name of your sql DB\nDB_USERNAME=root // login of mysql\nDB_PASSWORD= // password of mysql\n\nCACHE_DRIVER=file // driver to use for caching\nSESSION_DRIVER=file // driver to use for storing sessions\nQUEUE_DRIVER=sync // driver to use for queues\n
"},{"location":"install.html#setup-email-sending","title":"Setup email sending","text":"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.
MAIL_DRIVER=mail // driver to use for sending emails. Use mail to use php built-in mail function\nMAIL_HOST=mailtrap.io // hostname if you use smtp for sending mails\nMAIL_PORT=2525 // port if you use smtp for sending mails\nMAIL_USERNAME=null // login if you use smtp for sending mails\nMAIL_PASSWORD=null // password if you use smtp for sending mails\nMAIL_ENCRYPTION=null // encryption if you use smtp for sending mails\n\nMAIL_FROM=admin@localhost // from email adress used when sending admin emails\nMAIL_FROM_NAME=Agorakit // name of sender of admin emails\nMAIL_NOREPLY=noreply@localhost // no reply adress for service messages\n\nMAPBOX_TOKEN=null // Create a Mapbox account and generate a token to enable geolocalisation and display maps\n
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.
Download all the packages needed:
composer install\n
"},{"location":"install.html#generate-a-key","title":"Generate a key","text":"php artisan key:generate\n
This is a very important step since the key is used to generate various tokens and sessions.
"},{"location":"install.html#create-the-tables-in-the-db","title":"Create the tables in the DB","text":"Migrate (create all tables in) the database:
php artisan migrate\n
"},{"location":"install.html#link-file-storage","title":"Link file storage","text":"Link the storage public folder to the user visible public folder:
php artisan storage:link\n
"},{"location":"install.html#create-dummy-content","title":"Create dummy content","text":"(Optional) Create sample content the database:
php artisan db:seed\n
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.
"},{"location":"install.html#setup-your-web-server","title":"Setup your web server","text":"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!)
A cron job is a task your server runs at specific intervals to run stuff in the background.
Agorakit needs to periodically do some tasks, like sending email summaries, celaning the DB, remove old versions of content, delete old files, etc...
The script php artisan schedule:run
should be run at least every 5 minutes using a cron job.
Follow Laravel cron documentation here : 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.
"},{"location":"sign_up.html","title":"Signing up","text":"To use Agorakit, simply connect to the Agorakit server you are using.
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.
"},{"location":"sign_up.html#registering-a-new-user","title":"Registering a new user","text":"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.
"},{"location":"sign_up.html#the-special-case-of-the-first-user-account","title":"The special case of the first user account","text":"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.
Note
You need to have email sending working in order to validate your account.
"},{"location":"upgrade.html","title":"Upgrade Agorakit","text":"It is important to keep an up to date installation of Agorakit. The process is safe
We try to keep the master branch always in a good, safe, and working condition (this is called a \"rolling release\" model).
That means that tests passes and that you get the latest features directly from the master branch.
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.
Info
You can choose between an automated update procedure from the command line, or a step by step to update manually.
"},{"location":"upgrade.html#option-1-using-the-update-script","title":"Option 1 : Using the update script","text":"There is a helper script that does the update for you :
./update\n
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.
"},{"location":"upgrade.html#option-2-proceed-with-the-update-manually","title":"Option 2 : Proceed with the update manually","text":"You can at anytime do this to update your install :
php artisan down\ngit pull\ncomposer install\nphp artisan migrate\nphp artisan up\n
"},{"location":"upgrade.html#if-something-goes-wrong","title":"If something goes wrong","text":"Restore your database backup and git checkout a previous (working) version. Then re-run composer install.
Contact us if an update fails (it never happened so this kind of failure is highly interesting information for the project).
"},{"location":"upgrade.html#version-specific-instructions","title":"Version Specific Instructions","text":""},{"location":"upgrade.html#upgrade-to-15","title":"Upgrade to 1.5","text":"After the normal update you might get an error mentioning duplicate username key in user table.
Run php artisan agorakit:enforceuniqueusernames
to fix the issue Then re-run the update script.
This happens only on large installs and can be run multiple times without problem. It's a future proof fix for this issue.
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 :-)
"},{"location":"usage.html","title":"Using Agorakit","text":""},{"location":"usage.html#start-discussions","title":"Start discussions","text":"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.
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.
"},{"location":"usage.html#schedule-events","title":"Schedule events","text":"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.
"},{"location":"usage.html#upload-files-and-share-links","title":"Upload files and share links","text":"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.
"},{"location":"usage.html#categorize-content-using-tags","title":"Categorize content using tags","text":"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).
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.
"},{"location":"usage.html#last-step-profit","title":"Last step : profit !","text":"(or in some cases, revolution!)
"},{"location":"fr/index.html","title":"Agorakit : la collaboration collective simplifi\u00e9e","text":"Agorakit est un collecticiel open source, web based pour collectifs. Il permet aux groupes de communiquer, d'organiser des \u00e9v\u00e9nements et de stocker leurs fichiers. Il permet \u00e0 tous les membres de votre groupe collaboratif de se tenir au courant gr\u00e2ce \u00e0 un forum de discussion, un agenda pour les \u00e9v\u00e9nements, un gestionnaire de fichiers et un notificateur d'emails.
La plupart du temps, Agorakit n'a pas besoin d'administrateur, ce qui rend le processus aussi horizontal que possible.
"},{"location":"fr/index.html#essayer-agorakit","title":"Essayer Agorakit","text":"Si vous voulez essayer Agorakit sans l'installer, allez sur https://app.agorakit.org, cr\u00e9ez un compte et cr\u00e9ez ou rejoignez des groupes.
"},{"location":"fr/index.html#comment-installer-agorakit","title":"Comment installer Agorakit ?","text":"En tant qu'administrateur de serveur, vous pourriez vouloir installer et plus tard mettre \u00e0 jour Agorakit. Agorakit est \u00e9crit en PHP en utilisant le framework Laravel.
"},{"location":"fr/index.html#guide-de-lutilisateur","title":"Guide de l'utilisateur","text":"Si vous \u00eates membre d'un groupe et que vous avez besoin d'aide, consultez le user guide. Si vous \u00eates administrateur d'un groupe sur une nouvelle installation d'Agorakit et que vous avez besoin d'aide, consultez le group owner quickstart.
"},{"location":"fr/index.html#contribuer","title":"Contribuer","text":"Si vous cherchez des moyens de contribuer (super !), voyez le guide de contribution.
NOTE : Cette documentation est \u00e9crite en markdown et construite en utilisant Mkdocs-material. Votre aide est tr\u00e8s appr\u00e9ci\u00e9e sur tous les fronts, y compris la documentation :-)
"},{"location":"fr/advanced_config.html#configurer-les-courriels-entrants","title":"Configurer les courriels entrants","text":"Cette \u00e9tape suppl\u00e9mentaire vous permet d'avoir une bo\u00eete aux lettres pour chaque groupe afin que les membres puissent envoyer des messages par courriel pour cr\u00e9er des discussions et r\u00e9pondre aux courriels des discussions pour cr\u00e9er de nouveaux commentaires.
! !! note Le support des emails entrants est exp\u00e9rimental mais utilis\u00e9 sur plusieurs instances. Il est possible que vous rencontriez des bogues, veuillez les signaler si cela se produit dans votre installation.
Disons que vous avez install\u00e9 Agorakit sur agora.example.org :
# Param\u00e8tres du serveur de la bo\u00eete aux lettres, \u00e0 utiliser pour les courriels entrants.\n# D\u00e9finissez INBOX_DRIVER \u00e0 null pour d\u00e9sactiver cette fonctionnalit\u00e9\nINBOX_DRIVER=imap\nINBOX_HOST=votremailhost.tld\nINBOX_USERNAME=nom d'utilisateur de la bo\u00eete aux lettres\nINBOX_PASSWORD=mot de passe de la bo\u00eete aux lettres\nINBOX_PREFIX=\nINBOX_SUFFIX=@agora.example.org\n
"},{"location":"fr/advanced_config.html#definir-les-prefixes-et-les-suffixes","title":"D\u00e9finir les pr\u00e9fixes et les suffixes","text":"Vous devez renseigner le pr\u00e9fixe et le suffixe. Il y a deux cas de figure :
Pour un catch all, il n'y a pas de pr\u00e9fixe. Le suffixe dans l'exemple ci-dessus serait @agora.example.org
. Cela cr\u00e9era des courriels comme group-slug@agora.example.com
En revanche, si vous utilisez l'adresse \"+\" (une bo\u00eete gmail par exemple, appelons-la agorakit@gmail.com),
agorakit+
@gmail.com
.Cela cr\u00e9era des emails comme agorakit+group-slug@gmail.com
Si vous activez les emails entrants, la bo\u00eete aux lettres sera automatiquement v\u00e9rifi\u00e9e et les emails trait\u00e9s seront plac\u00e9s dans un dossier \"processed\" sous INBOX. Les courriels \u00e9chou\u00e9s seront \u00e9galement plac\u00e9s dans un dossier \"failed\" sous INBOX pour inspection.
"},{"location":"fr/advanced_config.html#authentification-externe","title":"Authentification externe","text":"! !! info L'authentification externe a \u00e9t\u00e9 supprim\u00e9e. Je n'ai que tr\u00e8s peu (voire pas du tout) de personnes qui l'ont demand\u00e9e. Il s'agit d'une fonctionnalit\u00e9 qui porte atteinte \u00e0 la vie priv\u00e9e, c'est pourquoi aucun d\u00e9veloppement n'a \u00e9t\u00e9 fait dans ce sens. N'h\u00e9sitez pas \u00e0 soumettre un PR si vous le souhaitez.
"},{"location":"fr/artisan.html","title":"Commandes artisanales utiles","text":"Agorakit fournit quelques commandes artisan utiles :
agorakit:checkmailbox
V\u00e9rifier le serveur email imap configur\u00e9 pour permettre la fonctionnalit\u00e9 de postage par emailagorakit:cleanupdatabase
Nettoie la base de donn\u00e9es, supprime pour toujours les mod\u00e8les supprim\u00e9s et les utilisateurs non v\u00e9rifi\u00e9s de plus de 30 jours.agorakit:convertfiles
Convertit les fichiers de l'ancien stockage bas\u00e9 sur le chemin plat vers le nouveau stockage, en remettant leur nom de fichier initial et en d\u00e9pla\u00e7ant le fichier vers le r\u00e9pertoire public. Utilisez ceci une fois si vous avez d\u00e9j\u00e0 des fichiers sur votre installation et si votre installation est ant\u00e9rieure \u00e0 novembre 2016.agorakit:convertfolderstotags
Convertit tous les dossiers au nouveau syst\u00e8me bas\u00e9 sur les tags. Ajouter les tags repr\u00e9sentant le dossier parent \u00e0 chaque fichier.agorakit:deletefiles
Supprime les fichiers du stockage apr\u00e8s 30 jours de suppression dans la base de donn\u00e9es.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\u00e9elle du syst\u00e8me de fichiers. A utiliser si vous avez install\u00e9 Agorakit avant novembre 2017.agorakit:sendnotifications
Envoie toutes les notifications en attente \u00e0 tous les utilisateurs qui l'ont demand\u00e9. Cela peut prendre du temps. Appelez ceci fr\u00e9quemment pour \u00e9viter les probl\u00e8mesagorakit:sendreminders
Envoie tous les rappels aux participants qui l'ont demand\u00e9 - appeler exactement toutes les 5 minutes, ni plus, ni moins :-)ATTENTION : La plupart de ces commandes sont d\u00e9j\u00e0 utilis\u00e9es par le job cron, elles n'ont donc pas besoin d'\u00eatre appel\u00e9es manuellement. Mais elles peuvent \u00eatre utiles pour le d\u00e9bogage et le d\u00e9veloppement.
"},{"location":"fr/contact.html","title":"How to contact us","text":"Vous pouvez contacter l'\u00e9quipe d'Agorakit directement sur info [at] agorakit [dot] org.
Vous pouvez \u00e9galement rejoindre le groupe officiel de d\u00e9veloppeurs ici, sur Agorakit bien s\u00fbr : https://app.agorakit.org/groups/39
"},{"location":"fr/contribute.html","title":"Introduction","text":"Vous souhaitez contribuer \u00e0 agorakit ? Merci d'avance !
"},{"location":"fr/contribute.html#vous-etes-une-personne-de-communication-et-de-soutien","title":"Vous \u00eates une personne de communication et de soutien ?","text":"Il y a des tonnes de fa\u00e7ons de contribuer, tout est tr\u00e8s appr\u00e9ci\u00e9.
"},{"location":"fr/contribute.html#vous-etes-un-developpeur-maitrisant-laravelphphtmlcssjs","title":"Vous \u00eates un d\u00e9veloppeur ma\u00eetrisant laravel/php/html/css/js ?","text":"Cr\u00e9ez une branche de la branche principale, travaillez sur votre branche et cr\u00e9ez une demande d'extraction lorsque vous \u00eates pr\u00eat. Voir http://scottchacon.com/2011/08/31/github-flow.html
"},{"location":"fr/contribute.html#soutien-financier","title":"Soutien financier","text":"Tout le travail est open source (AGPL) - Votre travail b\u00e9n\u00e9ficiera \u00e0 toute initiative citoyenne int\u00e9ress\u00e9e. Nous avons d\u00e9j\u00e0 des milliers d'utilisateurs qui pourraient b\u00e9n\u00e9ficier de votre aide. Le travail est r\u00e9alis\u00e9 sous licence AGPL. - Cela signifie \u00e9galement que si vous utilisez cette base de code, vous devez contribuer \u00e0 vos modifications.
N'h\u00e9sitez pas \u00e0 envoyer un message \u00e0 info (at) agorakit.org si vous \u00eates int\u00e9ress\u00e9 ou si vous avez des questions.
"},{"location":"fr/development.html","title":"Contribuer \u00e0 Agorakit","text":"Vous voulez contribuer au projet ? C'est tr\u00e8s bien ! Toute id\u00e9e est la bienvenue.
Sail est un wrapper docker pour faciliter le d\u00e9veloppement local. C'est un moyen vraiment cool et facile d'avoir un serveur local parfait pour les d\u00e9veloppeurs. Laravel Sail fonctionne d'embl\u00e9e dans ce projet. Lisez la documentation de Sail pour plus d'informations.
C'est ce que j'utilise sur ma station de travail principale (bas\u00e9e sur linux) car c'est tr\u00e8s reproductible.
En gros, sail up
va d\u00e9marrer un serveur de d\u00e9veloppement
Si vous voulez d\u00e9marrer un serveur local pour le d\u00e9veloppement :
$ php artisan serve\n
L'installation sera disponible pour 127.0.0.1:8000
Il y a beaucoup d'autres options, consultez la documentation et l'\u00e9cosyst\u00e8me de Laravel pour avoir une vue d'ensemble des options pour le d\u00e9veloppement local.
"},{"location":"fr/development.html#creation-de-la-base-de-donnees","title":"Cr\u00e9ation de la base de donn\u00e9es","text":"Suivez d'abord les instructions d'installation, y compris la cr\u00e9ation d'un \u00e9chantillon de contenu en utilisant :
$ php artisan db:seed\n
"},{"location":"fr/development.html#travailler-sur-le-design-et-les-css","title":"Travailler sur le design et les css","text":"J'ai supprim\u00e9 toutes les \u00e9tapes de construction, maintenant tout se passe dans un fichier custom.css plat.
Tous les JS et CSS externes sont servis par diff\u00e9rents CDN. A un moment donn\u00e9, les fichiers seront re-servis en local, quand tout sera stabilis\u00e9, et s'il y a de r\u00e9els avantages \u00e0 le faire.
Pas de npm, pas de node, pas de tailwind, pas de purge, pas de minifier, pas de probl\u00e8me :)
"},{"location":"fr/development.html#tester-votre-code","title":"Tester votre code","text":"Agorakit est test\u00e9 en utilisant le framework de test Laravel.
Pour tester, vous devez avoir une base de donn\u00e9es de test existante. Il suffit de cr\u00e9er une nouvelle base de donn\u00e9es vide, par exemple agorakit_testing et de v\u00e9rifier dans le fichier phpunit.xml que tout correspond.
Avant de commencer le code, vous devriez soit \u00e9crire plus de tests (dans ce cas, vous m\u00e9ritez un cookie). Ou au moins v\u00e9rifier que vous n'avez rien cass\u00e9 en tapant simplement: :
php artisan test\n
...\u00e0 la racine de votre projet.
Aucune erreur ne devrait appara\u00eetre (\u00e0 condition que tout soit correctement configur\u00e9).
Nous utilisons travis ci pour ex\u00e9cuter tous ces tests lors du commit, donc cela sera fait automatiquement pour vous \u00e0 un moment donn\u00e9 :-)
"},{"location":"fr/development.html#ecriture-des-tests","title":"Ecriture des tests","text":"N'h\u00e9sitez pas \u00e0 \u00e9crire des tests. Nous privil\u00e9gions les t\u00e2ches bien d\u00e9finies qu'un utilisateur final accomplirait r\u00e9ellement, comme l'inscription, la cr\u00e9ation d'un compte, la publication, le t\u00e9l\u00e9chargement, etc... Cela nous a tr\u00e8s bien servi dans le pass\u00e9 pour rep\u00e9rer les erreurs et cela refl\u00e8te vraiment les cas d'utilisation r\u00e9els. Bien que nous soyons ouverts \u00e0 d'autres types de tests...
"},{"location":"fr/documentation.html","title":"Contribuer \u00e0 la documentation","text":"La documentation est \u00e9crite en markdown et le site web est construit statiquement en utilisant Mkdocs material
NOTE : Nouveaux langages, meilleure formulation, nouvelles sections, plus de visuels, toutes les corrections m\u00eame petites sont les bienvenues !
"},{"location":"fr/documentation.html#comment-contribuer","title":"Comment contribuer ?","text":"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\u00e9gr\u00e9e pour l'int\u00e9gration de git et de github, ce qui est int\u00e9ressant pour les d\u00e9butants.
"},{"location":"fr/documentation.html#comment-construire-la-documentation","title":"Comment construire la documentation ?","text":"Installez mkdocs material et quelques plugins.
pip install mkdocs-material\npip install markdown-callouts\npip install mkdocs-static-i18n\n
D\u00e9marrez ensuite le serveur web int\u00e9gr\u00e9 pour pr\u00e9visualiser votre travail sur la documentation.
mkdocs serve\n
La documentation est actuellement servie par des pages github. Le processus de publication est localis\u00e9 ici : https://github.com/agorakit/documentation/actions/workflows/ci.yml
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)
Les fichiers r\u00e9sultants sont plac\u00e9s dans la branche GH du d\u00e9p\u00f4t de documentation qui est ensuite s\u00e9rialis\u00e9e en utilisant la fonctionnalit\u00e9 \"pages\" de github.
C'est un peu difficile \u00e0 configurer mais il semble qu'une fois que c'est fait, \u00e7a fonctionne.
Voir https://squidfunk.github.io/mkdocs-material/getting-started/ pour plus d'informations sur le fonctionnement du constructeur de documentation.
"},{"location":"fr/first_steps.html","title":"Premiers pas apr\u00e8s l'installation","text":"Si vous venez d'installer Agorakit sur un serveur, prenez le temps de le configurer correctement pour votre cas d'utilisation.
"},{"location":"fr/first_steps.html#texte-dintroduction-sur-la-page-daccueil","title":"Texte d'introduction sur la page d'accueil","text":"D\u00e9finissez un texte d'introduction sur la page d'accueil pour les nouveaux arrivants : allez sur la page d'administration \u00e0 partir du menu d\u00e9roulant de votre profil d'utilisateur. En utilisant l'\u00e9diteur, vous pouvez ajouter des images externes et tout ce que vous voulez.
"},{"location":"fr/first_steps.html#verifier-tous-les-parametres-dadministration","title":"V\u00e9rifier tous les param\u00e8tres d'administration","text":"Allez dans le menu d'administration (\u00e0 partir du menu d\u00e9roulant de votre profil d'utilisateur) et v\u00e9rifiez tous les param\u00e8tres qui s'y trouvent. Faites attention aux diff\u00e9rentes permissions et aux types de groupes que vous autorisez sur votre serveur.
"},{"location":"fr/group.html","title":"Cr\u00e9ez et g\u00e9rez vos groupes","text":""},{"location":"fr/group.html#creer-des-groupes","title":"Cr\u00e9er des groupes","text":"Cr\u00e9ez un ou plusieurs groupes. Un groupe de bienvenue et un groupe de test sont souvent utiles.
Vous pouvez choisir le type de groupe \u00e0 cr\u00e9er
! !! note Les prochaines versions d'Agorakit pourraient inclure un contr\u00f4le plus granulaire des types de groupes et de l'acc\u00e8s aux membres. Votre contribution est pr\u00e9cieuse pour am\u00e9liorer cette partie.
"},{"location":"fr/group.html#parametres-du-groupe","title":"Param\u00e8tres du groupe","text":"Si vous \u00eates administrateur d'un groupe, vous aurez un onglet \"admin\" sur le(s) groupe(s) que vous g\u00e9rez. Vous pouvez y g\u00e9rer beaucoup de choses dans votre groupe.
"},{"location":"fr/group.html#le-menu-configuration","title":"Le menu \"configuration","text":"Cet onglet vous permet d'ajouter une description \u00e0 votre groupe, de d\u00e9finir les tags du groupe, de d\u00e9finir un emplacement (adresse) et de d\u00e9finir le type de groupe (voir ci-dessus).
"},{"location":"fr/group.html#le-menu-tags","title":"Le menu \"tags","text":"Ce menu vous permet de choisir la strat\u00e9gie de marquage que vous souhaitez pour votre groupe :
! !! note Bien que le balisage libre soit agr\u00e9able, il est souvent pr\u00e9f\u00e9rable 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\u00e7on diff\u00e9rente d'organiser le contenu, alors tenons-nous en \u00e0 une seule fa\u00e7on de le faire\".
Les administrateurs de groupe peuvent \u00e9galement d\u00e9finir des couleurs pour les balises. Les couleurs sont partag\u00e9es entre les groupes.
"},{"location":"fr/group.html#le-menu-fonctionnalites","title":"Le menu \"fonctionnalit\u00e9s","text":"Ce menu vous permet d'activer et de d\u00e9sactiver les onglets disponibles dans votre groupe. Vous pouvez ainsi activer ou d\u00e9sactiver :
Vous avez \u00e9galement la possibilit\u00e9 d'ajouter un onglet personnalis\u00e9 \u00e0 votre groupe, avec une ic\u00f4ne et un code HTML personnalis\u00e9s. Utilisez-le pour inclure du contenu suppl\u00e9mentaire qui doit \u00eatre partag\u00e9 par tous les membres du groupe.
"},{"location":"fr/group.html#le-menu-permissions","title":"Le menu \"permissions","text":"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\u00e9guliers de votre groupe. Par d\u00e9faut, les membres ont toutes les permissions.
"},{"location":"fr/group.html#le-menu-insights","title":"Le menu \"insights","text":"Ce menu vous montre des statistiques int\u00e9ressantes sur vos groupes ainsi que de jolis graphiques.
"},{"location":"fr/group.html#inviter-des-personnes","title":"Inviter des personnes","text":"Invitez des personnes \u00e0 un ou plusieurs groupes en utilisant la fonction d'invitation de chaque groupe. Vous pouvez \u00e9galement ajouter des personnes directement si elles sont d\u00e9j\u00e0 inscrites sur votre installation. Ceci est particuli\u00e8rement utile si les gens ont du mal \u00e0 confirmer leur adresse email et leur appartenance \u00e0 un groupe (croyez-moi, cela arrive).
"},{"location":"fr/group.html#adhesions","title":"Adh\u00e9sions","text":"Sur cette page, vous pouvez voir et exporter la liste des membres de votre groupe. Vous pouvez \u00e9galement v\u00e9rifier si tout le monde a accept\u00e9 une invitation \u00e0 rejoindre un groupe.
REMARQUE : le champ \"Derni\u00e8re activit\u00e9\" indique la derni\u00e8re fois que quelqu'un a \u00e9crit quelque chose et non la derni\u00e8re fois que quelqu'un s'est connect\u00e9 au syst\u00e8me. Cela peut induire en erreur.
"},{"location":"fr/install.html","title":"Installation","text":"NOTE : Essayer Agorakit sans l'installer Si vous souhaitez simplement essayer Agorakit, vous pouvez le faire sans avoir \u00e0 l'installer. Il suffit de cr\u00e9er un compte sur https://app.agorakit.org, une instance d'Agorakit pour les citoyens-activistes et \u00e0 des fins d'\u00e9valuation.
Vous pouvez \u00e9galement contacter le d\u00e9veloppeur si vous \u00eates int\u00e9ress\u00e9 par l'h\u00e9bergement g\u00e9r\u00e9 d'une instance priv\u00e9e d'Agorakit. Contactez info [at] agorakit.org pour plus de d\u00e9tails.\n\nContinuez \u00e0 lire si vous souhaitez installer une instance d'Agorakit sur votre propre serveur.\n
"},{"location":"fr/install.html#exigences","title":"Exigences","text":"Vous avez besoin d'un bon fournisseur d'h\u00e9bergement web qui fournit les \u00e9l\u00e9ments suivants :
NOTE : Toutes ces fonctionnalit\u00e9s r\u00e9unies sont difficiles \u00e0 trouver, c'est pourquoi les gens sont oblig\u00e9s d'utiliser un VPS et de tout configurer eux-m\u00eames. C'est une proposition plus risqu\u00e9e si vous ne savez pas comment cela fonctionne. Nous avons eu beaucoup de succ\u00e8s avec l'h\u00e9bergement partag\u00e9 [Alwaysdata] (https://www.alwaysdata.com). Ils h\u00e9bergent d'ailleurs \u00e0 un tarif r\u00e9duit l'instance gratuite d'Agorakit.
"},{"location":"fr/install.html#installer","title":"Installer","text":"Actuellement, vous devez savoir comment installer une application Laravel en utilisant la ligne de commande. Ceci est parfaitement standard et document\u00e9 ici : https://laravel.com/docs/master/installation.
"},{"location":"fr/install.html#cloner-le-depot","title":"Cloner le d\u00e9p\u00f4t","text":"git clone https://github.com/agorakit/agorakit\n
Cela cr\u00e9era un r\u00e9pertoire agorakit
dans le chemin courant.
Tous les param\u00e8tres sont stock\u00e9s dans un fichier .env. Ce fichier n'est pas fourni dans le d\u00e9p\u00f4t Git, parce qu'il est sp\u00e9cifique \u00e0 votre installation, et parce que vous ne voulez pas que votre configuration soit \u00e9cras\u00e9e lors d'une mise \u00e0 jour :-)
Cr\u00e9ez et \u00e9ditez le fichier de configuration \u00e0 partir du fichier d'exemple fourni :
cp .env.example .env\nnano .env\n
Nano est un simple \u00e9diteur de texte disponible sur la plupart des serveurs. N'h\u00e9sitez pas \u00e0 utiliser autre chose pour \u00e9diter votre fichier .env.
"},{"location":"fr/install.html#configurer-les-informations-didentification-de-la-base-de-donnees","title":"Configurer les informations d'identification de la base de donn\u00e9es","text":"NOTE : Vous devez au moins d\u00e9finir les identifiants de votre base de donn\u00e9es et le nom de votre site. V\u00e9rifiez que votre base de donn\u00e9es existe et qu'elle est accessible avec ces identifiants.
APP_ENV=local // local ou production\nAPP_DEBUG=true // affiche ou non la barre de d\u00e9bogage et les erreurs \u00e9tendues\nAPP_KEY=SomeRandomString // sera g\u00e9n\u00e9r\u00e9 automatiquement\nAPP_NAME='Agorakit' // nom de votre application\nAPP_URL=http://locahost // url de base\nAPP_LOG=daily // rotation du journal\nAPP_DEFAULT_LOCALE=en // locale par d\u00e9faut si elle n'est pas d\u00e9tect\u00e9e par le navigateur de l'utilisateur\n\nDB_HOST=localhost // h\u00f4te de votre serveur mysql\nDB_DATABASE=agorakit // nom de votre base de donn\u00e9es SQL\nDB_USERNAME=root // login de mysql\nDB_PASSWORD= // mot de passe de mysql\n\nCACHE_DRIVER=file // driver \u00e0 utiliser pour la mise en cache\nSESSION_DRIVER=file // pilote \u00e0 utiliser pour stocker les sessions\nQUEUE_DRIVER=sync // pilote \u00e0 utiliser pour les files d'attente\n
"},{"location":"fr/install.html#configurer-lenvoi-demails","title":"Configurer l'envoi d'emails","text":"Vous pouvez maintenant configurer votre serveur de messagerie. Pour le pilote de messagerie, vous pouvez utiliser mail
pour utiliser la fonction de messagerie int\u00e9gr\u00e9e 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\u00f4te et le nom d'utilisateur / mot de passe.
MAIL_DRIVER=mail // pilote \u00e0 utiliser pour envoyer des emails. Utilisez mail pour utiliser la fonction mail int\u00e9gr\u00e9e de php\nMAIL_HOST=mailtrap.io // nom d'h\u00f4te si vous utilisez smtp pour envoyer des mails\nMAIL_PORT=2525 // port si vous utilisez smtp pour envoyer des mails\nMAIL_USERNAME=null // login si vous utilisez smtp pour envoyer des mails\nMAIL_PASSWORD=null // mot de passe si vous utilisez smtp pour envoyer des mails\nMAIL_ENCRYPTION=null // cryptage si vous utilisez smtp pour envoyer des mails\n\nMAIL_FROM=admin@localhost // adresse email utilis\u00e9e pour l'envoi d'emails d'administration\nMAIL_FROM_NAME=Agorakit // nom de l'exp\u00e9diteur des emails d'administration\nMAIL_NOREPLY=noreply@localhost // pas d'adresse de r\u00e9ponse pour les messages de service\n\nMAPBOX_TOKEN=null // Cr\u00e9er un compte Mapbox et g\u00e9n\u00e9rer un jeton pour permettre la g\u00e9olocalisation et l'affichage des cartes.\n
ASTUCE : Vous devez disposer d'un serveur de courrier \u00e9lectronique op\u00e9rationnel pour pouvoir v\u00e9rifier tout compte utilisateur enregistr\u00e9. Si vous ne pouvez pas v\u00e9rifier votre compte utilisateur, vous pouvez toujours mettre la colonne verified
\u00e0 1
dans la table users
.
T\u00e9l\u00e9chargez tous les paquets n\u00e9cessaires :
composer install\n
"},{"location":"fr/install.html#generer-une-cle","title":"G\u00e9n\u00e9rer une cl\u00e9","text":"php artisan key:generate\n
Cette \u00e9tape est tr\u00e8s importante car la cl\u00e9 est utilis\u00e9e pour g\u00e9n\u00e9rer diff\u00e9rents tokens et sessions.
"},{"location":"fr/install.html#creer-les-tables-dans-la-base-de-donnees","title":"Cr\u00e9er les tables dans la base de donn\u00e9es","text":"Migrer (cr\u00e9er toutes les tables dans) la base de donn\u00e9es :
php artisan migrate\n
"},{"location":"fr/install.html#stockage-des-fichiers-de-liens","title":"Stockage des fichiers de liens","text":"Lier le dossier public de stockage au dossier public visible par l'utilisateur :
php artisan storage:link\n
"},{"location":"fr/install.html#creer-un-contenu-factice","title":"Cr\u00e9er un contenu factice","text":"(Facultatif) Cr\u00e9er un exemple de contenu dans la base de donn\u00e9es :
php artisan db:seed\n
! !! avertissement Ne faites pas cette derni\u00e8re \u00e9tape pour une installation en production car elle cr\u00e9era un utilisateur admin avec un mot de passe par d\u00e9faut et des groupes et contenus factices.
"},{"location":"fr/install.html#configurez-votre-serveur-web","title":"Configurez votre serveur web","text":"Vous pouvez maintenant configurer votre serveur web pour qu'il serve le r\u00e9pertoire /public
. Ceci est tr\u00e8s important, car vous ne voulez pas exposer le reste des r\u00e9pertoires (par exemple, vous ne voulez PAS exposer votre fichier .env !).
Une t\u00e2che cron est une t\u00e2che que votre serveur ex\u00e9cute \u00e0 des intervalles sp\u00e9cifiques pour ex\u00e9cuter des choses en arri\u00e8re-plan.
Agorakit a besoin d'effectuer p\u00e9riodiquement certaines t\u00e2ches, comme l'envoi de r\u00e9sum\u00e9s par email, le nettoyage de la base de donn\u00e9es, la suppression d'anciennes versions du contenu, la suppression d'anciens fichiers, etc...
Le script php artisan schedule:run
doit \u00eatre ex\u00e9cut\u00e9 au moins toutes les 5 minutes en utilisant une t\u00e2che cron.
Suivez la documentation de Laravel cron ici : https://laravel.com/docs/master/scheduling
NOTE : Sans job cron, votre application n'enverra PAS de r\u00e9sum\u00e9s, ne nettoiera pas la base de donn\u00e9es, ne rappellera pas aux utilisateurs les \u00e9v\u00e9nements \u00e0 venir, etc. Les jobs cron sont n\u00e9cessaires pour une exploitation correcte.
"},{"location":"fr/sign_up.html","title":"Signing up","text":"Pour utiliser Agorakit, il suffit de se connecter au serveur Agorakit que vous utilisez.
Il peut s'agir de l'instance partag\u00e9e 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\u00e9 ou que quelqu'un g\u00e8re pour vous.
"},{"location":"fr/sign_up.html#enregistrer-un-nouvel-utilisateur","title":"Enregistrer un nouvel utilisateur","text":"Sur la plupart des serveurs, vous pouvez librement cr\u00e9er un nouveau compte utilisateur. Si vous ne pouvez pas cr\u00e9er de compte sur un serveur particulier, cela signifie que l'enregistrement a \u00e9t\u00e9 d\u00e9sactiv\u00e9. Dans ce cas, vous devez recevoir une invitation de l'administrateur du serveur pour rejoindre le serveur.
"},{"location":"fr/sign_up.html#le-cas-particulier-du-premier-compte-dutilisateur","title":"Le cas particulier du premier compte d'utilisateur","text":"Si vous cr\u00e9ez un compte utilisateur sur un nouveau serveur (sans utilisateur existant), vous serez l'administrateur du serveur (super utilisateur) sur ce serveur.
NOTE : L'envoi d'email doit fonctionner pour que votre compte puisse \u00eatre valid\u00e9.
"},{"location":"fr/upgrade.html","title":"Mise \u00e0 jour d'Agorakit","text":"Il est important de maintenir une installation d'Agorakit \u00e0 jour. Le processus est s\u00fbr
Nous essayons de garder la branche master toujours dans un bon \u00e9tat de fonctionnement (c'est ce qu'on appelle un mod\u00e8le de \"rolling release\").
Cela signifie que les tests sont r\u00e9ussis et que vous obtenez les derni\u00e8res fonctionnalit\u00e9s directement \u00e0 partir de la branche master.
ATTENTION : Faites une sauvegarde de votre base de donn\u00e9es SQL au cas o\u00f9 quelque chose tournerait mal. Faites \u00e9galement une sauvegarde de tous vos fichiers. Faites m\u00eame deux sauvegardes et stockez-les sur un serveur s\u00e9par\u00e9.
INFO : Vous pouvez choisir entre une proc\u00e9dure de mise \u00e0 jour automatis\u00e9e \u00e0 partir de la ligne de commande, ou une proc\u00e9dure de mise \u00e0 jour manuelle \u00e9tape par \u00e9tape.
"},{"location":"fr/upgrade.html#option-1-utilisation-du-script-de-mise-a-jour","title":"Option 1 : Utilisation du script de mise \u00e0 jour","text":"Il existe un script d'aide qui effectue la mise \u00e0 jour pour vous :
./update\n
! !! avertissement Attention, le script migrera votre base de donn\u00e9es sans vous demander confirmation. Faites toujours une sauvegarde de la base de donn\u00e9es au cas o\u00f9 quelque chose se passerait mal.
"},{"location":"fr/upgrade.html#option-2-proceder-a-la-mise-a-jour-manuellement","title":"Option 2 : Proc\u00e9der \u00e0 la mise \u00e0 jour manuellement","text":"Vous pouvez \u00e0 tout moment proc\u00e9der \u00e0 la mise \u00e0 jour de votre installation :
php artisan down\ngit pull\ncomposer install\nphp artisan migrate\nphp artisan up\n
"},{"location":"fr/upgrade.html#si-quelque-chose-ne-va-pas","title":"Si quelque chose ne va pas","text":"Restaurez la sauvegarde de votre base de donn\u00e9es et faites un git checkout d'une version pr\u00e9c\u00e9dente (fonctionnelle). Puis r\u00e9ex\u00e9cutez composer install.
Contactez-nous si une mise \u00e0 jour \u00e9choue (cela n'est jamais arriv\u00e9, donc ce genre d'\u00e9chec est une information tr\u00e8s int\u00e9ressante pour le projet).
"},{"location":"fr/upgrade.html#instructions-specifiques-a-la-version","title":"Instructions sp\u00e9cifiques \u00e0 la version","text":""},{"location":"fr/upgrade.html#mise-a-jour-vers-la-version-15","title":"Mise \u00e0 jour vers la version 1.5","text":"Apr\u00e8s la mise \u00e0 jour normale, il se peut que vous obteniez une erreur mentionnant la duplication de la cl\u00e9 du nom d'utilisateur dans la table des utilisateurs.
Ex\u00e9cutez php artisan agorakit:enforceuniqueusernames
pour corriger le probl\u00e8me. Puis r\u00e9ex\u00e9cutez le script de mise \u00e0 jour.
Ceci n'arrive que sur les grosses installations et peut \u00eatre ex\u00e9cut\u00e9 plusieurs fois sans probl\u00e8me. C'est une solution \u00e0 l'\u00e9preuve du temps pour ce probl\u00e8me.
! !! note La plupart des mises \u00e0 jour ponctuelles comme celle mentionn\u00e9e ci-dessus sont maintenant effectu\u00e9es dans le cadre de migrations afin de r\u00e9duire la quantit\u00e9 de documentation que vous devez lire pour mettre \u00e0 jour correctement votre installation. Asseyez-vous, d\u00e9tendez-vous et appr\u00e9ciez l'automatisation au travail :-)
"},{"location":"fr/usage.html","title":"Utilisation d'Agorakit","text":""},{"location":"fr/usage.html#demarrer-les-discussions","title":"D\u00e9marrer les discussions","text":"Chaque groupe permet de cr\u00e9er des discussions. Dans les discussions et les commentaires, vous pouvez utiliser une syntaxe sp\u00e9ciale pour faire r\u00e9f\u00e9rence \u00e0 des fichiers et des discussions existants, et mentionner des utilisateurs.
Vous pouvez \u00e9galement joindre directement un fichier \u00e0 une discussion. Utilisez le bouton \"Parcourir...\" situ\u00e9 sous le formulaire de discussion pour t\u00e9l\u00e9charger un fichier depuis votre ordinateur, le joindre au groupe et le mentionner dans la discussion en une seule fois.
"},{"location":"fr/usage.html#programmer-des-evenements","title":"Programmer des \u00e9v\u00e9nements","text":"Chaque groupe dispose d'un calendrier dans lequel vous pouvez ajouter des actions/\u00e9v\u00e9nements. Il vous suffit de d\u00e9finir une date et une heure de d\u00e9but, ainsi qu'une dur\u00e9e facultative. Si aucune dur\u00e9e n'est d\u00e9finie, elle est suppos\u00e9e \u00eatre d'une heure.
"},{"location":"fr/usage.html#telecharger-des-fichiers-et-partager-des-liens","title":"T\u00e9l\u00e9charger des fichiers et partager des liens","text":"Vous pouvez ajouter des fichiers aux groupes directement dans l'onglet des fichiers. Il suffit de t\u00e9l\u00e9charger un ou plusieurs fichiers et d'ajouter quelques balises pour les organiser. Comme expliqu\u00e9 ci-dessus, vous pouvez \u00e9galement joindre directement des fichiers aux commentaires et aux discussions.
"},{"location":"fr/usage.html#categoriser-le-contenu-a-laide-de-balises","title":"Cat\u00e9goriser le contenu \u00e0 l'aide de balises","text":"Les tags (ou \u00e9tiquettes) sont tr\u00e8s importants pour organiser votre contenu. Vous pouvez \u00e9tiqueter 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).
Une fois que le contenu est \u00e9tiquet\u00e9, il peut \u00eatre trouv\u00e9 comme une simple page d'aper\u00e7u, montrant tous les tags et montrant tous les contenus attach\u00e9s \u00e0 un tag particulier. C'est tr\u00e8s pratique pour avoir une vue d'ensemble de vos groupes.
"},{"location":"fr/usage.html#derniere-etape-le-profit","title":"Derni\u00e8re \u00e9tape : le profit !","text":"(ou dans certains cas, r\u00e9volution !)
"},{"location":"fr/delete_content.html","title":"Suppression de contenu","text":"La suppression de contenu sur Agorakit respecte une proc\u00e9dure qui permet de r\u00e9pondre \u00e0 diff\u00e9rents imp\u00e9ratifs:
Quand un contenu est effac\u00e9, celui-ci est marqu\u00e9 comme effac\u00e9 dans la base de donn\u00e9e et n'apparait plus. Un administrateur d'instance peut remettre en ligne un contenu effac\u00e9 en se rendant dans le menu \"admin > r\u00e9cup\u00e9rer du contenu\".
Le contenu marqu\u00e9 comme effac\u00e9 est d\u00e9finitivement effac\u00e9 (physiquement) de la base de donn\u00e9e apr\u00e8s 30 jours. Il n'est plus possible apr\u00e8s ce d\u00e9lai de r\u00e9cup\u00e9rer le contenu.
"},{"location":"fr/delete_content.html#suppression-de-compte-utilisateur","title":"Suppression de compte utilisateur","text":"Si un utilisateur d\u00e9cide d'effacer son compte, il peut au choix :
Les discussions qui ont des commentaires sont dans tous les cas assign\u00e9es \u00e0 l'utilisateur anonyme afin de ne pas perdre les contributions des autres utilisateurs. Il n'est pas possible d'effacer individuellement une discussion sous laquelle il y a des commentaires.
Un utilisateur qui est le seul administrateur d'un groupe ne peux pas quitter le groupe.
"},{"location":"fr/delete_content.html#restauration-dun-element-efface","title":"Restauration d'un \u00e9l\u00e9ment effac\u00e9","text":"Un administrateur d'instance peut restaurer tout contenu effac\u00e9 pendant la p\u00e9riode de r\u00e9tention (30 jours par d\u00e9faut). Il suffit de se rendre dans Admin > settings > recover content
et de choisir le ou les \u00e9l\u00e9ments \u00e0 restaurer.
Si Agorakit est install\u00e9 correctement (avec les t\u00e2ches \"cron\" r\u00e9curentes), la base de donn\u00e9e va \u00eatre automatiquement nettoy\u00e9e afin d'\u00eatre en conformit\u00e9 avec ce qui est indiqu\u00e9 ci-dessus. Le nombre de jours de r\u00e9tention des informations avant suppression d\u00e9finitive est configurable et fix\u00e9 par d\u00e9faut \u00e0 30.
"},{"location":"fr/discussions.html","title":"Cr\u00e9er des discussions","text":"Choisissez un groupe et depuis l'onglet \"Discussions\" vous pouvez \"Cr\u00e9er une discussion\". Mentionnez un titre et un texte au minimum. Vous pouvez aussi ajouter des mots cl\u00e9 ou tags afin de mieux classer les discussions et aider les autres \u00e0 s'y retrouver.
"},{"location":"fr/discussions.html#joindre-un-fichier","title":"Joindre un fichier","text":"Dans l'\u00e9diteur de texte, vous pouvez joindre un fichier en le faisant glisser dessus ou en cliquant sur le bouton \"image\" qui permet non seulement d'ins\u00e9rer une image mais \u00e9galement tout type de fichier. Lors d'un \"drag and drop\" (gliss\u00e9 d\u00e9pos\u00e9 de fichier), le syst\u00e8me envoit automatiquement votre fichier et ins\u00e8re l\u00e0 o\u00f9 se trouve votre curseur une r\u00e9f\u00e9rence \u00e0 ce fichier sous la forme d'un f:xx (xx \u00e9tant la r\u00e9f\u00e9rence de votre fichier). Lors de l'affichage de votre discussion ou de votre commentaire, un apper\u00e7u du fichier sera automatiquement g\u00e9n\u00e9r\u00e9.
Le fichier apparait \u00e9galement dans l'onbglet \"fichiers\" de votre groupe.
"},{"location":"fr/discussions.html#mentionner-une-autre-personne","title":"Mentionner une autre personne","text":"Dans l'\u00e9diteur de texte, tapez simplement un @ , une liste des membres du groupe apparait et vous permet de mentionner une ou plusieurs personnes. Celles-ci recevront un mail instantan\u00e9ment avec votre commentaire. C'est pratique quand vous souhaitez avoir une r\u00e9ponse rapide \u00e0 votre question.
"},{"location":"fr/discussions.html#effacer-un-commentaire-ou-une-discussion","title":"Effacer un commentaire ou une discussion","text":"Cliquez simplement sur les troios petits points \u00e0 droite de la discussion ou du commentaire en question : (...) et choisissez l'option \"Effacer\". L'auteur.e d'un message peut toujours l'effacer. Un.e admin de groupe peux tout effacer.
Warning
Le fait d'effacer une discussion n'efface pas les fichiers joints \u00e0 cette discussion.
"},{"location":"fr/groups_types.html","title":"Les diff\u00e9rents types de groupes disponible dans Agorakit","text":"En fonction du type de communaut\u00e9 que vous souhaitez cr\u00e9er, vous avez \u00e0 votre disposition diff\u00e9rents types de groupes.
"},{"location":"fr/groups_types.html#les-groupes-publics","title":"Les groupes publics","text":"Ces groupes sont ouverts \u00e0 tout le monde, et leur contenu est public. N'importe qui peut se cr\u00e9er un compte sur l'instance et rejoindre un groupe public. Une petite ic\u00f4ne de plan\u00e8te est affich\u00e9e \u00e0 c\u00f4t\u00e9 du nom.
"},{"location":"fr/groups_types.html#les-groupes-prives","title":"Les groupes priv\u00e9s","text":"Ces groupes sont sur invitation uniquement et leur contenu n'est pas public. Seul est visible la pag de pr\u00e9sentation du groupe (comprenant la photo du groupe et le texte de description). Si le groupe autorise les utilisateurs \u00e0 candidater, un onglet permet de le faire. Une petite ic\u00f4ne de cadenas est affich\u00e9e \u00e0 c\u00f4t\u00e9 du nom.
"},{"location":"fr/groups_types.html#les-groupes-secrets","title":"Les groupes secrets","text":"Ces groupes sont totalement invisibles pour celles et ceux qui n'en connaissent pas l'existence. Si vous n'\u00eates pas invit\u00e9 \u00e0 un tel groupe vous n'y avez pas acc\u00e8s. Une petite ic\u00f4ne d'oeuil barr\u00e9 est affich\u00e9e \u00e0 c\u00f4t\u00e9 du nom.
"},{"location":"fr/login.html","title":"Acc\u00e9der \u00e0 Agorakit","text":"Vous devez d'abord d\u00e9terminer si vous utilisez l'agora partag\u00e9e sur https://app.agorakit.org ou si vous utilisez l'agora de votre organisme. Dans le premier cas, allez simplement sur https://app.agorakit.org, dans le second cas, vous aurez re\u00e7u un lien pour vous connecter.
"},{"location":"fr/login.html#se-creer-un-compte","title":"Se cr\u00e9er un compte","text":"La cr\u00e9ation de compte est tr\u00e8s facile, vous devez simplement cliquer sur \"S'enregistrer\", mentionner votre nom et votre adresse mail. Vous recevrez directement un lien pour vous connecter dans votre boite mail. V\u00e9rifiez le dossier spam si vous navez rien re\u00e7u apr\u00e8s quelques minutes.
"},{"location":"fr/login.html#se-connecter","title":"Se connecter","text":"Cliquer sur le bouton connexion, entrez votre nom d'utilisateur.trice ou votre mail et votre mot de passe. Si vous avez oubli\u00e9 votre mot de passe, laissez la case 'mot de passe' vide, le syst\u00e8me vous enverra un lien de connexion par mail.
"},{"location":"fr/tags.html","title":"Les tags, qu'est-ce que c'est et \u00e0 quoi \u00e7a sert?","text":"Le classement du contenu est une science. On l'appelle la taxonomie. C'est aussi parfois l'enfer, surtout quand on travaille \u00e0 plusieurs sur des fichiers.
O\u00f9 se trouve le dernier PV? Dans /premier-trimestre/r\u00e9unions/2021 ou dans /2021/premier-trimestre/pv ? ou encore dans admin/pv/2021 ?
Ce type de question arrive fr\u00e9quemment quand un groupe de personne classe diff\u00e9rents documents dans une structure hi\u00e9rarchique de dossiers. Chacun ayant sa logique de classement, les documents sont vites \u00e9parpill\u00e9s et il devient tr\u00e8s difficile de les retrouver.
La solution propos\u00e9e par Agorakit est d'utiliser les tags (ou mots cl\u00e9s) pour classer le contenu. Ceux-ci consistent en de simples mots cl\u00e9s que l'on peut appliquer au contenu. L'avantage est que l'on peut inventer un vocabulaire simple, \u00e9ventuellement limit\u00e9 \u00e0 quelques mots cl\u00e9s, et sans hi\u00e9rarchie qui d\u00e9pendrait trop de la logique de classement de chacun.
Info
Ainsi, un PV dat\u00e9 de 2021 sera simplement tagg\u00e9 PV
et 2021
et sera tr\u00e8s facile \u00e0 retrouver ult\u00e9rieurement.
Les tags peuvent \u00eatre appliqu\u00e9s \u00e0 des personnes, \u00e0 des groupes, des discussions, des \u00e9v\u00e9nements et des fichiers.
Le fait de cliquer sur un tag vous permet de voir tous les autres \u00e9l\u00e9ments tagg\u00e9s de la m\u00eame fa\u00e7on.
Info
Celles et ceux qui le souhaitent peuvent n\u00e9anmoins classer les fichiers par dossier. Une combinaison des deux syst\u00e8mes est \u00e9galement envisageable. A vous de voir ce qui marche le mieux pour votre groupe.
"},{"location":"fr/tags.html#limiter-les-tags-utilisables","title":"Limiter les tags utilisables","text":"Mais les tags ne r\u00e8glent pas tout. Si votre groupe est de taille importante ou que vous avez beaucoup de contenu, il est possible qu'un moment vous vous retrouviez avec trop de tags diff\u00e9rents et non normalis\u00e9s.
Dans ce cas, mieux vaut confier r\u00e9fl\u00e9chir un instant aux tags r\u00e9ellement n\u00e9cessaire et \u00e0 limiter les tags disponibles dans votre groupe. Vous pouvez tr\u00e8s facilement le faire en allant dans les r\u00e9glages de votre groupe (G\u00e9rer > Tags
).
Idem pour les utilisateurs et les groupes, afin d'uniformiser les profils des personnes et surtout de permettre \u00e0 chacun de retrouer quelqu'un en fonction de mots cl\u00e9s communs \u00e0 tous, vous pouvez limiter les tags utilisables dans les profils utilisateurs dans le menu Admin > Settings
.
Agorakit dispose de diff\u00e9rents types d'utilisateurs. Les voici par ordre de permissions, des plus \u00e9tendues aux plus restreintes :
"},{"location":"fr/users_types.html#administrateurtrice-dinstance","title":"Administrateur.trice d'instance","text":"Il s'agit d'une personne qui dispose de tous les droits d'acc\u00e8s \u00e0 une instance (installation) d'Agorakit. Cette personne peut tout faire : - acc\u00e9der \u00e0 tous les groupes y compris les groupes secrets - modifier les r\u00e9glages de l'installation - modifier et effacer n'importe quel contenu
"},{"location":"fr/users_types.html#administrateurtrice-de-groupe","title":"Administrateur.trice de groupe","text":"Toute personne cr\u00e9ant un groupe devient automatiquement administrateur de ce groupe. Cela permet de : - modifier les r\u00e9glages du groupe y compris les permissions des membres - acc\u00e9der \u00e0 la liste compl\u00e8te des participants y compris leur adresse mail - promouvoir n'importe quel membre au statut d'admin - changer le statut de n'importe quel membre y compris le sortir du groupe - modifier et effacer n'importe quel contenu du groupe
"},{"location":"fr/users_types.html#membre-dun-groupe","title":"Membre d'un groupe","text":"Toute personne membre d'un groupe dispose au minimum de la permission de voir l'ensemble du contenu du groupe. Elle peut en plus, en fonction des permissions d\u00e9finies pour le groupe en question : - cr\u00e9er des discussions - cr\u00e9er des \u00e9v\u00e9nements \u00e0 l'agenda - ajouter des fichiers - inviter de nouveaux participants
"},{"location":"fr/users_types.html#membre-invite","title":"Membre invit\u00e9","text":"Dans le cas d'un groupe ferm\u00e9 : quand un utilisateur a \u00e9t\u00e9 invit\u00e9 par mail \u00e0 rejoindre un groupe, il re\u00e7oit le status d'invit\u00e9. D\u00e8s qu'il confirme la demande, il devient membre effectif du groupe.
"},{"location":"fr/users_types.html#candidat-dun-groupe","title":"Candidat d'un groupe","text":"Quand une personne demande \u00e0 rejoindre un groupe ferm\u00e9, elle a le statut de candidat. Un des administrateurs du groupe doit accepter ou refuser sa candidature.
"},{"location":"fr/users_types.html#desenregistre-supprime","title":"D\u00e9senregistr\u00e9 / supprim\u00e9","text":"Ce statut est attribu\u00e9 aux personnes qui ont supprim\u00e9 leur compte de l'instance Agorakit.
"},{"location":"fr/users_types.html#a-refuse","title":"A refus\u00e9","text":"Ce statut est attribu\u00e9 aux personnes qui ont refus\u00e9 une invitation \u00e0 rejoindre le groupe. Il est fortement conseill\u00e9 de ne pas les recontacter \u00e0 propos du groupe, selon leur souhait, sauf bien entendu si il s'agit d'une fausse manoeuvre de leur part :-)
"},{"location":"fr/users_types.html#blackliste","title":"Blacklist\u00e9","text":"Ce statut est attribu\u00e9 \u00e0 une personne qui ne peut plus rejoindre le groupe.
"}]} \ No newline at end of file diff --git a/sign_up.html b/sign_up.html new file mode 100644 index 0000000..fe68134 --- /dev/null +++ b/sign_up.html @@ -0,0 +1,1045 @@ + + + + + + + + + + + + + + + + + + + + + + +To use Agorakit, simply connect to the Agorakit server you are using.
+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.
+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.
+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.
+Note
+You need to have email sending working in order to validate your account.
+It is important to keep an up to date installation of Agorakit. The process is safe
+We try to keep the master branch always in a good, safe, and working condition (this is called a "rolling release" model).
+That means that tests passes and that you get the latest features directly from the master branch.
+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.
+Info
+You can choose between an automated update procedure from the command line, or a step by step to update manually.
+There is a helper script that does the update for you :
+ +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.
+You can at anytime do this to update your install :
+ +Restore your database backup and git checkout a previous (working) version. Then re-run composer install.
+Contact us if an update fails (it never happened so this kind of failure is highly interesting information for the project).
+After the normal update you might get an error mentioning duplicate username key in user table.
+Run php artisan agorakit:enforceuniqueusernames
to fix the issue
+Then re-run the update script.
This happens only on large installs and can be run multiple times without problem. It's a future proof fix for this issue.
+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 :-)
+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.
+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.
+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.
+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.
+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).
+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.
+(or in some cases, revolution!)
+ + + + + + + + + + + + + +