Archives de janvier, 2015

Mantis Bugtracker : Plugin Envoi de pièces jointes par emails

Ces dernières semaines, j’ai perdu pas mal de temps avec mantis bugtracker et la gestion des pièces jointes, c’est pourquoi après la réalisation d’un plugin d’upload multiple Drag & Drop , voici encore un nouveau plugin qui vous fera gagner du temps dans la gestion des pièces jointes et des bugs.

Le principe de fonctionnement du plugin EmailFile est très simple :

Il suffit d’envoyer un email pour que  les pièces jointes et les captures d’écrans de cet email  soient automatiquement ajoutées au bug souhaité.

L’association des pièces jointes au bug est gérée via l’objet de votre email.
Si vous souhaitez par exemple , ajouter des pièces jointes au bug : 355
l’objet de votre email pourrait être le suivant “355 a la suite le texte que vous voulez”

Installation et configuration du module

Pour commencer télécharger la dernière version du module : MantisEmailFile
Ce module est dépendant du plugin “Jquery” que vous pouvez télécharger depuis l’adresse suivante : https://github.com/mantisbt-plugins/jquery

Déposer les fichiers des plugins téléchargés via ftp dans le dossier “plugins” de votre bugtracker.…

Pas de commentaires

Magento 1.4.1.1 : Corriger grid des emails transactionnels

Par défaut dans la version 1.4.1.1 de Magento, la grid d’affichage des emails transactionnels ne fonctionne pas.
Les paramètres ne sont pas mémorisés ce qui est relativement gênant lorsqu’on doit chercher des emails à modifier.

Voici donc comment corriger cela rapidement.

En consultant le fichier de la grid app/code/core/Mage/AdminHtlml/Block/System/Email/Template/Grid.php,

j’ai constaté qu’il manquait la fonction  __construct() de la classe dans laquelle l’identifiant de la grid est déterminé, ainsi que la sauvegarde des paramètres de sessions.

Pour faire cela proprement il faut donc copier ce fichier à l’emplacement suivant  : app/code/local/Mage/AdminHtlml/Block/System/Email/Template/Grid.php.

Et rajouter en première fonction du fichier le code suivant :

//Rajout de la fonction construct pour conserver les paramètres des emails lors d'une recherche
public function __construct() {
parent::__construct();
$this->setId('EmailGrid');
$this->setSaveParametersInSession(true);
}

La grid des emails sera bien fonctionnelle après ce changement.…

Pas de commentaires

Mantis Bugtracker : Supprimer une étape dans le workflow

En complément de mon précédent article  sur comment ajouter une étape dans le workflow Mantis bugtracker, voici comment supprimer une étape.
( je vous rassure tout de suite c’est beaucoup plus simple )

Par défaut le workflow est le suivant :

Workflow mantis défaut

Dans le fichier de configuration par défaut ( config_defaults_inc.php) ceci est défini par la ligne suivante :

/**
  *
  * @global string $g_status_enum_string
 */
$g_status_enum_string    = '10:new,20:feedback,30:acknowledged,40:confirmed,50:assigned,80:resolved,90:closed';

Dans mon exemple , je souhaite supprimer les statuts “Accepté” et “Confirmé”

Il faut donc mettre en place dans le fichier de configuration ( config_inc.php) le code suivant.
( Il suffit de supprimer les statuts que vous ne souhaitez plus afficher )

#Nouveau Workflow Mantis Suppression des status "Accepté" et "Confirmé"
$g_status_enum_string    = '10:new,20:feedback,50:assigned,80:resolved,90:closed';

Après actualisation de votre fichier le workflow a bien été changé 🙂

Mantis workflow perso

1 commentaire

Mantis bugtracker : Personnaliser la page de soumission de bug

Par défaut la page de soumission de bug de mantis Bugtracker est relativement exhaustive et contient de nombreux champs.
Comme vous pouvez le voir sur la capture ci-dessous :

Mantis soumission bug défaut

En fonction de votre utilisation tout ces champs ne sont pas forcément nécessaires, voici donc comment personnaliser cette page :
Dans mon exemple je souhaite afficher sur la page de soumission de bug uniquement les éléments suivants :

  • Catégorie de bug
  • Assignation au développeur
  • Priorité
  • Résumé
  • Description
  • Informations complémentaires
  • Pièces jointes
  • Date d’échéance

Pour cela il existe plusieurs possibilités pour faire cela.

Via l’administration :

C’est la solution la plus pratique et la plus facilement personnalisable :

Mantis Configuration soumission de bug

Rendez-vous dans “Administration/ Gérer la configuration”.
Choisissez ensuite l’utilisateur et le projet concerné.
Saisir l’option de configuration : bug_report_page_fields
Et le type “Complex”

Dans la configuration saisissez la commande suivante :

array (
0 => ‘category_id’,
1 => ‘view_state’,
2 => ‘handler’,
3 => ‘handler’,
4 => ‘priority’,
5 => ‘summary’,
6 => ‘description’,
7 => ‘additional_info’,
8 => ‘attachments’,
9 => ‘due_date’,
)

Via le fichier de configuration :

Dans le fichier config_inc.php entrez le code suivant :

#Affichage par défaut du reporting des bugs
$g_bug_report_page_fields = array(
'category_id',
'view_state',
'handler',
'priority',
'summary',
'description',
'additional_info',
'attachments',
'due_date',
);

Une fois les éléments changés, votre page de soumission de bug est à présent beaucoup plus simple, comme vous pouvez le voir sur la capture suivante :

Mantis soumission bug perso

 

