[size=150]1. - DESCRIPTION GENERALE[/size]
1.1 - Qu’est ce que TRAC
Trac est un wiki amélioré de système de suivi des problèmes pour les projets de développement logiciel. Trac utilise une approche minimaliste de la gestion logiciels de projet basé sur le Web.
Il fournit une interface pour Subversion (ou d’autres systèmes de contrôle de version).
Il intègre un Wiki et des rapports pratiques.
Le Wiki de Trac permet de créer des marqueurs dans les descriptions des messages posté, des tâches prévues, des modifications apportés, et de créer des liens et des références en prenant compte les bugs rencontrés au fil du projet.
Un calendrier affiche tous les événements de projets actuels et passés dans un ordre précis. Afficher une vue d’ensemble et voir les suivis des progrès du projet est vraiment facile la feuille de route montre la voie à suivre, la liste des étapes à venir.
Pour simplifier :
Trac est une application web Open Source de gestion complète de projet par Internet, développé en Python.
Trac inclut :
- Un Wiki,
- Gestion de feuilles de route,
- Historique,
- Rapport de bugs,
- Explorateur subversion.
Il est développé par la société Edgewall Software, inspiré de CVStrac.
L’affichage Web de Trac fonctionne grâce au moteur de template ClearSilver.
Jusqu’à la version 0.9, Trac était sous licence GNU GPL. Maintenant, il est distribué sous Licence BSD.
Un des plus grands utilisateurs de Trac est probablement le Jet Propulsion Laboratory de la NASA .
1.2 - Les apport de la Version 0.12.1
- Support i18n et interface de localisation
- Support Référentiel Multiple (0.12-multirepos)
- Amélioration du système de recherche de billets
- Amélioration le Formatage du Wiki
- Diverses améliorations de l’interface pour la chronologie, la modification du wiki et des tickets, et l’explorateur du révérenciel
Voir le ReleaseNotes 0.12 de Trac pour une liste plus détaillée.
Notez également que les pages TracGuide sont maintenant mis à jour pour la version 0.12.
[size=150]2. – TRAC 0.12.1[/size]
2.1 - Source de TRAC 0.12.1
Vous pouvez récupérer les sources de TRAC en version 0.12.1 à l’adresse suivante :
trac.edgewall.org/milestone/0.12
Contenu du répertoire source de TRAC 0.12.1
- AUTHORS
- cgi-bin
- ChangeLog
- contrib
- COPYING
- doc
- INSTALL
- Makefile
- Makefile.cfg.sample
- messages-js.cfg
- PKG-INFO
- README
- RELEASE
- sample-plugins
- setup.cfg
- setup.py
- setup_wininst.bmp
- TESTING-README
- THANKS
- trac
- Trac.egg-info
- tracopt
- UPGRADE
- wiki-macros
2.2 - Dépendance d’installation
Trac est écrit en Python et a besoin d’une base de données,
SQLite_, Postgres_, ou mysql_. Pour le rendu HTML, Trac utilise un système de Template nommé Genshi.
- Python: python.org/ >= 2.4, (2.5 conseillé)
- SQLite: sqlite.org/ >= 3.3.4
- Genshi: genshi.edgewall.org/
- Setuptools: >= 0,6
- Clearsilver: >= 0.9.3 (Nécessaire uniquement pour l’utilisation de plugins.)
(Le choix de la base de données vous appartient, mais pour la doc, nous allons utiliser sqlite. Plus d’info dans le fichier /doc/install/index.rst des sources de TRAC.)
D’autre Dépendance devrons être installé suivant le type de configuration que vous utiliserez.
2.3 - Installation de TRAC 0.12.1
Dans le répertoire source de TRAC, tapez :
2.4 - Création d’un Environnement de projet
L’environnement de projet, est un répertoire ou Trac stocke des informations comme les pages wiki, billets, rapports, paramètres.
Pour créer Environnement de projet tapez :
trac-admin vous demandera les informations nécessaires pour créer l’environnement, telles que le nom du projet et la chaîne de connexion de base de données. Si vous n’êtes pas sûr de ce qu’il faut préciser, pour l’une de ces options, appuyez simplement sur Entrée pour utiliser la valeur par défaut.
Notez également que les valeurs que vous spécifiez ici peuvent être modifiées ultérieurement en éditant directement le fichier de configuration trac.ini.
Enfin, assurez-vous que le compte utilisateur sous lequel s’exécute le serveur WEB a le droit d’écrire dans le répertoire et tous les fichiers de l’environnement de projet.
[size=150]3. – TRAC 0.12.1 CONFIGURATION[/size]
3.1 - Configuration Web Accès TRAC 0.12.1
La configuration de TRAC pour l’accès par le web, se fait dans le fichier vhost d’apache.
Il existe plusieurs types de configuration pour trac :
- TRACD,
- Mod-python d’apache,
- Les CGI,
- Et le FastCGI,
3.2 - TRACD Serveur Web léger
Tracd est un serveur web autonome et léger pour Trac. Il peut être utilisé dans une variété de situations, à partir d’un serveur de test ou de développement d’une installation multiprocessus derrière un autre serveur web utilisé comme un équilibreur de charge.
Avantage :
Moins de dépendances : Vous n’avez pas besoin d’installer Apache ou tout autres web-serveur.
Rapidité : presque aussi rapide que la version mod_python (et beaucoup plus rapide que le mode CGI), d’autant plus que la version 0.12 où la version du protocole HTTP/1.1 est activée par défaut
Rechargement automatique : Pour le développement, tracd peut être utilisé en mode auto_reload, qui redémarre automatiquement le serveur lorsque vous faites une modification du code (sur Trac lui-même ou dans un plugin).
Inconvénient :
Moins de fonctionnalités: tracd met en œuvre un serveur web très simpliste et n’est pas aussi configurable ou évolutive que Apache.
Aucune prise en charge native HTTPS : SSLWRAP peut être utilisé à la place, ou stunnel
Exemples d’utilisation :
Projet unique sur le port 8080. (localhost:8080/)
Chemin vers l’environnement de projet accessible pour tout le réseau.
Pour limiter l’utilisation seulement sur localhost utiliser l’option hostname.
Avec plus d’un projet :
Vous ne pouvez pas avoir la dernière partie du trajet identique entre les projets, Trac utilise ce nom pour conserver les URL des différents projets uniques. Donc, si vous utilisez :
/chemin1/projet et /chemin2/projet vous ne verrez que le deuxième projet.
Une autre manière de servir de multiples projets est de spécifier un répertoire parent dans lequel chaque sous-répertoire est un environnement de projet Trac, en utilisant l’option -e.
L’exemple ci-dessus peut être réécrit :
Pour quitter le serveur sur Windows, veillez à utiliser CTRL-BREAK - l’utilisation de CTRL-C laissera un processus de Python en cours d’exécution en arrière-plan.
Je passe la configuration sous Windows, par manque de motivation…
3.3 - Trac Mod_Python
Créer un environnement de projet TRAC, puis rajouté dans le vhost Apache :
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonInterpreter main
PythonOption TracEnv /path/to/env
PythonOption TracUriRoot /trac
SetEnv PYTHON_EGG_CACHE /tmp
</Location>[/code]
PythonInterpreter doit être réglé sur la même chaîne dans tous les hôtes virtuels
utilisant Trac.
PythonOption TracUriRoot doit être réglé sur le même nom que la location.
Pour une configuration de l'environnement multiples, vous pouvez utiliser
PythonOption TracEnvParentDir
Si Trac, ou d'autres modules, ne sont pas installés dans le chemin d'accès standard, vous pouvez utiliser la directive PythonPath qui permet d'ajouter d'autres dossiers::
[code] PythonPath "['/nouveau/chemin'] + sys.path"[/code]
Un exemple complet d'une Vhost utilisant mod_python et mod_dav_svn (Subversion):
[code]<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@example.com
# Note: Ce dossier doit exister, mais sera généralement vide
DocumentRoot /srv/example.com/htdocs
<Directory /srv/example.com/htdocs>
Order allow,deny
Allow from all
</Directory>
# Racine de l'instance Trac:
<Location />
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonInterpreter main
PythonOption TracEnv /srv/example.com/tracs/main
PythonOption TracUriRoot /
SetEnv PYTHON_EGG_CACHE /tmp
</Location>
# Autres projets /$PROJECT
<Location /projects>
PythonOption TracEnv ""
PythonOption TracEnvParentDir /srv/example.com/tracs
</Location>
# Connexions login et projet /$PROJECT/login
<LocationMatch ^(/projects/[^/]+)?/login>
AuthType Basic
AuthName "example.com Login"
AuthUserFile /srv/example.com/htpassd
Require valid-user
</LocationMatch>
# Host subversion pour tous les projets à /svn
<Location /svn>
DAV svn
SVNParentPath /srv/example.com/repos
SVNListParentPath on
AuthType Basic
AuthName "example.com Login"
AuthUserFile /srv/example.com/htpassd
#Limitation
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
</VirtualHost>[/code]
[b]
3.4 - Trac CGI[/b]
NOTE : La façon dont fonctionne le mode CGI, exige que l'application entière soit rechargée sur chaque demande. Cela finit par provoquer des ralentissements important
Utiliser la configuration CGI seulement en dernier recourt.
Pour générer le fichier Trac.cgi tapez :
[code]#trac-admin /chemin/vers/environnement deploy /chemin/vers/www/trac[/code]
Le fichier cgi.bin se trouvera dans le dossier donné :/chemin/vers/www/trac/cgi/
Ajouter un alias dans le virtualhost TRAC :
[code]ScriptAlias /trac /chemin/vers/www/trac/cgi-bin/trac.cgi[/code]
Pour une configuration à environnement multiples, vous pouvez utiliser:
ScriptAlias /trac /chemin/vers/www/trac/cgi-bin/trac.cgi
<Location /trac>
SetEnv TRAC_ENV_PARENT_DIR /chemin/vers/racine
</Location />
</VirtualHost>
[b]
3.5 - Trac FastCGI[/b]
Pour générer le fichier trac.fcgi tapez :
trac-admin /chemin/vers/environnement deploy /chemin/vers/www/trac
Le fichier cgi.bin se trouvera dans le dossier donné :/chemin/vers/www/trac/cgi/
Ajouter un alias dans le virtualhost TRAC :
[code]ScriptAlias /trac /chemin/vers/www/trac/cgi-bin/trac.fcgi[/code]
Pour une configuration à environnement multiples, vous pouvez utiliser:
[code] ScriptAlias /trac /chemin/vers/www/trac/cgi-bin/trac.fcgi
<Location /trac>
SetEnv TRAC_ENV_PARENT_DIR /chemin/vers/racine
</Location />
3.6 - Authentification TRACD
Tracd fournit un soutien pour les authentifications basique et Digest. La valeur par défaut est d’utiliser Digest, pour utiliser l’authentification de base, remplacer “–auth” par “–base-auth” dans les exemples ci-dessous.
Le format général d’aide de l’authentification est la suivante:
Port tracd -p - auth = “base_project_dir, password_file_path, royaume” project_path
où:
base_project_dir : est le répertoire de base du projet spécifié comme suit:
Au moment de servir plusieurs projets: par rapport à la directive project_path
Au moment de servir un seul projet (-s): le nom du répertoire du projet
(Ne pas utiliser un chemin absolu ici que cela ne fonctionnera pas.)
Note: Ce paramètre est sensible à la casse, même pour les environnements sous Windows.
password_file_path: chemin vers le fichier de mot de passe
domaine: le nom de domaine (ce que vous voulez)
project_path: chemin du projet
- Auth dans les moyens ci-dessus utiliser l’authentification Digest, remplacer - auth avec - de
base-auth si vous souhaitez utiliser l’authentification basique
3.7 - Fichier de mot de passe htpasswd :
Pour créer un fichier htpasswd utiliser la commande htpasswd Apache (voir ci-dessous pour une méthode pour créer ces fichiers sans l’aide de Apache).:
Puis pour les utilisateurs supplémentaires:
Alors pour lancer le serveur TRACD nous utiliserons par exemple :
[code]Tracd -p 8080 -base-auth = "projectdirname /projet/vers/environnement/.htpasswd
Realmname" /projet/vers/environnement[/code]
Exemple:
[code]Tracd -p 8080 -base-auth = “testenv,/srv/tracenv/testenv /.htpasswd, Montest Env”
/srv/tracenv/testenv
[/code]
Note: Vous pourriez avoir besoin de passer “-m” en tant que paramètre à htpasswd sur certaines plateformes (OpenBSD).
3.8 - Fichier de mot de passe htdigest:
Vous pouvez utiliser la commande htdigest pour générer le fichier de mot de passe. “Htdigest” Vous serez invité à entrer un mot de passe à entrer pour chaque utilisateur que vous créez. Pour le nom du fichier de mot de passe, vous pouvez utiliser ce que vous voulez, mais si vous utilisez quelque chose comme users.htdigest à vous de vous rappeler ce que le fichier contient. À titre de suggestion, le mettre dans votre dossier conf/ avec le fichier trac.ini.
Notez que vous pouvez lancer Tracd sans l’argument -auth, mais si vous cliquez sur le lien Connexion, vous obtiendrez une erreur.
[size=150]4. - PLUGIN TRAC[/size]
Une fois TRAC installé et fonctionnel vous aurez sans doute l’envi incommensurable d’installer des Plugins, pour ceux qui ne savent pas les plugin servent à rajouter des options, non disponible par default.
Avant tout, je tiens à vous mettre une simple petite configuration, non pas pour un plugin, mais pour configurer et comprendre comment afficher le pannel ADMIN qui vous permettra par la suite d’installer d’autres plugins.
Commençons par lancer la commande :
Vous devriez rentrer en mode console dans trac-admin :
[code]Welcome to trac-admin 0.12.1
Interactive Trac administration console.
Copyright © 2003-2010 Edgewall Software
Type: ‘?’ or ‘help’ for help on commands.
Trac [/chemin/vers/projet]>
[/code]
Taper :
Vous devriez avoir :
User Action
------------------------------
anonymous BROWSER_VIEW
anonymous CHANGESET_VIEW
anonymous FILE_VIEW
anonymous LOG_VIEW
anonymous MILESTONE_VIEW
anonymous REPORT_SQL_VIEW
anonymous REPORT_VIEW
anonymous ROADMAP_VIEW
anonymous SEARCH_VIEW
anonymous TICKET_VIEW
anonymous TIMELINE_VIEW
anonymous WIKI_VIEW
authenticated TICKET_CREATE
authenticated TICKET_MODIFY
authenticated WIKI_CREATE
authenticated WIKI_MODIFY
Available actions:
BROWSER_VIEW, CHANGESET_VIEW, CONFIG_VIEW, EMAIL_VIEW, FILE_VIEW,
LOG_VIEW, MILESTONE_ADMIN, MILESTONE_CREATE, MILESTONE_DELETE,
MILESTONE_MODIFY, MILESTONE_VIEW, PERMISSION_ADMIN, PERMISSION_GRANT,
PERMISSION_REVOKE, REPORT_ADMIN, REPORT_CREATE, REPORT_DELETE,
REPORT_MODIFY, REPORT_SQL_VIEW, REPORT_VIEW, ROADMAP_ADMIN, ROADMAP_VIEW,
SEARCH_VIEW, TICKET_ADMIN, TICKET_APPEND, TICKET_CHGPROP, TICKET_CREATE,
TICKET_EDIT_CC, TICKET_EDIT_COMMENT, TICKET_EDIT_DESCRIPTION,
TICKET_MODIFY, TICKET_VIEW, TIMELINE_VIEW, TRAC_ADMIN,
VERSIONCONTROL_ADMIN, WIKI_ADMIN, WIKI_CREATE, WIKI_DELETE, WIKI_MODIFY,
WIKI_RENAME, WIKI_VIEW
En haut se trouve les droits par rapport aux utilisateurs actuels, et en bas les droits possible.
Exemple :
“authenticated TICKET_CREATE” = Seul les utilisateurs authentifié ont le droit de créer un ticket
En bas se trouve les actions possibles, et donc nous allons rajouter le droit à l’utilisateur “vous” d’utiliser “TRAC_ADMIN”, toujour dans la console trac-admin taper :
“Vous”= nom d’utilisateur sans les guillemets, inscrit dans le .htpasswd ou le .htdigest
Et voila, normalement, vous devriez avoir accès à la partie ADMIN de TRAC.
Sources : trac.edgewall.org/;http://fr.wik … /TracGuide
Edit :
Quand vous installez un plugin, utiliser easy_install, je vous le conseil, parce que comme ça en cas de problème, vous pourrez enlever un plugin avec easy_install -m plugin.
Amicalement,
Fabien493