I. Présentation▲
Codendi est une plateforme collaborative de développement et de suivi des activités (usine logicielle) qui permet de suivre tout le cycle de vie des applications logicielles (ALM). À partir d'une même interface Web, Codendi rassemble tous les outils dont les équipes de développement logiciel ont besoin : tableaux de bord, graphique de Gantt, trackers, SVN, GIT, gestion des documents, Wiki, messagerie instantanée… Codendi est un outil 100 % open source, sous licence GNU General Public License.
L'intérêt d'un tel produit est de permettre à tous les membres d'un projet (chefs de projet, développeurs, clients…) de travailler avec un même outil qui organise le processus du projet logiciel, améliore la qualité des logiciels livrés et facilite la collaboration.
Voici les différents outils intégrés dans Codendi qui vont intervenir au cours du cycle de vie d'un projet logiciel.
II. Éditions▲
Codendi est disponible en deux éditions :
- une version communautaire Codendi Community Edition, librement téléchargeable ;
- une version professionnelle, Codendi ProEdition, testée et sécurisée. C'est la version commerciale sur laquelle sont assurés les services Codendi (conseil, migration, support…).
Voir la comparaison entre les deux versions.
III. Fonctionnalités de Codendi 4.2▲
Voici les fonctionnalités que fournit la dernière version, Codendi 4.2.
III-A. Suivi de projet▲
Tracker universel (outil de suivi): tâches, risques, exigences, bugs, demandes de support, tests…
- Trackers et champs très finement personnalisables
- Trackers illimités pour chaque projet
- Trackers préconfigurés
- Dépendances entre champs
- Workflow entièrement paramétrable
- Puissants outils de recherche et de tri
- Notifications personnalisables
- Import/export de données
- Édition de masse
- Permissions très fines sur les trackers, artefacts et même les champs
- Traçabilité des accès
Rapports et graphiques
- Créez vos rapports et graphiques d'état d'avancement de votre projet : graphique de Gantt, camemberts, tableaux.
- Ajoutez-les à vos tableaux de bord projet et personnel
Modèles de projets
- Normalisez vos projets et implémentez les méthodologies en créant des modèles de projets qui reprennent la configuration de vos outils.
III-B. Développement▲
Gestionnaires de code source : SVN, CVS, GIT
- Dépôts Subversion, CVS ou GIT centralisés pour chaque projet.
- Recherche dans les dépôts : par mot-clé, par utilisateur, etc.
- Navigation dans les dépôts.
- Visualisation graphique des différences de fichiers
Intégration continue avec Hudson
- Contrôlez et visualisez l'état d'avancement de vos projets. Plusieurs indicateurs liés à l'intégration continue sont proposés : statut des différents builds, tendance des projets, résultats des tests, accès direct à toutes les informations de l'outil Hudson depuis Codendi.
Gestionnaire de fichiers (packages)
- Organisez vos livrables en paquets : fichiers d'installation du logiciel, binaires, sources, documentation utilisateur, etc.
III-C. Gestion documentaire▲
Gestionnaire de documents
- Workflow et versioning.
- Plusieurs vues possibles : vues en icônes, vue arborescente…
- Gestion fine des permissions et des accès sur les répertoires et les documents.
- Notification des évènements.
- Intégration des documents et du Wiki.
- Wiki par projet (édition collaborative).
III-D. Collaboration et communication▲
- Recherche de projet.
- Librairie de composants.
- Listes de distribution.
- Messagerie instantanée.
- Forums.
- Sondages.
- Annonces.
- Flux RSS.
IV. Architecture▲
La plateforme est basée sur une architecture de type LAMP (Linux, Apache, MySQL, PHP). Codendi s'installe sur les distributions GNU/Linux RHEL et CentOS 5.x.
Codendi utilise le principe de plugins qui permet l'extension des fonctionnalités de l'outil à l'infini.
Codendi offre une API Web Service basée sur SOAP qui permet la communication entre applications et la possibilité d'exporter les données d'un projet au format CSV.
V. Installation de Codendi 4.2 RC▲
Si vous ne souhaitez pas installer la plateforme ou si vous avez des difficultés, vous pouvez la tester et créer vos propres projets en demandant un accès à un serveur de démo Codendi 4.2.
V-A. Prérequis▲
V-A-1. Distribution GNU Linux▲
Codendi est compatible avec Red Hat Enterprise Linux 5.x et CentOS 5.x ; il est donc nécessaire d'installer cette distribution Linux en premier lieu.
Téléchargement libre de CentOS : http://www.centos.org/
V-A-2. Image ISO Codendi▲
Télécharger une image ISO Codendi et la monter comme suit :
$> wget http://codendi.org/.../codendi-xxx.iso
$> mkdir /media/cdrom
$> mount -o loop codendi-xxx.iso /media/cdrom/
V-A-3. Propriétés d'installation▲
Le script d'installation Codendi nécessite plusieurs directives de configuration. Vous devez rassembler :
- Codendi server fully qualified name : codendi.mydomain.com (server hostname) ;
- Codendi server IP(v4) address ;
- Passwords.
Voir les paramètres dans la section ci-dessous pour plus de détails.
V-B. Installation▲
Exécuter le script codendi_install.sh :
$> /media/cdrom/codendi_install.sh
Le script demande l'installation d'une liste de paquets prérequis (une connexion Internet peut être nécessaire).
Une fois ces paquets installés, le paramétrage de l'installation peut commencer.
Input |
Example Value |
Notes |
---|---|---|
Codendi Server fully qualified name |
codendi.example.com |
Nom du serveur |
Your Company short name |
My Company |
|
Your Company long name |
My Company Ltd |
|
Codendi Server IP address |
192.168.1.3 |
“Default? détection de la config eth0 |
LDAP server name |
Laisser vide si vous n'utilisez pas d'annuaire LDAP |
|
Proxy to access the Internet |
Http://proxy.exemple.com:8080 |
host :port ou laisser vide si aucun proxy http n'est nécessaire |
Activate user shell accounts? [y|n] |
y |
Les utilisateurs Codendi peuvent avoir besoin d'un accès shell |
Generate a self-signed SSL certificate to enable HTTPS support? [y|n] |
n |
Pour un support https avec un certificat autosigné |
Enable sub-domain management (DNS delegation)? [y|n] |
n |
Nous suggérons de ne pas installer de délégation DNS pour une installation minimale |
Load default trackers templates during installation? [y|n] |
y |
Les modèles de trackers par défaut sont chargés à ce stade |
Load your own tracker templates during installation? [y|n] |
n |
Vos propres modèles de tracker peuvent être chargés ici |
Do you want this installer to insert iptables rules so that installed services could be accessed by clients in your LAN? [y|n] |
y |
Pour une installation Centos/RHEL 5 par défaut avec iptables support activé, ceci ouvre seulement les ports nécessaires |
MySQL root password |
xxxxx |
|
Codendiadm user password |
xxxxx |
|
Mailman user password |
xxxxx |
|
Openfire DB user password |
xxxxx |
|
DB Authentication user password |
xxxxx |
Indiquer l'utilisateur MySQL qui sera utilisé pour l'authentification système des utilisateurs |
Une série de questions supplémentaires sont posées pour la génération des certificats SSL.
V-C. Après l'installation▲
Tout devrait fonctionner maintenant ! Vérifier que le nom de la machine codendi (codendi.mydomain.com), est connu de votre réseau, mettez à jour votre DNS ou vos fichiers hosts (hosts files).
V-D. Installation et configuration avancée▲
Consultez le guide d'installation détaillé (en anglais) pour l'installation et la configuration avancée de votre plateforme : comptes utilisateurs, configuration DNS, configuration d'Apache, installation de la base de données, configuration des emails, etc.
VI. Communauté▲
Le site communautaire codendi.org permet de télécharger les fichiers Codendi, suivre les développements en cours, consulter la documentation et participer à la vie de la communauté.
Si vous avez une question à propos de l'installation ou d'utilisation de Codendi, vous pouvez consulter la documentation, les forums et y poser vos questions.
Si vous rencontrer un bug, reportez-le dans le tracker dédié.
Voilà, vous avez désormais beaucoup d'informations à votre disposition pour tester et utiliser Codendi.
À bientôt sur Codendi.org.
Remerciements à Celira, Mahefasoa et Benj. pour la mise en forme et la relecture de l'article.