Pour information je vous affiche également la configuration par défaut qui est visible dans le fichier config_defaults_inc.php, cela vous permettra d’afficher uniquement les champs souhaités.…

23 commentaires

Configuration mantis bugtracker

A l’occasion de la mise en place d’une nouvelle plateforme avec mantis bugtracker, j’ai constaté que mon expérience utilisateur était loin d’être aussi pratique que les plateformes sur lesquelles je travaille au quotidien.
J’en profite donc pour mettre en place une procédure de mise en ligne pour mantis bugtracker à partager 🙂

Voici donc le plan d’attaque pour configurer et optimiser le bugtracker ( c’est tout à fait subjectif pour mon usage ^^ )

  • Configuration des paramètres généraux ( emails, logo, copyright )
  • Activation de la gestion du temps
  • (Optionnel)Modification du workflow
  • Installation de plugins complémentaires

Il faut savoir que la configuration spécifique de mantis est réalisée dans le fichier config_inc.php située à la racine de votre installation.
Toutes les options disponibles sont quand à elles visibles et bien documentées dans le fichier config_defaults_inc.php ( situé lui aussi à la racine de votre installation )

– Configuration des paramètres généraux

Lorsque vous éditez votre fichier config_inc.php il contient par défaut uniquement les lignes suivantes, relatives à la base de données

$g_hostname = 'localhost';
$g_db_type = 'mysql';
$g_database_name = 'mantis';
$g_db_username = 'user';
$g_db_password = 'password';

Pour commencer nous allons renseigner toutes les informations relatives à l’email de l’administrateur en rajoutant les lignes suivantes :

/* Emails */
$g_administrator_email  = '[email protected]';
$g_webmaster_email      = '[email protected]';
$g_from_name            = '[email protected]';
$g_from_email           = '[email protected]';
$g_return_path_email    = '[email protected]';

On va ensuite affiner les droits d’accès au différents éléments de l’interface

/* Désactivation de l'inscription publique des utilisateurs */
$g_allow_signup = OFF;
 
/* Affichage des éléments de l'interface */
$g_view_changelog_threshold = DEVELOPER;
$g_roadmap_view_threshold = DEVELOPER;
 
/* Restrictions d'accès */
$g_monitor_bug_threshold = DEVELOPER;
$g_limit_reporters            = OFF; //Passer à ON pour que les raporteurs puissent uniquement voir leurs bugs
$g_private_bug_threshold = DEVELOPER;

Concernant l’upload des pièces jointes, mantis utilise par défaut la base de données, ce qui n’est pas très pratique pour faire des backups car la taille de la base grandit excessivement vite,
De mon point de vue il est donc préférable d’utiliser le mode d’upload par fichiers, ( au passage on exclus les extensions non sécurisées )

/* Stockage des fichiers */
$g_file_upload_method = DISK;
$g_absolute_path_default_upload_folder = '/home/dir/myuploaddir/';
$g_disallowed_files        = 'java,exe,sh';

Pour finir nous pouvons personnaliser un peu l’apparence du bugtracker

/* Apparence */
$g_default_language        = 'french';
$g_window_title            = 'Mon super bugtracker';
$g_logo_image            = 'images/logo_bt.jpg';
$g_ico_link             = 'images/favicon.ico';

La configuration générale est à présent OK

 – Activation de la gestion du temps :

Pour suivre au mieux les actions de chacun, il est nécessaire d’activer la gestion du temps, pour cela il faut insérer les lignes suivantes :

/* Gestion des heures de travail et des date limites */
$g_due_date_update_threshold = DEVELOPER;
$g_due_date_view_threshold = REPORTER;
$g_time_tracking_enabled = ON;
$g_time_tracking_with_billing = ON;

Cela permettra d’afficher à la fois le champ due_date (date de livraison souhaité ), et la possibilité de saisir la durée de chaque action.…

22 commentaires

Sécuriser votre serveur dédié : installation de fail2ban

Votre serveur web, comme toutes les machines connectées à internet et soumis en permanence à des tentatives d’intrusions.
Le votre n’échappe n’y échappe sans doute pas…
Pour le constater il vous suffit de consulter le fichier d’authentification

sudo vim /var/log/auth.log

En parcourant son contenu de nombreuses lignes comme sur la capture ci-dessous apparaissent :

Logs authentification

Ces lignes sont les signes de tentative d’intrusions sur votre serveur, via une connexion ssh.

Ces tentatives sont quasiment impossible à éviter, cependant pour limiter au maximum ces désagréments, il est donc conseillé d’installer un outil tel que Fail2ban.
Celui-ci étudie les logs de votre serveur et vous permet de bloquer les utilisateurs qui tentent d’exploiter les failles de votre serveur.
Sa modularité lui permets de s’adapter à l’ensemble des besoins de sécurité de vos serveur.

Pour l’installer il faut exécuter la commande suivante :

sudo apt-get install fail2ban

Une fois fail2ban installé, nous pouvons consulter sa configuration située dans le fichier /etc/fail2bn/jail.conf
Mais, afin de pouvoir conserver les paramètres par défaut nous allons copier ce fichier vers un fichier spécifique :  jail.local via la commande suivante

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Puis consulter le fichier copié

sudo vim /etc/fail2ban/jail.local

Dans ce fichier vous trouverez les configurations des services de base sur vos serveurs : ssh, clients ftps, clients mails …

La durée de bannissement (en secondes )est située sur la ligne suivante, par défaut elle est de 600, mais en général je la passe à 86400 (24H)

# "bantime" is the number of seconds that a host is banned.
Pas de commentaires


Compte Github