Vous éditez le site Web d’un logiciel libre et vous aimeriez aussi que vos contributeurs / rédacteurs aient un moyen simple de rapporter des bugs ? Comme toujours en informatique, il faut choisir le bon outil ; SPIP n’offrant pas les spécificités nécessaires, il faut se tourner vers un outil dédié. Pour PHP (voire en général), il y a peu de bons systèmes de gestions de bugs disponibles en logiciel libre. Mantis fait partie de ceux-là : il est simple d’accès (beaucoup de systèmes concurrents ressemblent à une usine à gaz pour décideurs pressés) et francisé.
Oui mais voilà, Mantis a bien entendu son propre système d’utilisateurs, avec son propre formulaire d’identification et sa propre procédure d’inscription (et, bien sûr, des logins et mots de passe différents à mémoriser...). Or il serait tout de même plus simple que SPIP et Mantis partagent le même système : ainsi vos contributeurs seront d’autant plus enclins à aller rapporter des bugs sous Mantis plutôt que de remplir les forums SPIP.
Deux solutions se dessinent. La première consiste à utiliser un annuaire externe LDAP. Elle est réservée aux pros de l’administration système et nécessite des outils séparés.
La deuxième consiste à exploiter la présente contribution. Elle nécessite simplement :
- une installation de SPIP
- Mantis version 0.18.x (pour les versions antérieures, voir ici)
- un éditeur de texte pour ajouter quelques lignes de configuration
Principe
Le principe général de cette contribution est très simple :
- les formulaires de connexion et déconnexion à Mantis sont remplacés par ceux de SPIP
- les auteurs SPIP se voient automatiquement créer un profil sous Mantis (leurs pouvoirs sont choisis en fonction de leur statut sous SPIP)
- rien d’autre n’est modifié : le fonctionnement de Mantis est complètement inchangé
Installation de Mantis
Tout d’abord, il faut installer Mantis dans un sous-répertoire de votre SPIP (que l’on suppose déjà installé). C’est très important : en effet Mantis réutilisera le cookie posé par SPIP, donc il n’est pas possible de mettre Mantis ailleurs que dans un sous-répertoire de SPIP. Mettons que ce sous-répertoire est nommé « bugs
».
Une fois cette installation effectuée, il faut créer la base de données et configurer les variables les plus importantes : cette procédure est décrite dans le fichier doc/INSTALL
du répertoire Mantis. Notez que cette étape ne diffère pas d’une installation normale de Mantis. Vous pouvez à ce point vérifier que Mantis fonctionne bien, « tout seul ».
Ensuite, vous devez installer les fichiers nécessaires à ce que Mantis se coordonne avec SPIP. Ces deux fichiers, login_page.php
et logout_page.php
sont livrés sous le présent article. Ils remplaceront les fichiers du même nom dans le répertoire Mantis (il est conseillé de faire une copie de sauvegarde des fichiers originaux).
Enfin, il faut ajouter au fichier de configuration que vous venez d’éditer, normalement config_inc.php
, trois lignes de configuration supplémentaires :
$g_spip_dir = "../";
$g_spip_mantis_dir = "bugs/";
$g_spip_mantis_admins = array("paul", "jeanjean");
Explications :
- la variable $g_spip_dir
définit l’emplacement relatif de votre SPIP par rapport à Mantis ; si vous avez placé Mantis dans un sous-répertoire direct de SPIP comme conseillé plus haut, cette valeur doit être « ../
»
- la variable $g_spip_mantis_dir
définit l’emplacement relatif de Mantis par rapport à votre SPIP (c’est exactement l’inverse de la variable précédente) ; si Mantis est installé dans un sous-répertoire nommé « bugs
», cette valeur doit être « bugs/
» (attention à ne pas oublier la barre finale !).
- la variable $g_spip_mantis_admins
définit la liste des administrateurs SPIP qui seront administrateurs Mantis : nous verrons plus loin à quoi cela correspond... Vous devrez remplacer « paul
» et « jeanjean
» par un nombre arbitraire de logins d’administrateurs de votre site SPIP.
Fonctionnement
Une fois ces modifications effectuées, le formulaire de login de Mantis est désactivé et remplacé par celui de SPIP. De même, la procédure de déconnexion de Mantis est également renvoyée vers celle de SPIP : tout auteur connecté à SPIP est automatiquement connecté à Mantis, sans effort supplémentaire. Bien sûr, le formulaire d’inscription public de SPIP, s’il est activé, permettra à quiconque de rapporter des bugs sous Mantis.
Par ailleurs, lors de sa première connexion à Mantis, un auteur SPIP se voit automatiquement créer un profil sous Mantis (dans lequel est notamment recopiée l’adresse mail, afin d’avoir accès au suivi de bug automatisé par e-mail).
Très important : les pouvoirs de l’utilisateur sous Mantis sont choisis de la façon suivante :
- Les rédacteurs et visiteurs enregistrés SPIP deviennent « rapporteurs de bugs » ;
- les administrateurs SPIP deviennent « développeurs » ;
- les administrateurs SPIP présents dans la variable de configuration
$g_spip_mantis_admins
deviennent « administrateurs » Mantis (c’est-à-dire omnipotents).
Discussions par date d’activité
2 discussions
Très pratique.
Avec Mantis 1.0.0 les procédures de connexion aux bases de données ont changé, la sélection de la base se fait dans db_connect. J’ai donc modifié 3 lignes dans page_login.php :
Ligne 42 : supprimer « db_select_db( $g_database_name ) ; »
Ligne 38 : remplacer
db_connect( $g_hostname, $g_db_username, $g_db_password, $g_port ) ;
par :
db_connect( $g_hostname, $g_db_username, $g_db_password, $g_database_name ) ;
Ligne 40 : idem avec db_pconnect
Gérard
Répondre à ce message
Bonjour,
Sympa le truc, juste pour signaler que cela fonctionne avec la version 0.8.3
Si on s’est trompé lors de la configuration de la variable $g_spip_mantis_admins, et que l’on ne désire pas tout réinstaller, il est possible à la main de changer le rôle de l’utilisateur en modifiant la table mantis_user_table et mettre dans le champ access_level le chiffre 90 (Administrator).
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |