Indefero, un bug tracker très complet

Formation

En Ligne

Prix sur demande

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Description

  • Typologie

    Formation

  • Méthodologie

    En ligne

Grâce à cette formation vous pourrez acquérir les connaissances nécessaires qui vous permettrons d’ajouter des compétences à votre profil et obtenir de solides aptitude qui vous offriront de nombreuses opportunités professionnelles.

Questions / Réponses

Ajoutez votre question

Nos conseillers et autres utilisateurs pourront vous répondre

À qui souhaitez-vous addresser votre question?

Saisissez vos coordonnées pour recevoir une réponse

Nous ne publierons que votre nom et votre question

Les Avis

Le programme

Introduction du cours

Vous savez utiliser un système de gestion de version de sources et vous voulez créer un dépôt sur votre serveur avec un système complet de wiki/documentation, affichage des révisions, un bug tracker, etc ? Alors ce tutoriel est fait pour vous.

Ce tutoriel vous apprendra mettre en place Indefero qui est un projet s'inspirant du système de google-codes utilisé par exemple par le projet chromium.

Ce tutoriel est basé sur la documentation en ligne (en anglais) que j'ai essayé de rendre plus facile et mieux guidée.

Présentationindefero, c'est quoi exactement ?

Pour ceux qui connaissent Trac (utilisé notamment par Assembla avec SVN pour ceux qui connaissent), Indefero est un équivalent également open-source qui offre une interface web d'administration des dépôts Git, SVN et Mercurial ainsi que leurs utilisateurs et ceux du site. Il peut gérer plusieurs dépôts et contient entre autres un bug tracker, une documentation et une gestion des patchs proposés par les utilisateurs. C'est l'outil idéal pour un travail collaboratif.

Vous pouvez avoir un aperçu de ce à quoi Indefero ressemble sur leur propre site. Les sources de Indefero sont gérées par Git et Indefero lui-même.

Indefero propose de nombreuses fonctionnalités dont voici les principales selon moi :

  • Compatibilité avec Git, SVN et Mercurial

  • Affichage des diff de chaque révision ou chaque fichier

  • Administration des projets et utilisateurs

  • Possibilité de rendre des projets privés

  • Système de tickets (bug tracker)

  • Navigation dans les sources et versions à partir d'un navigateur internet

  • Création d'une documentation genre wiki

  • Zone de téléchargement divers

  • Téléchargement des sources à différentes versions du projet sous forme de Zip

  • Aperçu des changements récents

  • Choix de la langue pour les utilisateurs (français ou anglais)

Pour une liste plus complète, voir la page d'accueil en anglais.

Pré-requisConnaissances

Dans ce tutoriel, vous n'allez pas apprendre à utiliser un système de gestion de version. Si vous ne savez pas utiliser Git ou Svn je vous recommande donc d'aller lire les tutoriels suivants :

  • Git : Tutoriel de M@teo21

  • SVN : Big tuto de Dalshim (en cours de rédation) ou bien le mini-tuto d'apognu

  • Mercurial : Mini-tuto de Meianki

Dans ce tutoriel je n'aborderai l'utilisation de de Indefero qu'avec git. SVN viendra probablement plus tard. Mercurial ne sera probablement pas traité car je ne connais pas du tout.

Il est également conseillé d'avoir quelques connaissances en administration Linux et Apache.

Matériel/logiciel

L'objectif d'un dépôt de gestionnaire de version est d’être accessible de n'importe où et n'importe quand. Il est donc fortement conseillé d'avoir un serveur avec un nom de domaine (sachant qu'il est possible d'avoir plusieurs noms de domaines gratuits avec Azote). Il est possible de le faire en local mais l'utilité est assez réduite.

  • Php 5.2.4 ou plus récent

  • MySQL ou PostgreSQL

  • Serveur web apache ou Nginx

  • Git et/ou Subversion et/ou Mercurial

  • Un accès à la ligne de commande sur votre serveur (ssh)

  • Autorisations de mise en place d'une tâche cron

Le reste sera installé lors du tutoriel.

Dans ce tutoriel, j'explique pour une base de données MySQL et un serveur web apache et un serveur. A vous d'adapter à votre SGBD, votre serveur web ainsi que votre distribution de Linux. Ce tutoriel devrait également être assez simple à adapter pour Mac OS.

Il est également possible d'utiliser une base de données SQLite mais c'est déconseillé par Indefero pour un environnement de production.

Installation

Tout d'abord il va falloir installer Indefero puis installer deux frameworks (Pear et Pluf) qu'il utilise pour fonctionner.

Organisation

Sur mon serveur, tous mes sites web sont situés dans le répertoire /www. Vous pouvez préférer /home/www ou autre c'est comme ça vous convient. A partir de maintenant mon /www sera pour vous le répertoire dans lequel vous mettez vos sites web.

Le répertoire /www ne doit pas être accessible à partir d'internet. C'est juste le répertoire contenant les répertoires racines des sites webs (virtualhost) hébergés sur le serveur.

Selon la documentation, ils conseillent de mettre les sources d'Indefero et de Pluf dans ce répertoire. Cependant, j'ai préféré déplacer les sources de Pluf car ce n'est pas un site web, il ne mérite donc pas un répertoire dans /www directement pour moi. Je l'ai donc installé dans un sous-répertoire d'Indefero.

Pear quant à lui sera installé automatiquement et autre part.

Indefero

la première étape consiste à récupérer les sources. Elles se trouvent justement dans la section "Téléchargements" d'Indefero. Il suffit de récupérer l'adresse du fichier zip à télécharger et utiliser wget pour le récupérer sur le serveur soit :

wget http://projects.ceondo.com/p/indefero/downloads/32/get/

Vous remarquerez le 32 dans l'URL. C'est l'identifiant de release. Si vous voulez télécharger une ancienne version, c'est possible en changeant ce nombre donc si une release 33 sort, vous téléchargerez la release 32 qui ne sera donc pas à jour. Vérifiez bien la version actuelle sur le site avant de copier-coller cette commande.

Vous avez maintenant reçu les sources compressées d'Indefero. il suffit de les dézipper et de supprimer l'archive comme suit :

unzip indefero-1.0.zip rm indefero-1.0.zip mv indefero-1.0 indefero

Vous pouvez un peu regarder l'architecture du répertoire décompressé. Il contient notamment un répertoire script contenant divers scripts pour son fonctionnement que nous verront plus tard, un répertoire src contenant l'ensemble des sources d'Indefero ainsi que les fichiers de configuration, et enfin le répertoire www qui sera le SEUL répertoire accessible à partir du web.

Dans le répertoire src on peut voir un seul répertoire nommé IDF qui contient toutes les sources d'Indefero. J'ai donc préféré installer le framework plus dans le répertoire src (soit /www/indefero/src plutôt que dans mon répertoire /www.

Pluf

Nous allons maintenant installer le framework Pluf. Vous pouvez l'installer ou bon vous semble. J'ai cependant préféré le répertoire src de Indefero comme expliqué au-dessus. A vous d'adapter les commandes. Comme Indefero, il faut récupérer les sources sur Le site officiel et les décompresser comme suit :

cd /www/indefero/src wget http://projects.ceondo.com/p/pluf/source/download/master/ --output-document=pluf.zip unzip pluf.zip  rm pluf.zip mv pluf-master pluf

Comme vous pouvez le voir, j'ai ajouté une option --output-document à la commande wget sinon le fichier créé s'appelle index.html.

Pluf est maintenant installé. Rappelez-vous à quel endroit vous l'avez installé, vous en aurez besoin par la suite.

PearInstallation

Pear est dans les dépôts pour les distributions de Linux "Debian-like", il suffit donc de faire :

aptitude install php-pear

Si vous n'avez pas Pear dans les dépôts, vous pouvez suivre les instructions du site officiel, simples à suivre bien qu'elles soient en anglais.

Configuration

Pour fonctionner, Indefero a besoin de deux classes : Mail et Mail_mime. Pour les installer il suffit de faire :

pear upgrade-all pear install --alldeps Mail pear install --alldeps Mail_mime

Tout est maintenant installé, vous avez toutes les cartes en mains pour pouvoir faire fonctionner Indefero. Il ne reste plus qu'un travail de configuration à faire.

Configuration

Pour sa configuration, Indefero repose sur deux fichiers de configuration. Ils se trouvent dans le répertoire indefero-1.0/src/IDF/conf/. Placez-vous dans ce répertoire. Vous pouvez remarque qu'il contient 3 fichiers. Seulement deux nous intéressent, ce sont les deux finissant par -dist. Les fichiers -dist contiennent une configuration par défaut qu'il va falloir modifier. Pour les mettre en service, il faut créer une copie de chaque fichier en supprimant l'extension -dist.

idf.php

Pour mettre en place ce fichier, tapez la commande :

cp idf.php-dist idf.php

Maintenant il va falloir éditer ce fichier de façon à ce qu'il corresponde à votre système. Si vous regardez vous-même les variables, vous comprendrez vite lesquelles il faut modifier mais je vais quand même vous aider et vous dire lesquelles j'ai modifiées dans l'ordre d'apparition. Je ne mets ici que les variables qui ne concernent pas un système de gestion de version particulier. La configuration de chaque système sera décrite plus tard dans la section appropriée.

<?php $cfg['debug'] = false; // A mettre à faux pour la mise en production ?>

Vous pouvez ensuite commenter toutes les lignes concernant git, svn ou mercurial. Nous les mettrons en place dans leurs parties respectives.

Mails

La partie suivante est la configuration de l'e-mail et serveur smtp. il est possible de désactiver cette option en définissant la variable $cfg['send_emails'] à false. Cependant les mails sont utiles notamment pour vérifier la validité d'un utilisateur lors de son inscription, un mail lui est envoyé automatiquement avec un code de vérification. Si vous n'avez pas de serveur SMTP, pas de panique, google est là ! ;)

Pour configurer Indefero avec votre adresse gmail, c'est très simple, il suffit d'avoir une adresse valide et de définir la configuration comme cela :

<?php // Cette variable contient la liste des administrateurs avec leur adresse mail // Un mail leur sera envoyé si une erreur survient en non débug mode // Mettez donc votre adresse mail $cfg['admins'] = array( array('Admin', 'VOTRE_ADRESSE@gmail.com'), ); $cfg['send_emails'] = true; $cfg['mail_backend'] = 'smtp'; $cfg['mail_auth'] = true; $cfg['mail_host'] = 'ssl://smtp.gmail.com'; $cfg['mail_port'] = 465; $cfg['mail_username'] = 'VOTRE_ADRESSE@gmail.com'; $cfg['mail_password'] = 'MOT_DE_PASSE'; ?>

Allé, je fais un peu de zèle, si vous avez déjà une adresse gmail et que vous ne voulez pas avoir à vous connecter à l'une puis l'autre, il est non seulement possible de recevoir une copie des mails reçu sur votre adresse personnelle mais en plus de pouvoir choisir l'expéditeur lors de l'envoi d'un mail. Donc quand vous envoyez un mail, en un clic vous pouvez l'envoyer à partir de votre adresse d'administration. Pour cela, allez dans votre compte personnel puis dans paramètres->"Comptes et importations"->"Vérifier les messages avec le protocole POP3". Ici cliquez sur "Ajouter un compte de messagerie POP3" et suivez les instructions.

Revenons maintenant à notre configuration :

<?php // Ces deux variables dépendent de votre configuration apache // Nous reviendrons dessus plus tard // Par défaut mettes-les comme tel : $cfg['idf_base'] = '/index.php'; $cfg['url_base'] = 'http://NOM_DE_DOMAINE'; // Pour accéder au répertoire media et upload. On ne l'a pas déplacé // Donc il suffit de mettre à jour le nom de domaine $cfg['url_media'] = 'http://NOM_DE_DOMAINE/media'; $cfg['url_upload'] = 'http://NOM_DE_DOMAINE/media/upload'; $cfg['upload_path'] = '/www/indefero/www/media/upload';// chemin absolu $cfg['upload_issue_path'] = '/www/indefero/attachments'; // Je ne sais pas trop à quoi ça sert mais ils conseillent qu'elle fasse // plus de 40 caractères, faites-vous plaisir $cfg['secret_key'] = 'jhkfg2s4h1rss56g21j564dd21b56rf2s2k52mioi5d2s6zs'; // Mettez votre adresse que vous voulez. La deuxième est une adresse no-reply $cfg['from_email'] = 'ADRESSE@gmail.com'; $cfg['bounce_email'] = 'ADRESSE@gmail.com'; ?> Base de données

Bien entendu, Indefero utilise une base de données. Vous pouvez choisir la basse de données que vous voulez utiliser entre MySQL et PostgreSQL. Les variables permettent la connexion à la base de données, les noms sont assez explicites. Je compte sur vous pour créer la base et initialiser les utilisateurs de la manière qu'il vous convient. Si vous ne savez pas comment faire, la documentation d'Ubuntu devrait vous aider. http://doc.ubuntu-fr.org/mysqllien>

<?php $cfg['db_login'] = 'LOGIN'; $cfg['db_password'] = 'MOT_DE_PASSE'; $cfg['db_server'] = '';// Probablement localhost // Utile seulement pour mySQL, à commenter pour PstgreSQL $cfg['db_version'] = '5.0';// Connectez-vous à mysql, elle sera affichée // Cette chaine sera préfixée à chaque nom de table. ça permet de faire tourner // plusieurs Indefero sur une même table. $cfg['db_table_prefix'] = 'indefero_'; $cfg['db_engine'] = 'MySQL'; // Ou PostgreSQL selon votre besoin $cfg['db_database'] = 'NOM_DATABASE'; ?> Autre

Voici les trois dernières variables à modifier :

<?php $cfg['pear_path'] = '/usr/share/php5';// Moi c'est php5 au lieu de php, vérifiez // Celle-ci n'est pas obligatoire mais c'est plus rigoureux je trouve $cfg['cache_file_folder'] = $cfg['tmp_folder'].'/cache_indefero'; // J'ai mis Paris mais vous pouvez adapter // (cf liste http://www.php.net/manual/fr/timezones.php) $cfg['time_zone'] = 'Europe/Paris'; ?>

Pour ce qui est du reste, vous pouvez regarder mais il n'est a pas nécessaire d'y toucher pour que ça marche.

path.php

Ce fichier contient les path de l'application. Il sera beaucoup plus rapide à éditer. Comme idf, il faut commencer par le copier :

cp path.php-dist path.php

Étant donné qu'on n'a pas installé Pluf au même endroit que ce que demande la documentation, il faut changer son path, soit pour moi :

<?php define('PLUF_PATH', dirname(__FILE__).'/../../pluf/src'); ?> Base de données

Il va maintenant falloir initialiser la base de données. Ne vous inquiétez pas, Indefero s'occupe de tout. Nous allons utiliser un script qui a été mis en place. Ce script propose une option permettant de tout vérifier. Donc de faire comme s'il initialisais tout mais en fait il ne fait rien. Si le script fonctionne avec cette option, vous pouvez ensuite l'enlever...

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Indefero, un bug tracker très complet

Prix sur demande