{"id":826,"date":"2015-01-09T18:17:40","date_gmt":"2015-01-09T16:17:40","guid":{"rendered":"http:\/\/www.h-hennes.fr\/blog\/?p=826"},"modified":"2015-01-09T18:17:40","modified_gmt":"2015-01-09T16:17:40","slug":"configuration-mantis-bugtracker","status":"publish","type":"post","link":"https:\/\/www.h-hennes.fr\/blog\/2015\/01\/09\/configuration-mantis-bugtracker\/","title":{"rendered":"Configuration mantis bugtracker"},"content":{"rendered":"<p>A l&rsquo;occasion de la mise en place d&rsquo;une nouvelle plateforme avec mantis bugtracker, j&rsquo;ai constat\u00e9 que mon exp\u00e9rience utilisateur \u00e9tait loin d&rsquo;\u00eatre aussi pratique que les plateformes sur lesquelles je travaille au quotidien.<br \/>\nJ&rsquo;en profite donc pour mettre en place une proc\u00e9dure de mise en ligne pour mantis bugtracker \u00e0 partager \ud83d\ude42<\/p>\n<p>Voici donc le plan d&rsquo;attaque pour configurer et optimiser le bugtracker ( c&rsquo;est tout \u00e0 fait subjectif pour mon usage ^^ )<\/p>\n<ul>\n<li>Configuration des param\u00e8tres g\u00e9n\u00e9raux ( emails, logo, copyright )<\/li>\n<li>Activation de la gestion du temps<\/li>\n<li>(Optionnel)Modification du workflow<\/li>\n<li>Installation de plugins compl\u00e9mentaires<\/li>\n<\/ul>\n<p>Il faut savoir que la configuration sp\u00e9cifique de mantis est r\u00e9alis\u00e9e dans le fichier <em>config_inc.php<\/em> situ\u00e9e \u00e0 la racine de votre installation.<br \/>\nToutes les options disponibles sont quand \u00e0 elles visibles et bien document\u00e9es dans le fichier <em>config_defaults_inc.php<\/em> ( situ\u00e9 lui aussi \u00e0 la racine de votre installation )<\/p>\n<p><strong>&#8211; Configuration des param\u00e8tres g\u00e9n\u00e9raux<\/strong><\/p>\n<p>Lorsque vous \u00e9ditez votre fichier <em>config_inc.php<\/em> il contient par d\u00e9faut uniquement les lignes suivantes, relatives \u00e0 la base de donn\u00e9es<\/p>\n<pre lang=\"php\">$g_hostname = 'localhost';\r\n$g_db_type = 'mysql';\r\n$g_database_name = 'mantis';\r\n$g_db_username = 'user';\r\n$g_db_password = 'password';\r\n<\/pre>\n<p>Pour commencer nous allons renseigner toutes les informations relatives \u00e0 l&#8217;email de l&rsquo;administrateur en rajoutant les lignes suivantes :<\/p>\n<pre lang=\"php\">\/* Emails *\/\r\n$g_administrator_email\u00a0 = 'user@example.com';\r\n$g_webmaster_email\u00a0\u00a0\u00a0\u00a0\u00a0 = 'user@example.com';\r\n$g_from_name\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= 'user@example.com';\r\n$g_from_email\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 'user@example.com';\r\n$g_return_path_email\u00a0\u00a0\u00a0 = 'user@example.com';\r\n<\/pre>\n<p>On va ensuite affiner les droits d&rsquo;acc\u00e8s au diff\u00e9rents \u00e9l\u00e9ments de l&rsquo;interface<\/p>\n<pre lang=\"php\">\/* D\u00e9sactivation de l'inscription publique des utilisateurs *\/\r\n$g_allow_signup = OFF;\r\n\r\n\/* Affichage des \u00e9l\u00e9ments de l'interface *\/\r\n$g_view_changelog_threshold = DEVELOPER;\r\n$g_roadmap_view_threshold = DEVELOPER;\r\n\r\n\/* Restrictions d'acc\u00e8s *\/\r\n$g_monitor_bug_threshold = DEVELOPER;\r\n$g_limit_reporters\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= OFF; \/\/Passer \u00e0 ON pour que les raporteurs puissent uniquement voir leurs bugs\r\n$g_private_bug_threshold = DEVELOPER;\r\n<\/pre>\n<p>Concernant l&rsquo;upload des pi\u00e8ces jointes, mantis utilise par d\u00e9faut la base de donn\u00e9es, ce qui n&rsquo;est pas tr\u00e8s pratique pour faire des backups car la taille de la base grandit excessivement vite,<br \/>\nDe mon point de vue il est donc pr\u00e9f\u00e9rable d&rsquo;utiliser le mode d&rsquo;upload par fichiers, ( au passage on exclus les extensions non s\u00e9curis\u00e9es )<\/p>\n<pre lang=\"php\">\/* Stockage des fichiers *\/\r\n$g_file_upload_method = DISK;\r\n$g_absolute_path_default_upload_folder = '\/home\/dir\/myuploaddir\/';\r\n$g_disallowed_files\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= 'java,exe,sh';\r\n<\/pre>\n<p>Pour finir nous pouvons personnaliser un peu l&rsquo;apparence du bugtracker<\/p>\n<pre lang=\"php\">\/* Apparence *\/\r\n$g_default_language\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= 'french';\r\n$g_window_title\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= 'Mon super bugtracker';\r\n$g_logo_image\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= 'images\/logo_bt.jpg';\r\n$g_ico_link \u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= 'images\/favicon.ico';\r\n<\/pre>\n<p>La configuration g\u00e9n\u00e9rale est \u00e0 pr\u00e9sent OK<\/p>\n<p><strong>\u00a0&#8211; Activation de la gestion du temps :<\/strong><\/p>\n<p>Pour suivre au mieux les actions de chacun, il est n\u00e9cessaire d&rsquo;activer la gestion du temps, pour cela il faut ins\u00e9rer les lignes suivantes :<\/p>\n<pre lang=\"php\">\/* Gestion des heures de travail et des date limites *\/\r\n$g_due_date_update_threshold = DEVELOPER;\r\n$g_due_date_view_threshold = REPORTER;\r\n$g_time_tracking_enabled = ON;\r\n$g_time_tracking_with_billing = ON;\r\n<\/pre>\n<p>Cela permettra d&rsquo;afficher \u00e0 la fois le champ due_date (date de livraison souhait\u00e9 ), et la possibilit\u00e9 de saisir la dur\u00e9e de chaque action.<\/p>\n<p><a href=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2015\/01\/due-date.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-829\" src=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2015\/01\/due-date.jpg\" alt=\"Date \u00e9ch\u00e9ance mantis bugtracker\" width=\"372\" height=\"428\" srcset=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2015\/01\/due-date.jpg 372w, https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2015\/01\/due-date-261x300.jpg 261w, https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2015\/01\/due-date-300x345.jpg 300w\" sizes=\"auto, (max-width: 372px) 100vw, 372px\" \/><\/a><a href=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2015\/01\/duree-action.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-828\" src=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2015\/01\/duree-action.jpg\" alt=\"Dur\u00e9e action mantis bugtracker\" width=\"249\" height=\"312\" srcset=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2015\/01\/duree-action.jpg 249w, https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2015\/01\/duree-action-239x300.jpg 239w\" sizes=\"auto, (max-width: 249px) 100vw, 249px\" \/><\/a><\/p>\n<p>Il sera ainsi possible de conna\u00eetre avec pr\u00e9cision le temps pass\u00e9 sur chaque bug.<\/p>\n<p><strong>\u00a0 &#8211; (Optionnel)D\u00e9finition du workflow :<\/strong><\/p>\n<p>Le workflow par d\u00e9faut de mantis est le suivant :<\/p>\n<p><em> nouveau\u00a0\u00a0 \u00a0&gt; commentaire &gt;\u00a0\u00a0 accept\u00e9 &gt; confirm\u00e9 &gt; affect\u00e9 &gt; r\u00e9solu &gt; ferm\u00e9<\/em><\/p>\n<p>Si vous souhaitez rajouter une nouvelle \u00e9tape dans le workflow,vous pouvez consulter l&rsquo;article qui d\u00e9taille comment proc\u00e9der : <a title=\"Modifier le workflow de mantis Bugtracker\" href=\"https:\/\/www.h-hennes.fr\/blog\/2014\/01\/18\/modifier-le-workflow-de-mantis-bugtracker\/\">Ajouter une \u00e9tape dans le workflow Mantis Bugtracker<\/a><\/p>\n<p><strong>\u00a0&#8211; Installation des plugins<\/strong><\/p>\n<p>L&rsquo;installation de mantis est \u00e0 pr\u00e9sent termin\u00e9e, cependant pour optimiser le processus de travail je mets toujours en place les plugins suivants :<\/p>\n<p>&#8211; <a title=\"Cr\u00e9ation d\u2019un plugin de suivi de temps pour Mantis Bugtracker : nouvelle version\" href=\"https:\/\/www.h-hennes.fr\/blog\/2013\/04\/29\/creation-dun-plugin-de-suivi-de-temps-pour-mantis-bugtracker-nouvelle-version\/\">Agenda<\/a> : Permets de visualiser les dates d&rsquo;\u00e9ch\u00e9ances des bugs sur un calendrier<br \/>\n&#8211; <a title=\"Mantis bugtracker : plugin d\u2019envoi d\u2019un r\u00e9capitulatif hebdomadaire des bugs\" href=\"https:\/\/www.h-hennes.fr\/blog\/2013\/07\/24\/mantis-bugtracker-plugin-denvoi-dun-recapitulatif-hebdomadaire-des-bugs\/\">Reminder<\/a> : Envoi hebdomadaire d&rsquo;un rappel des bugs en cours \u00e0 tous les d\u00e9veloppeurs<br \/>\n&#8211; <a title=\"Mantis Bugtracker : Plugin Multi-upload Drag &amp; Drop\" href=\"https:\/\/www.h-hennes.fr\/blog\/2014\/12\/19\/mantis-bugtracker-plugin-multi-upload-drag-drop\/\">FileUpload<\/a> : Plugin d&rsquo;envoi Drag &amp; Drop des pi\u00e8ces jointes<\/p>\n<p>Ces plugins ont \u00e9t\u00e9 r\u00e9alis\u00e9s par mes soins pour r\u00e9pondre \u00e0 des besoins particuliers, n&rsquo;h\u00e9sitez pas \u00e0 m&rsquo;envoyer vos retours et \u00e0 les partager \ud83d\ude09<\/p>\n<p>Une fois l&rsquo;ensemble de ces \u00e9tapes effectu\u00e9es, mon bugtracker est pleinement op\u00e9rationnel et peut commenc\u00e9 \u00e0 se remplir de nouveaux bugs \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A l&rsquo;occasion de la mise en place d&rsquo;une nouvelle plateforme avec mantis bugtracker, j&rsquo;ai constat\u00e9 que mon exp\u00e9rience utilisateur \u00e9tait loin d&rsquo;\u00eatre aussi pratique que les plateformes sur lesquelles je travaille au quotidien. J&rsquo;en profite donc pour mettre en place une proc\u00e9dure de mise en ligne pour mantis bugtracker \u00e0 partager \ud83d\ude42 Voici donc le [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[247],"tags":[83,322,82,323,324,206],"class_list":["post-826","post","type-post","status-publish","format-standard","hentry","category-mantis-bugtracker","tag-bugtracker","tag-configuration","tag-mantis","tag-upload","tag-user","tag-workflow"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/826","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/comments?post=826"}],"version-history":[{"count":4,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/826\/revisions"}],"predecessor-version":[{"id":832,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/826\/revisions\/832"}],"wp:attachment":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/media?parent=826"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/categories?post=826"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/tags?post=826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}