From 7d0140a648dd0f0bc53b89b7425eec9317c2b370 Mon Sep 17 00:00:00 2001 From: goofy-bz Date: Thu, 24 Sep 2015 17:08:47 +0200 Subject: trivial typofix --- doc/user-management.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/user-management.markdown b/doc/user-management.markdown index 25cc8539..942eea09 100644 --- a/doc/user-management.markdown +++ b/doc/user-management.markdown @@ -39,7 +39,7 @@ These role are related to the project permission. - Can do any daily operations in their projects (create and move tasks...) - Cannot configure projects -Note: Any "Standard User" can be promotted "Project Manager" for a given project, they don't necessary need to be "Project Administrator". +Note: Any "Standard User" can be promoted "Project Manager" for a given project, they don't necessary need to be "Project Administrator". Local and remote users ---------------------- -- cgit v1.2.3 From afe074b259abf6d325d8c8a6e84b786d77cff45c Mon Sep 17 00:00:00 2001 From: goofy Date: Thu, 24 Sep 2015 18:36:56 +0200 Subject: adding working with users French doc --- doc/fr/2fa.markdown | 33 +++++++++++++++++ doc/fr/index.markdown | 6 +++ doc/fr/notifications.markdown | 30 +++++++++++++++ doc/fr/user-management.markdown | 81 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 150 insertions(+) create mode 100644 doc/fr/2fa.markdown create mode 100644 doc/fr/notifications.markdown create mode 100644 doc/fr/user-management.markdown (limited to 'doc') diff --git a/doc/fr/2fa.markdown b/doc/fr/2fa.markdown new file mode 100644 index 00000000..442c38a8 --- /dev/null +++ b/doc/fr/2fa.markdown @@ -0,0 +1,33 @@ +Authentification à deux facteurs +========================= + +Chaque utilisateur peut activer [l'authentification à deux facteurs](http://en.wikipedia.org/wiki/Two_factor_authentication). +Après s’être connecté, un code à usage unique (6 caractères) est demandé à l'utilisateur pour lui autoriser l’accès à Kanboard. + +Ce code doit être fourni par un logiciel compatible, généralement installé sur votre smartphone. + +Kanboard utilise le [Time-based One-time Password Algorithm](http://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm) défini dans la [RFC 6238](http://tools.ietf.org/html/rfc6238). + +Il existe de nombreux logiciels compatibles avec le standard TOTP system. +Par exemple, vous pouvez utilisez ces applications libres et open source : + +- [Google Authenticator](https://github.com/google/google-authenticator/) (Android, iOS, Blackberry) +- [FreeOTP](https://fedorahosted.org/freeotp/) (Android, iOS) +- [OATH Toolkit](http://www.nongnu.org/oath-toolkit/) (utilitaire en ligne de commande sur Unix/Linux) + +Ce système peut fonctionner hors ligne et vous n'avez pas l'obligation d'avoir un téléphone portable. + +Paramétrage +----- + +1. Allez dans le profil utilisateur. +2. Sur la gauche, cliquez sur **Authentification à deux facteurs** et cochez la case. +3. Une clef secrète est générée pour vous. + +![2FA](http://kanboard.net/screenshots/documentation/2fa.png) + +- Vous devez sauvegarder votre clef dans votre logiciel TOTP. Si vous utilisez un smartphone, la solution la plus simple est de scanner le QR code avec FreeOTP ou Google Authenticator +- À chaque ouverture de session, un nouveau code sera demandé +- N'oubliez pas de tester votre appareil avant de quitter votre session + +Une nouvelle clef est générée à chaque fois que vous activez/désactivez cette fonction diff --git a/doc/fr/index.markdown b/doc/fr/index.markdown index d06ca53b..1c733344 100644 --- a/doc/fr/index.markdown +++ b/doc/fr/index.markdown @@ -43,3 +43,9 @@ Utiliser Kanboard - [Créer des tâches par email](create-tasks-by-email.markdown) - [Sous-tâches](subtasks.markdown) - [Analytique des tâches](analytics-tasks.markdown) + +### Travailler avec les utilisateurs + +- [Gestion des utilisateurs](user-management.markdown) +- [Notifications](notifications.markdown) +- [Authentification à deux facteurs](2fa.markdown) diff --git a/doc/fr/notifications.markdown b/doc/fr/notifications.markdown new file mode 100644 index 00000000..05e71bcd --- /dev/null +++ b/doc/fr/notifications.markdown @@ -0,0 +1,30 @@ +Notifications +============= + +Kanboard est capable d'envoyer des notifications via différents canaux : + +- Email +- Jabber/XMPP +- Hipchat +- Slack + +En fait, pour Jabber/Hipchat/Slack les notifications sont envoyées dans des salons de discussion car ils sont configurés au niveau projet. +Cependant, les notifications par email sont envoyées à un individu. + +Notifications utilisateur +------------------ + +Chaque utilisateur doit autoriser les notifications dans son profil : **Profil Utilisateur > Notifications par email**. Cette option est désactivée par défaut. + +Vous devez, bien sûr, avoir renseigné une adresse email valide dans votre profil et l'application doit être configurée pour envoyer des emails. + +![Notifications](http://kanboard.net/screenshots/documentation/notifications.png) + +Pour chaque projet dont vous êtes membre, vous pouvez choisir de recevoir des notifications pour : + +- Toutes les tâches +- Seulement les tâches qui vous sont assignées +- Seulement les tâches que vous avez créées +- Seulement les tâches que vous avez créées et celles qui vous sont assignées + +Vous pouvez aussi sélectionner certain projets, par défaut tous les projets dont vous êtes membre sont sélectionnés. diff --git a/doc/fr/user-management.markdown b/doc/fr/user-management.markdown new file mode 100644 index 00000000..297bf665 --- /dev/null +++ b/doc/fr/user-management.markdown @@ -0,0 +1,81 @@ +Gestion des utilisateurs +=============== + +Rôles au niveau de l'application +------------------------------ + +Kanboard utilise un système de permissions basique qui reconnaît 3 types d'utilisateurs : + +### Administrateur + +- Peut accéder à tout + +### Administrateur de projets + +- Peut créer des projets multi-utilisateurs et privés +- Peut convertir les projets multi-utilisateurs et privés +- Peut voir seulement ses propres projets +- Ne peut pas modifier les paramètres de l'application +- Ne peut pas gérer les utilisateurs + +### Utilisateur standard + +- Peut créer seulement des projets privés +- Peut voir seulement ses propres projets +- Ne peut pas supprimer de projets + +Rôles au niveau des projets +-------------------------- + +Ces rôles sont liés aux permissions du projet. + +### Gestionnaire de projet + +- Peut gérer seulement ses propres projets +- Peut accéder aux rapports et à la section budget + +### Membre du projet + +- Peut pratiquer toutes les opérations quotidiennes sur son projet (créer et déplacer des tâches…) +- Ne peut pas configurer les projets + +Remarque : n'importe quel « utilisateur de base » peut être promu « Gestionnaire de projet » pour un projet donné, il n'est pas nécessaire d'être « Administrateur de projets ». + +Utilisateurs locaux et distants +---------------------- + +- Un utilisateur local est un compte qui utilise la base de données pour stocker ses identifiants. Les utilisateurs locaux utilisent le formulaire de connexion pour s'identifier. +- Un utilisateur distant est un compte qui utilise un système externe pour stocker ses identifiants. Par exemple, ce peut être un compte LDAP, Github ou Google. L'authentification de ces utilisateurs peut s'effectuer ou non avec le formulaire de connexion. + +Ajouter un nouvel utilisateur +-------------- + +Pour ajouter un nouvel utilisateur, vous devez être administrateur. + +1. Depuis le tableau de bord, allez au menu **Gestion des utilisateurs** +2. Dans la partie haute vous avez un lien **Créer un utilisateur local** ou **Créer un utilisateur distant** +3. Informez les champs de saisie et enregistrez + +![Nouvel utilisateur](http://kanboard.net/screenshots/documentation/new-user.png) + +Quand vous créez un **utilisateur local**, vous devez préciser au moins deux valeurs : + +- **nom d'utilisateur** : c'est l'identifiant unique de votre utilisateur (login) +- **mot de passe** : le mot de passe de votre utilisateur doit comporter au moins 6 caractères + +Pour les **utilisateurs distants**, seul le nom d'utilisateur est obligatoire. Vous pouvez aussi leur associer leur compte Github ou Google si vous connaissez déjà leur id unique. + +Modifier des utilisateurs +---------- + +Quand vous allez au menu **utilisateurs**, vous disposez d'une liste d'utilisateurs. Pour modifier un utilisateur cliquez sur le lien **Modifier**. + +- si vous êtes un utilisateur ordinaire, vous ne pouvez modifier que votre propre profil +- vous devez être administrateur pour pouvoir modifier n'importe quel utilisateur + +Supprimer des utilisateurs +------------ + +Depuis le menu **utilisateurs**, cliquez sur le lien **supprimer**. Ce lien n'est visible que si vous êtes administrateur. + +Si vous supprimez un utilisateur particulier, **les tâches assignées à cette personne ne lui seront plus assignées** après cette opération. -- cgit v1.2.3 From 9ca4b43a97ae92fad57b00ac0217d5b7078272fb Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 26 Sep 2015 15:57:39 -0400 Subject: Add page to show the list of plugins --- app/Controller/Config.php | 13 +++++++++ app/Core/Base.php | 1 + app/Core/Plugin/Base.php | 52 ++++++++++++++++++++++++++++++++++ app/Core/Plugin/Loader.php | 9 ++++++ app/Locale/cs_CZ/translations.php | 4 +++ app/Locale/da_DK/translations.php | 4 +++ app/Locale/de_DE/translations.php | 4 +++ app/Locale/es_ES/translations.php | 4 +++ app/Locale/fi_FI/translations.php | 4 +++ app/Locale/fr_FR/translations.php | 4 +++ app/Locale/hu_HU/translations.php | 4 +++ app/Locale/id_ID/translations.php | 4 +++ app/Locale/it_IT/translations.php | 4 +++ app/Locale/ja_JP/translations.php | 4 +++ app/Locale/nb_NO/translations.php | 4 +++ app/Locale/nl_NL/translations.php | 4 +++ app/Locale/pl_PL/translations.php | 4 +++ app/Locale/pt_BR/translations.php | 4 +++ app/Locale/pt_PT/translations.php | 4 +++ app/Locale/ru_RU/translations.php | 4 +++ app/Locale/sr_Latn_RS/translations.php | 4 +++ app/Locale/sv_SE/translations.php | 4 +++ app/Locale/th_TH/translations.php | 4 +++ app/Locale/tr_TR/translations.php | 4 +++ app/Locale/zh_CN/translations.php | 4 +++ app/ServiceProvider/ClassProvider.php | 3 ++ app/Template/config/plugins.php | 24 ++++++++++++++++ app/Template/config/sidebar.php | 3 ++ app/common.php | 3 +- doc/plugins.markdown | 4 +++ 30 files changed, 194 insertions(+), 2 deletions(-) create mode 100644 app/Template/config/plugins.php (limited to 'doc') diff --git a/app/Controller/Config.php b/app/Controller/Config.php index 790bdcd3..1ae390c8 100644 --- a/app/Controller/Config.php +++ b/app/Controller/Config.php @@ -77,6 +77,19 @@ class Config extends Base ))); } + /** + * Display the plugin page + * + * @access public + */ + public function plugins() + { + $this->response->html($this->layout('config/plugins', array( + 'plugins' => $this->pluginLoader->plugins, + 'title' => t('Settings').' > '.t('Plugins'), + ))); + } + /** * Display the application settings page * diff --git a/app/Core/Base.php b/app/Core/Base.php index fe42ba09..b919d551 100644 --- a/app/Core/Base.php +++ b/app/Core/Base.php @@ -23,6 +23,7 @@ use Pimple\Container; * @property \Core\ObjectStorage\ObjectStorageInterface $objectStorage * @property \Core\Cache\Cache $memoryCache * @property \Core\Plugin\Hook $hook + * @property \Core\Plugin\Loader $pluginLoader * @property \Integration\BitbucketWebhook $bitbucketWebhook * @property \Integration\GithubWebhook $githubWebhook * @property \Integration\GitlabWebhook $gitlabWebhook diff --git a/app/Core/Plugin/Base.php b/app/Core/Plugin/Base.php index 580d41ad..1f61ab33 100644 --- a/app/Core/Plugin/Base.php +++ b/app/Core/Plugin/Base.php @@ -44,4 +44,56 @@ abstract class Base extends \Core\Base call_user_func($callback, $container); }); } + + /** + * Get plugin name + * + * This method should be overrided by your Plugin class + * + * @access public + * @return string + */ + public function getPluginName() + { + return ucfirst(substr(get_called_class(), 7, -7)); + } + + /** + * Get plugin description + * + * This method should be overrided by your Plugin class + * + * @access public + * @return string + */ + public function getPluginDescription() + { + return ''; + } + + /** + * Get plugin author + * + * This method should be overrided by your Plugin class + * + * @access public + * @return string + */ + public function getPluginAuthor() + { + return '?'; + } + + /** + * Get plugin version + * + * This method should be overrided by your Plugin class + * + * @access public + * @return string + */ + public function getPluginVersion() + { + return '?'; + } } diff --git a/app/Core/Plugin/Loader.php b/app/Core/Plugin/Loader.php index 04b2bfff..9a884dae 100644 --- a/app/Core/Plugin/Loader.php +++ b/app/Core/Plugin/Loader.php @@ -21,6 +21,14 @@ class Loader extends \Core\Base */ const TABLE_SCHEMA = 'plugin_schema_versions'; + /** + * Plugin instances + * + * @access public + * @var array + */ + public $plugins = array(); + /** * Scan plugin folder and load plugins * @@ -55,6 +63,7 @@ class Loader extends \Core\Base Tool::buildDic($this->container, $instance->getClasses()); $instance->initialize(); + $this->plugins[] = $instance; } /** diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php index 6c5cf0fb..975f9629 100644 --- a/app/Locale/cs_CZ/translations.php +++ b/app/Locale/cs_CZ/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php index d0fa1a18..5b49a00d 100644 --- a/app/Locale/da_DK/translations.php +++ b/app/Locale/da_DK/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php index 71a1d7eb..eb6b99fa 100644 --- a/app/Locale/de_DE/translations.php +++ b/app/Locale/de_DE/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php index 3a80d2fb..c2c1e3ec 100644 --- a/app/Locale/es_ES/translations.php +++ b/app/Locale/es_ES/translations.php @@ -1012,4 +1012,8 @@ return array( 'Table of contents' => 'Tabla de contenido', 'Gantt' => 'Gantt', 'Help with project permissions' => 'Ayuda con permisos del proyecto', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php index e8940ba9..8b097f34 100644 --- a/app/Locale/fi_FI/translations.php +++ b/app/Locale/fi_FI/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php index 4c149b9a..2838fe2b 100644 --- a/app/Locale/fr_FR/translations.php +++ b/app/Locale/fr_FR/translations.php @@ -1014,4 +1014,8 @@ return array( 'Table of contents' => 'Table des matières', 'Gantt' => 'Gantt', 'Help with project permissions' => 'Aide avec les permissions des projets', + 'Author' => 'Auteur', + 'Version' => 'Version', + 'Plugins' => 'Extensions', + 'There is no plugin loaded.' => 'Il n\'y a aucune extension chargée.', ); diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php index 0bb99954..610e45a4 100644 --- a/app/Locale/hu_HU/translations.php +++ b/app/Locale/hu_HU/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php index 1945e60b..ab246c02 100644 --- a/app/Locale/id_ID/translations.php +++ b/app/Locale/id_ID/translations.php @@ -1012,4 +1012,8 @@ return array( 'Table of contents' => 'Daftar isi', 'Gantt' => 'Gantt', 'Help with project permissions' => 'Bantuan dengan izin proyek', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php index 5d6d33f6..e3a8214b 100644 --- a/app/Locale/it_IT/translations.php +++ b/app/Locale/it_IT/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php index b46ec1c4..c700ff82 100644 --- a/app/Locale/ja_JP/translations.php +++ b/app/Locale/ja_JP/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php index 8ee800e6..c8246034 100755 --- a/app/Locale/nb_NO/translations.php +++ b/app/Locale/nb_NO/translations.php @@ -1012,4 +1012,8 @@ return array( 'Table of contents' => 'Innholdsfortegnelse', 'Gantt' => 'Gantt', 'Help with project permissions' => 'Hjelp med prosjekttilganger', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php index 7c623914..08d6a613 100644 --- a/app/Locale/nl_NL/translations.php +++ b/app/Locale/nl_NL/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php index e7683d9a..7d8cb0b6 100644 --- a/app/Locale/pl_PL/translations.php +++ b/app/Locale/pl_PL/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php index 57cfe761..0301e31a 100644 --- a/app/Locale/pt_BR/translations.php +++ b/app/Locale/pt_BR/translations.php @@ -1012,4 +1012,8 @@ return array( 'Table of contents' => 'Índice', 'Gantt' => 'Gantt', 'Help with project permissions' => 'Ajuda com as permissões dos projetos', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php index cb2fc53e..0e9592d3 100644 --- a/app/Locale/pt_PT/translations.php +++ b/app/Locale/pt_PT/translations.php @@ -1012,4 +1012,8 @@ return array( 'Table of contents' => 'Tabela de conteúdos', 'Gantt' => 'Gantt', 'Help with project permissions' => 'Ajuda com permissões de projecto', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php index 53303506..566f48c8 100644 --- a/app/Locale/ru_RU/translations.php +++ b/app/Locale/ru_RU/translations.php @@ -1012,4 +1012,8 @@ return array( 'Table of contents' => 'Сожержание', 'Gantt' => 'Гантт', 'Help with project permissions' => 'Помощь с правами доступа по проекту', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php index 562b8f22..3b91389f 100644 --- a/app/Locale/sr_Latn_RS/translations.php +++ b/app/Locale/sr_Latn_RS/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php index c37759c7..60d8f32b 100644 --- a/app/Locale/sv_SE/translations.php +++ b/app/Locale/sv_SE/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php index 1fdb5d34..87cea152 100644 --- a/app/Locale/th_TH/translations.php +++ b/app/Locale/th_TH/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php index 44f973d1..230b66f0 100644 --- a/app/Locale/tr_TR/translations.php +++ b/app/Locale/tr_TR/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php index 5ad5e9c8..c8cd2691 100644 --- a/app/Locale/zh_CN/translations.php +++ b/app/Locale/zh_CN/translations.php @@ -1012,4 +1012,8 @@ return array( // 'Table of contents' => '', // 'Gantt' => '', // 'Help with project permissions' => '', + // 'Author' => '', + // 'Version' => '', + // 'Plugins' => '', + // 'There is no plugin loaded.' => '', ); diff --git a/app/ServiceProvider/ClassProvider.php b/app/ServiceProvider/ClassProvider.php index 78a089ee..a89b78bb 100644 --- a/app/ServiceProvider/ClassProvider.php +++ b/app/ServiceProvider/ClassProvider.php @@ -2,6 +2,7 @@ namespace ServiceProvider; +use Core\Plugin\Loader; use Core\ObjectStorage\FileStorage; use Core\Paginator; use Core\OAuth2; @@ -117,5 +118,7 @@ class ClassProvider implements ServiceProviderInterface $container['objectStorage'] = function() { return new FileStorage(FILES_DIR); }; + + $container['pluginLoader'] = new Loader($container); } } diff --git a/app/Template/config/plugins.php b/app/Template/config/plugins.php new file mode 100644 index 00000000..8501bda9 --- /dev/null +++ b/app/Template/config/plugins.php @@ -0,0 +1,24 @@ + + + +

+ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/Template/config/sidebar.php b/app/Template/config/sidebar.php index ed4f01e7..4195cde1 100644 --- a/app/Template/config/sidebar.php +++ b/app/Template/config/sidebar.php @@ -4,6 +4,9 @@
  • app->getRouterAction() === 'index' ? 'class="active"' : '' ?>> url->link(t('About'), 'config', 'index') ?>
  • +
  • app->getRouterAction() === 'plugins' ? 'class="active"' : '' ?>> + url->link(t('Plugins'), 'config', 'plugins') ?> +
  • app->getRouterAction() === 'application' ? 'class="active"' : '' ?>> url->link(t('Application settings'), 'config', 'application') ?>
  • diff --git a/app/common.php b/app/common.php index dcd571bc..e63d82bb 100644 --- a/app/common.php +++ b/app/common.php @@ -33,5 +33,4 @@ if (ENABLE_URL_REWRITE) { require __DIR__.'/routes.php'; } -$plugin = new Core\Plugin\Loader($container); -$plugin->scan(); +$container['pluginLoader']->scan(); diff --git a/doc/plugins.markdown b/doc/plugins.markdown index 1127a636..a17f1af4 100644 --- a/doc/plugins.markdown +++ b/doc/plugins.markdown @@ -70,6 +70,10 @@ Available methods from `Core\Plugin\Base`: - `initialize()`: Executed when the plugin is loaded - `getClasses()`: Return all classes that should be stored in the dependency injection container - `on($event, $callback)`: Listen on internal events +- `getPluginName()`: Get plugin name +- `getPluginAuthor()`: Get plugin author +- `getPluginVersion()`: Get plugin version +- `getPluginDescription()`: Get plugin description Your plugin registration class also inherit from `Core\Base`, that means you can access to all classes and methods of Kanboard easily. -- cgit v1.2.3 From 1fca5e721ab63d4d49e068331aee90abb111dbc2 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 26 Sep 2015 16:05:06 -0400 Subject: Add getPluginHomepage() --- app/Core/Plugin/Base.php | 13 +++++++++++++ app/Template/config/plugins.php | 8 +++++++- doc/plugins.markdown | 9 +++++---- 3 files changed, 25 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/app/Core/Plugin/Base.php b/app/Core/Plugin/Base.php index 1f61ab33..a72a0cd6 100644 --- a/app/Core/Plugin/Base.php +++ b/app/Core/Plugin/Base.php @@ -96,4 +96,17 @@ abstract class Base extends \Core\Base { return '?'; } + + /** + * Get plugin homepage + * + * This method should be overrided by your Plugin class + * + * @access public + * @return string + */ + public function getPluginHomepage() + { + return ''; + } } diff --git a/app/Template/config/plugins.php b/app/Template/config/plugins.php index 8501bda9..fea48d58 100644 --- a/app/Template/config/plugins.php +++ b/app/Template/config/plugins.php @@ -15,7 +15,13 @@ - + diff --git a/doc/plugins.markdown b/doc/plugins.markdown index a17f1af4..031bf963 100644 --- a/doc/plugins.markdown +++ b/doc/plugins.markdown @@ -70,10 +70,11 @@ Available methods from `Core\Plugin\Base`: - `initialize()`: Executed when the plugin is loaded - `getClasses()`: Return all classes that should be stored in the dependency injection container - `on($event, $callback)`: Listen on internal events -- `getPluginName()`: Get plugin name -- `getPluginAuthor()`: Get plugin author -- `getPluginVersion()`: Get plugin version -- `getPluginDescription()`: Get plugin description +- `getPluginName()`: Should return plugin name +- `getPluginAuthor()`: Should return plugin author +- `getPluginVersion()`: Should return plugin version +- `getPluginDescription()`: Should return plugin description +- `getPluginHomepage()`: Should return plugin Homepage (link) Your plugin registration class also inherit from `Core\Base`, that means you can access to all classes and methods of Kanboard easily. -- cgit v1.2.3 From 5f4ae2611c94af23370e43f457e67bc0d73007af Mon Sep 17 00:00:00 2001 From: goofy Date: Sat, 26 Sep 2015 23:59:36 +0200 Subject: settings chapter --- doc/fr/application-configuration.markdown | 41 +++++++++++++++++++++++++++++ doc/fr/application-configuration.markup | 41 +++++++++++++++++++++++++++++ doc/fr/board-configuration.markdown | 24 +++++++++++++++++ doc/fr/calendar-configuration.markdown | 43 +++++++++++++++++++++++++++++++ doc/fr/currency-rate.markdown | 11 ++++++++ doc/fr/index.markdown | 10 +++++++ doc/fr/keyboard-shortcuts.markdown | 28 ++++++++++++++++++++ doc/fr/link-labels.markdown | 13 ++++++++++ doc/fr/project-configuration.markdown | 42 ++++++++++++++++++++++++++++++ 9 files changed, 253 insertions(+) create mode 100644 doc/fr/application-configuration.markdown create mode 100644 doc/fr/application-configuration.markup create mode 100644 doc/fr/board-configuration.markdown create mode 100644 doc/fr/calendar-configuration.markdown create mode 100644 doc/fr/currency-rate.markdown create mode 100644 doc/fr/keyboard-shortcuts.markdown create mode 100644 doc/fr/link-labels.markdown create mode 100644 doc/fr/project-configuration.markdown (limited to 'doc') diff --git a/doc/fr/application-configuration.markdown b/doc/fr/application-configuration.markdown new file mode 100644 index 00000000..f92448cc --- /dev/null +++ b/doc/fr/application-configuration.markdown @@ -0,0 +1,41 @@ +Paramètres de l'application +==================== + +Certains paramètres de l'application peuvent être modifiés sur la page des paramètres. +Seuls les administrateurs peuvent modifier ces paramètres. + +Allez au menu **Paramètres**, puis choisissez **Paramètres de l'application** sur la gauche. + +![Paramètres de l'application](http://kanboard.net/screenshots/documentation/application-settings.png) + +### URL de l'application + +Ce paramètre est utilisé pour les notifications par mail. +Le pied de page du mail contiendra un lien vers la tâche du Kanboard. + +### Langue + +La langue de l'application peut être modifiée à tout moment. +Elle sera définie pour tous les utilisateurs. + +### Fuseau horaire + +Par défaut, Kanboard utilise le TUC comme fuseau horaire, mais vous pouvez définir votre propre fuseau horaire. +La liste contient tous les fuseaux horaires pris en charge par votre serveur web. + +### Format de date + +Format d'entrée utilisé pour les champs de saisie de date, par exemple la date d'échéance pour les tâches. + +Kanboard propose 4 différents formats: + +- JJ/MM/AAAA +- MM/JJ/AAAA (par défaut) +- AAAA/MM/JJ +- MM.JJ.AAAA + +Le format [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) est toujours accepté (AAAA-MM-JJ ou AAAA_MM_JJ). + +### Feuille de style personnalisée + +Écrivez votre propre CSS pour remplacer ou améliorer le style par défaut de Kanboard. diff --git a/doc/fr/application-configuration.markup b/doc/fr/application-configuration.markup new file mode 100644 index 00000000..2b3f9e25 --- /dev/null +++ b/doc/fr/application-configuration.markup @@ -0,0 +1,41 @@ +Paramètres de l'application +==================== + +Certains paramètres de l'application peuvent être modifiés sur la page des paramètres. +Seuls les administrateurs peuvent modifier ces paramètres. + +Allez au menu **Paramètres**, puis choisissez **Paramètres de l'application** sur la gauche. + +![Paramètres de l'application](http://kanboard.net/screenshots/documentation/application-settings.png) + +### URL de l'application + +Ce paramètre est utilisé pour les notifications par mail. +Le pied de page du mail contiendra un lien vers la tâche du Kanboard. + +### Langue + +La langue de l'application peut être modifiée à tout moment. +Elle sera définie pour tous les utilisateurs. + +### Fuseau horaire + +Par défaut, Kanboard utilise le TUC comme fuseau horaire, mais vous pouvez définir votre propre fuseau horaire. +La liste contient tous les fuseaux horaires pris en charge par votre serveur web. + +### Format de date + +Format d'entrée utilisé pour les champs de saisie de date, par exemple la date d'échéance pour les tâches. + +Kanboard propose 4 différents formats: + +- JJ/MM/AAAA +- MM/JJ/AAAA (par défaut) +- AAAA/MM/JJ +- MM.JJ.AAAA + +Le format [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) est toujours accepté (AAAA-MM-JJ ou AAAA_MM_JJ). + +### Feuille de style personnalisée + +Écrivez votre propre CSS pour remplacer ou améliorer le style par défaut de Kanboard. \ No newline at end of file diff --git a/doc/fr/board-configuration.markdown b/doc/fr/board-configuration.markdown new file mode 100644 index 00000000..2f368361 --- /dev/null +++ b/doc/fr/board-configuration.markdown @@ -0,0 +1,24 @@ +Paramètres du tableau +============== + +Allez dans le menu **Paramètres** puis choisissez *Paramètres du tableau** sur la gauche + +![Paramètres du tableau](http://kanboard.net/screenshots/documentation/board-settings.png) + +### Mise en avant d'une tâche + +Cette fonctionnalité affiche une ombre autour de la tâche lorsqu'une tâche à été déplacée récemment + +Initialisez la fonctionnalité à 0 pour la désactiver, par défaut 2 jours (172800 secondes) + +Toutes les tâches qui ont été déplacées depuis 2 jours seront entourées d'une ombre + + ### Intervalle pour rafraîchir un tableau public + + Lorsque vous partagez un tableau, la page sera, par défaut, automatiquement rafraîchie toutes les 60 secondes + + ### Intervalle pour rafraîchir un tableau privé + + Lorsque votre navigateur web est ouvert sur un tableau, Kanboard vérifie toutes les 10 secondes si quelque chose à été modifié par un autre utilisateur. + + Techniquement, ce processus est fait par Ajax polling. diff --git a/doc/fr/calendar-configuration.markdown b/doc/fr/calendar-configuration.markdown new file mode 100644 index 00000000..65543a85 --- /dev/null +++ b/doc/fr/calendar-configuration.markdown @@ -0,0 +1,43 @@ +Paramètres du calendrier +================= + +Allez au menu **Paramètres**, puis choisissez **Paramètres du calendrier** sur la gauche. + +![Paramètres du calendrier](http://kanboard.net/screenshots/documentation/calendar-settings.png) + +il existe deux calendriers distincts dans Kanboard : + +- le calendrier du projet +- le calendrier de l'utilisateur, disponible dans le tableau de bord + +Le calendrier du projet +---------------- + +Ce calendrier affiche les tâches avec les dates d'échéance et les tâches selon leur date de création ou de début. + +### Afficher les tâches selon leur date de création + +- La date de début d'un évènement du calendrier est la date de création de la tâche. +- la date de fin de l'évènement est la date d'achèvement de la tâche. + +### Afficher les tâches selon leur date de début + +- La date de début d'un évènement du calendrier est la date du démarrage effectif de la tâche. +- Cette date ne peut pas être définie manuellement. +- La date de fin de l'évènement est la date de l'achèvement de la tâche. +- S'il n'existe pas de date de début la tâche ne figurera pas sur le calendrier . + +Calendrier de l'utilisateur +------------- + +Ce calendrier n'affiche que les tâches assignées à l'utilisateur et de façon facultative des informations sur les sous-tâches. + +### Afficher les sous-tâches selon le suivi du temps passé + +- Affiche les sous-tâches dans le calendrier d'après les informations recueillies dans l afeuille de suivi du temps. +- Le croisement des données avec l'emploi du temps de l'utilisateur est également calculé. + +### Afficher les estimations des sous-tâches (anticipation sur le travail à venir) + +- Affiche l'estimation du travail à venir pour les sous-tâches qui ont le statut « à faire » et avec une valeur définie à « estimé ». + diff --git a/doc/fr/currency-rate.markdown b/doc/fr/currency-rate.markdown new file mode 100644 index 00000000..61c51da4 --- /dev/null +++ b/doc/fr/currency-rate.markdown @@ -0,0 +1,11 @@ +Taux de change des devises +============== + +Chaque utilisateur peut avoir un taux horaire prédéfini dans différentes devises +Si vous avez à manipuler plusieurs devises, vous définissez ici le taux en fonction de la devise de référence + +Cette fonctionnalité est utilisée pour le calculer le budget du projet + +![Currency Rate](http://kanboard.net/screenshots/documentation/currency-rate.png) + +Les paramètres pour le taux de change des devises sont situés dans **Paramètres > Taux de change** diff --git a/doc/fr/index.markdown b/doc/fr/index.markdown index 1c733344..3f7930f3 100644 --- a/doc/fr/index.markdown +++ b/doc/fr/index.markdown @@ -49,3 +49,13 @@ Utiliser Kanboard - [Gestion des utilisateurs](user-management.markdown) - [Notifications](notifications.markdown) - [Authentification à deux facteurs](2fa.markdown) + +### Paramètres + +- [Raccourcis clavier](keyboard-shortcuts.markdown) +- [Paramètres de l'application](application-configuration.markdown) +- [Paramètres du projet](project-configuration.markdown) +- [Paramètres du tableau](board-configuration.markdown) +- [Paramètres du calendrier](calendar-configuration.markdown) +- [Paramètres du lien](link-labels.markdown) +- [Taux de change](currency-rate.markdown) diff --git a/doc/fr/keyboard-shortcuts.markdown b/doc/fr/keyboard-shortcuts.markdown new file mode 100644 index 00000000..72875896 --- /dev/null +++ b/doc/fr/keyboard-shortcuts.markdown @@ -0,0 +1,28 @@ +Raccourcis clavier +================== + +La disponibilité des raccourcis clavier dépend de la page sur laquelle vous êtes couramment. + +Vues par projets (Tableau, Agenda, Liste, Gantt) +-------------------------------------------- + +- Passer à la vue tableau = **v b** (appuyer sur **v** puis **b**) +- Passer à la vue agenda = **v c** +- Passer à la vue liste = **v l** +- Passer à la vue Gantt = **v g** + +Vue tableau +---------- + +- Nouvelle tâche = **n** +- Étendre / replier une tâche = **s** +- Vue compacte / vue étendue = **c** + +Application +----------- + +- Ouvrir le changement de tableau = **b** +- Aller au moteur de recherche = **f** +- Restaurer la boîte de recherche = **r** +- Fermer la fenêtre de dialogue = **ESC** +- Soumettre un formulaire = **CTRL+ENTER** ou **⌘+ENTER** diff --git a/doc/fr/link-labels.markdown b/doc/fr/link-labels.markdown new file mode 100644 index 00000000..b598b50e --- /dev/null +++ b/doc/fr/link-labels.markdown @@ -0,0 +1,13 @@ +Paramètres des liens +============= + +Les relations entre les tâches peuvent être modifiées depuis les paramètres de l'application (**Paramètres > Paramètres des liens**) + +![Libellé des liens](http://kanboard.net/screenshots/documentation/link-labels.png) + +Chaque nom du libellé peut avoir un nom du libellé opposé. + +Si il n'y a pas d'opposé, le nom du libellé sera considéré comme étant bidirectionnel. + +![Création d'un libellé de lien](http://kanboard.net/screenshots/documentation/link-label-creation.png) + diff --git a/doc/fr/project-configuration.markdown b/doc/fr/project-configuration.markdown new file mode 100644 index 00000000..6b624aa6 --- /dev/null +++ b/doc/fr/project-configuration.markdown @@ -0,0 +1,42 @@ + +Paramètres du projet +================ + +Aller dans le menu **Préférences**; puis choisissez **Paramètres du projet** sur la gauche + +![Paramètres du projet](http://kanboard.net/screenshots/documentation/project-settings.png) + +###Colonnes par défaut pour les nouveaux projets + +Vous pouvez changer le nom des colonnes par défaut. +C'est utile si vous créez toujours des projets comprenant les même colonnes + +Chaque nom de colonne doit être séparé par une virgule. + +Par défaut, Kanboard utilise les noms de colonne suivants : en attente, prêt, en cours, terminé. + +###Catégories par défaut pour les nouveaux projets + +Les catégories ne sont pas globales à l'application mais rattachées à un projet. +Chaque projet peut avoir plusieurs catégories. + +De plus, si vous créez toujours la même catégorie pour tous vos projets, vous pouvez définir ici la liste des catégories à créer automatiquement + +### Autoriser une seule sous-tâche en cours à la fois pour un utilisateur + +Lorsque cette option est sélectionnée, un utilisateur ne peut travailler que sur une seule sous-tâche à la fois + +Si une autre sous-tâche possède le statut « en cours », l'utilisateur verra cette boite de dialogue : + +![Limite des sous-tâches pour l'utilisateur](http://kanboard.net/screenshots/documentation/subtask-user-restriction.png) + +### Déclencher automatiquement le suivi du temps pour les sous-tâches + +- Si activé, lorsque le statut d'une sous-tâche devient « en cours », le chrono va démarrer automatiquement +- Désactivez cette option si vous n'utilisez pas le suivi du temps. + +### Inclure les tâches fermées dans le diagramme de flux cumulé + +- Si l'option est activée, les tâches fermées seront incluses dans le diagramme de flux cumulé +- Si l'option est désactivée, seules les tâches ouvertes seront incluses dans le diagramme de flux cumulé +- Cette option affecte la colonne "total" de la table "project_daily_column_stats" -- cgit v1.2.3 From 11808ed74f51c08b3a9de4b7a7e66d83713de16b Mon Sep 17 00:00:00 2001 From: goofy Date: Sun, 27 Sep 2015 13:11:39 +0200 Subject: essai intégration image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/fr/captures/kanboard-board.png | Bin 0 -> 65587 bytes doc/fr/project-views.markdown | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 doc/fr/captures/kanboard-board.png (limited to 'doc') diff --git a/doc/fr/captures/kanboard-board.png b/doc/fr/captures/kanboard-board.png new file mode 100644 index 00000000..9e81e48e Binary files /dev/null and b/doc/fr/captures/kanboard-board.png differ diff --git a/doc/fr/project-views.markdown b/doc/fr/project-views.markdown index efaa1c94..0b40fe77 100644 --- a/doc/fr/project-views.markdown +++ b/doc/fr/project-views.markdown @@ -4,7 +4,7 @@ Pour chaque projet, les tâches peuvent être visualisées dans différentes vue Vue Tableau ---------- -![Vue Tableau](http://kanboard.net/screenshots/documentation/board-view.png) +![Vue Tableau](captures/kanboard-board.png) - Dans cette vue, il est possible de glisser-déposer facilement des tâches d'une colonne à l'autre. - Il est également possible d'utiliser le raccourci clavier **"v b"** pour afficher la vue Tableau. -- cgit v1.2.3 From 91eeeee6c511246df56b4720f69d450b8787dd03 Mon Sep 17 00:00:00 2001 From: goofy Date: Mon, 28 Sep 2015 22:47:32 +0200 Subject: ajout captures pour les vues --- doc/fr/captures/kanboard-vue-calendrier.png | Bin 0 -> 31640 bytes doc/fr/captures/kanboard-vue-gantt.png | Bin 0 -> 42360 bytes doc/fr/captures/kanboard-vue-liste.png | Bin 0 -> 38316 bytes doc/fr/project-views.markdown | 6 +++--- 4 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 doc/fr/captures/kanboard-vue-calendrier.png create mode 100644 doc/fr/captures/kanboard-vue-gantt.png create mode 100644 doc/fr/captures/kanboard-vue-liste.png (limited to 'doc') diff --git a/doc/fr/captures/kanboard-vue-calendrier.png b/doc/fr/captures/kanboard-vue-calendrier.png new file mode 100644 index 00000000..799add41 Binary files /dev/null and b/doc/fr/captures/kanboard-vue-calendrier.png differ diff --git a/doc/fr/captures/kanboard-vue-gantt.png b/doc/fr/captures/kanboard-vue-gantt.png new file mode 100644 index 00000000..445e8a87 Binary files /dev/null and b/doc/fr/captures/kanboard-vue-gantt.png differ diff --git a/doc/fr/captures/kanboard-vue-liste.png b/doc/fr/captures/kanboard-vue-liste.png new file mode 100644 index 00000000..41311245 Binary files /dev/null and b/doc/fr/captures/kanboard-vue-liste.png differ diff --git a/doc/fr/project-views.markdown b/doc/fr/project-views.markdown index 0b40fe77..0f893d44 100644 --- a/doc/fr/project-views.markdown +++ b/doc/fr/project-views.markdown @@ -19,7 +19,7 @@ Lorsque la limite de tâches est atteinte pour une colonne, l'arrière-plan devi Vue Agenda -------------- -![Vue Agenda](http://kanboard.net/screenshots/documentation/calendar-view.png) +![Vue Agenda](captures/kanboard-vue-calendrier.png) - Dans cette vue, il est possible de voir les tâches avec des dates d'échéance. - Selon les paramètres, il est également possible de voir les tâches en cours. @@ -29,7 +29,7 @@ Vue Agenda Vue Liste ---------- -![Vue liste](http://kanboard.net/screenshots/documentation/list-view.png) +![Vue liste](captures/kanboard-vue-liste.png) - Dans cette vue, tous les résultats de votre recherche sont affichés dans un tableau. - Il est également possible d'utiliser le raccourci clavier **"v l"** pour afficher la vue Liste. @@ -37,7 +37,7 @@ Vue Liste Vue Gantt ---------- -![Vue Gantt](http://kanboard.net/screenshots/documentation/gantt-view.png) +![Vue Gantt](captures/kanboard-vue-gantt.png) - La vue Gantt affiche les tâches dans une fresque horizontale - Le diagramme utilise la date de début et la date d'échéance pour afficher les tâches -- cgit v1.2.3 From 883e1880e3872a13758551a02341d03fe7fef18a Mon Sep 17 00:00:00 2001 From: goofy Date: Tue, 29 Sep 2015 21:24:41 +0200 Subject: adding more French-speaking screenshots --- doc/fr/captures/kanboard-acces-prive.png | Bin 0 -> 14432 bytes doc/fr/captures/kanboard-acces-public.png | Bin 0 -> 26672 bytes doc/fr/captures/kanboard-creer-utilisateur.png | Bin 0 -> 35907 bytes doc/fr/captures/kanboard-nouveauprojet-prive.png | Bin 0 -> 17942 bytes doc/fr/captures/kanboard-nouveauprojet.png | Bin 0 -> 21282 bytes doc/fr/captures/kanboard-swimlanes.png | Bin 0 -> 43399 bytes doc/fr/creating-projects.markdown | 4 ++-- doc/fr/sharing-projects.markdown | 4 ++-- doc/fr/user-management.markdown | 2 +- 9 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 doc/fr/captures/kanboard-acces-prive.png create mode 100644 doc/fr/captures/kanboard-acces-public.png create mode 100644 doc/fr/captures/kanboard-creer-utilisateur.png create mode 100644 doc/fr/captures/kanboard-nouveauprojet-prive.png create mode 100644 doc/fr/captures/kanboard-nouveauprojet.png create mode 100644 doc/fr/captures/kanboard-swimlanes.png (limited to 'doc') diff --git a/doc/fr/captures/kanboard-acces-prive.png b/doc/fr/captures/kanboard-acces-prive.png new file mode 100644 index 00000000..8528ef4c Binary files /dev/null and b/doc/fr/captures/kanboard-acces-prive.png differ diff --git a/doc/fr/captures/kanboard-acces-public.png b/doc/fr/captures/kanboard-acces-public.png new file mode 100644 index 00000000..e7ff5531 Binary files /dev/null and b/doc/fr/captures/kanboard-acces-public.png differ diff --git a/doc/fr/captures/kanboard-creer-utilisateur.png b/doc/fr/captures/kanboard-creer-utilisateur.png new file mode 100644 index 00000000..37a72311 Binary files /dev/null and b/doc/fr/captures/kanboard-creer-utilisateur.png differ diff --git a/doc/fr/captures/kanboard-nouveauprojet-prive.png b/doc/fr/captures/kanboard-nouveauprojet-prive.png new file mode 100644 index 00000000..1523a9d8 Binary files /dev/null and b/doc/fr/captures/kanboard-nouveauprojet-prive.png differ diff --git a/doc/fr/captures/kanboard-nouveauprojet.png b/doc/fr/captures/kanboard-nouveauprojet.png new file mode 100644 index 00000000..6ee30681 Binary files /dev/null and b/doc/fr/captures/kanboard-nouveauprojet.png differ diff --git a/doc/fr/captures/kanboard-swimlanes.png b/doc/fr/captures/kanboard-swimlanes.png new file mode 100644 index 00000000..06602ad9 Binary files /dev/null and b/doc/fr/captures/kanboard-swimlanes.png differ diff --git a/doc/fr/creating-projects.markdown b/doc/fr/creating-projects.markdown index d492ac62..e869e89f 100644 --- a/doc/fr/creating-projects.markdown +++ b/doc/fr/creating-projects.markdown @@ -14,7 +14,7 @@ Créer des projets multi-utilisateurs Depuis le tableau principal, cliquez sur le lien **Nouveau projet** : -![Formulaire de création de projet](http://kanboard.net/screenshots/documentation/project-creation-form.png) +![Formulaire de création de projet](captures/kanboard-nouveauprojet.png) C'est vraiment très simple, il vous suffit de trouver un nom pour votre projet ! @@ -27,6 +27,6 @@ Créer un projet privé Depuis le tableau principal, cliquez sur le lien **Nouveau projet privé**. -![Nouveau projet privé](http://kanboard.net/screenshots/documentation/new-private-project.png) +![Nouveau projet privé](captures/kanboard-nouveauprojet-prive.png) Remarque : les noms de projets doivent être uniques dans toute l'application. diff --git a/doc/fr/sharing-projects.markdown b/doc/fr/sharing-projects.markdown index 0d2df7aa..af3d43b0 100644 --- a/doc/fr/sharing-projects.markdown +++ b/doc/fr/sharing-projects.markdown @@ -19,7 +19,7 @@ Activer l'accès public Choisissez votre projet, puis cliquez sur « Accès public » et enfin sur le bouton « Activer l'accès public ». -![Activer l'accès public](http://kanboard.net/screenshots/documentation/project-enable-sharing.png) +![Activer l'accès public](captures/kanboard-acces-prive.png) Lorsque l'accès public est activé, plusieurs liens sont créés : @@ -27,7 +27,7 @@ Lorsque l'accès public est activé, plusieurs liens sont créés : - Lien de souscription au fil RSS - Lien d'abonnement à iCalendar -![Désactiver l'accès public](http://kanboard.net/screenshots/documentation/project-disable-sharing.png) +![Désactiver l'accès public](captures/kanboard-acces-public.png) Vous pouvez désactiver l'accès public à tout moment. diff --git a/doc/fr/user-management.markdown b/doc/fr/user-management.markdown index 297bf665..9fd03c43 100644 --- a/doc/fr/user-management.markdown +++ b/doc/fr/user-management.markdown @@ -56,7 +56,7 @@ Pour ajouter un nouvel utilisateur, vous devez être administrateur. 2. Dans la partie haute vous avez un lien **Créer un utilisateur local** ou **Créer un utilisateur distant** 3. Informez les champs de saisie et enregistrez -![Nouvel utilisateur](http://kanboard.net/screenshots/documentation/new-user.png) +![Nouvel utilisateur](captures/kanboard-creer-utilisateur.png) Quand vous créez un **utilisateur local**, vous devez préciser au moins deux valeurs : -- cgit v1.2.3 From 421e8751ebca5b566ecbd8d08e9d56b93ce81ffa Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Tue, 29 Sep 2015 22:21:48 -0400 Subject: Update url rewrite doc for nginx --- doc/nice-urls.markdown | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/nice-urls.markdown b/doc/nice-urls.markdown index 38f7c41d..fc0a3bf3 100644 --- a/doc/nice-urls.markdown +++ b/doc/nice-urls.markdown @@ -24,7 +24,7 @@ By default, Kanboard will check if the Apache mode rewrite is enabled. To avoid the automatic detection of url rewriting from the web server, you can enable this feature in your config file: -``` +```php define('ENABLE_URL_REWRITE', true); ``` @@ -34,3 +34,47 @@ When this constant is at `true`: - If you use another web server than Apache, by example Nginx or Microsoft IIS, you have to configure yourself the url rewriting Note: Kanboard always fallback to old school urls when it's not configured, this configuration is optional. + +Nginx configuration example +--------------------------- + +In the section `server` of your Nginx config file you can use this example: + +```bash +index index.php; + +location / { + try_files $uri $uri/ /index.php; + + # If Kanboard is under a subfolder + # try_files $uri $uri/ /kanboard/index.php; +} + +location ~ \.php$ { + try_files $uri =404; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass unix:/var/run/php5-fpm.sock; + fastcgi_index index.php; + include fastcgi_params; +} + +# Deny access to the directory data +location ~* /data { + deny all; + return 404; +} + +# Deny access to .htaccess +location ~ /\.ht { + deny all; + return 404; +} +``` + +In your Kanboard `config.php`: + +```php +define('ENABLE_URL_REWRITE', true); +``` + +Adapt the example above according to your own configuration. -- cgit v1.2.3
    e($plugin->getPluginName()) ?>e($plugin->getPluginAuthor()) ?>e($plugin->getPluginVersion()) ?>e($plugin->getPluginDescription()) ?>
    e($plugin->getPluginName()) ?> + getPluginHomepage()): ?> + e($plugin->getPluginName()) ?> + + e($plugin->getPluginName()) ?> + + e($plugin->getPluginAuthor()) ?> e($plugin->getPluginVersion()) ?> e($plugin->getPluginDescription()) ?>