Guide Utilisateur Codendi 4.0

  • 5,958 views
Uploaded on

Voici le Guide Utilisateur de la version Codendi 4.0 librement téléchargeable en version Labs sur www.codendi.org. Profitez-en !

Voici le Guide Utilisateur de la version Codendi 4.0 librement téléchargeable en version Labs sur www.codendi.org. Profitez-en !

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
5,958
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
150
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Guide de l'utilisateur Codendi "Développement logiciel et gestion de projets collaboratifs pour l'entreprise" www.codendi.org Version 3.6
  • 2. Copyright © 2000-2008 Xerox Corporation, Codendi. Ce document est diffusé sous la licence GNU General Public version 2. Copyright protection claimed includes all forms and matters of copyrightable material and information now allowed by statutory or ju- dicial law or hereinafter granted, including without limitation, material generated from the software programs which are displayed on the screen such as icons, screen displays, looks, etc. Xerox et tous les produits Xerox mentionnés dans cette publication sont des marques déposées de Xerox Corporation. Ce document a été formaté à l'aide de la DTD XML DocBook. La version HTML a été générée avec le génerateur HTML de Doc- Book. La version PDF a été faite à l'aide de Apache FOP.
  • 3. Table des matières 1.Introduction.......................................................................................................................1 2. Vue d'ensemble du site Codendi .................................................................................... 4 2.1. PAGE D'ACCUEIL CODENDI ......................................................................................... 4 2.2. LE MENU PRINCIPAL DE CODENDI ............................................................................... 4 2.2.1. Arbre des projets ........................................................................................... 6 2.2.2. La boîte à outils ............................................................................................. 7 2.2.3.Aide...............................................................................................................10 2.2.4. La fonction de recherche .............................................................................. 11 2.3. LE TABLEAU DE BORD DE CODENDI ............................................................................. 11 3. Devenir un utilisateur Codendi ........................................................................................ 13 3.1. LES CLASSES D'UTILISATEURS .................................................................................... 13 3.2. ENREGISTREMENT DES UTILISATEURS ......................................................................... 14 3.3. CONNEXION ET PAGE PERSONNELLE ........................................................................... 15 3.4. GESTION DE COMPTE ................................................................................................. 16 3.5.PRÉFÉRENCES ...........................................................................................................17 4. Créer un nouveau projet .................................................................................................. 18 4.1. ENREGISTRER UN PROJET .......................................................................................... 18 4.2. CONFIGURATION POST-ENREGISTREMENT ................................................................... 20 5. Sommaire du projet .......................................................................................................... 21 5.1. ACCÉDER AU SOMMAIRE DU PROJET .......................................................................... 21 5.2. CONTENU DE LA PAGE DE SOMMAIRE .......................................................................... 22 6. Administration d'un projet ............................................................................................... 25 6.1. MENU D'ADMINISTRATION DU PROJET .......................................................................... 25 6.2. AJOUT/SUPPRESSION D'UTILISATEURS ........................................................................ 25 6.2.1. Ajout d'un utilisateur ...................................................................................... 25 6.2.2. Import d'une liste d'utilisateurs ...................................................................... 25 6.2.3. Suppression d'utilisateurs ............................................................................. 26 6.3. INFORMATIONS PUBLIQUES DU PROJET ........................................................................ 27 6.4. CATÉGORISATION DU PROJET ..................................................................................... 27 6.5. TYPE DE PROJET ........................................................................................................ 27 6.6. CONFIGURATION DES SERVICES .................................................................................. 28 6.6.1. Créer ou modifier un service ......................................................................... 29 6.6.2. Suppression d'un service .............................................................................. 30 6.7. ADMINISTRATION DES SERVICES ................................................................................. 30 6.8. CONFIGURATION DES PATRONS DE RÉFÉRENCE ........................................................... 30 6.8.1. Présentation des références ......................................................................... 30 6.8.2. Patrons de référence prédéfinis .................................................................... 31 6.8.3. Utilisation des références .............................................................................. 32 6.8.4. Création ou modification d'un patron de référence ....................................... 32 6.8.5. Suppression d'un patron de référence .......................................................... 34 6.9. PERMISSIONS UTILISATEURS ....................................................................................... 34 6.10. GROUPES D'UTILISATEURS ........................................................................................ 35 6.10.1. Gestion des groupes d'utilisateurs .............................................................. 35 6.10.2. Créer un groupe d'utilisateurs ..................................................................... 36 6.10.3. Modifier un groupe d'utilisateurs ................................................................. 38 6.10.4. Supprimer un groupe d'utilisateurs ............................................................. 38
  • 4. 6.10.5. Informations complémentaires sur les groupes d'utilisateurs ..................... 38 6.11. EXPORTATION DES DONNÉES DU PROJET .................................................................. 39 6.11.1. Données exportées ..................................................................................... 39 6.11.2. Exportation au format texte ......................................................................... 39 6.11.3. Accès direct à la base de données ............................................................. 40 6.12. IMPORTATION D'ARTEFACTS DANS LES OUTILS DE SUIVI ............................................. 42 6.13. HISTORIQUE DU PROJET ........................................................................................... 42 6.14. JOURNAL DES ACCÈS ............................................................................................... 42 7. Service outils de suivi ...................................................................................................... 44 7.1. TERMINOLOGIE ET POINTS COMMUN ............................................................................ 44 7.2. ACCÉDER À UN OUTIL DE SUIVI ................................................................................... 44 7.3. SOUMISSION D'UN NOUVEL ARTEFACT ......................................................................... 45 7.4. NAVIGUER DANS LES ARTEFACTS ................................................................................ 47 7.4.1. Critère de sélection ....................................................................................... 47 7.4.2. Requêtes favorites ou prédéfinies pour les outils de suivi ............................ 49 7.4.3. Résultats de la recherche dans un outil de suivi ........................................... 50 7.5. MODIFIER UN ARTEFACT ............................................................................................. 52 7.5.1.Entête............................................................................................................52 7.5.2.Commentaires...............................................................................................53 7.5.3. Destinataires en copie .................................................................................. 55 7.5.4. Fichiers attachés à un artefact ...................................................................... 56 7.5.5. Dépendances entre artefact .......................................................................... 56 7.5.6. Références croisées entre artefact ............................................................... 57 7.5.7. Permissions sur les artefacts ........................................................................ 57 7.5.8. Historique des artefacts ................................................................................ 58 7.6. MISE À JOUR MASSIVE D'ARTEFACTS ........................................................................... 58 7.6.1. Critères de sélection ..................................................................................... 59 7.6.2. Mise à jour .................................................................................................... 59 7.7. DUPLIQUER UN ARTEFACT .......................................................................................... 61 7.8. NOTIFICATION EMAIL .................................................................................................. 61 7.9. IMPORTATION D'ARTEFACTS ........................................................................................ 61 7.9.1. Quand utiliser la fonction d'importation ? ...................................................... 62 7.9.2. Exporter une feuille de calcul Excel au format CSV ..................................... 62 7.9.3. Analyse du fichier CSV ................................................................................. 62 7.9.4. Mise à jour de la base de données ............................................................... 63 7.10. PERMISSIONS D'ACCÈS PAR DÉFAUT AUX OUTILS DE SUIVI ......................................... 64 7.11. CRÉATION D'UN OUTIL DE SUIVI ................................................................................. 65 7.12. PATRONS D'OUTILS DE SUIVI DU SITE ........................................................................ 66 7.12.1. L'outil de suivi d'anomalies (bugs) .............................................................. 67 7.12.2. L'outil de suivi de correctifs (patches) ......................................................... 67 7.12.3. L'outil de suivi de demandes d'assistance (support requests) .................... 67 7.12.4. L'outil de suivi de tâches ............................................................................. 68 7.12.5. L'outil de suivi des besoins de la méthodologie Scrum (Scrum Backlog) ................................................................................................................................. 8 6 7.13. ADMINISTRATION DES OUTILS DE SUIVI ...................................................................... 69 7.13.1. Options générales ....................................................................................... 70 7.13.2. Gestion des permissions ............................................................................. 70 7.13.3. Gestion des groupes de champs ................................................................ 73 7.13.4. Gestion de l'utilisation des champs ............................................................. 75 7.13.5. Gestion des valeurs des champs ................................................................ 79 7.13.6. Dépendances entre champs ....................................................................... 83 7.13.7.Réponses-type............................................................................................89 7.13.8. Gestion des rapports de recherche ............................................................. 89
  • 5. 7.13.9. Configuration des rapports graphiques de recherche ................................. 92 7.13.10. Options de notification email ..................................................................... 94 8. Publication de fichiers ..................................................................................................... 98 8.1. PUBLICATION DU CODE SOURCE : CONSEILS ................................................................ 98 8.2. JARGON DU SERVICE DE PUBLICATION DE FICHIERS ..................................................... 98 8.3. NAVIGATION DANS LES FICHIERS PUBLIÉS ET TÉLÉCHARGEMENT .................................. 100 8.3.1. Navigation dans les paquets ......................................................................... 100 8.3.2. Navigation dans les versions ........................................................................ 101 8.3.3. Téléchargement de fichiers ........................................................................... 101 8.4. ADMINISTRATION ET LIVRAISON DE FICHIERS ............................................................... 101 8.4.1. Administration des paquets ........................................................................... 102 8.4.2. Administration des versions .......................................................................... 103 8.5. ADMINISTRATION DE LA LISTE DES PROCESSEURS ....................................................... 106 9. Contrôle de version avec CVS ......................................................................................... 107 9.1. CVS : CONCURRENT VERSION CONTROL ................................................................... 107 9.1.1. Clients CVS ................................................................................................... 108 9.1.2. Références CVS ........................................................................................... 109 9.2. INTÉGRATION DE CVS DANS CODENDI ........................................................................ 110 9.2.1. Le dépôt CVS ................................................................................................ 110 9.2.2. Contrôle d'accès CVS ................................................................................... 110 9.3. L'INTERFACE DE NAVIGATION WEB DE CVS ................................................................ 111 9.3.1. Naviguer dans le dépôt CVS ......................................................................... 111 9.3.2. Interroger le dépôt CVS ................................................................................ 112 9.3.3. Références croisées entre artefacts et commits CVS .................................. 114 9.3.4. Administration CVS ....................................................................................... 115 9.4. UN CYCLE DE VIE TYPIQUE DE CVS ............................................................................ 116 9.4.1. Se connecter ................................................................................................. 117 9.4.2. Importer du code source existant .................................................................. 118 9.4.3. Créer une copie de travail (checkout) ........................................................... 118 9.4.4. Mettre à jour le code source (update) ........................................................... 119 9.4.5. Remonter les modifications vers le dépôt (commit) ...................................... 119 9.4.6. Proposer des modifications à l'équipe de projet ........................................... 120 9.4.7. Exporter et empaqueter ................................................................................ 121 9.5. CVS POUR LES ADMINISTRATEURS DE PROJET ............................................................ 122 9.5.1. Plus d'information sur le contrôle d'accès à CVS ......................................... 122 9.5.2. Les fichiers d'administration de CVS ............................................................ 123 10. Contrôle de version avec Subversion .......................................................................... 124 10.1. SUBVERSION : L'APRÈS CVS .................................................................................... 124 10.1.1. Les clients Subversion ................................................................................ 126 10.1.2. Références Subversion ............................................................................... 127 10.2. INTÉGRATION DE SUBVERSION DANS CODENDI .......................................................... 127 10.2.1. Le dépôt Subversion ................................................................................... 127 10.2.2. La structure du dépôt Subversion ............................................................... 128 10.3. L'INTERFACE DE NAVIGATION WEB DE SUBVERSION ................................................... 128 10.3.1. Naviguer dans le dépôt Subversion ............................................................ 129 10.3.2. Interroger le dépôt Subversion .................................................................... 130 10.3.3. Références croisées entre artefacts et commits Subversion ...................... 131 10.4. INTERFACE D'ADMINISTRATION DE SUBVERSION ......................................................... 132 10.4.1. Options générales ....................................................................................... 132 10.4.2. Contrôle des accès au dépôt Subversion ................................................... 133 10.4.3. Notification e-mail de Subversion ............................................................... 135 10.5. UN CYCLE DE VIE TYPIQUE DE SUBVERSION .............................................................. 136
  • 6. 10.5.1. Se connecter ............................................................................................... 136 10.5.2. Importer du code source existant ................................................................ 137 10.5.3. Créer une copie de travail (checkout) ......................................................... 137 10.5.4. Mettre à jour le code source (update) ......................................................... 138 10.5.5. Observer les modifications .......................................................................... 138 10.5.6. Remonter les modifications vers le dépôt (commit) .................................... 139 10.5.7. Proposer des modifications à l'équipe de projet ......................................... 140 10.5.8. Exporter et empaqueter .............................................................................. 141 10.6. SUBVERSION POUR LES ADMINISTRATEURS DE PROJET .............................................. 141 10.6.1. Les scripts d'accrochage de Subversion (hook scripts) .............................. 141 11. Gestionnaire de Documents .......................................................................................... 143 11.1.STRUCTURE .............................................................................................................143 11.2.ACTIONS ..................................................................................................................144 11.2.1. Nouveau Document .................................................................................... 144 11.2.2. Nouveau Dossier ........................................................................................ 146 11.2.3.Propriétés....................................................................................................147 11.2.4.Notifications................................................................................................148 11.2.5.Historique....................................................................................................148 11.2.6. Mise à jour .................................................................................................. 149 11.2.7. Nouvelle version ......................................................................................... 149 11.2.8.Permissions................................................................................................150 11.2.9.Déplacer......................................................................................................151 11.2.10.Delete........................................................................................................152 11.3.ADMINISTRATION ......................................................................................................152 11.3.1.Permissions................................................................................................152 11.3.2. Afficher les permissions .............................................................................. 153 11.3.3.Propriétés....................................................................................................153 12. Gestionnaire de Tests .................................................................................................... 154 12.1. PRÉSENTATION DE SALOME ...................................................................................... 154 12.2. CONFIGURATION ET ADMINISTRATION ....................................................................... 154 12.2.1. Outil de suivi Salome .................................................................................. 154 12.2.2.Permissions................................................................................................156 12.2.3. Plugins Salome ........................................................................................... 157 12.2.4. Préférences Salome ................................................................................... 158 12.3. LANCER SALOMETMF .............................................................................................. 159 13. Intégration Continue avec Hudson ............................................................................... 160 13.1. INTRODUCTION À L'INTÉGRATION CONTINUE ............................................................... 160 13.2. INSTALLATION DE HUDSON ....................................................................................... 161 13.3. CONFIGURATION DE HUDSON ................................................................................... 162 13.3.1. Configuration système ................................................................................ 162 13.3.2. Plugins Hudson ........................................................................................... 164 13.4. CRÉATION ET CONFIGURATION DE JOBS HUDSON ...................................................... 164 13.4.1. CVS et Subversion ...................................................................................... 164 13.4.2. Déclenchement des builds .......................................................................... 165 13.4.3. Définition du build (Etapes) ......................................................................... 165 13.4.4. Actions à la suite du build ........................................................................... 166 13.5. INTÉGRATION DANS CODENDI ................................................................................... 167 13.5.1. Service Hudson ........................................................................................... 167 13.5.2. Widgets Hudson .......................................................................................... 168 13.5.3. Références Hudson .................................................................................... 172 14. Service Wiki .................................................................................................................... 174
  • 7. 14.1. PRÉSENTATION D'UN WIKI ........................................................................................ 174 14.1.1. Définition d'un Wiki ...................................................................................... 174 14.1.2. Wiki Page Formatting .................................................................................. 174 14.1.3. Lier et créer des pages ............................................................................... 174 14.1.4.Rechercher.................................................................................................175 14.2. LES WIKIS DE CODENDI ........................................................................................... 175 14.2.1. Création d'un Wiki ....................................................................................... 175 14.2.2. Permissions du Wiki .................................................................................... 175 14.2.3. Exemples de pages Wiki ............................................................................. 176 14.2.4. En savoir plus ............................................................................................. 176 15. Services de communication .......................................................................................... 177 15.1. LISTES DE DISTRIBUTION .......................................................................................... 177 15.1.1.Création......................................................................................................177 15.1.2.Administration.............................................................................................178 15.1.3. (Dés)Inscription, archive et préférences ..................................................... 178 15.2. SERVICE D'ANNONCES .............................................................................................. 178 15.3. FORUMS WEB .......................................................................................................... 179 15.4. PLUG-IN DE MESSAGERIE INSTANTANÉE .................................................................... 179 15.4.1. Intégration de la messagerie instantanée dans Codendi ............................ 180 15.4.2. Configuration d'un client Jabber .................................................................. 180 15.4.3. Salon de discussion multi-utilisateurs (MUC) ............................................. 181 15.4.4. Archives des conversations ........................................................................ 184 16. Gestionnaire de sondages ............................................................................................. 186 16.1. PUBLIER UN SONDAGE .............................................................................................. 187 16.2. ADMINISTRATION DES SONDAGES .............................................................................. 188 16.2.1. Structure d'un sondage ............................................................................... 189 16.2.2. Créer et éditer des questions ...................................................................... 189 16.2.3. Créer ou modifier un sondage .................................................................... 190 16.2.4. Consulter les résultats d'un sondage .......................................................... 191 17. Site Web d'un projet ....................................................................................................... 193 17.1. VISITER UN SITE WEB .............................................................................................. 193 17.2. CRÉATION D'UN SITE WEB ........................................................................................ 193 17.2.1. Emplacement et structure des répertoires .................................................. 193 17.2.2. Utilisez PHP pour votre site Web ................................................................ 194 17.2.3. Publication du site Web .............................................................................. 194 17.3. RÉFÉRENCER LE SITE CODENDI ................................................................................ 196 18. Autres Services ............................................................................................................... 197 18.1. COMPTE SHELL ....................................................................................................... 197 18.2. ESPACES DE STOCKAGE FTP ANONYME ................................................................... 197 18.3. API SOAP .............................................................................................................. 198 18.4. CLIENT EN LIGNE DE COMMANDE CODENDI (COMMAND LINE INTERFACE, CLI) ........... 198 18.5. PLUGIN ECLIPSE CODENDI ....................................................................................... 198
  • 8. Liste des illustrations 1. La page d'accueil de Codendi ............................................................................................ 2 2. La page d'accueil de Codendi avec un thème différent (avec des onglets) ....................... 3 3. Vue d'ensemble du site Codendi ........................................................................................ 5 4. Exemple de navigation dans l'arbre des projets ................................................................. 6 5. Liste des échantillons de code dans la catégorie 'HTML Manipulation' .............................. 8 6. La page personnelle d'un utilisateur Codendi ..................................................................... 15 7. Un exemple de page de Sommaire d'un projet .................................................................. 23 8. Un exemple de page d'administration d'un projet ............................................................... 27 9. Un exemple de table de permissions des membres d'un projet ......................................... 34 10. Page de gestion des groupes d'utilisateurs ...................................................................... 36 11. Édition d'un groupe d'utilisateur ........................................................................................ 37 12. Exemple de journal d'accès .............................................................................................. 43 13. Page d'accueil de l'outil de suivi ....................................................................................... 45 14. Un exemple d'écran de soumission d'artefact (ici de type "bug") ..................................... 46 15. Un exemple d'affichage des résultats d'une requête sur un tracker ................................. 50 16. Entête d'un écran de modification d'un artefact (champs de l'outil de suivi) .................... 53 17. Commentaires attachés à un artefact ............................................................................... 54 18. Dépendance entre artefacts ............................................................................................. 56 19. Permissions d'un artefact ................................................................................................. 58 20. Historique d'un artefact ..................................................................................................... 58 21. Écran de sélection des artefacts pour une mise à jour massive ....................................... 59 22. Section d'entête de l'écran de mise à jour massive d'artefacts ........................................ 60 23. Section destinataire en copie de l'écran de mise à jour massive d'artefacts .................... 60 24. Création d'un nouvel outil de suivi (ici pour des anomalies) ............................................. 66 25. Administration des outils de suivi - Page d'accueil ........................................................... 69 26. Exemple d'écran de permissions pour un outil de suivi .................................................... 71 27. Écran de gestion des groupes de champs dans un outil de suivi ..................................... 74 28. Écran de gestion de l'utilisation des champs dans un outil de suivi ................................. 77 29. Configuration des champs utilisés dans un outil de suivi ................................................. 79 30. Liste des champs dont les valeurs sont définies par l'utilisateur ...................................... 80 31. Liste des valeurs du champ "Resolution" ......................................................................... 81 32. Configuration des valeurs d'un champ ............................................................................. 82 33. Dépendances pour le système Linux ................................................................................ 83 34. Dépendances pour le système MacOS X ......................................................................... 84 35. Dépendances pour le système MS Windows ................................................................... 85 36. Dépendances pour le système NetBSD ........................................................................... 86 37. La version 2.0 "dépend" de Linux et NetBSD ................................................................... 87 38. Les versions proposées pour Linux .................................................................................. 87 39. Les versions proposées pour MacOS X ........................................................................... 88 40. Les versions proposées pour MS Windows ...................................................................... 88 41. Les versions proposées pour NetBSD .............................................................................. 88 42. Définition d'une réponse-type ........................................................................................... 89 43. Exemple d'une liste de rapports de recherche ................................................................. 90 44. Configuration d'un rapport de recherche .......................................................................... 92 45. Configuration de la matrice de notification personnelle .................................................... 97 46. Structure du service de publication de fichiers ................................................................. 99 47. L'écran de publication des fichiers du projet Codendi Administration Project .................. 100 48. L'écran du service Fichier du projet "Codendi Administration project", si vous êtes ad- ministrateur.............................................................................................................................102 49. Ecran de modification du paquet CLI du projet "Codendi Administration" ........................ 103
  • 9. 50. Ecran de modification d'une version du projet Codendi ................................................... 104 51. Un exemple de navigation dans le dépôt CVS ................................................................. 112 52. Interrogation de la base de suivi CVS d'un projet ............................................................. 113 53. Détails concernant une opération de commit CVS ........................................................... 114 54. Un cycle de développement logiciel typique sur Codendi ................................................ 117 55. Un exemple de navigation dans le dépôt Subversion ....................................................... 129 56. Interrogation de la base de suivi Subversion d'un projet .................................................. 131 57. Détails concernant une opération de commit Subversion ................................................ 132 58. Un cycle de développement logiciel typique sur Codendi ................................................ 136 59. Dossiers et sous-dossiers ................................................................................................. 143 60.Actions..............................................................................................................................144 61. Créer un nouveau document ............................................................................................ 145 62. Créer un nouveau dossier ................................................................................................ 147 63. Afficher et editer les propriétés ......................................................................................... 148 64.Notifications......................................................................................................................148 65.Historique..........................................................................................................................149 66. Mise à jour d'un lien .......................................................................................................... 149 67. Créer une nouvelle version d'un fichier embarqué ........................................................... 150 68. Definir les permissions ...................................................................................................... 150 69. Déplacer un document ...................................................................................................... 152 70. Raccourcis pour déplacer un élément au sein d'un dossier ............................................. 152 71. Configuration de l'outil de suivi Salome ............................................................................ 156 72. Configuration des permissions Salome ............................................................................ 157 73. Configuration des plugins Salome .................................................................................... 158 74. Configuration des préférences Salome ............................................................................ 159 75. Lancer Salome .................................................................................................................. 159 76. Configuration des outils .................................................................................................... 162 77. Lier un job Hudson à votre projet ...................................................................................... 167 78. Visualiser les jobs Hudson associés à votre projet ........................................................... 168 79. Widget "Mes jobs Hudson" ............................................................................................... 169 80. Widget "Aperçu des jobs" ................................................................................................. 169 81. Widget "Derniers builds" ................................................................................................... 169 82. Widget "Résultat des tests" .............................................................................................. 170 83. Widget "Tendance des tests" ............................................................................................ 171 84. Widget "Historique des builds" .......................................................................................... 172 85. Widget "Derniers artéfacts du build" ................................................................................. 172 86. Salon de discussion dans l'interface web de Codendi ...................................................... 183 87. Page d'accueil du gestionnaire de sondages ................................................................... 186 88. Un exemple de sondage émanant du projet Codendi ...................................................... 188 89. Écran d'administration du gestionnaire de sondages ....................................................... 189 90. Résultats d'un sondage .................................................................................................... 192 91. Plugin Codendi pour l'IDE Eclipse .................................................................................... 199
  • 10. Guide de l'utilisateur Codendi CHAPITRE 1 Introduction L'objectif de l'initiative Codendi (initialement Code eXchange) de Xerox est de transposer et d'appliquer les principes du développement Open Source dans notre propre environnement d'entreprise. L'établissement du développement logiciel et la gestion de projets en mode colla- boratif comme l'une des valeurs centrales de notre ingénierie logicielle, améliore la qualité des composants, la productivité des équipes de projet tout en offrant un environnement de travail riche, attractif et efficace. L'initiative Codendi est supportée par un site Web interne disponible sur http://www.codendi.org/. Ce site est ouvert aux équipes de développement de Xerox qui sou- haitent travailler de façon efficace en mode collaboratif. Le Guide de l'utilisateur Codendi décrit les services et les fonctionnalités de Codendi mais il fournit aussi de nombreux conseils pour vous aider à tirer le meilleur parti de Codendi à gérer vos projets de façon optimale. Nous espérons que vous apprécierez Codendi. N'hésitez pas à en parler à vos collègues pro- grammeurs, chefs de projets ou responsables de groupe. Gardez aussi présent à l'esprit que ce guide de l'utilisateur est avant tout fait pour vous et que nous serons donc heureux de recevoir toutes vos suggestions de corrections ou d'améliorations. Profitez de Codendi ! L'équipe Codendi 1
  • 11. Guide de l'utilisateur Codendi Figure 1. La page d'accueil de Codendi 2
  • 12. Guide de l'utilisateur Codendi Figure 2. La page d'accueil de Codendi avec un thème différent (avec des onglets) 3
  • 13. Guide de l'utilisateur Codendi CHAPITRE 2 Vue d'ensemble du site Codendi Codendi est un site Web de Xerox accessible à l'URL http://www.codendi.org/. Pour utiliser le site Codendi vous pouvez utiliser votre navigateur favori1. Codendi est un site riche et ce guide de l'utilisateur va vous accompagner dans la découverte de l'ensemble des services dispo- nibles. Pour vous aider à retrouver votre chemin dans cette panoplie de services, la Figure 3. Vue d'ensemble du site Codendi [page 5] vous en donne une vue d'ensemble et le chemin à em- prunter pour accéder à un service particulier. 2.1 Page d'accueil Codendi La page d'accueil est divisée en quatre parties (voir la Figure 1. La page d'accueil de Codendi [page 2]) : 1. Le menu principal de Codendi : sur la partie gauche de l'écran ou au sommet selon le thème graphique employé. 2. Une courte introduction à Codendi : la partie centrale supérieure présente le site Codendi en quelques points clés et fournit des pointeurs vers des documents ou des services importants. 3. Les dernières nouvelles de Codendi : la partie centrale inférieure montre en perma- nence les dix nouvelles les plus récentes concernant la vie des projets hébergés ou du site Codendi. 4. La tableau de bord Codendi : La partie droite de la page d'accueil montre une série d'indicateurs statistiques concernant l'activité globale du site Codendi. 2.2 Le menu principal de Codendi Le menu principal de Codendi est présent sur l'ensemble des pages du site. Son contenu peut varier selon les pages visitées et suivant les droits qui vous sont octroyés. En d'autres termes il dépend du contexte. En voici deux exemples : • Si vous visitez le site en tant qu'utilisateur anonyme, la partie supérieure du menu vous invite à vous connecter au système ou bien à créer un compte si vous n'en avez pas. Si vous êtes connecté, d'autres entrées deviendront visibles dans le menu comme Se dé- connecter, Mon compte, Ma page personnelle, etc… • De la même façon, si vous décidez de visiter un projet particulier, le menu situé en haut 1Codendi utilise du HTML standard et très peu de Javascript. Il est supporté sur Netscape 6/7, IE 5/6, Mozilla et Firefox. D'autres navigateurs comme Opera ou Konqueror fonctionnent également. Codendi utilise peu de graphisme et il est donc utilisable par des navigateurs spécialisés comme ceux destinés aux personnes malvoyantes. 4
  • 14. Guide de l'utilisateur Codendi de la page vous présentera l'ensemble des services disponibles. Dans le reste de cette section nous allons uniquement couvrir les entrées du menu qui sont per- manentes et indépendantes du contexte. Les autres entrées liées aux projets seront décrites plus tard dans ce document. 5
  • 15. Guide de l'utilisateur Codendi Figure 3. Vue d'ensemble du site Codendi 2.2.1 Arbre des projets L'arbre des projets est un important service de Codendi que vous pouvez (ou devez !) utiliser pour déterminer si certains logiciels développés sur le site peuvent présenter un intérêt pour vos propres activités. L'arbre des projets est l'une des deux façons de chercher des informations dans la base de projets existants. L'autre façon s'appuie sur la fonction Recherche par mots- clés. Figure 4. Exemple de navigation dans l'arbre des projets Quand un projet est créé il est classé suivant 7 critères : • Statut de développement : le niveau de maturité du projet (alpha, bêta, stable,...) • Environnement : dans quel environnement tourne le logiciel (Web, Win32, X Window, mode texte,...) • Audience : La population d'utilisateurs visée (développeurs, utilisateurs finaux, adminis- trateurs système,…) • Licence : la licence de distribution du logiciel. Dans la plupart des cas il s'agira de la li- cence d'échange de Codendi de Xerox • Système d'exploitation : Le ou les systèmes d'exploitation sur lesquels le logiciel s'exécute • Langages de programmation : les langages de programmation utilisés dans le déve- loppement de ce projet. • Domaine : Le domaine d'application de votre projet qui varie suivant le domaine d'activité de l'entreprise. 6
  • 16. Guide de l'utilisateur Codendi Chaque critère peut recevoir jusqu'à trois valeurs pour un projet donné (comme, par exemple, trois langages de programmation). Les valeurs sont choisies parmi une liste prédéfinie par les administrateurs du site. Le critère "Domaine" (ou "Topic" en anglais) reflète le domaine dont traite votre projet et se présente sous la forme d'une hiérarchie de domaines et de sous- domaines que l'équipe d'administration de Codendi affine au fur et à mesure de l'enregistrement des projets. En utilisant l'arbre des projets il est possible de visualiser les projets répondants à certains cri- tères. Les projets sont présentés avec leurs nom, description, date de création, taux d'activité et d'autres informations utiles. Les valeurs des sept critères du projet sont affichées à la suite de la description. Notez qu'à côté de chaque valeur d'un critère figure un lien hypertexte appelé [Filtre]. Cliquer sur l'un de ces liens a pour effet de n'afficher que les projets qui correspondent à cette valeur du critère. Les projets de type patron et les projets de test (voir Section 6.5 [page 27]) ne sont pas listés dans l'arbre des projets. Un exemple d'affichage de l'arbre des projets est montré Figure 4. Exemple de navigation dans l'arbre des projets [page 6]. Dans cet exemple, l'utilisatrice a d'abord ouvert le dossier Langages de Programmation puis elle a sélectionné le langage C. Ceci a probablement amené un grand nombre de projets et elle a donc appliqué deux filtres supplémentaires : le premier spécifie que le Statut de développement doit être Stable et le second impose que le logiciel fonctionne avec le système d'exploitation SunOS/Solaris. En appliquant ces multiples critères de sélection, l'utilisatrice réduit le nombre de projets poten- tiellement intéressants à neuf et elle peut donc les examiner un par un (seul le premier projet est montré sur la Figure 4. Exemple de navigation dans l'arbre des projets [page 6]). Les filtres ont une autre propriété intéressante : ils sont persistants. Cela signifie que si vous décidez d'explorer l'arbre des projets en partant d'un autre angle (par exemple en ouvrant le dossier Do- maine en premier), les filtres sélectionnés continuent à s'appliquer. Pour relâcher les contraintes imposées par les filtres il suffit de cliquer sur le lien [Supprimer ce filtre] situé à côté du critère. Coup de pouce Si vous effectuez souvent le même parcours dans l'arbre des projets, vous pouvez enregistrer l'étape finale de ce parcours dans votre Page personnelle. Pour se faire, effectuez vos manipulations sur l'arbre comme expliqué ci-dessus puis cliquez sur le lien "Cette page en signet" dans le menu principal Codendi. Une nouvelle entrée apparaîtra alors dans votre page personnelle que vous pou- vez éditez afin de lui donner une description plus parlante. 2.2.2 La boîte à outils Un projet hébergé sur Codendi a la possibilité d'utiliser de nombreux outils et services. Toute- fois tous les logiciels ne nécessitent pas un environnement aussi riche. Pour partager ou sauve- garder un court échantillon de code comme une macro, une fonction, un script shell un outil simple paraît plus adapté. C'est précisément le rôle de la boîte à outils. La boîte à outils est accessible depuis le menu principal de Codendi sur la partie gauche ou la partie supérieure de l'écran (voir la Figure 1. La page d'accueil de Codendi [page 2]) Navigation dans les échantillons La page d'accueil de la boîte à outils classifie les échantillons par catégorie et par langages de programmation. Le nombre en regard du label d'une catégorie indique le nombre d'échantillons 7
  • 17. Guide de l'utilisateur Codendi présents dans la catégorie. Vous pouvez parcourir la collection d'échantillons de deux façons : • Parcourir les catégories ou la classification par langage de programmation • Utiliser la boîte de recherche par mots-clés située en bas à gauche ou en haut à droite de l'écran. La recherche s'effectue dans le titre et la description des échantillons. Les échantillons correspondants sont affichés avec leur identifiant unique (ID), leur titre, leur description ainsi que le nom de l'auteur. Veuillez noter qu'en cliquant sur le nom de l'auteur, vous pouvez immédiatement lui envoyer une suggestion ou une question par email. Figure 5. Liste des échantillons de code dans la catégorie 'HTML Manipulation' Créer un échantillon Pour soumettre un nouvel échantillon, cliquez sur le bouton "Créer un nouvel échantillon" dans le menu de la boîte à outils situé en haut de la page. Remplissez les champs titre et description (tout pointeur Web - ou URL - tapé dans le champ description sera automatiquement transformé en hyperlien par Codendi), le type de l'échantillon, sa catégorie et son langage de programma- tion. Si une catégorie ou un langage de programmation venait à manquer, veuillez contacter l'équipe Codendi. Il est vivement recommandé de fournir également un numéro de version. Il s'agit d'un champ de texte libre qui peut prendre n'importe quelle valeur. Utiliser un nom ou un numéro de version est utile si vous pensez soumettre de nouvelles versions ultérieurement. Nous vous recommandons également de porter ce même numéro de version dans le code source de l'échantillon pour que les utilisateurs puissent déterminer s'ils disposent de la version la plus récente lors d'une pro- chaine visite à la boîte à outils. L'échantillon de code lui-même peut être soumis soit par la biais d'une opération copier-coller 8
  • 18. Guide de l'utilisateur Codendi dans la zone de texte prévue à cet effet ou en téléchargeant un fichier. Dans la mesure du pos- sible, il est préférable d'utiliser la zone de texte car le code sera alors immédiatement visible sur la page Web lors de la consultation de la boîte à outils par d'autres utilisateurs. Il existe cependant des cas où le téléchargement est obligatoire, notamment pour les fichiers dont le format n'est pas directement lisible pour un utilisateur. Un exemple typique est le cas où l'échantillon est composé de plusieurs fichiers regroupés dans une archive tar ou zip. Il peut aussi s'agir de fichiers propriétaires ou binaires émanant d'applications spécialisées (par exemple le logiciel de simulation LabView). Dans tous les cas, ne jamais poster de fichier bi- naire ou byte-code pur résultant d'une compilation C, C++, Java,... car la boîte à outils est avant tout faite pour partager et réutiliser des échantillons de code utiles à tous. Mettre un échantillon à jour Pour mettre à jour un échantillon avec une nouvelle version du code, sélectionnez l'échantillon soit en parcourant les catégories soit en effectuant une recherche par mots-clés. Cliquez sur l´échantillon approprié, puis sur le lien "Soumettre un nouvelle version" en bas de page. Four- nissez une description des modifications, un nouveau numéro de version et copier-coller ou té- lécharger le nouvel échantillon de code correspondant. Veuillez noter que bien qu'il s'agisse du même échantillon, Codendi assigne un nouvel indenti- fiant à chaque nouvelle version. Ainsi pour référencer la nouvelle version d'un échantillon dans un paquet d'échantillons (voir la section concernant le regroupement d'échantillons plus loin) vous devrez supprimer l'ancienne version et insérer la nouvelle). Détruire un échantillon Procéder comme indiqué précédemment pour la sélection de l'échantillon. Après avoir sélec- tionné l'échantillon voulu, utilisez l'icône en forme de corbeille ( ) pour supprimer une ou plu- sieurs versions de l'échantillon Regrouper des échantillons Si vous avez soumis des échantillons qui ont un rapport entre eux il peut être intéressant de les regrouper au sein d'un paquet d'échantillons. Pour créer un paquet d'échantillons, cliquez sur "Créer un paquet" dans le menu situé en haut de la page. Fournissez un titre, une description, un type, une catégorie et un numéro de version pour ce paquet. Après avoir soumis le formulaire, une nouvelle fenêtre apparaît vous deman- dant d'indiquer les identifiants uniques (ID) des échantillons à placer dans le paquet. Veillez à avoir cette liste d'identifiants à portée de main lors de la création d'un paquet. Veuillez noter qu'il existe un indentifiant d'échantillon ainsi qu'un identifiant de version d'échantillon. Si vous téléchargez une nouvelle version d'un échantillon, l'identifiant de l'échantillon ne change pas, contrairement à l'identifiant de la version de l'échantillon. Ainsi lorsque vous créez des paquets d'échantillons, assurez-vous d'utiliser l'identifiant de la nouvelle version. Mettre à jour un paquet d'échantillons Comme un échantillon, un paquet peut être mis à jour. Pour se faire, procédez comme pour un 9
  • 19. Guide de l'utilisateur Codendi échantillon, Il faut tout d'abord le rechercher dans la boîte à outils, le sélectionner et enfin, cli- quer sur l'icône d'édition. A partir de là vous pouvez ajouter ou supprimer des échantillons. Si vous voulez mettre à jour le paquet en y intégrant une nouvelle version d'un échantillon, détrui- sez d'abord l'ancienne version puis ajoutez la nouvelle en utilisant son identifiant de version (ID) propre (voir Section [page 9]). 2.2.3 Aide Index de l'aide Codendi est livré avec un guide de l'utilisateur très complet décrivant l'ensemble des outils et services. Un clic sur le lien "Index de l'aide" dirige l'utilisateur vers la table des matières du guide de l'utilisateur de Codendi. Ce même guide est utilisé sur l'ensemble du site Codendi par les liens "Aide" apparaissant dans quasiment tous les menus. Une version PDF de l'intégralité du guide de l'utilisateur est disponible dans la section "Documentation Site". Documentation Site Le lien "Documentation Site" est le point d'entrée vers l'ensemble de la documentation relative à l'ensemble du site Codendi. Son contenu est variable mais il comporte en général le guide utili- sateur, des présentations et d'autres documents importants maintenus par l'équipe Codendi. Li- sez-les attentivement. Canaux développeurs L'un des objectifs prioritaires du site Codendi est de devenir le forum d'échange des dévelop- peurs logiciels quelle que soit l'organisation à laquelle ils appartiennent. C'est pour cette raison que Codendi propose une série de listes de distribution (appelée Canaux Développeurs) auxquelles toute personne, y compris un utilisateur non enregistré de Codendi, peut souscrire. Chaque canal est dédié à un sujet particulier. La création de nouveaux canaux est sous la responsabilité des administrateurs du site Codendi. Contactez les à codendi- contact@www.codendi.org si vous souhaitez faire une demande de création. Les Canaux Développeurs de Codendi présentent un certain nombre de caractéristiques inté- ressantes : • Les opérations d'abonnement et le désabonnement au canal peuvent être effectués par l'utilisateur lui-même à travers l'interface Web de Codendi. • Tous les messages adressés au canal sont archivés et sont donc consultables à tout moment. (Dans le futur, il sera aussi possible d'effectuer des recherches par mots-clés). • Les abonnés peuvent demander à recevoir une version condensée des échanges plutôt que chaque message individuellement. Forums de discussion Codendi Les forums de discussion Codendi proposent une alternative au Canaux Développeurs. Il s'agit de forums d'échange dont l'objectif est d'améliorer la communication entre les utilisateurs de Codendi et l'équipe en charge de l'administration du site. On y trouve des forums où il est pos- sible de demander de l'aide, d'envoyer des suggestions, des demandes de nouvelles fonction- 10
  • 20. Guide de l'utilisateur Codendi nalités ou de nouvelles catégories pour l'arbre des projets par exemple, etc… Ces forums sont entièrement basés web ce qui implique d'utiliser l'interface web de Codendi pour lire ou poster un message. Toutefois l'utilisateur a la possibilité de placer un forum sous surveillance afin de recevoir par email tous les échanges qui ont lieu sur le forum. Contactez-nous En plus des forums de discussion, vous pouvez toujours utiliser le lien "Contactez-nous" pour contacter l'équipe Codendi. N'hésitez pas à faire usage de ce lien dès que vous en ressentez le besoin. Nous sommes là pour vous aider. 2.2.4 La fonction de recherche Codendi vous permet d'effectuer une recherche par mots-clés sur quasiment toutes les informa- tions disponibles sur le site. Lorsque vous vous trouvez sur la page d'accueil de Codendi vous pouvez rechercher des informations dans les ressources suivantes : • Les projets logiciels : les mots-clés sont recherchés dans le nom et les descriptions courte et longue des projets. Ce mécanisme de recherche est très complémentaire avec l'arbre des projets (voir Section 2.2.1 [page 6]). • Boîte à outils : vous pouvez effectuer une recherche par mots-clés dans les échan- tillons de code disponibles dans la boîte à outils de Codendi (voir Section 2.2.2 [page 7]). La recherche porte sur le nom et la description. Vous pouvez ainsi trouver fa- cilement des échantillons de code qui répondent à vos besoins. • Utilisateurs : dans ce cas la recherche s'effectue dans la liste des utilisateurs du site sur la base de leur nom d'utilisateur, leur nom complet ou leur adresse email. • Wiki: Le Wiki est un outil collaboratif de rédaction (voir Chapitre 14. Service Wiki [page 174]). Vous pouvez effectuer une recherche en texte intégral dans les wikis. • Cet outil de suivi : si vous utilisez un outil de suivi de Codendi, l'entrée "Cet outil de suivi" apparaît dans la boîte de recherche, permettant ainsi d'effectuer une recherche par mots-clés dans les artefacts de cet outil de suivi. 2.3 Le tableau de bord de Codendi Par défaut, le tableau de bord de Codendi se trouve sur la partie droite de la page d'accueil du site. Il donne une vue d'ensemble de l'activité du site à travers plusieurs indicateurs : • Statistiques Codendi : indique le nombre total de projets hébergés sur Codendi (à part ceux qui ont le statut privé ainsi que les projets de patron et les projets de test), le nombre d'utilisateurs enregistrés, le nombre total de téléchargements et le nombre de pages visitées depuis l'ouverture du site. • Top Téléchargements hier : donne la liste des projets qui ont fait l'objet d'un téléchar- gement la veille et en quelle quantité. • Versions récentes : donne une liste des versions de logiciels les plus récentes postées sur le site par les différents projets. Si vous souhaitez connaître les dernières versions disponibles vous pouvez visiter la page d'accueil régulièrement. Codendi vous offre aussi le moyen de surveiller l'apparition de nouvelles versions pour un projet donné. Pour ce faire vous devez vous rendre sur la page de Sommaire du Projet (ou page 11
  • 21. Guide de l'utilisateur Codendi d'accueil) et sélectionner ensuite l'icône de surveillance ( ) placé à proximité du nom du paquet logiciel qui vous intéresse. Une fois le paquet sous surveillance, un email vous sera automatiquement envoyé dès que l'équipe de projet publie une nouvelle ver- sion. • Projets récents : les 10 derniers projets enregistrés. En affichant cette liste de façon régulière vous pouvez être tenu informé de la création de tout nouveau projet Codendi. • Les plus actifs cette semaine : les 20 projets les plus actifs sur la semaine écoulée de 0 à 100%. La formule magique utilisée pour ce calcul est une somme pondérée de l'activité observée dans chacun des services utilisés par les projets. Elle prend en compte de nombreux indicateurs : le nombre de transactions CVS/Subversion, le nombre d'artefacts (bugs, tâches...) soumis ou modifiés, le nombre de versions de logi- ciel postées, etc… En consultant cette liste vous aurez une bonne idée du degré d'activité des projets. En conclusion, nous vous recommandons vivement de visiter la page d'accueil de Codendi de façon régulière. Ce faisant vous aurez un excellent aperçu de ce qui se passe en matière de dé- veloppement logiciel chez Xerox. En un mot comme en cent : Faites de Codendi la page par défaut de votre navigateur :-) 12
  • 22. Guide de l'utilisateur Codendi CHAPITRE 3 Devenir un utilisateur Codendi 3.1 Les classes d'utilisateurs Avant d'aborder les explications concernant le processus d'enregistrement d'un utilisateur, il est utile de passer en revue les différentes classes d'utilisateurs de Codendi. Il en existe quatre : • Les utilisateurs anonymes : il s'agit là des utilisateurs qui visitent Codendi pour la pre- mière fois ou qui n'ont pas pris la peine de se connecter en arrivant sur la page d'accueil. Par défaut, les utilisateurs anonymes peuvent parcourir le site Codendi mais de nombreux services et ressources Codendi ne leur sont pas accessibles (par exemple l'accès aux logiciels eux-mêmes, les fonctions de surveillance, etc…). Nous vous conseillons donc vivement de vous enregistrer sur Codendi si vous voulez en tirer le meilleur parti. • Les utilisateurs enregistrés : une fois votre compte utilisateur enregistré (voir plus bas) vous pouvez utiliser votre nom d'utilisateur et votre mot de passe pour vous au- thentifier auprès de Codendi. Les utilisateurs enregistrés ont accès à tous les projets de Codendi sauf si l'administrateur du projet en a décidé autrement. Ils bénéficient aussi d'une page personnelle, de la capacité à surveiller des forums et des paquets logiciels et de la notification par email des mises à jour des artefacts (bugs, tâches,...) dans les- quels ils sont impliqués, etc… • Les membres d'un projet : ce sont les utilisateurs participant aux activités d'un projet hébergé sur Codendi. Pour devenir membre d'un projet vous devez d'abord devenir utili- sateur enregistré et, ensuite, demander à l'administrateur du projet de vous admettre parmi les membres. Les membres d'un projet sont la plupart du temps membres de l'équipe de projet mais ne sont pas nécessairement des développeurs. Ils peuvent être en charge de l'activité de support ou de contrôle qualité, de la gestion de la documenta- tion ou de la gestion du projet lui-même. Les membres d'un projet se voient souvent as- signés des droits différents par l'administrateur du projet selon leur rôle (voir Chapitre 6. Administration d'un projet [page 25] pour plus de détails). • Les administrateurs d'un projet : les utilisateurs enregistrés qui créent un nouveau projet sur Codendi héritent du rôle d'administrateur de ce projet. Les administrateurs d'un projet disposent des pleins pouvoirs sur ce projet sauf en ce qui concerne la sup- pression complète d'un projet - une chose très rare - que seuls les administrateurs du site peuvent faire. A n'importe quel moment dans le cycle de vie du projet, l'administrateur historique du projet peut assigner (ou révoquer) ce même rôle à d'autres membres du projet. • Les utilisateurs restreints : il s'agit là de membres ou d'administrateurs de projet dont 13
  • 23. Guide de l'utilisateur Codendi les droits d'accès sont restreints : ils n'ont accès qu'aux projets dont ils sont membres et ne voient pas les autres projets, quels qu'ils soient. Ce rôle particulier est en général ac- tivé sur les sites Codendi mêlant utilisateurs internes et externes sur le même serveur dans le but de cantonner les utilisateurs uniquement aux projets dans lesquels ils ont une responsabilité. 3.2 Enregistrement des utilisateurs Comme suggéré plus haut, la première chose à faire pour un nouveau venu sur Codendi consiste à créer son propre compte. Créer son propre compte ne vous engage aucunement à héberger vos projets sur Codendi mais vous donne plus de possibilités lorsque vous parcourez le site et permet à Codendi de personnaliser les informations qui vous sont présentées. S'enregistrer sur Codendi est simple et rapide : 1. Sélectionnez le lien "Nouveau compte". 2. Remplissez les champs suivants (ceux marqués d'un astérisque sont obligatoires) : a. Nom de login : votre nom d'utilisateur. A noter que sur certains systèmes Co- dendi connectés à un annuaire d'entreprise le nom d'utilisateur peut être imposé (voir plus loin). b. Mot de passe : 6 caractères minimum à répéter deux fois pour éviter toute erreur de frappe. c. Nom complet : rappelez-moi votre nom - s'il vous plaît. d. Adresse email : suivant la configuration du site, les adresses emails considérées comme valides peuvent se limiter au domaine Xerox ou à l'un de ses sous- domaines. Vérifiez bien que votre adresse email est correcte faute de quoi vous ne recevriez pas la demande de confirmation de votre enregistrement. e. Fuseau horaire : choisissez le fuseau horaire dans lequel vous vivez. C'est une information importante car Codendi stocke tous ses marqueurs de temps en temps universel (GMT) et s'appuie sur le fuseau horaire fourni par l'utilisateur pour présenter les dates et heures en temps local sur les différentes pages Web. f. Annonces site : cochez cette case si vous souhaitez recevoir les informations concernant les mises à jour du site Codendi. Le trafic est très faible et nous vous recommandons vivement de cocher cette case. Les notifications reçues traitent des nouvelles fonctionnalités disponibles, des plages d'indisponibilité pour raison de maintenance, des événements importants dans la vie du site, etc… g. Annonces site supplémentaires : cochez cette case pour recevoir des mes- sages moins importants concernant la vie du site. Vous pouvez cocher cette case sans crainte d'être submergé de messages car le trafic est extrêmement réduit. 3. Peu après avoir validé l'enregistrement de votre compte utilisateur un email doit vous parvenir vous demandant confirmation. En cliquant sur l'URL contenu dans ce mes- sage, vous ferez apparaître un formulaire vous demandant à nouveau votre nom d'utilisateur et votre mot de passe. S'ils correspondent bien à ceux que vous avez ini- tialement choisis, votre compte utilisateur est définitivement validé et vous êtes désor- mais connecté à Codendi. Coup de pouce : serveur Codendi relié à un annuaire d'entreprise Si votre serveur Codendi est connecté à un annuaire d'entreprise le processus d'enregistrement est encore plus simple : il vous suffit de taper votre nom d'utilisateur LDAP et votre mot de passe et Co- dendi extraira automatiquement le reste des informations vous concernant dans l'annuaire : adresse email, nom complet, etc… 14
  • 24. Guide de l'utilisateur Codendi Ce processus d'enregistrement en deux étapes a été mis en place pour des raisons de sécurité. En supposant qu'un utilisateur crée un compte avec une fausse adresse email, le message ne lui parviendra pas et la validation du compte ne pourra se faire. Pour les sites situés derrière un pare-feu cela implique aussi qu'un compte ne peut-être validé depuis l'extérieur. Coup de pouce : que faire si j'oublie mon mot de passe ou mon nom d'utilisateur ? Tout d'abord ne paniquez pas et, surtout, ne créez pas un nouveau compte dans la foulée. Si vous avez oublié votre mot de passe, allez sur la page de connexion au site Codendi et suivez le lien [Mot de passe perdu ?]. Un formulaire apparaît qui vous demande votre nom d'utilisateur. Après l'avoir soumis vous recevrez un email contenant un URL. Après avoir suivi cet URL et avoir choisi un nou- veau mot de passe, vous pourrez à nouveau accéder au site. Et que se passe-t-il si j'ai aussi oublié mon nom d'utilisateur ? Là ça devient sérieux ! Dans ce cas utilisez la boîte de recherche par mots-clés, sélectionnez l'option "Utilisateurs", tapez tout ou partie de votre nom de famille et voyez si les résultats retournés vous permettent de retrouver votre nom d'utilisateur. Si oui appliquez alors la procédure en cas de perte de mot de passe, si non contactez l'administrateur du site. 3.3 Connexion et page personnelle Pour vous connecter au site Codendi, rendez vous sur l'URL http://www.codendi.org et cliquez sur le lien "Se connecter". Après vous être authentifié, Codendi vous présente votre Page Per- sonnelle (Figure 6. La page personnelle d'un utilisateur Codendi [page 15]. Vous pouvez à tout moment retourner sur cette Page Personnelle en sélectionnant le lien "Ma Page Personnelle" dans le menu Codendi. Votre page personnelle est une plaque tournante à partir de laquelle vous pouvez rayonner vers d'autres espaces de travail et d'information de Codendi. Vous y trouverez les artefacts (bugs, tâches, etc...) qui vous sont assignés ou que vous avez soumis. Vous pouvez ainsi très facile- ment suivre l'évolution des artefacts dont vous êtes en charge dans vos projets ou ceux que vous avez soumis à d'autres projets et que vous êtes impatient de voir traités. 15
  • 25. Guide de l'utilisateur Codendi Figure 6. La page personnelle d'un utilisateur Codendi Codendi vous permet de personnaliser votre page à votre convenance. Le contenu de la page est constitué de widgets. Tous les widgets peuvent être déplacés (1), fermés ou supprimés (2). Certains d'entre eux peuvent fournir un flux rss (3) ou des préférences peuvent être choisies (4). Les widgets peuvent être ajoutés grâce au lien "Ajouter des widgets" (5). Voici une liste non- exhaustive de widgets disponible pour votre page personnelle : • Fichiers sous surveillance liste les fichiers que vous surveillez, par projet. Pour inter- rompre la surveillance, il vous suffit de cliquer sur la corbeille ( ) à côté de l'item concerné. • Forums sous surveillance liste les forums que vous surveillez, par projet. Pour inter- rompre la surveillance, il vous suffit de cliquer sur la corbeille ( ) à côté de l'item concerné. • Mes artefacts liste les artéfacts soumis par vous ou qui vous ont été assignés, par pro- jet. • Mes favoris liste vos pointeurs favoris (pointeurs sur vos pages préférées de Codendi ou externes). A noter que ces pointeurs peuvent être très sophistiqués. Ils permettent par exemple de mémoriser une requête multi-critères effectuée sur un outil de suivi. • Mes projets liste les projets auxquels vous appartenez. La sélection d'un de ces projets vous amène sur sa page sommaire. • Sondages: Sondage site en cours auxquels vous n'avez pas encore participé. • RSS Reader vous permet d'inclure dans votre page personnelle des fils rss (ou atom) publiques. 3.4 Gestion de compte Lors de la phase d'enregistrement vous avez fourni un certain nombre d'informations vous concernant. Ces informations peuvent être modifiées à tout moment en sélectionnant le lien "Mon compte" dans le menu de Codendi. La plupart des informations modifiables sur la page "Mon compte" vous paraîtront évidentes. Nous voulons cependant attirer votre attention sur certaines d'entre elles : • Voir mon profil de compétences : un utilisateur peut publier son CV sur Codendi. Le but est de permettre aux autres utilisateurs de mieux vous connaître vous et votre ex- pertise technique. • Clés SSH partagées : ce champ se rapporte au service Compte Shell. Lorsque vous êtes utilisateur enregistré, le serveur Codendi vous offre un compte shell personnel qui utilise le même nom d'utilisateur et le même mot de passe que le compte Web. Pour au- tomatiser la procédure de connexion à ce compte vous pouvez partager votre clé pu- blique SSH avec Codendi. Ainsi vous vous éviterez la saisie systématique d'un nom d'utilisateur et d'un mot de passe. Plus de détails sur Section 18.1 [page 197]. 16
  • 26. Guide de l'utilisateur Codendi 3.5 Préférences Vos préférences utilisateurs sont disponibles dans Ma page personnelle -> Préférences. Voici les préférences que vous pouvez définir : • "Souviens-toi de moi" : par défaut, votre session de travail courante sur Codendi s'achève dès que vous stoppez votre navigateur Web. Au prochain démarrage, vous devrez à nouveau vous identifier. En cochant cette case vous demandez à Codendi de se souvenir de votre identité entre deux sessions de travail à moins, bien sûr, que vous ne vous déconnectiez explicitement en utilisant le lien "Se déconnecter". Pour des rai- sons de sécurité nous vous recommandons de n'utiliser cette fonctionnalité que si vous disposez d'une machine personnelle. • Séparateur CSV: Codendi vous permet d'importer et d'exporter des données de vos projets (Voir Section 6.11 [page 39] pour plus de détails). Le format d'import et d'export utilisé est le format CSV. Comme la norme CSV n'est pas implémentée de la même ma- nière dans tous les logiciels, vous avez la possibilité de définir votre séparateur CSV. Les différents séparateurs disponibles sont : • la virgule (,) : le séparateur par défaut. • Le point-virgule (;) : utilisé par défaut par la version française d'Excel. • Tab (tabulation). • Format de date CSV: Codendi vous permet d'importer et d'exporter des données de vos projets (Voir Section 6.11 [page 39] pour plus de détails). Le format d'import et d'export utilisé est le format CSV. Comme la norme CSV n'est pas implémentée de la même manière dans tous les logiciels, vous avez la possibilité de définir votre format de date CSV. Les différents formats disponibles sont : • mois/jour/année : le format par défaut (généralement utilisé aux Etats-Unis). • jour/mois/année : utilisé par défaut dans la version française d'Excel. Ce format sera utilisé lors de l'export des artéfacts. Il sera également utilisé lors de l'import. N'oubliez donc pas de vérifier vos données dates avant d'importer. Le système attend des dates au format défini dans vos préférences. 17
  • 27. Guide de l'utilisateur Codendi CHAPITRE 4 Créer un nouveau projet Vous êtes désormais un utilisateur Codendi fraîchement enregistré et vous voulez vous simpli- fier la vie ainsi que celle de vos équipes de projet. En d'autre termes vous voulez : • Éviter le travail et les dépenses liés à la mise en place et à la maintenance de votre propre infrastructure (serveurs de développement, serveur de sauvegarde, etc...) • Ne pas payer le prix fort pour des outils commerciaux de contrôle de version, de suivi d'anomalies ou de gestion des tâches. • Mettre rapidement en place un environnement de projet que vous pouvez partager avec vos collègues, vos partenaires, vos sous-traitants ou vos clients tout en gardant vos in- formations sous contrôle. • Rendre votre organisation globalement plus productive en permettant à d'autre de ré- utiliser vos composants logiciels si vous le désirez. Si l'un de ces points vous paraît pertinent pour votre activité alors vous devriez absolument hé- berger vos projets sur Codendi. Voyons comment faire. 4.1 Enregistrer un projet Avant de créer un nouveau projet vous devez avoir le statut d'utilisateur enregistré (voir Section 3.1 [page 13]). Vous pouvez alors vous connecter et sélectionner le lien "Enregistrer un projet" dans le menu de Codendi. L'enregistrement d'un projet est un processus qui prend moins de 10 minutes : • Enregistrement d'un projet Il s'agit d'informations à propos des services Codendi. Lisez les attentivement. N'oubliez pas de lire et d'accepter les Conditions générales d'utilisation. • Nom du projet Indiquez le nom court et le nom complet du projet. Lisez attentivement les instructions fournies. Le nom complet peut être modifié à tout moment dans la vie du projet mais pas le nom court.2. Réfléchissez donc bien avant de choisir ! • Patron de projet Vous avez déjà soumis un projet Codendi et voudriez réutiliser la même configuration (services, outils de suivi, documents, références, ...) ? Vous pouvez convertir votre an- 2 En fait il peut l'être mais cela nécessite l'intervention des administrateurs du site. 18
  • 28. Guide de l'utilisateur Codendi cien projet en patron de projet (voir Section 6.5 [page 27]) et vous le retrouverez sur cette page dans la liste des patrons de projet disponible. Choisissez votre ancien projet comme patron et votre nouveau projet aura les mêmes services configurés de la même manière que votre ancien projet. Si vous ne voulez pas réutiliser un patron spécifique gardez simplement le Patron Codendi par défault coché et continuez l'enregistrement. • Description du projet C'est là que tout commence véritablement ! En donnant une description de votre projet. Il est important que cette description soit aussi précise que possible pour que tous les intervenants sachent de quoi il est question. Vous pouvez aussi fournir des informations liées à la propriété intellectuelle comme des propositions d'inventions ou des brevets ou bien établir la liste des logiciels nécessaires au bon fonctionnement de votre projet. Le dernier champ est libre : vous pouvez y faire figurer toute information qui vous paraît pertinente pour votre projet et ses utilisateurs. • Services du projet Vous pouvez sélectionner les services que vous voulez activer. Notez que vous pourrez changer ces préférences par la suite, une fois votre projet créé. • Catégorisation du projet Veuillez sélectionner jusqu'à trois valeurs pour chaque catégorie de ce projet. Cela per- mettra aux utilisateurs de retrouver rapidement votre projet. Si votre projet n'a pas be- soin de toutes les catégories, sélectionnez simplement "Aucune sélection". Si vous avez utilisé un patron de projet qui a déjà été classifié, vous allez retrouver ses catégories ici. Vous pourrez à nouveau modifier cette classification quand vous le souhaitez. Vous pouvez catégoriser votre projet suivant sept critères qui sont ceux utilisés dans l'arbre des projets (voir Section 2.2.1 [page 6]). • Politique d'échange NOTE : cette étape ne s'applique que si vous créez un projet public. Si c'est le cas, le choix par défaut est celui que vous devez conserver à savoir la "Politique d'Echange de Xerox". Comme expliqué plus haut, l'équipe Codendi assistée du département légal de Xerox ont créé et validé ces règles d'échange. Un certain nombre de licences Open Source sont aussi mentionnées. Enfin vous pouvez aussi spécifier vos propres termes de licence. • Confirmation finale Lors de cette dernière étape, un récapitulatif des différentes informations saisies vous est présenté pour approbation. Mais ne vous inquiétez pas : vous pourrez encore modi- fier ces informations une fois votre projet approuvé. Après validation de l'enregistrement du projet, l'équipe Codendi doit le revoir et l'approuver, le rejeter ou vous demander plus d'information. Ce processus ne prend pas plus de 24 heures dans le pire des cas et moins d'une heure la plupart du temps. Rares sont les projets rejetés donc il y a peu de crainte à avoir... Après approbation du projet, vous recevrez un email résu- mant les caractéristiques de votre projet ainsi qu'un certain nombre de pointeurs dont un vers le "Sommaire du Projet". Conservez le dans vos signets favoris. 19
  • 29. Guide de l'utilisateur Codendi 4.2 Configuration post-enregistrement La première chose à faire après avoir reçu confirmation de l'enregistrement du projet consiste à se rendre sur le page du "Sommaire du Projet" (URL inclus dans le message de notification) et à achever la configuration. Il y au minimum deux actions à prendre : • Classer votre projet dans l'arbre des logiciels Si vous ne l'avez pas fait lors de l'enregistrement de votre projet, nous vous invitons for- tement à le faire maintenant ! La catégorisation de votre projet apparaît sur la page de "Sommaire" du projet. Pour catégoriser le projet, cliquez sur le lien "le catégoriser" et renseignez les différentes catégories. • Constituer l'équipe de projet Une fois le projet créé, le créateur hérite du rôle d'administrateur de ce projet. Il est de sa responsabilité de constituer l'équipe en désignant les membres du projet et en défi- nissant leurs permissions. Pour se faire il faut accéder à la page d'administration du pro- jet et saisir le nom de tous les utilisateurs qui doivent être promus membres du projet et ensuite définir leurs permissions. Coup de pouce : vous ne trouvez pas la bonne catégorie ? Contactez-nous Plutôt que de mettre en place une hiérarchie de valeurs lourdes et complexes pour chacun des sept critères de classification de l'arbre des projets, l'équipe Codendi a décidé de faire évoluer cette hié- rarchie au fur et à mesure de l'apparition de nouveaux projets. Si vous ne trouvez pas la valeur qui vous convient dans l'un des critères de catégorisation, n'hésitez pas à contacter l'équipe Codendi via le lien "Contactez-nous" situé dans la section Aide du menu principal de Codendi ou en soumettant une demande dans l'un des forums de discussion du site. 20
  • 30. Guide de l'utilisateur Codendi CHAPITRE 5 Sommaire du projet La page de Sommaire du Projet est le point d'entrée d'un projet hébergé sur Codendi et c'est véritablement la seule page dont vous ayez à vous souvenir ou que vous ayez à conserver dans vos signets. A partir de cette page les utilisateurs enregistrés, les membres du projet ou les administrateurs peuvent accéder à l'ensemble des ressources et des services qui leur sont accessibles. Contrairement à la page d'Administration du Projet (voir Chapitre 6. Administration d'un projet [page 25]), le Sommaire du Projet est accessible à tous les utilisateurs. D'une certaine façon il s'agit de la façade publique du projet. 5.1 Accéder au Sommaire du Projet Pour les membres d'un projet, la façon la plus simple d'accéder à la page de sommaire consiste à se rendre sur la page personnelle et à cliquer sur le nom de projet approprié. Pour les autres utilisateurs, il existe plusieurs façons de se rendre sur le page de sommaire d'un projet : 1. Vous pouvez utiliser la boîte de recherche par mots-clés pour retrouver un projet dont vous connaissez tout ou partie du nom. 2. Vous pouvez explorer l'arbre des projets si vous savez dans quelles catégories se trouve le projet. 3. Vous pouvez aussi cliquer sur le nom du projet s'il apparaît dans le tableau de bord de la page d'accueil de Codendi. 4. Et enfin vous pouvez aussi indiquer explicitement l'URL à votre navigateur sous la forme : http://www.codendi.org/projects/nom_court_du_projet Si vous devez consulter régulièrement des projets dont vous n'êtes pas membre, nous vous conseillons de faire apparaître l'URL de la page de sommaire dans votre page personnelle Co- dendi en utilisant la fonction "Cette page en signet" du menu de Codendi (voir Section 3.3 [page 15]). Le Sommaire du Projet n'est pas sa Page d'Accueil ! La page de sommaire du projet ne doit pas être confondue avec la page d'accueil. La page de som- maire donne une vue d'ensemble des activités et des délivrables du projet alors que la page d'accueil est le point d'entrée du site Web de votre projet. Le site Web d'un projet peut être utilisé pour accueillir vos visiteurs, les informer et les orienter vers les différents services de Codendi. (voir Chapitre 17. Site Web d'un projet [page 193] pour plus d'information sur l'élaboration du site Web de votre projet). 21
  • 31. Guide de l'utilisateur Codendi 5.2 Contenu de la page de sommaire Un exemple de page de sommaire d'un projet est visible sur la Figure 7. Un exemple de page de Sommaire d'un projet [page 23]. La page se divise en plusieurs zones : • Menu principal du projet : il se trouve en haut de la page juste sous le nom du projet. Le menu principal est un récapitulatif de l'ensemble des services disponibles pour ce projet. Ce menu reste visible sur toutes les pages qui concernent le projet dans lequel vous naviguez. • Description courte et catégorisation : ces éléments ont déjà été décrits auparavant. A côté de la description courte figure un pointeur vers une description plus détaillée du projet. • Membres et administrateurs du projet : ils apparaissent en haut à droite de la page. Un clic sur l'un des noms vous donnera plus d'information sur l'utilisateur et la possibilité de lui envoyer un email. • Une zone configurable (voir ci dessous). 22
  • 32. Guide de l'utilisateur Codendi Figure 7. Un exemple de page de Sommaire d'un projet Codendi permet aux administrateurs du projet de personnaliser la page sommaire du projet. Le contenu de la page est constitué de widgets. Tous les widgets peuvent être déplacés (1), fer- més ou supprimés (2). Certains d'entre eux peuvent fournir un flux rss (3) ou des préférences peuvent être choisies (4). Les utilisateurs autres qu'administrateurs du projet verront une page statique. Les widgets se- ront les mêmes, organisés de la même façon, mais les utilisateurs ne pourrront pas modifier la page. Les widgets peuvent être ajoutés grâce au lien "Ajouter des widgets" (5). Voici une liste non- exhaustive de widgets disponible pour les projets : • Derniers fichiers publiés : montre la liste des versions les plus récentes des paquets 23
  • 33. Guide de l'utilisateur Codendi ) permet de consulter les notes concernant cette version ainsi qu'un résumé des changements (Changelog). A proximité se situe l'icône de surveillance de ce paquet ( ). La sélection de cette icône active la surveillance automatique de ce paquet logiciel par Codendi. A chaque fois que l'équipe de projet dépose une nouvelle version du logi- ciel, un message de notification vous est envoyé. Tous les paquets sous surveillance se trouvent sur votre Page Personnelle et la surveillance peut être désactivée depuis cette page ou depuis la page principale du gestionnaire de fichiers. • Zones publiques : il s'agit d'une liste de tous les services disponibles pour ce projet as- sortis d'informations complémentaires (comme par exemple le nombre d'artefact ouvert ou fermé). Le rôle de cette liste est quasiment identique à celui du menu principal du projet situé en haut de la page à savoir fournir un accès rapide à chacun des services du projet. • Dernières annonces : les dix dernières annonces publiées par les membres du projet. Certaines de ces annonces peuvent aussi apparaître sur le page d'accueil du site si l'équipe Codendi en décide ainsi. • RSS Reader vous permet d'inclure dans votre page personnelle des fils rss (ou atom) publiques. Par exemple le lecteur peut afficher un flux publié par un outil externe utilisé par le projet (ex: intégration continue). 24
  • 34. Guide de l'utilisateur Codendi CHAPITRE 6 Administration d'un projet Lorsque vous accédez à la page de Sommaire d'un projet ou à l'un de ses services, une nou- velle entrée appelée Admin apparaît dans la barre de menu du projet. Seuls les membres du projets ont accès aux pages d'administration du projet. Tous les autres utilisateurs s'en verront refuser l'accès. 6.1 Menu d'administration du projet Sous le menu principal du projet que nous avons présenté lors du passage en revue de la page de sommaire, figure le menu d'administration du projet. A l'exception d'un ou deux éléments, ce menu d'administration et le contenu de la page d'accueil de la section administration ne sont pas redondants. Ils donnent accès à des fonctions d'administration distinctes. Dans les sections qui suivent nous préciserons à côté de chaque fonction d'administration si on y accède par le menu d'administration ou par la page d'accueil de la section administration. 6.2 Ajout/Suppression d'utilisateurs Emplacement : contenu de la page d'administration L'administration des membres d'un projet est aisée. Selon le nombre d'utilisateurs à ajouter au projet, vous pouvez utiliser l'une des deux méthodes ci-dessous : 6.2.1 Ajout d'un utilisateur Pour ajouter un utilisateur aux membres du groupe, un des administrateurs du projet doit sim- plement taper le nom de l'utilisateur invité dans le champ réservé à cet effet et cliquer sur le bouton "Ajouter un utilisateur". Si vous ne connaissez pas le nom du nouveau membre à ajou- ter, ouvrez une nouvelle fenêtre et utilisez la boîte de recherche par mots-clés en tapant une partie du nom ou du prénom de l'utilisateur et en n'oubliant pas de préciser que la recherche porte sur les "Utilisateurs". La liste de résultat fera vraisemblablement apparaître le nom com- plet et le nom d'utilisateur de la personne que vous recherchez. 6.2.2 Import d'une liste d'utilisateurs Si le nombre d'utilisateurs à ajouter est important, un des administrateurs du projet peut impor- ter une liste d'utilisateurs à partir d'un fichier texte. Pour cela, cliquer sur le lien "Importer une liste d'utilisateurs". On vous proposera alors de choisir un fichier texte comportant la liste des utilisateurs à importer. Le fichier doit comporter un utilisateur par ligne, soit en spécifiant son 25
  • 35. Guide de l'utilisateur Codendi adresse email, soit en spécifiant son nom de login Codendi. johnd steve.robinson@xerox.com bob.johnson@xerox.com smith3 john.smith@xerox.com Exemple 1. Exemple de fichier pour l'import d'utilisateurs Le processus d'import se déroule alors en deux temps. Une première vérification du fichier est effectuée, qui donne lieu à un compte-rendu des utilisateurs détectés. Après validation, les utili- sateurs sont effectivement ajoutés au projet. Le système n'effectuera pas l'import en cas d'erreur (utilisateur inconnu, non enregistré sur Codendi, utilisateur non actif, adresse mail in- connue, etc...). Les doublons ne produisent pas d'erreur. Un seul utilisateur est ajouté dans ce cas. 6.2.3 Suppression d'utilisateurs Supprimer un utilisateur des membres du projet est encore plus simple. Il suffit de cliquer sur l'icône corbeille ( ) située à proximité du nom de l'utilisateur. Supprimer un utilisateur des membres du projet n'a absolument aucun effet sur l'historique ou l'intégrité des données du pro- jet. En d'autres termes tous les artefacts des outils de suivi soumis par ou assignés à cette per- sonne restent présents et inchangés dans la base de données. Seule la capacité de cette per- sonne à gérer le projet est affectée. Notez aussi que pour supprimer un administrateur de la liste des membres du projet, un autre administrateur doit d'abord lui ôter son statut d'administrateur en positionnant la valeur de la permission "Admin.Projet" à "Non" dans la table d'édition des permissions utilisateurs. En d'autres termes, un administrateur de projet ne peut être supprimé de la liste des membres tant qu'il a le statut d'administrateur. Vous avez probablement remarqué que tous les noms d'utilisateurs figurant sur la page d'administration sont en fait des liens hypertextes. Sur cette page comme sur beaucoup d'autres, un clic sur un nom d'utilisateur vous mène sur une page d'information le concernant (y compris son lieu de travail, téléphone, fax, ... extraits de l'annuaire d'entreprise) qui vous permet aussi de lui envoyer un email par le biais d'un formulaire Web. 26
  • 36. Guide de l'utilisateur Codendi Figure 8. Un exemple de page d'administration d'un projet 6.3 Informations publiques du projet Emplacement : Menu d'administration L'item "Édition Infos Publiques" du menu d'administration permet à un administrateur de mettre à jour les éléments de description du projet; il s'agit d'éléments fournis pendant la phase d'enregistrement du projet. 6.4 Catégorisation du projet Emplacement : contenu de la page d'administration C'est ici que vous pouvez définir la catégorisation de votre projet. Vous pouvez définir au plus trois valeurs pour chacun des sept critères de catégorisation utilisé dans l'arbre des projets. Si vous ne trouvez pas de valeur correspondant à votre projet, n'hésitez pas à contacter l'équipe Codendi. 6.5 Type de projet 27
  • 37. Guide de l'utilisateur Codendi Emplacement : contenu de la page d'administration Codendi propose trois types de projets : • Projet : C'est le type des projets standards sur Codendi. • Patron de projet : Si vous utilisez ce type de projet, de nouveaux projets peuvent réuti- liser la configuration des services de ce projet. En enrégistrant un nouveau projet (voir Section 4.1 [page 18]), votre patron de projet est listé comme patron disponible. Quand vous choisissez votre projet comme patron le nouveau projet utilisera exactement la même configuration. Cela inclut que : • le nouveau projet est classé selon les mêmes critères que le projet de patron (voir Section 2.2.1 [page 6]). • Les mêmes services sont activés (voir Section 6.6 [page 28]). Les services non dispo- nibles ne seront pas présents. Les services désactivés seront également désactivés par défaut. • les mêmes références sont définies (voir Section 6.8 [page 30]). • les mêmes groupes d'utilisateurs existent (voir Section 6.10 [page 35]). • tous les outils de suivi ayant l'option "instancier dans les nouveaux projets" sont co- piés avec les champs associés, leurs valeurs, leurs dépendances ainsi que les rap- ports de recherche et les permissions (voir Section 7.13 [page 69]). • les mêmes forums seront créés. Par contre, les messages ne sont pas copiés. • les documents, ainsi que l'architecture du gestionnaire de document seront présents. • les paramètres d'administration CVS seront copiés (préambule, suivi CVS, Mode CVS Watch), mais les adresses emails et les permissions CVS ne sont pas copiés. • les paramètres d'administration SVN seront copiés (préambule, suivi SVN), mais les adresses emails et les permissions SVN ne sont pas copiées. • les paquets et leurs permissions seront copiés. Remarquez que les membres du projet de patron ne seront pas automatiquement membres du nouveau projet. Un projet de patron n'apparaît plus dans l'arbre des projets et est exclu des statistiques de projets du tableau de bord de Codendi (see Section 2.3 [page 11]) comme les projets récents, les projets les plus actifs, etc... • Projet de test : Si vous voulez juste essayer tout ce qui est faisable avec un projet Co- dendi vous pouvez utiliser le type projet de test. En utilisant ce type de projet votre pro- jet n'apparaît plus dans l'arbre des projets ni dans les statistiques de projets du tableau de bord de Codendi. 6.6 Configuration des services Emplacement : Menu d'administration L'entrée "Configuration des services" dans le menu d'administration donne accès à la liste de tous les services activés pour le projet courant. Les services sont les items qui apparaissent dans la "Barre de Services", à savoir le menu qui apparaît en haut de chaque page du projet : outils de suivi, documentation, CVS, Page d'accueil, etc... La page de configuration des ser- vices permet à l'administrateur du projet de modifier, activer, désactiver ou même créer des ser- vices dans la barre de services. Il existe deux sortes de services : 28
  • 38. Guide de l'utilisateur Codendi • Les services système : ces services sont définis par l'administrateur du site et sont communs à tous les projets. Seuls leur état (actif/inactif) et leur position à l'écran peuvent être modifiés (voir ci-dessous). • Les services projet : ces services peuvent être modifiés à loisir, voire même suppri- més par l'administrateur du projet. La seule exception concerne le service Site Web; il s'agit d'un service système mais il peut être personnalisé pour pointer sur l'URL de votre choix. Chaque projet hébergé sur Codendi pos- sède son propre serveur Web virtuel sur le site Codendi. Par défaut le service "Site Web" de la barre de services pointe sur ce site (voir le Chapitre 17. Site Web d'un projet [page 193] pour plus de détails). Vous pouvez remplacer l'URL par défaut avec un pointeur vers votre propre site Web. Attention à ne pas confondre le site web de votre projet avec la page de sommaire. Le site web de votre projet pointe sur un ensemble de pages HTML dont vous êtes l'auteur alors que la page de sommaire du projet est uniquement un point d'entrée vers les différents services et délivrables de votre projet. 6.6.1 Créer ou modifier un service Lors de la création ou de la modification d'un service, vous devez fournir les informations sui- vantes : 1. Label du service : Il s'agit du nom du service tel qu'il apparaîtra dans la barre de ser- vices. Il doit être aussi concis que possible. 2. Lien vers le service : il s'agit de l'URL qui mène au service en question, c'est à dire l'URL vers lequel l'utilisateur est redirigé lorsqu'il sélectionne ce service dans la barre de service. La page $ sera chargée dans la fenêtre courante. Quelques mots-clés particuliers peuvent être utilisés dans l'URL; ils seront automati- quement remplacés par leur valeur avant d'être insérés dans la barre de service : • $projectname : le nom court du projet • $sys_default_domain : le nom de domaine du serveur Codendi (ici "www.codendi.org") • $group_id : l'identifiant du projet • $sys_default_protocol : 'https' si le serveur Codendi fonctionne en mode sécurisé, 'http' dans le cas contraire. 3. Description du service : Description courte du service. Elle est affichée dans une bulle de texte lorsque le curseur de la souris se trouve sur le label du service dans la barre de services. 4. Actif : En cochant cette case, le service est activé c'est à dire qu'il est utilisable et qu'il apparaît dans la barre de services. Décocher la case revient à désactiver le service et à le faire disparaître de la barre de services. Il est à noter que la désactivation d'un ser- vice n'affecte en rien les données de ce dernier. En d'autres termes, la réactivation d'un service donne accès à l'ensemble des données telles qu'elles étaient au moment de la désactivation. Voir aussi la "Suppression d'un service" ci-dessous. 5. Rang à l'écran : ce nombre entier arbitraire permet de définir la position de ce service relativement aux autres dans la barre de service. Les services ayant la valeur de rang 29
  • 39. Guide de l'utilisateur Codendi la plus faible apparaîtra en premier dans la barre de services (en partant de la gauche). Il est recommandé d'utiliser des nombres comme 10, 20, 30, ... pour pouvoir insérer de futurs services sans avoir à renuméroter tous les services existants. 6.6.2 Suppression d'un service Les services peuvent aussi être détruits si l'icône corbeille figure à proximité du nom du service. Un clic sur cette icône supprime définitivement le service de la liste. Les données du service correspondant sont cependant préservées. Les services système ne peuvent être détruits. Vous pouvez cependant les désactiver pour qu'ils n'apparaissent pas dans la barre de services. 6.7 Administration des services Emplacement : contenu de la page d'administration La page d'administration du projet donne aussi un accès direct à l'ensemble des modules d'administration de chaque service activés par le projet. Cet accès est fourni sous la forme d'une liste de liens hypertextes situés en bas à gauche de la page d'administration. Seuls les membres du projet ayant les droits d'administration sur les différents services ont accès à ces modules (voir Section 6.9 [page 34]). 6.8 Configuration des patrons de référence Emplacement: Menu d'administration La page de configuration des patrons de référence liste l'ensemble des patrons de référence disponibles dans le projet. Elle permet aussi aux administrateurs du projet de modifier, activer, désactiver, ou créer des patrons de référence. 6.8.1 Présentation des références Les patrons de référence sont un outils puissant permettant de créer des références croisées entre objets de Codendi. En fonction d'un patron de texte, Codendi peut créer automatiquement un hyperlien vers l'objet souhaité. Lorsque vous tapez un commentaire, ou un message de commit, tout morceau de texte qui suit le patron "XXX #NNN" est interprété comme une référence à l'objet XXX numéro NNN. Ainsi, 'art #123' sera détecté comme une référence à l'artefact numéro 123, et Codendi créera auto- matiquement un hyperlien qui pointe sur la page décrivant précisément cet artefact. Vous pouvez également référencer un objet appartenant à un autre projet. A cette fin, utilisez soit 'XXX #num_projet:NNN', soit 'XXX #nom_projet:NNN' pour référencer l'objet XXX numéro NNN appartenant au projet numéro 'num_projet', ou dont le nom est 'nom_projet'. Par exemple, 'wiki #monproj:Accueil' est une référence à la page wiki 'Accueil' du projet 'monproj'. Certains patrons de référence peuvent nécessiter plusieurs paramètres. Dans ce cas, utilisez le caractère '/' comme séparateur entre les paramètres. Par exemple, 'wiki #Accueil/2' crée une ré- férence vers la page wiki 'Accueil' à la version 2. 30
  • 40. Guide de l'utilisateur Codendi Il existe deux types de patrons de référence : • Les patrons de référence système : ces patrons de référence sont définis par l'administrateur du site et sont communs à l'ensemble des projets. Ils ne peuvent pas être modifiés, excepté leur statut (activé/désactivé). La plupart des patrons de référence système sont liés à un service spécifique. Ainsi 'art', 'doc', 'file' ou 'wiki' sont liés respectivement aux services outils de suivi, gestion- naire de documents, gestionnaire de fichiers et Wiki. Afin de faciliter l'utilisation de ces patrons de référence, ils sont automatiquement activés ou désactivés lorsque le service correspondant est activé/désactivé. Cependant, il est toujours possible de les activer ou de les désactiver manuellement. • Les patrons de référence projet : ces patrons de référence peuvent être entièrement personnalisés par les administrateurs du projet. 6.8.2 Patrons de référence prédéfinis Voici la liste des patrons de référence prédéfinis : • art #num ou artifact #num : référence à l'artefact numéro 'num'. C'est un numéro glo- bal au système (l'artefact 'num' est unique, et n'existe que dans un projet). Cette réfé- rence crée un lien vers la page de description et de mise à jour de l'artefact. En sus des mots clés 'art' et 'artifact', les artefacts peuvent être référencés à l'aide du nom court de l'outil de suivi. Ainsi, un artefact issu d'un outil de suivi de bugs (anomalies) pourra être référencé par bug #NNN, une demande de support (support request) par sr #NNN, une tâche par task #NNN et un patch avec patch #NNN. Ainsi, lorque vous créez un outil de suivi personnalisé, il est important de bien choisir son nom court. • commit #num ou cvs #num : référence au commit CVS numéro 'num'. C'est un nu- méro global au système. Cette référence crée un lien vers la page de description du commit, qui contient le message du commit, la liste des fichiers modifiés, les liens vers les modifications, ... • rev #num ou revision #num ou svn #num : référence à la révision Subversion nu- méro 'num'. C'est un numéro propre au projet : si vous souhaitez référencer une révi- sion Subversion d'un autre projet, il vous faudra spécifier le projet dans la référence (par exemple: 'rev #monproj#123'). Cette référence crée un lien vers la page de description de la révision, qui contient le message du commit, la liste des fichiers modifiés, les liens vers les modifications, ... • wiki #pagewiki et wiki #pagewiki/num : référence à la page Wiki nommée 'pagewiki'. Le second format permet de spécifier la version de la page Wiki. Les pages Wiki sont propres à un projet, donc si vous devez référencer une page appartenant à un autre projet, il faut spécifier le projet dans la référence. • doc #num ou document #num : référence au document numéro 'num'. C'est un nu- méro global au système. Les numéros de documents sont visibles dans la page princi- pale du service 'Documentation' : l'identifiant est visible lorsqu'on place la souris sur le titre. La référence pointe sur le document lui-même. • news #num : référence vers l'annonce numéro 'num'. C'est un numéro global au sys- tème. Cette référence crée un lien vers la page d'annonce, où il est possible d'ajouter 31
  • 41. Guide de l'utilisateur Codendi des commentaires. • forum #num et msg #num : référence vers le forum numéro 'num' ou vers le message de forum numéro 'num'. Ce sont des numéros globaux au système. La première réfé- rence crée un lien vers la page d'accueil du forum, tandis que la deuxième crée un lien vers un message précis. • file #num : référence vers le fichier numéro 'num'. C'est un numéro global au système. Ce type de référence permet de télécharger directement un fichier faisant partie d'une version. Les numéros de fichiers sont visibles dans la page principale du service 'Fi- chiers' : l'identifiant est visible lorsqu'on place la souris sur le nom du fichier. La réfé- rence pointe sur le fichier lui-même, et le navigateur peut alors vous demander à quel endroit vous voulez le sauvegarder. Il se peut aussi que vous deviez accepter la licence du projet avant de pouvoir télécharger le fichier. • release #num : référence vers la version (release) numéro 'num'. C'est un numéro glo- bal au système. Les numéros de version sont visibles dans la page principale du ser- vice 'Fichiers' : l'identifiant est visible lorsqu'on place la souris sur le nom de la version. La référence pointe sur la page d'accueil du gestionnaire de fichier, où la version réfé- rencée est mise en valeur dans la liste. 6.8.3 Utilisation des références Lors des phases de développement ou de maintenance d'un projet, il est essentiel de garder la trace des changements effectués dans le code source. C'est ce que font les systèmes de ges- tion de configuration comme CVS ou Subversion. En complément de ce suivi, il est tout aussi critique de pouvoir relier ces changements de code aux artefacts (une tâche, une anomalie ou une demande d'assistance) qui ont amené les développeurs à modifier le code ou la documen- tation. Et inversement, à la lecture d'un artefact il est très utile de voir quels changements il a engendré dans le code source. L'intégration de CVS et de Subversion avec Codendi fournit précisément ce mécanisme de réfé- rences croisées. Ceci est rendu possible par l'utilisation des références à utiliser dans les com- mentaires des artefacts ou dans les messages de commits que Codendi reconnaît automatique- ment. Le système n'est pas limité aux références à des commits ou a des artefact, puisqu'il est égale- ment possible de référencer un message posté dans un forum, une documentation, ou un fi- chier. Le système est suffisament flexible pour permettre le référencement d'objets qui ne sont pas dans Codendi. Il vous suffit de créer vos propres patrons de référence pour relier vos mes- sages à un gestionnaire de document externe comme Docushare, ou à un outil de gestion de code source comme ClearCase. Coup de pouce : référencez les artefacts et les commits C'est une excellente pratique que de toujours référencer les tâches, anomalies, demande d'assistance appropriées dans le message de commit CVS ou Subversion. De la même façon, lorsque l'artefact correspondant est fermé, assurez-vous de mentionner le commit qui résout le pro- blème dans un commentaire. Vous constaterez que cette pratique est extrêmement efficace pour suivre l'historique des changements et pourquoi un changement a eu lieu. 6.8.4 Création ou modification d'un patron de référence 32
  • 42. Guide de l'utilisateur Codendi Pour créer ou modifier un patron de référence, il faut remplir les champs suivants : 1. Mot-clé : C'est le mot-clé qui va déclencher la création d'une référence lorsqu'il est dé- tecté. Il est préférable de le choisir court et explicite pour favoriser la lecture des réfé- rences. 2. Description : Courte description du patron de référence. Elle est affichée lorsqu'on place la souris sur une référence extraite. 3. Lien : C'est l'URL vers lequel pointe la référence. L'utilisateur sera automatiquement redirigé vers cette adresse s'il clique sur la référence. L'URL ne pointe pas nécessaire- ment vers le serveur Codendi : on peut créer des patrons de référence qui pointent vers des pages externes. La nouvelle page sera chargée dans le fenêtre courante. Certaines chaînes de caractères seront interprétées lors de la création de la référence : • $projname : nom court du projet. • $group_id : numéro du projet. • $0 : le mot-clé extrait par ce patron de référence. • $1 : le premier paramètre de la référence. • $2 : le deuxième paramètre de la référence. • $3...$9 : du troisième au neuvième paramètre de la référence. Exemples: • artifact #25 : '$0' vaut 'artifact', '$1' vaut '25' • wiki #codendi:Accueil/1 : '$0' vaut 'wiki', '$1' vaut 'Accueil', '$2' vaut '1', '$projname' vaut 'codendi' • myref #123:1/23/456 : '$0' vaut 'myref', '$1' vaut '1', '$2' vaut '23', '$3' vaut '456' et '$group_id' vaut '123' • google #codendi/xerox : '$0' vaut 'google', '$1' vaut 'codendi', '$2' vaut 'xerox'. Si vous avez défini le patron de référence 'google', avec un lien pointant vers http://www.google.com/search?hl=en&q=$1+$2, cliquer sur la référence 'google #codendi/xerox' lancera une recherche Google de 'codendi xerox'. • ds #123 : '$0' vaut 'ds', '$1' vaut '123'. Si vous avez défini le patron de référence 'ds', avec un lien pointant vers http://docushare/dsweb/Get/Document-$1, cliquer sur la référence 'ds #123' lancera le téléchargement du document '123' de votre serveur Do- cushare local. Il faut noter que le nombre de paramètres est important : si le nombre de paramètres dans le texte ne correspond pas au nombre de paramètres définis dans le patron de référence, la référence ne sera pas extraite. Ceci permet de créer plusieurs patrons de référence avec le même mot-clé, mais un nombre de paramètres différent. Voyez par exemple les références suivantes : 'wiki #Accueil' est une référence à un seul para- mètre pointant vers la page Wiki 'Accueil', alors que la référence 'wiki #Accueil/2' est une autre référence à deux paramètres pointant vers la page Wiki 'Accueil' à la version 33
  • 43. Guide de l'utilisateur Codendi '2'. 4. Actif : En cochant cette case, le patron de référence est activé, c'est à dire qu'il est uti- lisable et sera extrait automatiquement. Décocher la case revient à désactiver le pa- tron de référence. Voir aussi la "Suppression d'un patron de référence" ci-dessous. 6.8.5 Suppression d'un patron de référence Les patrons de référence projet peuvent aussi être détruits. Un clic sur l'icône corbeille figurant à proximité du nom du patron de référence supprime définitivement ce dernier. Un patron de ré- férence détruit devra être recréé pour être à nouveau utilisable. Les patrons de référence système ne peuvent être détruits. Vous pouvez cependant les désacti- ver pour que les références ne soient plus extraites. 6.9 Permissions utilisateurs Emplacement : contenu de la page d'administration Les administrateurs du projet ont la capacité à définir les permissions des membres du projets. Un membre de l'équipe de projet peut par exemple avoir tous les droits d'administration sur l'outil de suivi des anomalies et aucun droit concernant le gestionnaire de document du projet. Figure 9. Un exemple de table de permissions des membres d'un projet La Figure 9. Un exemple de table de permissions des membres d'un projet [page 34] montre un exemple de table de permissions des membres d'un projet. Chaque colonne représente un ser- vice ou une capacité de l'utilisateur et chaque ligne représente les droits d'un des membres du projet. Passons en revue chacune des colonnes : • Admin Projet : Un choix Oui/Non permet de définir si un utilisateur est un administra- teur du projet ou pas. Un administrateur a absolument tous les droits sur tous les ser- vices, les délivrables et les membres du projet. Seuls les administrateurs ont accès à la page de définition des permissions des utilisateurs. • Écriture CVS : actuellement toujours positionné à Oui. Tous les membres du projet ont les droits d'accès en écriture sur le dépôt CVS 3 du projet et cela ne peut être modifié depuis l'interface utilisateur de Codendi. Nous verrons cependant comment désactiver 3CVS signifie Concurrent Version System. C'est l'un des systèmes de contrôle de version offert par Codendi. CVS est utilisé par des centaines de milliers de projets à travers le monde. Voir http://www.cvshome.org pour plus d'information. 34
  • 44. Guide de l'utilisateur Codendi l'accès en écriture au dépôt CVS dans le chapitre qui lui est consacré (Chapitre 9. Contrôle de version avec CVS [page 107]). • Outils de suivi : • None : l'utilisateur a les mêmes droits sur cet outil qu'un utilisateur externe au projet. • Administrateur : Les administrateurs des outils de suivi (et des autres services) ont tous les droits d'administration concernant ce service. Par exemple, il leur est pos- sible de définir de nouveaux champs ou de nouvelles valeurs pour les champs de cet outil de suivi. • Forums, Gestionnaire de documents, Gestionnaires de fichiers : • None : l'utilisateur a les mêmes droits sur cet outil qu'un utilisateur externe au projet. • Modérateur : (Forums uniquement) : un modérateur a la capacité à gérer la section forum du projet, à savoir créer/détruire des forums, supprimer des messages indési- rables dans un forum et changer la configuration d'un forum comme modifier le sta- tut (public/privé) ou changer la description. • Éditeur : (Gestionnaire de documents uniquement) : Un éditeur peut passer en revue et valider un document avant sa publication. Il peut aussi mettre à jour ou détruire un document. • Administrateur : (Gestionnaire de fichiers uniquement) : un administrateur du ges- tionnaire de fichiers peut gérer les paquets et les versions de fichiers. Il peut aussi définir les permissions d'accès à ces fichiers pour les différents groupes d'utilisateurs existants. Il ne peut cependant pas définir les groupes d'utilisateurs. Seuls les administrateurs du projet ont cette possibilité. • Membres des groupes d'utilisateurs : Pour chaque utilisateur figure dans cette co- lonne la liste des groupes d'utilisateurs auxquels il appartient. Voir Section 6.10 [page 35] pour plus d'information sur les groupes d'utilisateurs. Rappel ! N'oubliez pas de cliquer sur le bouton "Mettre à jour les permissions" en bas de page après avoir ef- fectué des modifications dans la table des permissions. 6.10 Groupes d'utilisateurs Emplacement : Menu d'administration Un groupe d'utilisateurs, aussi appelé "ugroup", est tout simplement un regroupement d'utilisateurs Codendi. Les groupes d'utilisateurs sont utilisés dans le but de définir des permis- sions spécifiques sur certaines données du projet (certains paquets ou versions de fichiers par exemple - voir Section [page 102]). Un groupe d'utilisateurs est toujours attaché à un projet en par- ticulier, mais les utilisateurs d'un groupe ne doivent pas nécessairement être membres de ce projet. 6.10.1 Gestion des groupes d'utilisateurs La fonction d'"Administration des groupes d'utilisateurs" donne accès à la liste de tous les 35
  • 45. Guide de l'utilisateur Codendi groupes d'utilisateurs définis pour ce projet et permet d'en créer de nouveaux. Figure 10. Page de gestion des groupes d'utilisateurs Dans la liste figure deux types de groupes (voir par exemple Figure 10. Page de gestion des groupes d'utilisateurs [page 36]) : 1. Les groupes d'utilisateurs prédéfinis : Ces groupes sont automatiquement définis pour chaque projet. Il s'agit par exemple de : membres_projet, admins_projet, utili- sateurs_enregistres, personne, admins_gestionnaire_fichier, etc... Ces groupes sont dynamiques c'est à dire que Codendi maintient la liste des membres de ce groupe pour vous. Ainsi si un nouveau membre du projet se voit accorder les droits d'administrateur, il sera automatiquement ajouté au groupe 'admins_projet' et dispo- sera des mêmes permissions que celles déjà accordées à ce groupe. 2. Les groupes d'utilisateurs personnalisés sont définis par les administrateurs du projet. Ils sont composés d'une liste statique d'utilisateurs qui doivent tous être des uti- lisateurs enregistrés de Codendi. Cette liste peut être modifiée à tout moment par l'administrateur. Elle n'est pas modifiée automatiquement sauf si un utilisateur est sup- primé de la liste des membres du projet ou si son compte Codendi est supprimé. 6.10.2 Créer un groupe d'utilisateurs Lors de la création d'un groupe d'utilisateurs, les informations suivantes doivent être fournies : 1. Nom : Il s'agit du nom du groupe tel qu'il apparaîtra dans les écrans de définition des permissions. Le nom ne peut contenir ni espace, ni ponctuation. 2. Description : une description courte du groupe d'utilisateurs. Elle est uniquement utili- sée dans les écrans d'administration des groupes d'utilisateurs. 3. Créer à partir de : c'est un moyen de présélection rapide des membres du groupe : vous pouvez créer un groupe à partir de rien (Groupe vide) ou bien en partant de la liste des membres du projet ou des administrateurs du projet. Les membres de ces groupes seront alors automatiquement insérés dans le nouveau groupe. Dans l'étape suivante vous pourrez ajouter ou supprimer des utilisateurs à ce groupe. 36
  • 46. Guide de l'utilisateur Codendi Figure 11. Édition d'un groupe d'utilisateur Sur l'écran suivant (voir Figure 11. Édition d'un groupe d'utilisateur [page 37]), l'administrateur du projet peut sélectionner les membres du groupe nouvellement créé. Deux colonnes sont visibles : celle de gauche contient la liste de tous les utilisateurs enregistrés sur le site et celle de droite présente la liste des utilisateurs déjà admis dans le groupe. Vous devez utiliser les flèches situées entre les deux colonnes pour supprimer ou intégrer de nou- veaux utilisateurs dans ce groupe. L'interface utilisateur offre aussi plusieurs façons très pratiques de sélectionner certains utilisa- 37
  • 47. Guide de l'utilisateur Codendi teurs lorsque la liste des utilisateurs enregistrés est très longue. Vous pouvez, par exemple, choisir d'afficher uniquement les utilisateurs dont le nom commence par une certaine lettre de l'alphabet ou vous pouvez aussi filtrer en tapant une partie du nom de l'utilisateur dans la boîte de texte 'Filtre'. Par exemple, si vous tapez 'jean', seuls les utilisateurs dont le nom complet ou le nom d'utilisateur comporte cette chaîne de caractères seront affichés. Une fois la sélection des utilisateurs terminée, il ne vous reste plus qu'à cliquer sur le bouton Valider pour créer le groupe d'utilisateurs. Coup de pouce : combiner les groupes pré-définis avec des utilisateurs supplémentaires ? Il se peut que vous souhaitiez accorder certaines permissions à tous les membres du projet plus quelques utilisateurs externes. Dans ce cas, il peut vous paraître tentant de créer un nouveau groupe à partir du groupe membres_projet et d'y ajouter les quelques utilisateurs externes man- quants. Cette solution est tout à fait acceptable mais elle présente l'inconvénient de ne pas mettre à jour automatiquement le groupe lorsque de nouveaux utilisateurs quittent ou rejoignent les membres du projet. Dans ce cas vous devrez effectuer les mêmes opérations manuellement pour le groupe défini. Il est donc préférable de créer un groupe qui ne contient que les utilisateurs externes et de lui accorder les mêmes permissions qu'au groupe dynamique 'membres_projet'. 6.10.3 Modifier un groupe d'utilisateurs Pour mettre à jour un groupe d'utilisateurs existant, il suffit de le sélectionner dans la liste des groupes d'utilisateurs. Un écran semblable à l'écran de création apparaît alors qui vous permet de modifier la composition de ce groupe d'utilisateurs. 6.10.4 Supprimer un groupe d'utilisateurs Les groupes d'utilisateurs peuvent aisément être supprimés en cliquant sur l'icône corbeille si- tué en regard du nom du groupe sur la page d'administration des groupes (voir Figure 10. Page de gestion des groupes d'utilisateurs [page 36]). Seuls les groupes d'utilisateurs personnalisés peuvent être supprimés. Avertissement Veuillez noter que la suppression d'un groupe d'utilisateurs impliqué dans la définition de certaines permissions est une action dangereuse. Par exemple, si ce groupe sert à limiter l'accès à un paquet logiciel, la suppression du groupe entraînera la suppression du contrôle d'accès et son retour au comportement par défaut, c'est à dire un accès à tous les utilisateurs. 6.10.5 Informations complémentaires sur les groupes d'utilisateurs Il est possible de connaître l'ensemble des groupes auquel appartient un membre du projet en accédant à la page de définition des permissions des membres (Section 6.9 [page 34]). Veuillez noter cependant que seuls sont affichés les groupes définis pour le projet courant. L'utilisateur peut effectivement appartenir à d'autres groupes d'utilisateurs dans d'autre projets. En bas de la page de modification d'un groupe d'utilisateurs (Figure 11. Édition d'un groupe d'utilisateur [page 37]) figure aussi la liste de toutes les permissions dans lesquelles ce groupe est impliqué au niveau des différents services (par exemple l'accès aux paquets et versions des logiciels). 38
  • 48. Guide de l'utilisateur Codendi Lorsqu'un utilisateur quitte les membres du projet, il est automatiquement supprimé de tous les groupes d'utilisateurs pour des raisons de sécurité. De la même façon lorsqu'un compte utilisateur est supprimé par les administrateurs du site, il est automatiquement supprimé de tous les groupes dont il est membre quel que soit le projet. 6.11 Exportation des données du projet Emplacement : Menu d'administration Codendi est particulièrement attractif pour de nombreuses équipes de projet car il offre une sé- rie d'outils complets pour le développement et la gestion de projet. Un projet peut-être géré qua- siment intégralement depuis Codendi. Cependant il se peut que l'équipe ressente le besoin d'effectuer certaines opérations sur les données du projet en dehors de Codendi comme par exemple rédiger un rapport sur l'état d'avancement du projet, ce qui se passe bien ou moins bien, actualiser la date de livraison prévue, dériver des données statistiques, etc... Il n'est pas du ressort de Codendi de fournir ces outils de reporting sophistiqués. Il existe de nombreux outils spécialisés sur le marché capable de générer des rapports d'activité et chaque équipe possède son outil préféré. Dans le but de satisfaire la grande diversité de ces besoins, Codendi offre un mécanisme très efficace qui permet d'exporter les données hors du projet pour les utiliser dans des outils comme MS Access, MS Excel, Crystal Report, Open Office ou tout autre outil adapté. Codendi offre 2 mécanismes d'exportation des données : • Exportation au format texte : ce mécanisme permet d'exporter les données au format CSV (Comma Separated Value), un format reconnu par quasiment tous les outils de bu- reautique ou les bases de données du marché. Si vous souhaitez développer votre propre application de reporting, la plupart des langages de programmation propose une librairie standard capable de manipuler le format CSV. • Accès direct à la base de données : à proprement parlé il ne s'agit pas d'exportation de données. Ce mécanisme permet en fait de se connecter directement à la base de données de vote projet via un pilote ODBC ou JDBC. Si vous souhaitez manipuler les données de votre projet avec un outil de base de données (comme MS Access ou une application ODBC/JDBC) c'est sans aucun doute le mécanisme d'exportation à utiliser. 6.11.1 Données exportées Codendi exporte les données suivantes (le détail des champs exportés et de leur format est dis- ponible sur la page Codendi) : • Outil de suivi : toutes les données des artefacts, l'historique de leurs modifications et leurs dépendances peuvent être exportés pour chaque outil de suivi. • Réponses aux enquêtes : toutes les réponses à toutes les enquêtes menées par votre projet sont exportables. 6.11.2 Exportation au format texte L'exportation au format texte suit le format CSV bien connu de toutes les suites bureautiques du 39
  • 49. Guide de l'utilisateur Codendi marché. Il peut être très facilement importé dans MS Access, MS Excel, Open Calc,… Chargement d'un fichier CSV dans Excel Un clic sur un des liens d'exportation des données de la page d'exportation génère et télé- charge à la volée un fichier CSV que vous pouvez sauvegarder sur votre ordinateur ou ouvrir di- rectement dans Excel ou tout autre tableur de votre choix. Aucune configuration particulière n'est nécessaire dans la plupart des cas. Néanmoins, vous avez la possibilité de changer le sé- parateur CSV ainsi que le format de date (voir Section 3.5 [page 17]) si le séparateur par défaut ne correspond pas au séparateur par défaut de votre version d'Excel 4. Chargement de fichiers CSV dans MS-Access Avant de pouvoir importer les données dans MS Access, vous devez d'abord créer une nouvelle base de données. Exécutez ensuite les étapes suivantes : • Sélectionnez Menu Fichier -> Accès aux données externes -> Importer • Choisissez le fichier CSV que vous venez juste de sauvegarder puis cliquez sur le bou- ton Importer.... Une prévisualisation de la table importée vous est présentée pour validation. • Cliquez sur le bouton Avancé... • Positionnez le délimiteur de texte à " (un guillemet) • Positionnez le format de date à AMJ • Positionnez le délimiteur de date à - (tiret) • Ensuite saisissez le nom et le type de chaque champ dans la partie inférieure de la boîte de dialogue. Souvenez-vous que ces informations sont disponibles sur la page d'exportation des données de Codendi. Remarque importante : vous pouvez conserver les noms des champs par défaut (Champ1,....ChampN) ainsi que les types par défaut proposés par MS Access. La seule exception concerne les champs texte longs comme les champs commentaires ou la description originale d'un artefact dont le type doit être Memo. Si vous ne spécifiez pas ce type spécifique, MS Access va corrompre les données importées. Si vous rencontrez des difficultés à l'importation du fichier CSV, veuillez consulter la Tip : Excel et les paramètres régionaux [page 63]. Après avoir spécifié les paramètres de l'importation, vous pouvez les enregistrer en cliquant sur le bouton Sauvegarder sous.... Pour de futures importations sur la même table, cliquez simplement sur le bouton Specs... et rechargez vos paramètres d'importation. 6.11.3 Accès direct à la base de données Dans le but d'offrir une flexibilité maximale Codendi offre aussi un accès direct aux données du projet via un connexion ODBC ou JDBC. Une fois installé sur votre PC, le pilote ODBC (ou JDBC) de MySQL permet un accès transparent aux tables de votre base de données spéci- fiques. Si vous utilisez MS Access pour générer vos rapports d'activité, l'accès direct à la base de don- nées est le moyen le plus simple et le plus rapide d'exploiter vos données. 4 Par exemple, le séparateur par défaut de la version française d'Excel est le point-virgule au lieu de la virgule. 40
  • 50. Guide de l'utilisateur Codendi Générer la base de données du projet Avant toute tentative d'accès aux données de votre projet via ODBC ou JDBC vous devez d'abord générer la base de données du projet. Pour ce faire, rendez vous sur la page d'exportation des données et cliquez sur le lien 'Générer la base de données du projet' au bas de la page. Vous devrez aussi cliquer sur ce lien à chaque fois que vous voulez actualiser les données de votre projet. Si tout se passe comme prévu, la base de données de votre projet sera alors générée en temps réel et un message vous informera de la fin du processus en vous rappelant la valeur des para- mètres à utiliser pour vous connecter depuis votre ordinateur. Conservez-les soigneusement. Remarque : si la base de données de votre projet contient plusieurs milliers d'enregistrements (tâches, bugs…), le processus de génération de la base de données peut prendre plusieurs mi- nutes. Installer et configurer le pilote ODBC de MySQL 1. Chargez tout d'abord le pilote ODBC de MySQL et décompressez l'archive dans un ré- pertoire temporaire de votre choix. 2. Lancez l'exécution du programme setup et parcourez les étapes du processus d'installation. Remarque importante : sur Windows vous devez être administrateur pour pouvoir installer le pilote. 3. Ajouter votre base de données dans les Source de Données Windows. Pour les utilisa- teurs de Windows : • Utilisez votre login Windows habituel. • Cliquez sur menu Démarrer -> Configuration -> Panneau de Configura- tion -> Outils d'administration -> Sources de données (ODBC). • Sélectionnez l'onglet "DSN Utilisateur" et cliquez sur le bouton "Ajouter". • Sélectionnez l'item "MySQL" dans la liste puis cliquez sur le bouton "Terminer". • Une boîte de dialogue apparaît vous demandant les paramètres de connexion suivants : • Windows DSN Name : c'est le nom de votre choix pour cette connexion. Vous pou- vez indiquer quelque chose comme "Base de données du projet X" par exemple. • MySQL Host(IP ou nom) : www.codendi.org. • MySQL Database Name : le nom de la bases de données correspond au nom court de votre projet préfixé par 'cx_'. Il vous a été donné à la fin du processus de généra- tion de votre base (voir plus haut). • User : le nom d'utilisateur est 'cxuser'. • Password : pas de mot passe (laissez le champ vide). • Port (if not 3306) : utilisez le port par défaut (ou laissez le champ vide). • SQL command on connect : aucune (laissez le champ vide). Installer et configurer le pilote JDBC de MySQL Pour ceux d'entre vous qui utilisent une application Java basée sur un driver JDBC, les instruc- tions d'installation du pilote JDBC de MySQL sont disponibles sur la page MySQL Java Connec- tivity page. Utiliser les données du projet depuis MS-Access 41
  • 51. Guide de l'utilisateur Codendi Avant d'utiliser MS-Access pour vous connecter à la base de données de votre projet, assurez- vous que le pilote ODBC de MySQL est correctement installé sur votre ordinateur (voir Section [page 41]) et que vous avez généré la base de données elle-même (voir Section [page 41]). En- suite exécutez les étapes suivantes : • Lancez MS Access et ouvrez une nouvelle base de données. • Dans le menu Fichier sélectionnez Données externes -> Importer. • Dans la boîte de sélection Types de fichier sélectionnez l'entrée Bases de don- nées ODBC. • Sélectionnez l'onglet Source de données machine et cliquez sur la base de don- nées de votre projet. • Sélectionnez les tables qui vous intéressent ou bien l'ensemble des tables en cliquant sur Tout sélectionner. MS-Access importe instantanément (à la vitesse de MS-Access :-)) les données de votre projet et vous pouvez désormais exploiter vos données comme vous le feriez pour une base de don- nées native MS Access. 6.12 Importation d'artefacts dans les outils de suivi Emplacement : contenu de la page d'administration Reportez vous à la Section 7.9 [page 61]. 6.13 Historique du projet Emplacement : Menu d'administration L'historique du projet fournit une fonction d'audit aux membres du projet. Un clic sur cet item montre une liste de l'ensemble des changements opérés dans le module d'administration du projet depuis sa création. La liste décrit la nature du changement intervenu (modification des in- fos publiques, modification des permissions, ...), la valeur de l'information avant le changement, l'auteur et la date de la modification. 6.14 Journal des accès Emplacement : Menu d'administration Selon la configuration du site Codendi et la configuration de chaque projet, différentes popula- tions d'utilisateurs sont susceptibles d'avoir accès au téléchargement de document, de code source et de fichiers. Le journal d'accès fournit aux membres du projet un audit complet des accès à ces ressources. La page du journal d'accès comprend les informations suivantes : • Les fichiers ont été téléchargés par qui et à quelle date. L'heure de téléchargement est indiquée en temps local pour l'utilisateur qui les a téléchargés. • La liste des opérations de checkout ou d'update sur le dépôt CVS ainsi que la liste des personnes ayant navigué dans l'arbre CVS via l'interface Web de Codendi. 42
  • 52. Guide de l'utilisateur Codendi • Quels utilisateurs ont accédé au dépôt Subversion soit via un client Subversion soit via l'interface Web de Codendi. • Quels utilisateurs ont téléchargé des documents du gestionnaire de documentation du projet hormis ceux qui sont accessibles aux utilisateurs anonymes (voir ???). L'affichage du journal d'accès peut être filtré pour présenter soit l'accès de tous les utilisateurs, soit ceux des membres du projet ou encore ceux des non-membres (défaut). La fenêtre de temps peut aussi être ajustée pour montrer une portion plus ou moins grande de l'historique. Figure 12. Exemple de journal d'accès 43
  • 53. Guide de l'utilisateur Codendi CHAPITRE 7 Service outils de suivi Les outils de suivi (de l'anglais trackers) représentent l'un des services les plus puissants et les plus flexibles mis à la disposition des projets hébergés sur Codendi. Ils assurent le suivi d'artefacts aussi variés que des bugs, des tâches, des fiches d'assistance, etc... et un projet peut créer autant d'outils de suivi que nécessaire. Tous les outils de suivi, qu'ils soient prédéfinis au niveau du site ou bien créés par chaque pro- jet sont entièrement personnalisables. 7.1 Terminologie et points commun Avant de présenter les fonctionnalités des outils de suivi, il est utile de passer quelques instants sur la terminologie employée pour les outils de suivi ainsi que sur les fonctionnalités communes. Étant donné que les outils de suivi sont conçus pour assurer le suivi de toutes sortes d'items, le terme générique "artefact" est utilisé dans ce document pour désigner tout type d'item faisant l'objet d'un suivi. Il peut s'agir d'anomalies, de tâches, de demandes de nouvelles fonctionnali- tés ou autres. Pour définir un nouvel outil de suivi il suffit juste de lui donner un nom, de choisir les champs à utiliser et les valeurs autorisées pour ces champs. En complément des champs personnalisables il existe un certain nombre d'autres informations qui sont attachés à un artefact de façon immuable. A savoir : • Les commentaires : tous les artefacts disposent d'un historique complet des commen- taires postés par les différents utilisateurs. • Fichiers attachés : tous les artefacts peuvent recevoir un nombre quelconque de fi- chiers attachés. Ces fichiers contiennent en général des informations complémentaires qui précisent la nature de l'artefact. • Destinataires en copie (CC) : un nombre quelconque d'utilisateurs peuvent être infor- més par email de toute modification intervenant sur l'artefact en ajoutant leur nom dans la liste des destinataires en copie. 7.2 Accéder à un outil de suivi Pour accéder au service outil de suivi d'un projet, rendez vous d'abord sur la page de sommaire du projet (voir Section 5.1 [page 21]) et cliquez soit sur l'entrée "Suivi" de la barre de services ou directement sur l'outil de suivi qui vous intéresse dans la section Zones Publiques de la page de sommaire. 44
  • 54. Guide de l'utilisateur Codendi Dans le premier cas, une page récapitulant l'ensemble des outils de suivi disponibles pour ce projet vous est présentée (voir Figure 13. Page d'accueil de l'outil de suivi [page 45]). Après avoir sélectionné l'outil de suivi qui vous intéresse, un certains nombre de fonctionnalités vous sont accessibles selon le niveau de permission dont vous disposez. Vous pouvez soumettre de nou- veaux artefacts, les modifier, effectuer des recherches et naviguer dans la base d'artefacts ou configurer l'outil de suivi. Figure 13. Page d'accueil de l'outil de suivi 7.3 Soumission d'un nouvel artefact Pour soumettre un nouvel artefact à un projet donné, vous devez tout d'abord accéder à l'outil de suivi approprié comme indiqué dans la section ci-dessus (voir Section 7.2 [page 44]. En pénétrant dans un outil de suivi, un écran de sélection et de navigation apparaît (plus d'information sur cette fonctionnalité dans la Section 7.4 [page 47]). Pour le moment cliquez sur l'entrée "Nouveau" dans le menu de l'outil de suivi en haut de l'écran (voir Figure 15. Un exemple d'affichage des résultats d'une requête sur un tracker [page 50]). 45
  • 55. Guide de l'utilisateur Codendi Figure 14. Un exemple d'écran de soumission d'artefact (ici de type "bug") La Figure 14. Un exemple d'écran de soumission d'artefact (ici de type "bug") [page 46] montre un exemple de soumission d'écran provenant d'un projet Codendi. En raison du très haut ni- veau de personnalisation de service de l'outil de suivi de Codendi, les écrans de soumission d'artefact varient énormément d'un outil de suivi à l'autre. Suivant les cas les champs affichés et le nom des artefacts diffèrent. Dans l'exemple fourni sur la Figure 14. Un exemple d'écran de soumission d'artefact (ici de type "bug") [page 46] les artefacts sont des bugs (aussi connu sous le nom "défauts" ou "anomalies" dans un langage plus châtié). Ici l'utilisateur doit fournir une catégorie, un groupe, une priorité et une personne à laquelle assigner l'artefact à partir des boîtes de sélection. Viennent ensuite la description d'une ligne et une entrée texte plus longue permettant de mieux décrire le bug en question. Après avoir soumis l'artefact en appuyant sur le bouton Soumettre, un identifiant unique (ID) lui est automatiquement assigné. Les valeurs proposées par un champ peuvent dépendre d'une valeur d'un autre champ. Si le ja- 46
  • 56. Guide de l'utilisateur Codendi vascript est activé dans votre navigateur, les champs seront alors filtrés dynamiquement. Sinon, Codendi s'assurera que les valeurs que vous soumettez sont correctes. Comme expliqué plus haut, le formulaire de soumission d'un artefact peut varier considérable- ment d'un outil de suivi à l'autre en fonction des champs utilisés. Le formulaire de soumission peut aussi varier selon votre niveau de permission. Un exemple assez typique consiste à don- ner accès à plus de champs aux membres du projet qu'aux utilisateurs externes à l'équipe. A titre d'exemple, sur la Figure 14. Un exemple d'écran de soumission d'artefact (ici de type "bug") [page 46], la personne qui soumet le bug est probablement un membre du projet car donner une valeur au champ "Assigné à" n'est, en général, pas du ressort d'un utilisateur externe. Il est en effet très improbable qu'un utilisateur lambda en sache suffisamment sur l'organisation in- terne d'un projet pour assigner un bug à la bonne personne. C'est pour cette raison que les champs visibles à la soumission sont configurables dans le module d'administration de l'outil de suivi (voir Section 7.13 [page 69]) Quoi qu'il en soit, n'oubliez pas de cliquer sur le bouton "Soumettre lorsque vous en avez ter- miné avec le formulaire ! Coup de pouce : assurez-vous que votre artefact n'a pas déjà été soumis Vous êtes sur le point de soumettre un bug ou une demande d'assistance à un projet Codendi ? Avant de vous lancer, assurez-vous qu'un artefact similaire n'est pas déjà présent. Pour ce faire, vous pouvez effectuer une recherche dans la base des artefacts soit par l'écran de sélection, soit en utilisant la boîte de recherche par mots-clés située dans le menu principal de Codendi. 7.4 Naviguer dans les artefacts Codendi permet de naviguer dans la base des artefacts selon un nombre de critères variables. 7.4.1 Critère de sélection La partie supérieure de l'écran de navigation est consacrée aux critères de recherche. La Figure 15. Un exemple d'affichage des résultats d'une requête sur un tracker [page 50] montre le jeu de critères par défaut disponibles à la création d'un outil de suivi. Ici, des bugs peuvent être sélec- tionnés en fonction de leur catégorie, de leur groupe, de leur statut et de la personne à qui il a été assigné. D'autres outils de suivi peuvent présenter d'autres critères de sélection en plus ou moins grand nombre selon la configuration mise en place par les administrateurs de l'outil. La façon de spécifier la valeur d'un critère de sélection dépend de son type. Le service outil de suivi propose actuellement les types de champs suivants : Champ de type boîte de sélection Une boîte de sélection prend ses valeurs dans une liste prédéfinie. Si vous utilisez le mode de recherche simple, seule une valeur peut être retenue comme critère de recherche. Si vous dési- rez sélectionner plusieurs valeurs de recherche, utilisez le mode recherche avancée. En général deux autres valeurs figurent dans la boîte de sélection : "Tous" correspond à n'importe quelle valeur de la liste et "Aucun" correspond aux artefacts pour lesquels la valeur de ce champ n'a pas encore été remplie. 47
  • 57. Guide de l'utilisateur Codendi Champ de type boîte de sélection multiple Une boîte de sélection multiple prend ses valeurs dans une liste prédéfinie. Contrairement à la boîte de sélection décrite précédemment celle-ci permet d'affecter plusieurs valeurs à un même champ. En mode recherche, elle se comporte exactement comme la boîte de sélection précé- dente : si vous utilisez le mode de recherche simple, seule une valeur peut être retenue comme critère de recherche. Si vous désirez sélectionner plusieurs valeurs de recherche, utilisez le mode recherche avancée. En général deux autres valeurs figurent dans la boîte de sélection : "Tous" correspond à n'importe quelle valeur de la liste et "Aucun" correspond aux artefacts pour lesquels la valeur de ce champ n'a pas encore été remplie. Champ texte Un champ texte peut contenir n'importe quel texte. Il existe deux façons d'effectuer une re- cherche dans un champ texte : • La recherche par mots-clés : vous pouvez taper une série de mots-clés séparés par des espaces qui seront TOUS recherchés dans le champ texte (y compris en tant que sous- chaîne dans un mot) • La recherche par expression régulière : vos pouvez aussi spécifier un critère de re- cherche sous la forme d'une expression régulière MySQL (n'oubliez pas les caractères / .../ qui doivent impérativement entourer l'expression !) Exemples : • /^[Aa]ddition/ : correspond aux champs texte qui commencent par "addition" ou par "Addition" • /lui|elle|nous/ : correspond aux champs texte contenant les chaînes de caractères "lui", "elle" ou "nous" Champ de type date Un critère de sélection de type date s'exprime sous la forme AAAA-MM-JJ où AAAA est l'année, MM le mois et JJ le jour. Exemples : 1999-03-21 pour le 21 Mars 1999, 2002-12-05 pour le 5 Décembre 2002. Champ de type entier Un champ de type entier peut prendre des valeurs entières positives, négatives ou nulle. Exemples : 0, 1, +2, -100… Il existe plusieurs façons d'interroger un champ de type entier. Les voici : • Entier simple : si vous tapez une simple valeur d'entier dans le champ la recherche ren- verra les champs qui contiennent exactement cette valeur (exemple : 610) • Inégalité : Si vous utilisez les signes >, <, >= ou =< suivi d'un entier la recherche ren- 48
  • 58. Guide de l'utilisateur Codendi verra les champs dont la valeur est inférieure, supérieure, inférieure ou égale, supé- rieure ou égale à la valeur d'entier spécifiée (exemples : > 120 , < -30). • Intervalle : si vous utilisez la notation "entier1-entier2" la recherche renverra les champs dont la valeur est supérieure ou égale à entier1 et inférieure ou égale à entier2 (exemples : 800 - 900 pour les entiers entre 800 et 900 inclus, -45 - 12 pour les entiers compris entre -45 et +12) • Expression régulière : les expressions régulières étendues de MySQL peuvent aussi être utilisées comme critère de recherche (exemple : /^4.*8$/ recherche tous les entiers dont la valeur commence par un "4", se termine par un "8" avec un nombre de chiffres quelconque entre les deux. Champ de type nombre flottant Un champ de type flottant peut prendre des valeurs décimales positives, négatives ou nulle. Il peut aussi utiliser la notation exponentielle pour exprimer de très grandes valeurs. Exemples : 0, 1.23, -2.456, 122.45E+12… Il existe plusieurs façons d'interroger un champ de type flottant. Les voici : • Flottant simple : si vous tapez une simple valeur de flottant dans le champ la recherche renverra les champs qui contiennent exactement cette valeur (exemple : 2.35) • Inégalité : Si vous utilisez les signes >, <, >= ou =< suivi d'un nombre la recherche ren- verra les champs dont la valeur est inférieure, supérieure, inférieure ou égale, supé- rieure ou égale à la valeur spécifiée (exemples : > 120.3 , < -3.3456E-2). • Intervalle : si vous utilisez la notation "flottant1-flottant2" la recherche renverra les champs dont la valeur est supérieure ou égale à flottant1 et inférieure ou égale à flot- tant2 (exemples : -1.2 - 4.5 pour des valeurs comprises entre -1.2 et 4.5 inclus) • Expression régulière : les expressions régulières étendues de MySQL peuvent aussi être utilisées comme critère de recherche (exemple : /^4.*8$/ recherche tous les nombres dont la valeur commence par un "4", se termine par un "8" avec un nombre de chiffres quelconque entre les deux y compris le point séparant les décimales. 7.4.2 Requêtes favorites ou prédéfinies pour les outils de suivi Coup de pouce : sauvegardez et réutilisez vos requêtes favorites Si vous effectuez souvent les mêmes recherches dans un outil de suivi (c'est à dire des recherches utilisant les mêmes champs de sélection et les mêmes valeurs), il est souhaitable que vous les sau- vegardiez pour pouvoir les réutiliser ultérieurement. Pour ce faire, sélectionner le rapport de re- cherche approprié, spécifiez vos critères de sélection et cliquez sur le bouton "Afficher" pour lancer la requête. Après exécution et affichage des résultats, il suffit de cliquez sur le lien "Cette page en si- gnet" figurant dans le menu principal de Codendi pour faire apparaître un nouveau signet dans votre page personnelle. En sélectionnant ce signet vous pouvez à tout moment relancer la même requête. Vos requêtes favorites peuvent être sauvegardées comme expliqué dans l'encadré coup de pouce ci-dessus, mais il existe aussi des requêtes prédéfinies présentées sous forme de rac- courci dans la menu de l'outil de service. Il s'agit de : 49
  • 59. Guide de l'utilisateur Codendi • Artefacts ouverts : affiche tous les artefacts qui ne sont pas encore fermés pour ce projet. • Mes Artefacts : affiche tous les artefacts qui vous sont assignés (sur la base du compte utilisateur que vous êtes en train d'utiliser) Vous noterez aussi que Codendi garde toujours la trace de la dernière requête effectuée. Lorsque vous vous présenterez à nouveau sur l'écran de recherche et de navigation, Codendi effectuera la même requête pour vous et vous présentera les résultats correspondants. Mode de recherche avancé Au tout moment durant une phase de recherche, vous pouvez basculer entre les modes re- cherche simple et recherche avancée. Le mode recherche avancée permet de spécifier plu- sieurs valeurs pour chaque critère de sélection. En utilisant ce mode vous pouvez par exemple rechercher à la fois les bugs dont le statut est 'ouvert' ou 'en attente' qui ont été assignés aux utilisateurs A ou B. 7.4.3 Résultats de la recherche dans un outil de suivi Sur la base de vos critères de sélection, Codendi effectue une requête dans la base de don- nées, sélectionne les artefacts correspondants et les affiche juste au dessous des critères de sélection. Le choix des colonnes affichées par la liste de résultat est entièrement configurable par l'équipe de projet. (voir Section [page 52]). C'est pour cette raison que l'écran d'affichage des résultats d'une requête peut être totalement différents de l'exemple montré sur la Figure 15. Un exemple d'affichage des résultats d'une requête sur un tracker [page 50]. Figure 15. Un exemple d'affichage des résultats d'une requête sur un tracker La sévérité des artefacts est codée sous forme de couleur. La palette des couleurs utilisées peut varier d'un site à l'autre et d'un thème graphique à l'autre. C'est pour cette raison que la correspondance entre niveaux de sévérité et couleurs est toujours indiquée à la suite des résul- tats renvoyés par une requête. Enfin, les résultats sont aussi affichés par bloc de N artefacts où N est un nombre paramétrable par l'utilisateur. Si plus de N artefacts sont renvoyés par une re- 50
  • 60. Guide de l'utilisateur Codendi quête, une barre de navigation vous permettra de naviguer sur les pages suivantes et précé- dentes. Pour accéder à un artefact donné à partir de la liste des résultats, il suffit de cliquer sur l'identifiant (ID) de l'artefact correspondant. Tri de la liste des artefacts Par défaut, les artefacts sont triés par identifiant (ID) ce qui correspond à l'ordre chronologique de création des artefacts dans la base de données de Codendi. La liste des artefacts peut être triée selon n'importe quelle colonne affichée à l'écran en cliquant sur l'entête de la colonne. Deux clics successifs permettent de basculer d'un ordre ascendant à un ordre descendant. Le sens du tri est visible sous la forme d'un petite flèche orientée vers le haut ou vers le bas figurant à côté du critère de tri juste au dessus de la liste des artefacts. La seule exception concerne le tri par Sévérité qui ne s'affiche pas sous la forme d'une colonne mais sous la forme d'une palette de couleur. C'est pour cette raison qu'il existe un lien spéci- fique permettant d'effectuer le tri par sévérité. Le tri multi-colonnes autorise des opérations de tri plus sophistiquées. Dans ce mode, les cri- tères de tri s'accumulent au fur et à mesure que vous cliquez sur les entêtes de différentes co- lonnes. Vous pouvez par exemple cliquer sur "Sévérité" puis sur "Assigné à" pour voir qui dans l'équipe est en charge des artefacts critiques et combien il y en a. A tout moment dans le tri multi-colonnes, un clic sur l'un des critères de tri affiché dans la liste "critère 1 > critère 2 > cri- tère 3..." vous ramènera en arrière dans les critères de tri. Grâce à cette fonctionnalité vous pouvez aisément tester plusieurs stratégies de tri. Note : les critères de tri, comme les critères de sélection, sont aussi sauvegardés dans vos pré- férences utilisateurs et Codendi appliquera les mêmes critères de tri lors de votre prochaine re- quête. Exporter les résultats d'une requête Au bas de la liste des résultats renvoyés par la requête figure un bouton qui permet d'exporter les artefacts sélectionné au format CSV. En utilisant cette fonctionnalité vous pouvez aisément sélectionner les artefacts auxquels vous souhaitez appliquer des traitements supplémentaires avec des outils externes à Codendi. Version imprimable Vous pouvez à tout moment cliquer sur le lien "Version imprimable" pour générer une version simplifiée et non décorée de la liste des artefacts que vous pourrez imprimer depuis votre navi- gateur ou copier-coller dans un document de votre choix. Pour une meilleure lisibilité nous vous conseillons d'imprimer les résultats en format paysage. Visualisation graphique Il est également possible de visualiser les résultats de la requête dans la section 'Graphiques' . Il y a trois types de graphiques disponibles nativement : le camembert, le graphique en bâton, et le diagramme de Gantt. 51
  • 61. Guide de l'utilisateur Codendi Rapports de recherche des outils de suivi Les rapports de recherche des outils de suivi permettent de configurer l'agencement de la page de recherche en choisissant les critères de sélection et les colonnes de résultats à afficher. Sui- vant le projet, les utilisateurs apprécieront la possibilité de pouvoir choisir parmi plusieurs rap- ports de recherche en utilisant la boîte de sélection prévue à cet effet en haut de la page de re- cherche. Si aucun rapport spécifique n'a été défini, le rapport appelé 'Défault' est le seul dispo- nible. Tout utilisateur Codendi ayant accès à l'outil de suivi peut définir son propre rapport de re- cherche. Dans ce cas, le rapport est personnel et il est uniquement visible par l'utilisateur qui l'a créé. A l'inverse, les administrateurs du tracker peuvent définir des rapports de recherche pour l'ensemble du projet que tous les utilisateurs pourront utiliser. Reportez vous à la Section 7.13.8 [page 89] pour plus de détails concernant la configuration des rapports de recherche. Rapports graphiques Il existe également un système de rapport graphique pour les outils de suivi. Suivant le projet, les utilisateurs apprécieront la possibilité de pouvoir choisir parmi plusieurs rapports de re- cherche en utilisant la boîte de sélection prévue à cet effet en haut de la page de recherche. Si aucun rapport spécifique n'a été défini, le rapport appelé 'Défault' est le seul disponible. Tout utilisateur Codendi ayant accès à l'outil de suivi peut définir son propre rapport graphique de recherche. Dans ce cas, le rapport est personnel et il est uniquement visible par l'utilisateur qui l'a créé. A l'inverse, les administrateurs du tracker peuvent définir des rapports graphiques de recherche pour l'ensemble du projet que tous les utilisateurs pourront utiliser. Reportez vous à la Section 7.13.9 [page 92] pour plus de détails concernant la configuration des rapports gra- phiques de recherche. 7.5 Modifier un artefact La sélection de l'identifiant (ID) d'un artefact dans la liste générée suite à une opération de re- cherche entraîne l'affichage d'une page qui comporte toutes les informations concernant cet ar- tefact. Selon les droits qui vous ont été octroyés sur cet outil de suivi (voir Section [page 72]) la vue détaillée présente un certain nombre de champs texte immuables ou d'autres champs mo- difiables. Si vous êtes un visiteur anonyme ou un utilisateur enregistré qui n'est pas membre du projet, il est très probable que la plupart des champs apparaissent comme non modifiables. Par défaut, les utilisateurs extérieurs à l'équipe ne peuvent modifier les champs d'un artefact. Ils sont uniquement en mesure de soumettre un commentaire, de s'ajouter dans la liste des desti- nataires en copie ou d'attacher un fichier à l'artefact. L'écran de modification d'un artefact se divise en plusieurs sections :Entête, Commentaires, Destinataires en copie, Fichier attachés, Dépendances et Historique. 7.5.1 Entête La zone d'entête concentre l'ensemble des champs associés à un artefact. Comme le montre la figure Figure 16. Entête d'un écran de modification d'un artefact (champs de l'outil de suivi) [page 53], certains champs disposent d'un jeu de valeurs prédéfinies, d'autres sont des champs numériques (Effort) ou des champs texte (Résumé). Pour plus de clarté, les champs sont re- 52
  • 62. Guide de l'utilisateur Codendi groupés en groupes de champs. Le jeu de champs utilisés pour un outil de suivi donné, ainsi que les valeurs prédéfinies et les groupes de champs peuvent être entièrement configurés par les membres du projet qui ont les droits d'administration sur cet outil de suivi (voir Section 7.13 [page 69] à ce sujet). Figure 16. Entête d'un écran de modification d'un artefact (champs de l'outil de suivi) 7.5.2 Commentaires Autant de commentaires que nécessaire peuvent être attachés à un artefact. Il s'agit de com- mentaires libres saisis dans un champ texte. Les commentaires présentent plusieurs caractéristiques intéressantes : • Réponses-type : il n'est pas rare de voir les personnes en charge de la gestion des ar- tefacts poster les mêmes commentaires de façon répétée. Un message de remercie- ment à la personne qui a soumis l'artefact, une demande concernant des informations manquantes comme un numéro de version ou le type de la machine, sont autant d'exemples de commentaires utilisés fréquemment. Plutôt que de retaper sans cesse le même texte, Codendi permet de créer un ensemble de réponses prédéfinies appelées réponses-type. Chaque réponse-type se compose d'un nom et d'un contenu. Pour poster une réponse-type il suffit de la choisir dans la boîte de sélection prévue à cet effet et de soumettre les modifications. La définition d'une réponse-type peut se faire à la volée à partir de l'écran de modification d'un artefact en cliquant sur le lien "définir une réponse-type". • Types de commentaire : dans le but d'éviter la croissance exponentielle du nombre de champs texte d'un outil de suivi destinés à recevoir du texte libre, Codendi offre un mé- canisme de typage des commentaires. L'équipe de projet peut définir un certain nombre de labels qui peuvent servir à étiqueter un commentaire. C'est une fonctionnalité inté- ressante pour définir la nature de l'information contenue dans un commentaire et pour les repérer rapidement dans la liste des commentaires. Voici quelques exemples ty- piques de labels utilisés dans un système de suivi d'anomalies : "Solution de Rechange" pour un commentaire qui explique comment contourner un problème, "Fichiers concer- 53
  • 63. Guide de l'utilisateur Codendi nés" pour un commentaire qui donne la liste des fichiers à modifier pour corriger l'anomalie, "Cas de test" pour un commentaire qui décrit comment tester l'anomalie et la reproduire, etc... Les types de commentaires sont définis dans le module d'administration de l'outil de suivi (voir Section 7.13 [page 69]) • Références croisées : lorsque vous saisissez un commentaire, vous pouvez utiliser certains patrons de texte pour référencer d'autres artefacts, des commits CVS ou Sub- version, des documents, etc... Ces patrons seront automatiquement transformés en hy- perliens vers les objets correspondants lors d'un prochain affichage du commentaire. Il s'agit d'un mécanisme extrêmement puissant et simple d'usage qui est décrit en détail dans la Section 7.5.6 [page 57]. 54
  • 64. Guide de l'utilisateur Codendi Figure 17. Commentaires attachés à un artefact 7.5.3 Destinataires en copie Comme nous le verrons plus loin dans ce chapitre (voir Section 7.8 [page 61]) les outils de suivi de Codendi offrent un puissant mécanisme de notification par email aux utilisateurs qui, à un moment ou à un autre, ont été impliqués dans le cycle de vie de l'artefact que se soit comme soumetteur, comme responsable ou simplement pour avoir poster un commentaire. Parfois il est cependant utile d'inclure d'autres personnes dans le processus de notification email même si elles n'y jouent aucun rôle direct. Par exemple, il se pourrait que vous vouliez envoyer une copie-carbone (CC) de la notification email à votre responsable assurance qualité ou bien à la personne qui est à l'origine de l'artefact si ce n'est pas la même que celle qui l'a soumis. C'est précisément le rôle que remplit la section Destinataires en copie. Les utilisateurs insérés dans cette liste recevront les notifications en rapport avec cet artefact. Noms des destinataires en copie Les noms des destinataires en copie peuvent être fournis soit sous la forme d'une adresse email soit comme un nom d'utilisateur Codendi. • Nom d'utilisateur Codendi : lorsque la personne que vous souhaitez notifier dispose d'un compte Codendi il est recommandé d'utiliser ce nom plutôt que son adresse email. En utilisant son nom d'utilisateur vous permettez à l'utilisateur de définir finement le type de modification qui doit faire l'objet d'une notification le concernant. Pour plus d'information sur la personnalisation des préférences en matière de notification, repor- tez-vous à la Section 7.13.10 [page 94]. • Adresse email : il n'existe aucune restriction concernant les adresses emails saisies dans la liste des destinataires en copie. Il peut s'agir d'adresse email individuelle ou de liste de distribution - voir Section 15.1 [page 177]. Contrairement au destinataire en copie saisi sous la forme d'un nom d'utilisateur, les adresses email ne permettent pas au des- tinataire de personnaliser les notifications reçues et il les reçoit donc toutes. Ajouter et supprimer des destinataires en copie Plusieurs destinataires en copie peuvent être ajoutés simultanément en séparant leur nom ou leur adresse email par une virgule ou un point virgule dans le champ "Ajouter en CC". En utili- sant le champ commentaire en regard, on peut aussi préciser la raison pour laquelle ces desti- nataires ont été ajoutés ou qui ils sont. L'ajout et la suppression de destinataires en copie sont sujets à certaines permissions : • Ajout d'un destinataire : les utilisateurs anonymes ne peuvent ajouter de destinataire. Tout autre utilisateur possédant un compte sur Codendi peut ajouter un destinataire et la liste des destinataires indiquera clairement qui a ajouté cette entrée et quand. • Suppression d'un destinataire : les utilisateurs ayant les droits d'administrateurs sur un outil de suivi (voir Section 6.9 [page 34]) peuvent détruire toute entrée dans la liste des destinataire pour cet outil de suivi. Tous les autres utilisateurs peuvent détruire les des- 55
  • 65. Guide de l'utilisateur Codendi tinataires ajoutés par leurs soins ou les entrées où le destinataire correspond à leur adresse email ou à leur nom d'utilisateur. En d'autres termes, un utilisateur Codendi a le droit de défaire ce qu'il a fait ou de s'enlever lui-même de la liste des destinataires dans n'importe quel outil de suivi. 7.5.4 Fichiers attachés à un artefact En complément des commentaires, l'outil de suivi permet d'attacher n'importe quelle information à un artefact sous la forme de fichiers. Les copies d'écran d'application au format PNG, GIF ou JPEG, le core dump d'un programme ou un simple fichier texte montrant la pile d'appel ou un message d'erreur sont autant d'exemples de fichiers qu'il est possible d'attacher à un artefact. Les fichiers attachés peuvent être de n'importe quel type (image, vidéo, son, texte, binaire…) et un commentaire permet éventuellement d'annoter le fichier attaché. La taille maximum d'un fi- chier attaché est variable selon le site. Elle est en général de 2 Moctets. 7.5.5 Dépendances entre artefact La section qui suit les fichiers attachés sur l'écran de modification d'un artefact, concerne les dépendances entre artefacts.(voir la Figure 18. Dépendance entre artefacts [page 56]). Les utili- sateurs de Codendi ont la possibilité d'établir un lien de dépendance depuis un artefact vers un ou plusieurs autres artefacts appartenant à n'importe quel outil de suivi de n'importe quel projet. Ceci est rendu possible par le fait que les artefacts possèdent un identifiant (ID) unique sur l'ensemble du système Codendi. Codendi n'attache aucune sémantique aux liens qui unissent des artefacts. Votre équipe de projet est donc libre de s'entendre sur la signification d'un tel lien. Il peut s'agir d'une dépen- dance causale, d'une duplication de l'information ou d'une dépendance temporel dans le cas d'un outil de suivi de tâches. Figure 18. Dépendance entre artefacts Pour créer une dépendance, il faut indiquer l'identifiant d'un ou plusieurs artefacts (séparés par une virgule) dans le champ réservé à cet effet et soumettre le formulaire. Les artefacts référen- cés apparaîtront dans une table juste en dessous du formulaire de saisie précisant la descrip- tion de l'artefact ainsi que l'outil de suivi et le projet auquel ils appartiennent. Pour supprimer une dépendance il suffit de cliquer sur l'icône corbeille située à la droite de la 56
  • 66. Guide de l'utilisateur Codendi ligne de description de l'artefact et confirmer (ou infirmer) la suppression dans la boîte de dia- logue. Les dépendances sont affichées dans les deux sens : non seulement on montre la liste des ar- tefacts dont dépend l'artefact courant mais on montre aussi tous les artefacts qui dépendent de l'artefact courant. 7.5.6 Références croisées entre artefact En complément de la façon plutôt formelle d'exprimer une dépendence entre deux artefacts pré- sentée dans la Section 7.5.5 [page 56], Codendi permet de créer une référence sur n'importe quel artefact ou autre objet Codendi dans un commentaire. Lorsque vous tapez du text dans n'importe quel champ texte ou commentaire d'un artefact, tout morceau de texte qui suit le patron "XXX #NNN" est interprété comme une référence à l'item XXX numéro NNN, où XXX est le nom court de l'item (qui peut être un artefact, un commit cvs, une révision svn...) et NNN l'identifiant unique (ID) (exemple : "bug #123", "tache #321", "req #12", etc...). Si vous ne connaissez pas le nom court de l'outil de suivi ou si vous souhaitez ne pas le spécifier vous pouvez utiliser le patron générique "art #NNN". Lorsque Codendi affiche un commentaire contenant une référence, elle est automatiquement transformée en hyperlien vers la page de Codendi donnant toutes les informations sur cet artefact. Un commentaire peut contenir un référence à un artefact de n'importe quel type appartenant à n'importe quel projet. Ce mécanisme n'est pas limité aux artefact appartenant aux outils de suivi du même projet. Cela est rendu possible par le fait qu'un artefact dispose d'un identifiant unique sur tout le site Codendi. Les patrons de référence de Codendi peuvent etre utilisees pour référencer des artifacts, mais aussi des commits CVS, des révision Subversion, des documents, des fichiers, etc. Voir la Sec- tion 6.8.1 [page 30] pour plus d'information sur les références dans Codendi. De plus les références vers les outils de suivi, les révision SVN et les commits CVS sont sto- ckées en base de données, et sont résumées dans la section suivante, classées par type puis par sens de référence initial. 7.5.7 Permissions sur les artefacts Les administrateurs d'outil de suivi peuvent restreindre l'accès à un artefact pour certains utilisa- teurs. Ces permissions s'ajoutent ainsi à celles définies au niveau de l'outil de suivi et des champs. Il suffit à l'administrateur d'éditer un artefact et de restreindre les permissions comme le montre l'exemple suivant, où l'artefact est restreind aux administrateurs et aux membres du projet. 57
  • 67. Guide de l'utilisateur Codendi Figure 19. Permissions d'un artefact 7.5.8 Historique des artefacts La dernière partie de l'écran de modification d'un artefact est consacré à l'historique des chan- gements subis par l'artefact (voir Figure 20. Historique d'un artefact [page 58]). L'historique de l'artefact garde la trace de tous les changements intervenus sur les différents champs de l'artefact depuis sa création. L'historique de l'artefact montre quel champ a changé, son ancienne valeur ainsi que la nou- velle, la date de la modification et qui l'a faite. Figure 20. Historique d'un artefact 7.6 Mise à jour massive d'artefacts Codendi permet aux administrateurs d'un outil de suivi ou du projet d'effectuer la même modifi- cation sur un ensemble d'artefacts en une seule étape. Il est ainsi possible d'ajouter le même destinataire en copie ou le même fichier attaché à un ensemble d'artefacts, d'assigner une col- lection d'artefact à une même personne, etc... Une application typique de cette fonctionnalité de mise à jour massive consiste précisément à réassigner tous les artefacts d'une personne à une autre. 58
  • 68. Guide de l'utilisateur Codendi 7.6.1 Critères de sélection Les artefacts à modifier peuvent être sélectionnés en utilisant les critères de sélection du pro- cessus de recherche. Pour une sélection plus fine, vous pouvez ensuite utiliser les cases à co- cher situées à proximité de chaque artefact. Voyez la Section 5.1 [page 21] pour obtenir plus d'information sur l'utilisation des critères de sélection. Dans l'écran montré en exemple sur la Figure 21. Écran de sélection des artefacts pour une mise à jour massive [page 59], un clic sur le bouton "Mettre à jour les artefacts sélectionnés" va retenir les trois artefacts sélectionnés alors qu'un clic sur le bouton "Tous les mettre à jour" re- tiendra les neuf artefacts renvoyés par la recherche dans la base d'artefacts. Figure 21. Écran de sélection des artefacts pour une mise à jour massive 7.6.2 Mise à jour Une fois sélectionnés les artefacts à modifier on peut passer à l'écran de mise à jour suivant. Cet écran est très similaire à l'écran de modification d'un artefact. Il comporte les mêmes sec- tions : entête, commentaire, destinataires en copie, fichiers attachés et dépendances. 59
  • 69. Guide de l'utilisateur Codendi Figure 22. Section d'entête de l'écran de mise à jour massive d'artefacts Dans la zone d'entête figurent tous les champs utilisés par l'artefact. Seuls les champs qui passent de la valeur Inchangé à une valeur spécifique seront pris en compte lors de la phase de mise à jour. Dans l'exemple de la Figure 22. Section d'entête de l'écran de mise à jour massive d'artefacts [page 60] seul le champ 'Assigné à' des trois artefacts sera mis à jour. Tous les autres champs restent inchangés. Figure 23. Section destinataire en copie de l'écran de mise à jour massive d'artefacts La section des destinataires en copie diffère de son comportement en ce qu'elle montre tous les destinataires de tous les artefacts retenus pour la mise à jour massive avec un compteur indi- quant dans combien d'artefacts un destinataire est présent. Dans l'exemple de la Figure 23. Section destinataire en copie de l'écran de mise à jour massive d'artefacts [page 60], un des destinataires est utilisé dans un des trois artefacts. En sélectionnant la case Détruire ? on sup- prime le destinataire de la liste des destinataires. De la même façon, la section consacrée aux fichiers attachés montre l'ensemble des fichiers at- tachés de tous les artefacts sélectionnés pour la mise à jour massive. La section des dépen- dances est structurée de la même façon. Chaque modification massive est consignée dans l'historique de chaque artefact affecté Sec- (tion 6.13 [page 42]). Par contre aucune notification email n'est envoyée suite à ces change- ments. 60
  • 70. Guide de l'utilisateur Codendi 7.7 Dupliquer un artefact Si la duplication d'artefacts est activée pour le tracker (voir la section Section 7.13.1 [page 70]), les membres du projets peuvent dupliquer un artefact. Pour ce faire, sélectionnez un artefact existant (comme si vous vouliez le modifier) et cliquez sur le lien "Dupliquer cet artefact". Vous arrivez alors sur une page de soumission d'artefact, avec toutes les valeurs de l'artefact dupli- qué déjà remplies. Comme le champ Summary est unique, une indication de la duplication est simplement ajoutée à sa valeur originale. Par défaut, un commentaire est également pré-rempli, avec une indication de la duplication, et une dépendance est également pré-remplie, avec une référence vers l'artefact original. Bien entendu, vous êtes libre de modifier le nouvel artefact du- pliqué. Seuls les membres du projet sont autorisés à dupliquer les artefacts. 7.8 Notification email Les outil de suivi de Codendi sont munis d'un mécanisme de notification d'évènements par email puissant et flexible. A moins que l'administrateur de projet ou les utilisateurs eux-mêmes n'en décident autrement, le système de notification par email adopte un comportement par dé- faut très simple. A chaque fois qu'un artefact est créé ou modifié - que ce soit avec un nouveau commentaire, un nouveau fichier attaché ou un changement dans l'un quelconque des champs - un message est envoyé aux acteurs suivants : • La personne qui a soumis l'artefact • La ou les personnes à qui l'artefact a été assigné • Les personnes présentes dans la liste des destinataires en copie. • Tous les utilisateurs ayant posté au moins un commentaire sur cet artefact. En plus de ces règles simples, le module d'administration de l'outil de suivi permet aux utilisa- teurs Codendi de personnaliser le processus de notification email. Pour plus d'information re- portez-vous à la Section 7.13.10 [page 94]). Le message de notification généré par l'outil de suivi se compose d'une première partie mon- trant les changements récemment intervenus dans l'artefact à l'occasion de la dernière mise à jour. A la suite se trouve un récapitulatif complet de l'artefact. Des pointeurs Web sont aussi présents dans le message pour vous permettre d'accéder facilement et rapidement à l'artefact sur Codendi. 7.9 Importation d'artefacts Les administrateurs d'un projet ont la possibilité d'importer des artefacts dans un outil de suivi de Codendi en utilisant des fichiers au format CSV (Comma Separated Values) qui est supporté par toutes les applications bureautiques du marché. L'importation d'artefact facilite énormément la migration de données en provenance d'autres outils de suivi dans les outils de suivi de Co- dendi. L'importation d'artefacts se déroule en trois étapes : • Soumission du fichier CSV. L'administrateur du projet peut accéder à la fonction d'importation soit à partir de l'écran de recherche et de navigation, soit à partir du menu 61
  • 71. Guide de l'utilisateur Codendi de l'écran d'administration du projet. Choisissez ensuite l'outil de suivi concerné et le fi- chier CSV à importer. Durant cette étape vous pouvez aussi choisir d'envoyer une notifi- cation email à tous les utilisateurs concernés par les modifications dues à l'importation. Si vous ne cochez pas l'option, aucune notification ne sera envoyée. • Analyse des fichiers CSV. Si aucune erreur n'est détectée dans le format du fichier té- léchargé, un rapport d'analyse est affiché à l'écran qui vous permet de confirmer que l'information importée est correcte. • Mise à jour de la base de données. Selon le format des informations fournies, de nou- veaux artefacts vont être créés ou des artefacts existants sont mis à jour. 7.9.1 Quand utiliser la fonction d'importation ? Vous trouverez ci-dessous quelques suggestions d'utilisation de la fonction d'importation de l'outil de suivi : • Importation des données en provenance d'un logiciel de gestion de projet externe vers un outil de suivi de tâches de Codendi. • Migration des données de votre ancien système de suivi dans le nouvel outil de suivi de Codendi. • Migration d'artefact d'un outil de suivi Codendi vers un autre. 7.9.2 Exporter une feuille de calcul Excel au format CSV Pour exporter une feuille de calcul Excel au format CSV, suivez les étapes suivantes : • Sélectionnez Fichier -> Enregistrer sous... • Dans la boîte de dialogue choisissez CSV comme format de sauvegarde. 7.9.3 Analyse du fichier CSV Le format CSV accepté en entrée est documenté sur l'écran de soumission du fichier CSV. Cette page vous permet de vérifier de façon manuelle que votre fichier CSV est bien formaté et quels champs sont obligatoires en cas de soumission d'un nouvel artefact. Qui plus est, un exemple de fichier CSV figure en bas de page. Comme pour l'export de données, vous pouvez spécifier le séparateur utilisé dans le fichier CSV que vous voulez importer ainsi que le format de dates Section 3.5 [page 17]). Si vous avez déjà utilisé le module d'exportation (voir Section 6.11 [page 39]) vous remarquerez que les formats sont strictement identiques. Ceci veut donc dire que si vous avez changé le séparateur CSV pour un export, vous devrez utiliser le même séparateur pour importer ces données. Vous pouvez vous référez à la documentation du format d'exportation en particulier pour les champs de type date et commentaire (voir Section 7.5.2 [page 53]). Le premier enregistrement d'un fichier d'importation CSV doit toujours être constitué des noms des champs de l'ids utilisé dans les lignes de données qui suivent. Vous devez fournir des informations différentes selon que vous souhaitez mettre à jour des ar- tefacts existants ou en créer de nouveaux. Néanmoins il est possible de mélanger les deux for- mats dans le même fichier CSV. Pour la création d'artefact vous devez fournir une valeur pour tous les champs marqués comme étant obligatoires. Si vous omettez le nom de la personne qui soumet l'artefact ainsi que la date de soumission ils seront automatiquement renseignés avec le nom de l'utilisateur effectuant l'opération d'importation et la date courante respectivement. 62
  • 72. Guide de l'utilisateur Codendi Pour la modification d'artefacts existants vous devez impérativement fournir l'identifiant (ID) des artefacts concernés. Ensuite vous pouvez vous contenter d'utiliser uniquement les noms des champs à modifier dans le fichier CSV et non pas l'ensemble des champs obligatoires. Le processus d'analyse vérifie la cohérence du fichier CSV sur plusieurs points : • Omission de champs obligatoires lors de la création de nouveaux artefacts. • Le nombre de champs mentionnés sur la première ligne ne correspond pas au nombre de valeurs des lignes suivantes • Nom de champ inconnu sur la première ligne • Valeurs de champs qui ne correspondent pas aux valeurs prédéfinies pour les champs de type boîte de séléction. • Soumission en double (par exemple soumission d'un nouvel artefact ayant le même ré- sumé qu'un artefact déjà existant) • Identifiant d'artefact inconnu. • Omission des commentaires déjà soumis D'autres erreurs peuvent être détectées à l'occasion de l'inspection visuelle du rapport d'importation fourni par Codendi. 7.9.4 Mise à jour de la base de données Si vous importez de nouveaux artefacts, tous les champs optionnels omis dans le fichier CSV sont renseignés avec leur valeur par défaut. Si vous souhaitez mettre à jour la liste des destinataires en copie ou celle des dépendances, prenez garde que les valeurs spécifiées dans le fichier CSV remplacent les noms et les dépen- dances existants. Tous les commentaires présents dans le fichier CSV qui ont déjà été soumis sont omis pour éviter les doublons. Le nom de la personne ayant soumis l'artefact et la date de soumission ne peuvent être modifiés par un fichier d'importation même s'il comporte ces deux informations. Si une erreur survient lors de l'importation d'un artefact dans la base de données, le processus s'arrête et les artefacts qui suivent ne sont pas importés. Chaque opération d'importation est consignée dans l'historique du projet (voir Section 6.13 [page 42]). Par contre aucune notification email n'est envoyée suite aux modifications interve- nues sur les différents artefacts suite à l'opération d'importation. Tip : Excel et les paramètres régionaux Si un fichier CSV est ouvert avec Excel, tout changement opéré sur la feuille de calcul (y compris un simple changement d'une largeur de colonne) peut amener Excel à modifier les informations d'origine du fichier CSV. Les changements en question peuvent affecter les dates, les heures et les nombres qui seront convertis aux formats spécifiés dans les paramètres régionaux de votre système, les caractères de saut de ligne transformés en saut de ligne et retour chariot ainsi que des virgules ajoutées à certaines lignes. Les changements de format de date effectués par Excel peuvent être incompatibles avec le format attendu par Codendi et causer des erreurs durant l'importation des données. A l'inverse, des fichiers CSV exportés depuis Codendi peuvent ne pas s'ouvrir correctement sous Excel avec certaines va- leurs des paramètres régionaux. Si vous vous retrouvez dans ce cas de figure, essayez de procéder aux modifications suivantes sur Windows : Assurez-vous que toutes vos applications sont arrêtées. Modifiez vos paramètres régio- naux (Démarrer > Configuration > Panneau de contrôle, Paramètres Régionaux) pour utiliser 63
  • 73. Guide de l'utilisateur Codendi l'anglais avec les formats suivants : Date = MM/dd/YYYY Heure = hh:mm. Avec Excel, ouvrez le fi- chier CSV qui pose problème, ajustez la largeur d'une colonne quelconque, sauvegardez le fichier et fermez Excel. Remettez les paramètres régionaux à leur ancienne valeur et importez le fichier CSV "corrigé" dans Codendi. 7.10 Permissions d'accès par défaut aux outils de suivi Selon la classe d'utilisateurs à laquelle vous appartenez et le niveau de permission qui vous est accordé en tant que membre d'un projet, différentes fonctions des outils de services peuvent s'avérer accessible ou pas. Veuillez noter que les permissions d'accès par défaut listées ci- dessous peuvent changer pour un outil de suivi particulier si l'administrateur de l'outil en a dé- cidé ainsi. Pour plus d'information sur la configuration des permissions d'accès aux outils de suivi reportez-vous à la Section 7.13.2 [page 70]). Les permissions par défaut sont résumées dans la table ci-dessous : Tracker Feature Access Permission Soumission d'un nouvel artefact Par défaut tout visiteur, connecté à Codendi ou pas, peut soumettre un nouvel artefact. L'administrateur de l'outil de suivi peut limiter l'usage de cette fonction aux utilisateurs en- registrés ou aux membres du projet si l'outil de suivi est privé. Navigation/Recherche d'artefact La recherche et la navigation dans la base d'artefacts est ac- cessible à tous les visiteurs Codendi sauf si l'outil de suivi est privé auquel cas seuls les membres de l'équipe y ont accès. Modification des artefacts Par défaut seuls les membres du projet peuvent modifier un artefact. Les visiteurs externes ne peuvent soumettre qu'un commentaire ou attacher un fichier. Mise à jour massive des artefacts Uniquement accessible aux administrateurs du projet et aux membres du projet ayant les droits d'administration sur l'outil de suivi en question. Importation d'artefacts Uniquement accessible aux administrateurs du projet et aux membres du projet ayant les droits d'administration sur l'outil de suivi. Création d'un outil de suivi Uniquement accessible aux administrateurs du projet. Administration d'un outil de suivi - Options géné- Uniquement accessible aux administrateurs du projet et aux rales membres du projet ayant les droits d'administration sur l'outil de suivi. Administration d'un outil de suivi - Gérer Uniquement accessible aux administrateurs du projet et aux l'utilisation des champs membres du projet ayant les droits d'administration sur l'outil de suivi. Administration d'un outil de suivi - Gérer les va- Uniquement accessible aux administrateurs du projet et aux leurs des champs membres du projet ayant les droits d'administration sur l'outil de suivi. Administration d'un outil de suivi - Gérer les rap- Seuls les administrateurs du projet et les membres du projet ports de recherche ayant les droits d'administration sur l'outil de suivi peuvent définir des rapports de recherche pour l'ensemble des utilisa- teurs. Tous les autres utilisateurs (sauf les anonymes) ne peuvent définir que des rapports personnels. Administration d'un outil de suivi - Notification Seuls les administrateurs du projet peuvent configurer les email adresses de notification globale. Tout membre du projet peut demander à suivre les notifications des autres membres. Tout utilisateur enregistré peut personnaliser sa matrice de notification personnelle. 64
  • 74. Guide de l'utilisateur Codendi Tableau 1. Permissions d'accès par défaut des outils de suivi 7.11 Création d'un outil de suivi Avant de choisir les champs et les valeurs associés aux champs d'un outil de suivi, il faut tout d'abord créer cet outil de suivi. On peut accéder à la page de création d'un tracker depuis l'entrée "Créer un outil de suivi" visible à la fois dans le menu de la partie publique et dans celui de la partie administration. Coup de pouce : utilisez de préférence les outils de suivi prédéfinis Quand un projet est créé sur Codendi un certain nombre d'outils de suivi sont automatiquement créés pour ce projet. Il s'agit typiquement d'outils de suivi pour les bugs, les tâches et les demandes de support. Si votre projet est amené à gérer ce genre d'artefacts, utilisez de préférence les outils de suivi prédéfinis. Vous êtes bien sûr libres de définir de nouveaux champs et de modifier ceux qui existent déjà dans chacun de ces outils de suivi. Pour définir un nouvel outil de suivi vous devez fournir les informations suivantes (voir Figure 24. Création d'un nouvel outil de suivi (ici pour des anomalies) [page 66]) : • Nom : il s'agit du nom de l'outil de suivi. Le nom d'un outil de suivi est classiquement calqué sur le nom des artefacts qui sont gérés. Ce nom est utilisé par Codendi dans le titre de plusieurs écrans de l'outil de suivi. Quelques exemples de noms d'outils de suivi : Demandes de fonctionnalités, Tâches, Anomalies,… • Description : une description plus complète de l'outil de suivi et des artefacts qu'il gère. • Nom court : il s'agit d'un nom court décrivant le type d'artefacts gérés par l'outil de suivi. Le nom doit être aussi court que possible car il est utilisé sur plusieurs écrans de l'outil de suivi comme, par exemple, sur l'écran de modification d'un artefact où le nom court apparaît dans la barre de menu et à côté de l'identifiant de l'artefact. Si nous re- prenons les exemples donnés pour le champ Nom ci-dessus, les noms courts corres- pondants pourraient être : fonc, tache, anom,… 65
  • 75. Guide de l'utilisateur Codendi Figure 24. Création d'un nouvel outil de suivi (ici pour des anomalies) L'étape suivante consiste à prendre une décision concernant les champs à utiliser dans l'outil de suivi. Pour vous éviter d'avoir à redéfinir sans cesse les outils de suivi les plus fréquemment utilisés (par exemple un outil de suivi d'anomalies, de tâches, de demandes d'assistance, etc...) Codendi offre un certain nombre de patrons d'outils de suivi prédéfinis à partir desquels vous pouvez créer votre propre outil de suivi. Ces patrons sont définis soit au niveau du site (patrons-site) soit au niveau du projet. Remarque : l'utilisation de patrons ne signifie pas que vous deviez vous conformer strictement aux champs proposés. Il est toujours possible d'ajouter, de supprimer ou de modifier des champs en partant du patron initial. • Patrons-site : il s'agit de patrons définis par les administrateurs du site Codendi qui sont en général utiles à de nombreux projets. C'est aussi un moyen d'assurer une cer- taine harmonie d'un projet à l'autre tout en facilitant la vie des équipes de projet. La liste des patrons-site disponibles varie d'un site à l'autre mais vous y trouverez typiquement des outils de suivi pour les anomalies, les tâches, etc... Un patron particulier appelé "Au- cun" permet de créer un tracker vierge de tout champ sauf certains qui restent obliga- toires. Voir Section 7.12 [page 66] pour plus d'information concernant ces patrons. • Patrons-projet : si vous avez déjà défini un outil de suivi qui répond à vos besoins et que vous souhaitez le réutiliser, il suffit de spécifier l'identifiant du projet et celui de l'outil de suivi soit manuellement soit en utilisant les flèches du menu déroulant, puis de cli- quer sur le bouton de création. Vous allez ainsi créer un nouvel outil de suivi strictement identique au précédent. (Note : cette opération ne copie pas les artefacts mais unique- ment la configuration des champs) 7.12 Patrons d'outils de suivi du site Les outils de suivi standards fournis pour chaque projet sont : 66
  • 76. Guide de l'utilisateur Codendi • Bugs • Patch • Support Requests • Tasks • Scrum Backlog Chacun de ces outils de suivi possède des champs prédéfinis qui correspondent à un proces- sus de travail spécifique autour des correctifs, des bugs, etc... Dans les paragraphes qui suivent, nous donnons une présentation très générale de ces processus de travail. Pour chaque outil de suivi, l'équipe Codendi a essayé de maintenir un équilibre entre sophistication et facilité d'utilisation. En conséquence, les patrons proposés aux projets hébergés sur Codendi sont simples. Les membres du projet sont ensuite libres de décider par eux-mêmes des informations qu'un artefact doit comporter et de personnaliser la définition des champs en conséquence. 7.12.1 L'outil de suivi d'anomalies (bugs) L'une des règles d'or d'un environnement de projet collaboratif est de permettre à ces utilisa- teurs de tester le logiciel et de rendre compte librement des anomalies (bugs) rencontrées. L'outil de suivi Bug a précisément été conçu dans cet objectif. L'outil de suivi Bug est pré-configuré avec un ensemble de champs (utilisés ou pas) qui sont probablement suffisant pour une grande majorité des projets hébergés sur Codendi. Vous pou- vez bien sûr décider que certains champs critiques doivent être créés ou, au contraire, passez le statut de certains champs à "Inutilisé" pour simplifier l'outil de suivi. 7.12.2 L'outil de suivi de correctifs (patches) Le rôle de l'outil de suivi de correctifs est de permettre aux personnes extérieures au projet ou aux membres du projet ayant des droits restreints de soumettre des propositions de modifica- tions dans le code source du projet. Concernant la façon de générer des correctifs s'appliquant au code source, reportez-vous au chapitre CVS (Section 9.4.6 [page 120]) ou Subversion (Section 10.5.7 [page 140]). Note à l'intention des équipes de projet Recevoir des modifications du code source d'autres utilisateurs n'implique pas que vous deviez les intégrer de façon systématique dans l'arbre de code source principal. Il revient à l'équipe de projet de décider quoi faire de ces contributions. L'une des caractéristiques intéressantes de l'outil de suivi de correctifs est de donner accès aux fichiers de corrections que l'équipe de pro- jet ait décidé de l'intégrer dans l'arbre de développement principal ou pas. Ainsi les visiteurs peuvent non seulement consulter les contributions des autres personnes mais aussi les utiliser pour eux-mêmes s'ils le souhaitent même si l'équipe de projet a décidé de ne pas intégrer le correctif. 7.12.3 L'outil de suivi de demandes d'assistance (support requests) L'outil de suivi de demandes d'assistance (DA) est l'un des mécanismes de communication que votre projet devrait toujours offrir à ses utilisateurs. L'outil de suivi DA leur permet de poser des questions ou de demander de l'aide à l'équipe de projet. Les utilisateurs qui ont accès à l'outil de suivi DA peuvent suivre les fils de discussion entre les autres utilisateurs et les membres de l'équipe. Il est aussi possible de passer les DA déjà pos- 67
  • 77. Guide de l'utilisateur Codendi tées en revue ainsi que les réponses apportées par l'équipe. Avec l'outil de suivi DA, une équipe de projet peut coordonner facilement et efficacement l'ensemble de ces activités de sup- port technique. 7.12.4 L'outil de suivi de tâches L'outil de suivi de tâches de Codendi est un gestionnaire de tâches et pas un logiciel de gestion de projet comme CA-SuperProject, MS-Project ou d'autres logiciels puissants et complexes qu'on peut trouver sur le marché. L'outil de suivi de tâches n'est pas capable de construire un diagramme de Pert et il n'a pas non plus de fonction de planification. Il s'agit plutôt d'un outil qui permet aux membres du projet de suivre l'évolution de leur tâche et le temps qu'ils y consacrent ou bien encore de suivre au quotidien la liste des choses à faire. Malgré sa simplicité, l'outil de suivi de tâches offre un certain nombre de fonctionnalités qui en font un outil très complémentaire des logiciels de gestion et de planification de projets : • Comme tous les autres outils Codendi, l'outil de suivi de tâches est entièrement basé Web. Ainsi n'importe quel membre du projet peut mettre à jour ses tâches où qu'il se trouve. • Les tâches peuvent être gérées par les membres autorisés uniquement. • Chaque membre du projet dispose de sa feuille de tâches montrant toutes les tâches qui lui sont assignées, leur priorité, leur description, les dates de début et de fin, le pour- centage de complétion, les tâches dépendantes, les commentaires associés et l'historique complet des changements. • Les données concernant les tâches peuvent être collectées à tout moment par le chef de projet en utilisant la fonction d'exportation des données de Codendi (voir Section 6.11 [page 39]). Ceci permet de générer très facilement des rapports d'activité et de progression des projets. 7.12.5 L'outil de suivi des besoins de la méthodologie Scrum (Scrum Backlog) Codendi facilite le déploiement de la méthodologie Scrum en permettant de gérer le "backlog Scrum" (cahier de suivi des besoin) dans un outil de suivi dédié. Vous pourrez trouver une des- cription de la méthodologie sur Wikipedia. L'outil de suivi du backlog Scrum est composée d'artefacts, appelées "User Stories" qui dé- crivent les besoins exprimés par les clients du projet. L'outil a été spécialisé pour proposer les champs permettant de capturer les besoins: outre les champs "description", "catégories", etc., il est possible de définir la valeur (Customer Value), les critères d'acceptation, l'effort estimé ainsi que le backlog concerné (Product backlog ou Sprint backlog). Certains champs optionnels sont également proposés, et bien sûr, chaque projet est bien sûr libre de personnaliser l'outil de suivi en fonction de sa méthode de travail. Au démarrage d'un projet utilisant la méthodologie Scrum, il convient de modéliser les besoins des clients dans l'outil de suivi, en plaçant chaque besoin dans le "Product Backlog" (champ 'ba- cklog'). Puis, lors du premier Sprint, l'équipe évalue les besoins qui vont être réalisés dans la première itération. Ces besoins sont alors placés dans le "Sprint Backlog" (champ 'backlog'), et évalués plus précisément (champ 'Initial Effort'), voire décomposés en besoins plus élémen- taires. L'équipe se répartit alors les besoins (champ 'Owner'), et peut démarrer l'implémentation. A la fin du Sprint (d'une période de 4 semaines environ), l'équipe se réunit à nouveau, modifie le 68
  • 78. Guide de l'utilisateur Codendi statut des besoins du Sprint précédent, et sélectionne les besoins qui seront traités dans le Sprint suivant. 7.13 Administration des outils de suivi Depuis le début du chapitre concernant les outils de suivi, il a été fait plusieurs fois mention de la flexibilité de ce service et de la facilité à personnaliser vos propres outils de suivi. La configu- ration se fait via le module d'administration des outils de suivi accessible par l'entrée "Adminis- tration des outils de suivi" de la barre de menu. La page d'accueil du module d'administration des outils de suivi montre l'ensemble des outils de suivi utilisés par le projet. A partir de cette page, les outils de suivi existants peuvent être confi- gurés et de nouveaux outils peuvent être créés (voir Figure 25. Administration des outils de suivi - Page d'accueil [page 69]). Cette section couvre la partie configuration d'un outil de suivi existant. La création d'un nouvel outil de suivi est traitée dans la Section 7.11 [page 65]. Figure 25. Administration des outils de suivi - Page d'accueil La configuration d'un outil de suivi se divise en sept sections : • Options Générales : le nom, la description et quelques autres paramètres généraux sont définis dans cette section. • Gestion des permissions : permet d'octroyer des permissions d'accès différentes aux utilisateurs en fonction de leur rôle. • Gestion des groupes de champs : définition des groupes de champs utilisés dans cet outil de suivi. • Gestion de champs : définition des champs utilisés dans cet outil de suivi. • Gestion des valeurs des champs : définition des valeurs prédéfinies ou valeurs par défaut associées aux champs. • Gestion des réponses-type : permet de créer des commentaires prédéfinis que l'équipe utilise régulièrement. • Manage Reports : définition de rapport de recherche d'artefacts (critères de recherche et table de résultats). • Options de notification : réglage des options de notification par email globales ou per- sonnelles. 69
  • 79. Guide de l'utilisateur Codendi 7.13.1 Options générales Ce module vous permet de définir un ensemble de propriétés pour votre outil de suivi. Certaines de ces propriétés ont déjà été définies dans le formulaire de création, mais d'autres sont uni- quement disponibles sur cette page de configuration : • Nom : il s'agit du nom de l'outil de suivi. Le nom d'un outil de suivi est classiquement calqué sur le nom des artefacts qui sont gérés. Ce nom est utilisé par Codendi dans le titre de plusieurs écrans de l'outil de suivi. Quelques exemples de noms d'outils de suivi : Demandes de fonctionnalités, Tâches, Anomalies, ... • Description : une description plus complète de l'outil de suivi et des artefacts qu'il gère. • Nom court : il s'agit d'un nom court décrivant le type d'artefacts gérés par l'outil de suivi. Le nom doit être aussi court que possible car il est utilisé sur plusieurs écrans de l'outil de suivi comme, par exemple, sur l'écran de modification d'un artefact où le nom court apparaît dans la barre de menu et à côté de l'identifiant de l'artefact. Si nous re- prenons les exemples donnés pour le champ Nom ci-dessus, les noms courts corres- pondants pourraient être : fonc, tache, anom,… • Autoriser la copie d'artefacts: si la copie d'artefacts est autorisée ou non. Si la copie d'artefatcs est autorisée, seuls les membres du projet sont autorisés à copier des arte- facts. • Instancier dans les nouveaux projets: Ce paramètre n'est affiché que lorsque le pro- jet courant est du type "patron de projet" (voir Section 6.5 [page 27]). Si ce paramètre est sélectionné, alors les projets créés depuis ce patron de projet auront cet outil de suivi. S'il n'est pas sélectionné, cet outil de suivi ne sera pas disponible dans le nouveau projet. • Instructions de soumission : un message d'introduction qui s'affiche en haut de l'écran de soumission d'un nouvel artefact. C'est une façon très commode de donner des instructions aux utilisateurs qui soumettent de nouveaux artefacts. Le texte doit être formaté avec des balises HTML, ce qui vous donne une grande flexibilité (vous pouvez utiliser des caractères gras, de l'italique, des couleurs, des URLs…) • Instructions de navigation : un message d'introduction qui s'affiche en haut de l'écran de recherche et de navigation dans la base d'artefacts. Le texte doit être formaté avec des balises HTML, ce qui vous donne un grande flexibilité (vous pouvez utiliser des ca- ractères gras, de l'italique, des couleurs, des URLs…) 7.13.2 Gestion des permissions Ce module est utilisé pour donner des permissions d'accès différentes aux utilisateurs suivant leur rôle. Les permissions d'accès peuvent être définies à deux niveaux : • Au niveau de l'outil de suivi et des artefacts : à ce niveau, vous pouvez déterminer si certains groupes d'utilisateurs ont un accès total, partiel ou nul à l'outil de suivi et à ses artefacts. • Au niveau des champs d'un artefact : il s'agit d'un niveau de permission plus fin défini au niveau de chaque champ de l'outil de suivi. En utilisant cette fonctionnalité vous pou- vez spécifier quels groupes ont uniquement les droits en lecture sur un champ, quels autres groupes ont les droits de modification et quels sont ceux qui n'ont aucun accès. Toutes les permissions sont définis pour des groupes d'utilisateurs et non au niveau des indivi- dus. Reportez vous à la Section 6.10 [page 35] pour plus d'information sur la définition et la 70
  • 80. Guide de l'utilisateur Codendi gestion des groupes d'utilisateurs. Gestion des permissions En pénétrant dans ce module, une liste de groupes d'utilisateurs apparaît ainsi que leur permis- sions d'accès. La liste des groupes montre tout d'abord les groupes définis au niveau du sys- tème Codendi comme l'ensemble des utilisateurs, les utilisateurs enregistrés, les membres du projet, etc... Il s'agit de groupes que Codendi gère pour vous de telle façon que vous n'avez pas à les modifier lorsqu'un utilisateur crée un compte ou qu'il devient membre du projet. La se- conde partie de la liste est constituée de groupes d'utilisateurs définis au niveau du projet (voir Section 6.10 [page 35] pour plus d'information sur la définition et la gestion de ces groupes d'utilisateurs). Chaque groupe peut être associé avec les permissions suivantes : • - : ce niveau de permission qui s'affiche sous forme d'un tiret signifie que le groupe n'a pas de permission spécifique. • Accès à tous les artefacts : le groupe a accès à tous les artefacts de l'outil de suivi. • Accès aux artefacts confiés au groupe : le groupe voit uniquement les artefacts qui sont assignés à un ou plusieurs membres du groupe. • Accès aux artefacts soumis par le groupe : le groupe voit uniquement les artefacts qui ont été soumis par un des membres du groupe. • Accès aux artefacts confiés au groupe ou soumis par le groupe : le groupe a uni- quement accès aux artefacts soumis par un des membres du groupe ou assignés à un ou plusieurs membres. Exemple : configurer les permissions pour vos clients Figure 26. Exemple d'écran de permissions pour un outil de suivi A titre d'exemple supposons que vous avez créé un outil de suivi qui sera utilisé par deux de vos clients pour rendre compte d'anomalies sur votre logiciel. Dans ce genre de situation, vous pouvez décider qu'un client d'une société donnée ne doit voir que les anomalies soumises par sa société et non pas les anomalies soumises par les autres sociétés. Pour parvenir à ce résultat, il suffit de créer un groupe compagnie A qui comprend tous les noms des utilisateurs de la société A puis de faire la même chose pour la compagnie B. Ensuite on donne à 71
  • 81. Guide de l'utilisateur Codendi ces deux groupes une permission de type 'Accès aux artefacts soumis par le groupe' pour limiter l'accès aux seules anomalies soumises par leur groupe d'utilisateur. De plus, vous donnerez vrai- semblablement la permission 'Accès à tous les artefacts' aux membres du projet ou aux administra- teurs de l'outil de suivi de façon à ce qu'ils puissent avoir accès à toutes les anomalies quelle qu'en soit l'origine. Dans cet exemple : • un utilisateur non connecté n'aura pas accès aux artefacts, • un utilisateur connecté n'aura pas accès aux artefacts, • un membre du projet aura accès à tous les artefacts, • un admin projet aura accès à tous les artefacts, puisqu'il est membre du projet, • un admin outil de suivi aura accès à tous les artefacts, puisqu'il est membre du projet, • un membre de Compagnie_A aura accès seulement aux artefacts soumis par un membre de Compagnie_A (pareil pour Compagnie_B), • un membre du projet qui est aussi membre de Compagnie_A aura accès à tous les artefacs puisqu'il est membre du projet, • un membre de Compagnie_C n'aura pas accès aux artefacts (si il n'est pas membre d'un groupe comme membres_projet, Compagnie_A ou Compagnie_B). Gestion des permissions des champs En complément des permissions d'accès sur l'outil de suivi et ses artefacts (voir Section [page 71]) il est parfois nécessaire de restreindre l'accès à certains champs de l'outil de suivi pour une population donnée. Par exemple, si vous partagez un outil de suivi avec vos clients vous souhaiterez probablement cacher certains champs ou tout du moins éviter qu'ils ne puissent les modifier. C'est précisément le rôle de ce module. L'écran de ce module de configuration des permissions sur les champs permet à tout moment de basculer entre deux vues : vous pouvez soit visualiser les permissions de tous les groupes pour un champ donné OU pour un groupe d'utilisateurs donnés vous pouvez visualiser ses per- missions sur tous les champs de l'outil de suivi. L'expérience montre que la vue par champ est souvent la vue la plus adaptée pour la configuration initiale des permissions alors que la vue par groupe d'utilisateurs est plus pratique pour ajuster la configuration des permissions par la suite (voir Section 6.10 [page 35] pour plus d'information sur la définition des groupes d'utilisateurs). Chaque groupe d'utilisateurs peut recevoir les permissions suivantes pour un champ donné : • Peut soumettre : permet de déterminer si un groupe d'utilisateurs peut spécifier la va- leur initiale d'un champ lorsque l'artefact est soumis pour la première fois. Si la case n'est pas cochée, le champ ne sera pas visible sur l'écran de soumission pour ce groupe d'utilisateurs. • Lecture seule : avec cette permission un groupe d'utilisateurs ne peut que lire le champ. En d'autres terme la valeur du champ leur est visible mais ils ne peuvent la mo- difier. • Mise à jour : avec cette permission, un groupe d'utilisateurs peut voir la valeur d'un champ et la modifier. • - : ce niveau de permission qui s'affiche sous forme d'un tiret signifie que le groupe n'a pas de permission spécifique, à l'instar des permissions sur les outils de suivis. Note importante : les permissions associés à un champ s'appliquent à plusieurs fonctions de l'outil de suivi. Ainsi, si un groupe d'utilisateur n'a pas du tout accès à un champ, ce champ sera invisible sur le formulaire de soumission, mais aussi sur l'écran de recherche, dans la table de résultats de la recherche, dans l'écran de modification, dans l'historique des changements et, enfin, dans les notifications email envoyées aux utilisateurs concernés. 72
  • 82. Guide de l'utilisateur Codendi 7.13.3 Gestion des groupes de champs Pour améliorer la saisie et la visualisation des artefacts, les champs de l'outil de suivi sont re- groupés en groupes de champs. Cela permet d'aérer le formulaire de saisie de l'artefact, ou de grouper des champs ayant une même sémantique, ou encore de grouper des champs jouant un rôle particulier (par exemple, grouper les champs destinés à la personne qui fera le diagnostic de l'artefact, puis regrouper ceux destinés à la personne qui le résoudra, etc.). Tous les champs doivent appartenir à un groupe de champs, et un même champ ne peut appar- tenir qu'à un seul groupe de champs. Liste des groupes de champs de l'outil de suivi Pour configurer les groupes de champs de l'outil de suivi, sélectionnez l'item "Gérer les groupes de champs" sur la page d'accueil du module d'administration d'un outil de suivi. L'écran de ges- tion des groupes de champs (Figure 27. Écran de gestion des groupes de champs dans un outil de suivi [page 74]) montre un exemple de groupes de champs disponibles dans un outil de suivi de Codendi. Cet écran se divise en deux sections : 1. la liste des groupes de champs de l'outil de suivi en cours d'utilisation 2. un formulaire permettant de créer de nouveaux groupes de champs dans l'outil de suivi. Les informations suivantes sont présentées sur la liste des groupes de champs : • Label du groupe de champs : le nom du groupe de champs. Pour ajuster les proprié- tés d'un groupe de champs il faut cliquer sur le nom. • Description : la description du groupe de champs. • Champs appartenant au groupe de champs : liste des champs faisant partie de ce groupe de champs. Les champs utilisés sont affichés en police grasse, les champs in- utilisés en italique. • Rang à l'écran : le rang indique dans quel ordre les groupes de champs apparaîtront à l'écran dans le formulaire de soumission ou dans le formulaire de mise à jour. Les groupes de champs avec le plus petit rang apparaissent en premier. • Détruire ? : lorsqu'un groupe de champs est détruit il disparaît complètement de la liste des groupes de champs disponibles. Seuls les groupes de champs vides (ne contenant aucun champ) peuvent être détruit. 73
  • 83. Guide de l'utilisateur Codendi Figure 27. Écran de gestion des groupes de champs dans un outil de suivi Création et modification du groupe de champs d'un outil de suivi Étant donné que les formulaires de création et de modification d'un groupe de champs sont très similaires ils sont tous deux traités dans cette section. L'écran de création d'un groupe de champs est disponible au bas de la liste des groupes de champs alors que le formulaire de modification d'un groupe de champs s'obtient un cliquant sur le label du groupe de champs à modifier. Les propriétés à définir pour un groupe de champs sont les suivantes : 74
  • 84. Guide de l'utilisateur Codendi • Label du groupe de champs: il s'agit du nom du groupe de champs. • Description : une description plus longue du rôle de ce groupe de champs. • Rang à l'écran : ce nombre entier de valeur quelconque vous permet de définir la posi- tion des groupes de champs à l'écran dans les formulaires de soumission et de modifi- cation par rapport aux autres groupes de champs. Les groupes de champs avec les va- leurs les plus petites apparaissent en premier à l'écran. Les valeurs n'ont pas à être consécutives. Il est même recommandé de les numéroter à intervalle régulier comme 10, 20, 30... pour pouvoir facilement insérer de nouveaux groupes de champs sans avoir à renuméroter tous les autres. 7.13.4 Gestion de l'utilisation des champs Lorsqu'un outil de suivi est créé, il comprend un ensemble de champs préconfigurés qui pro- viennent du patron utilisé pour sa création. Pour la majorité des projets hébergés sur Codendi il est très probable que les patrons standards (bugs, tâches, demandes d'assistance) répondent à la plupart des besoins. Toutefois Codendi vous permet de personnaliser les champs utilisés par vos outils de suivi. Il peut s'agir d'une variation autour d'un patron standard comprenant l'ajout ou la suppression de quelques champs mais cela peut aussi être une définition complète à partir d'un patron vierge. Types de champs d'un outil de suivi Les champs d'un outil de suivi peuvent être de plusieurs types : boîte de sélection, boîte de sé- lections multiples, zone de texte, champ de texte, champ à nombre entier, champ à nombre flot- tant et champ date. Voici une description détaillée de chaque type de champ : • Boîte de sélection : un champ de type "Boîte de sélection" prend sa valeur parmi une liste de valeurs prédéfinies par l'administrateur de l'outil de suivi. Selon le navigateur que vous utilisez l'apparence de ce type de champ peut varier mais ils sont en général affichés sous la forme d'un menu déroulant montrant les valeurs prédéfinies. A un ins- tant donné, ce type de champ ne peut avoir qu'une seule valeur. • Boîte de sélections multiples : comme la boîte de sélection simple décrite précédem- ment, ce champ prend sa valeur parmi une liste de valeurs prédéfinies. Par contre il permet de donner plusieurs valeurs au champ à un instant donné. Ce type de champ peut être par exemple utilisé pour le champ des personnes responsables d'une tâche. • Zone de texte : permet à l'utilisateur de saisir un texte libre de plusieurs lignes. Ce type de champ est utilisé dans de nombreux outils de suivi pour le champ "Description origi- nal Submission". • Ligne de texte : permet à l'utilisateur de saisir un texte libre d'une seule ligne. Le ré- sumé d'un artefact est un exemple de champ de type ligne de texte. • Champ date : un champ d'une ligne qui accepte les dates au format ISO (AAAA-MM-JJ) • Champ à nombre entier : champ d'une ligne qui accepte uniquement les nombres en- tiers (exemple : 3, -100, 2345…) • Champ à nombre flottant : champ d'une ligne qui accepte uniquement les nombres flot- tants(exemple : 3.56, -100.3, 2345, 34E+6…) Liste des champs de l'outil de suivi Pour configurer les champs à utiliser ou à ne pas utiliser sélectionnez l'item "Gérer l'utilisation 75
  • 85. Guide de l'utilisateur Codendi des champs" sur la page d'accueil du module d'administration d'un outil de suivi. L'écran d'utilisation des champs (Figure 28. Écran de gestion de l'utilisation des champs dans un outil de suivi [page 77]) montre un exemple de champs disponibles dans un outil de suivi de Codendi. Cet écran se divise en trois sections : 1. la liste des champs de l'outil de suivi en cours d'utilisation 2. la liste des champs inutilisés (invisible sur la figure Figure 28. Écran de gestion de l'utilisation des champs dans un outil de suivi [page 77]) 3. un formulaire permettant de créer de nouveaux champs dans l'outil de suivi (invisible sur la figure Figure 28. Écran de gestion de l'utilisation des champs dans un outil de suivi [page 77]) Les informations suivantes sont présentées sur la liste des champs : • Label du champ : le nom du champ. Pour ajuster les propriétés d'un champ il faut cli- quer sur le nom. • Type : un champ peut prendre un des types suivants : boîte de sélection, boîte de sé- lections multiples, ligne de texte, zone de texte, champ date, champ à nombre entier, champ à nombre flottant. Pour une description détaillée des types de champs voir la Tracker Field Types. • Description : la description du champ. • Groupe de champs : groupe auquel le champ appartient. • Rang à l'écran : le rang indique dans quel ordre les champs apparaîtront à l'écran dans le formulaire de soumission ou dans le formulaire de mise à jour. Les champs avec le plus petit rang apparaissent en premier. Les rangs sont relatifs au groupe de champs (les champs sont d'abod affichés par groupe de champs, puis par rang à l'intérieur de leur propre groupe de champs). • Statut : • Utilisé : le champ est utilisé par l'outil de suivi. • Inutilisé : le champ n'est pas utilisé par l'outil de suivi. Notez qu'un champ inutilisé n'est rien d'autre qu'un champ "caché". Si vous changez le statut d'un champ de uti- lisé à inutilisé toutes les données associées à ce champ sont préservées. • Détruire ? : lorsqu'un champ est détruit il disparaît complètement de la liste des champs disponibles. De plus toutes les données associées à ce champ sont suppri- mées de tous les artefacts. 76
  • 86. Guide de l'utilisateur Codendi Figure 28. Écran de gestion de l'utilisation des champs dans un outil de suivi Création et modification du champ d'un outil de suivi Étant donné que les formulaires de création et de modification d'un champ sont très similaires ils sont tous deux traités dans cette section. L'écran de création d'un champ est disponible au bas de la liste des champs alors que le formu- laire de modification d'un champ s'obtient un cliquant sur le label du champ à modifier. Coup de pouce : utilisez d'abord les champs prédéfinis ! A tout instant dans la vie de votre projet vous pouvez enrichir vos outils de suivi avec de nouveaux champs. Cependant avant de créer un nouveau champ, prenez la peine de consulter la liste des champs inutilisés : l'un d'eux correspond peut-être à ce que vous cherchez. En utilisant les champs prédéfinis vous contribuez à l'unité globale des environnements de projet et vous facilitez la vie de vos visiteurs, contributeurs ou nouveaux membres de l'équipe lorsqu'il sont amenés à travailler sur plusieurs projets. Les propriétés à définir pour un champ sont les suivantes : • Label du champ : il s'agit du nom du champ. Bien que vous soyez entièrement libre de modifier le nom d'un champ, nous vous recommandons de le modifier uniquement si vous lui donnez une signification équivalente (par exemple le champ Sévérité peut être renommé en Gravité). Si vous voulez changer le nom pour faire jouer au champ un rôle radicalement différent, nous vous recommandons de créer un nouveau champ et de dé- placer le champ existant dans la liste des champs inutilisés. 77
  • 87. Guide de l'utilisateur Codendi • Description : une description plus longue du rôle de ce champ. • Type du champ : un champ peut prendre un des types suivants : boîte de sélection, boîte de sélections multiples, ligne de texte, zone de texte, champ date, champ à nombre entier, champ à nombre flottant. Pour une description détaillée des types de champs voir la Tracker Field Types. • Taille d'affichage : cette propriété vous permet de définir l'espace occupé par le champ à l'écran. Ce champ a une signification et un format différent en fonction du type du champ. • Boîte de sélection : la taille d'affichage ne s'applique pas à ce champ. Toute informa- tion saisie est ignorée. • Boîte de sélections multiples : la taille d'affichage se compose d'une seule valeur in- diquant combien de valeurs associées à ce champ sont visibles simultanément à l'écran. La valeur raisonnable se situe en général entre 2 et 5. • Champ texte, entier ou flottant : pour tous les champs qui tiennent sur une seule ligne, la taille d'affichage suit le patron "V/M" où V est le nombre de caractères vi- sibles à l'écran et M est le nombre maximum de caractères qu'il est possible de ta- per dans ce champ. Si V est plus petit que M alors le texte tapé se décalera automa- tiquement sur la gauche lorsque vous avez tapé plus de caractères que la zone vi- sible n'est capable d'en afficher. La valeur maximale de M est 255. Une taille d'affichage de "10/40" signifie qu'un champ accepte 40 caractères maxi- mum et que la portion visible n'est que 10 caractères. • Champ date : une date suit toujours le patron AAAA-MM-JJ et les champs date ont donc une taille fixe de 10 caractères. • Zone de texte : pour les zones de texte, la taille d'affichage s'exprime sous la forme "C/L" ou C est le nombre de colonnes de la zone de texte (sa largeur) et R le nombre de lignes de texte (sa hauteur). Notez que le nombre de lignes que l'on peut taper n'est pas limité à R. Si le texte a plus de R lignes un ascenseur de défilement apparaît automatiquement pour naviguer dans le texte. Une taille d'affichage de 60/7 donne une zone texte de 7 lignes visibles et 60 carac- tères de long. • Groupe de champs : il s'agit du groupe de champs auquel le champ appartient. Tout champ doit appartenir à un groupe de champs, et un champ ne peut pas appartenir à plus d'un groupe de champs (en d'autres termes, un champ appartient à un et un seul groupe de champs). • Rang à l'écran : ce nombre entier de valeur quelconque vous permet de définir la posi- tion des champs à l'écran dans les formulaires de soumission et de modification. Les champs avec les valeurs les plus petites apparaissent en premier à l'écran. Les valeurs n'ont pas à être consécutives. Il est même recommandé de les numéroter à intervalle régulier comme 10, 20, 30... pour pouvoir facilement insérer de nouveaux champs sans avoir à renuméroter tous les autres. 78
  • 88. Guide de l'utilisateur Codendi Figure 29. Configuration des champs utilisés dans un outil de suivi • Autoriser la valeur vide : indique s'il est permis de laisser le champ sans valeur dans les écrans de soumission et de modification d'un artefact. Si la case n'est pas cochée l'outil de suivi n'acceptera pas le formulaire tant qu'une valeur n'aura pas été spécifiée par l'utilisateur. Les champs dont la saisie est obligatoire sont marqués d'un astérisque rouge sur les formulaires de saisie. • Conserver l'historique des changements : indique si les valeurs successives de ce champ doivent être conservées dans l'historique de l'artefact (voir Section 7.5.8 [page 58]). • Utiliser ce champ : cette propriété apparaît uniquement sur l'écran de modification des propriétés du champ. Lorsqu'un champ est créé il prend automatiquement le statut "Uti- lisé". Les champs qui passent du statut utilisé à inutilisé ne font que disparaître des écrans de l'outil de suivi et toutes les données attachées à ce champ dans les artefacts demeurent intactes. En d'autres termes, en repassant un champ du statut Inutilisé à Uti- lisé on fera aussi réapparaître toutes les valeurs de ce champ dans les différents arte- facts. Seule la destruction effective d'un champ supprime définitivement les données du champ (voir Section [page 75]. 7.13.5 Gestion des valeurs des champs Une fois les champs définis, l'étape suivante consiste à définir les valeurs associées à ces champs. Ceci concerne essentiellement les champs de type "Boîte de sélection" et "Boîte de sélections multiples" où la liste des valeurs que vous définissez apparaît dans les menus dérou- lants des écrans de soumission et de modification des artefacts. Les autres types de champs ne nécessitent pas de définition de valeurs. Pour ces champs, seule la valeur par défaut peut être spécifiée. Liste des champs Pour configurer les valeurs associées aux champs de l'outil de suivi, sélectionnez l'item "Gérer 79
  • 89. Guide de l'utilisateur Codendi les valeurs des champs" sur la page d'accueil du module de configuration de l'outil de suivi. Figure 30. Liste des champs dont les valeurs sont définies par l'utilisateur Les informations affichées sur cette première page : • la label du champ : le nom du champ. Cliquez sur ce champ pour voir la liste des va- leurs du champ. • Description : la description du champ Afficher les valeurs d'un champ Un clic sur le nom d'un champ listé sur la page de gestion des valeurs de champ (voir Section 7.13.5 [page 79]) vous mène à la liste des valeurs pour ce champ (voir Figure 31. Liste des va- leurs du champ "Resolution" [page 81]). La table des valeurs fournit les informations suivantes : • Label de la valeur : l'intitulé de la valeur telle qu'elle apparaît dans la boîte de sélec- tion. Pour modifier les propriétés d'une valeur il suffit de cliquer sur le label (voir Section [page 82]). • Description : description de la valeur. • Rang : permet de définir l'ordre dans lequel les valeurs apparaissent dans la boîte de sélection. Les valeurs ayant les valeurs de rang les plus petites apparaissent en tête de la boîte. • Statut : • Active : la valeur est visible dans la boîte de sélection et peut-être utilisée dans le champ correspondant. • Cachée : la valeur n'est pas visible dans la boîte de sélection. Cependant si la valeur a été utilisée par certains artefacts de l'outil de suivi avant d'être cachée, elle conti- nuera à être visible dans ces artefacts spécifiquement. • Permanente : une valeur permanente est définie pour l'ensemble des outils de suivi utilisant ce champ. Elle ne peut être cachée ni supprimée. Seuls les administrateurs du site en charge de la définition des patrons d'outils de suivi de niveau site peuvent marquer une valeur comme permanente. 80
  • 90. Guide de l'utilisateur Codendi La Figure 31. Liste des valeurs du champ "Resolution" [page 81] montre la liste des valeurs pour le champ Resolution d'un outil de suivi de "Bugs". Le champ Resolution est proposé avec un certain nombre de valeurs prédéfinies qui sont communes à tous les projets Codendi. Par dé- faut 8 valeurs sont disponibles (Accepted, Analyzed, etc.). Vous avez bien sûr la possibilité d'ajouter vos propres valeurs au champ Resolution. Cependant dans le but de conserver une certaine harmonie entre les différents outils de suivi de Codendi, nous vous recommandons vivement d'utiliser la liste des valeurs prédéfinies autant que vous le pouvez avant d'en créer de nouvelles. Figure 31. Liste des valeurs du champ "Resolution" Définition d'une valeur par défaut Il est possible de définir une valeur par défaut pour chacun des champs d'un outil de suivi. Sui- vant le type de champ vous aurez à saisir la valeur par défaut dans un champ texte (champ en- tier, flottant, date et texte) ou dans une boîte de sélection montrant toutes les valeurs actuelle- ment définies pour un champ de type boîte de sélection ou boîte de sélections multiples (invisible sur la Figure 30. Liste des champs dont les valeurs sont définies par l'utilisateur [page 80]) . Création d'une valeur de champ Pour ajouter une nouvelle valeur à un champ, utilisez le formulaire qui se trouve sous la liste des valeurs existantes (invisible sur Figure 30. Liste des champs dont les valeurs sont définies par l'utilisateur [page 80]). Association d'un champ avec une liste de valeurs Codendi vous permet non seulement de créer une liste de valeurs pour un champ de type boîte de sélection mais il offre aussi la possibilité d'associer un champ avec une liste de valeurs pré- définies générées dynamiquement par Codendi. L'exemple le plus classique consiste à montrer la liste des membres du projet dans une boîte de sélection. Au lieu d'avoir à la créer et à la maintenir manuellement, Codendi construit cette liste pour vous et vous permet de l'associer à un champ. Notez que si vous décidez d'associer un champ à une liste de valeurs générées dynamique- ment vous ne pouvez plus définir vos propres valeurs. Les listes dynamiques suivantes sont ac- 81
  • 91. Guide de l'utilisateur Codendi tuellement disponibles : • Membres du projet : la liste des utilisateurs membres du projet. • Administrateurs du projet : les membres du projet qui ont le statut d'administrateur de ce projet. • Les personnes ayant soumis un artefact : la liste complète des utilisateurs ayant sou- mis au moins un artefact dans l'outil de suivi. • Un groupe d'utilisateurs défini par le projet : vous pouvez associer une boîte de sé- lection avec la liste des utilisateurs d'un groupe d'utilisateurs quelconque du projet. Sur la façon de définir des groupes d'utilisateurs voir la Section 6.10 [page 35]. Modification d'une valeur de champ A partir de l'écran montrant la liste des valeurs d'un champ (voir Figure 30. Liste des champs dont les valeurs sont définies par l'utilisateur [page 80]) vous pouvez changer les propriétés d'une valeur en cliquant sur le label de la valeur. • Valeur : changer la valeur elle-même. La valeur saisie dans ce champ apparaît telle quelle dans la boîte de sélection. Gardez présent à l'esprit que si vous modifiez une va- leur, cette modification prend effet dans tous les artefacts qui utilisaient l'ancienne va- leur. • Rang : un nombre entier quelconque qui permet de définir l'ordre d'apparition des va- leurs dans la boîte de sélection. Les valeurs ayant le plus petit rang apparaissent en premier. Lorsque la valeur "None" (ou "Aucun") est proposée dans la liste des valeurs sa valeur de rang est 10. Ce nombre est délibérément faible car, par convention, "None" (ou "Aucun") apparaît toujours en première position dans la boîte de sélection. Soyez donc bon citoyens et utilisez des valeurs de rang supérieures à 10 pour vos propres va- leurs. • Statut : Active ou Cachée. Comme expliqué plus haut changer cette propriété au cours de la vie du projet n'a aucun impact négatif sur la base d'artefacts. • Description : nous en dit un peu plus sur la signification de cette valeur. Figure 32. Configuration des valeurs d'un champ Coup de pouce : laisser de la place entre les valeurs de rang Que ce soit pour les champs ou les valeurs de champs nous vous recommandons d'utiliser des nombres assez grands pour les valeurs de rang comme 100, 200, 300. En procédant de la sorte, vous pourrez facilement insérer de nouvelles valeurs ou de nouveaux champs sans avoir à redéfinir 82
  • 92. Guide de l'utilisateur Codendi l'ordre d'apparition de tous les autres champs ou valeurs de champ. 7.13.6 Dépendances entre champs Les dépendances entre champs permettent de lier les valeurs d'un champ source aux valeurs d'un champ cible. Autrement dit, les valeurs proposées à l'utilisateur final pour un champ pour- ront dépendre de la valeur sélectionnée dans un autre champ. Prenons un cas concret. Soit un champ Système d'exploitation(Linux, MacOS X, MS Windows, NetBSD) et un champ Version(2.0, 2.1, 2.2, 2.4, 2.6, 3.0, 10.1, 10.2, 10.3, 10.4 (Tiger), NT, 2000, XP). Définissons les dépendances dans l'interface d'administration de l'outil de suivi : 1. On sélectionne d'abord le champ source "Système d'exploitation" puis le champ cible "Version". L'ensemble des valeurs pour ces deux champs sont alors affichées. Les va- leurs qui font partie d'une définition de dépendance entre les deux champs sont mises en valeur (police grasse). 2. Pour créer des dépendances entre la valeur Linux et les versions correspondant à ce système, il suffit de selectionner la valeur puis de cocher/decocher les valeurs corres- pondantes dans l'autre champ. Le surlignage permet de faire le rapprochement visuel entre les correspondances, aidé par les petites flèches indiquant le sens de lecture "source vers cible". 3. A tout moment vous pouvez annuler les modifications en cours en cliquant sur le bou- ton de réinitialisation. Une fois validées, les modifications sont enregistrées. Voici ce que donnent nos dépendances pour le système Linux : 83
  • 93. Guide de l'utilisateur Codendi Figure 33. Dépendances pour le système Linux On continue en sélectionnant la prochaine valeur source MacOS X Figure 34. Dépendances pour le système MacOS X On continue en sélectionnant la prochaine valeur source MS Windows 84
  • 94. Guide de l'utilisateur Codendi Figure 35. Dépendances pour le système MS Windows On finit avec la dernière valeur source NetBSD 85
  • 95. Guide de l'utilisateur Codendi Figure 36. Dépendances pour le système NetBSD Il est aussi possible de "naviguer" à travers les dependances dans le sens inverse : définir l'ensemble des valeurs sources qui correspondent à une valeur cible : 86
  • 96. Guide de l'utilisateur Codendi Figure 37. La version 2.0 "dépend" de Linux et NetBSD Une fois les dépendances définies, l'utilisateur final (lors de la soumission/édition d'un artefact) verra les options du champ Version filtrées en fonction de la sélection du champ Système d'exploitation : Figure 38. Les versions proposées pour Linux 87
  • 97. Guide de l'utilisateur Codendi Figure 39. Les versions proposées pour MacOS X Figure 40. Les versions proposées pour MS Windows Figure 41. Les versions proposées pour NetBSD Lors de la définition de vos dépendances, veuillez prendre en compte les points suivants : • Seuls les champs de type Boîte de sélection et Boîte de sélection multiple peuvent avoir des dépendances, • Les dépendances cycliques sont interdites (Champ 1 => Champ 2 => ... => Champ 1), • Un champ ne peut dépendre que d'un seul champ, • Javascript doit être autorisé sur le navigateur pour pouvoir administrer les dépen- dances, • Si un champ n'est pas cible d'une dépendance, alors il proposera toutes ses valeurs. Dans le cas contraire, il ne proposera que celles qui satisferont les règles de dépen- dances. 88
  • 98. Guide de l'utilisateur Codendi 7.13.7 Réponses-type Il est assez fréquent de voir des membres d'un projet en charge de la gestion des artefacts ta- per souvent le même genre de commentaires. Parmi les exemples classiques de commentaires répétitifs, on trouve : un message de remerciement à la personne qui a soumis l'artefact, une demande d'information complémentaire comme un numéro de version ou le type de machine utilisée, etc...(voir Figure 42. Définition d'une réponse-type [page 89]). Plutôt que de retaper sans cesse les mêmes commentaires, Codendi permet aux membres du projet de définir un ensemble de commentaires prédéfinis appelés réponses-type. Après avoir défini ces réponses-type, poster le commentaire correspondant nécessite simplement de choisir la réponse-type dans la boîte de sélection située à proximité de la zone de saisie du commen- taire dans le formulaire de modification d'un artefact. Notez qu'il est aussi possible de définir des réponses-type à la volée en cliquant sur le lien "Défi- nir une nouvelle réponse type" dans l'écran de modification d'un artefact (voir Figure 17. Com- mentaires attachés à un artefact [page 54]). Figure 42. Définition d'une réponse-type 7.13.8 Gestion des rapports de recherche Sachant que les administrateurs d'un projet, les membres ou les autres utilisateurs peuvent avoir des besoins très différents en matière de recherche dans la base des artefacts, Codendi permet de définir des rapports de recherche valables pour l'ensemble du projet ou par un utilisa- teur en particulier. Créer un rapport de recherche consiste à choisir quels champs vous souhaitez utiliser en tant que critère de recherche et quels champs afficher dans le tableau de résultats de la recherche. Vous pouvez aussi définir l'ordre dans lequel les critères de recherche et les colonnes de la table de résultats apparaissent à l'écran. 89
  • 99. Guide de l'utilisateur Codendi Les administrateurs d'un outil de suivi ont la possibilité de définir des rapports de recherche utili- sables par tous les utilisateurs enregistrés ayant accès à l'outil de suivi alors que les autres utili- sateurs ne peuvent définir que des rapports de recherche à usage personnel. Coup de pouce : Les rapports de recherche définissent la structure d'un rapport et non pas son contenu Lors de la configuration d'un rapport de recherche vous remarquerez certainement que l'écran de configuration permet de définir les champs que vous allez utiliser en tant que critère de recherche mais pas les valeurs à mettre dans ces champs pour la recherche. La définition de la structure d'un rapport et le remplissage des critères de recherche sont deux opérations distinctes sur Codendi. Une fois le rapport de recherche défini dans le module d'administration (par exemple : 'Rapport simple', 'Rapport Qualité', 'Rapport quotidien',…) vous pouvez vous rendre sur l'écran de recherche et de na- vigation, sélectionner le rapport de recherche qui vous convient, remplir les valeurs des critères de recherche et lancer la requête. Ensuite vous pouvez sauvegarder la totalité de cette recherche (choix du rapport et des valeurs des critères) à l'aide du mécanisme de signets de Codendi (voir le coup de pouce de la Section 7.4.1 [page 47]). Et voila ! Afficher les rapports de recherche Un clic sur l'entrée "Rapport" du menu de la page d'administration d'un outil de suivi affiche la liste des rapports de recherche disponibles (voir Figure 43. Exemple d'une liste de rapports de recherche [page 90]) accompagnée des informations suivantes : • ID : l'identifiant unique du rapport. Un clic sur l'ID vous conduit vers la page de configu- ration du rapport (voir Section [page 91]). • Nom du rapport : le nom du rapport tel qu'il apparaîtra dans la boîte de séléction des rapports sur la page de recherche des artefacts (Exemple de nom : Rapport simple, Rapport qualité, Rapport quotidien…). • Description : une description plus détaillée du rapport. • Portée : • Projet : ce rapport est utilisable par tous les membres du projet. Seuls les adminis- trateurs de l'outil de suivi peuvent définir des rapports dont la portée s'étend à l'ensemble des utilisateurs. • Personnel : ce rapport est uniquement utilisable par la personne qui l'a créé. • Système : ce type de rapport est défini au niveau du système Codendi et ne peut être supprimé. Le rapport de recherche par défaut qui est préconfiguré à la création de l'outil de suivi est un rapport de type Système. • Détruire ? : cliquez sur l'icône corbeille pour supprimer le rapport. Les rapports de type Projet ne peuvent être détruit que par les administrateurs de l'outil de suivi. Figure 43. Exemple d'une liste de rapports de recherche 90
  • 100. Guide de l'utilisateur Codendi La même interface est disponible pour la navigation dans les rapports graphiques de recherche. Configuration des rapports de recherche Après avoir sélectionné l'identifiant (ID) d'un rapport de recherche présenté dans la liste des rapports (voir Section [page 90]), l'écran de configuration du rapport s'affiche. Cet écran vous permet de définir quels champs utiliser comme critères de recherche et quels champs doivent fi- gurer dans les colonnes de la table de résultats constituée à partir des artefacts sélectionnés dans la base de données. Les informations suivantes sont présentes à l'écran : • Nom : chaque rapport porte un nom. Il ne doit pas être trop long car il apparaît dans une boîte de sélection sur l'écran de recherche des artefacts lorsque vous choisissez le rapport de recherche souhaité. • Portée : les administrateurs de l'outil de suivi peuvent définir des rapports de type projet utilisables par tous les utilisateurs. Les autres utilisateurs ne peuvent définir que des rapports de recherche personnels. • Description : une description plus détaillée du rapport. • Sélection des champs : La table des champs montre l'ensemble des champs utilisés par l'outil de suivi. Pour chaque champ, on peut définir les paramètres suivants : • Utiliser comme critère de recherche : si vous cochez cette case, le champ apparaîtra comme l'un des critères de sélection utilisable lors de vos recherches dans la base d'artefacts. • Rang à la recherche : un nombre peut être précisé dans ce champ. Le rang vous permet de placer le champ par rapport aux autres à l'écran. Les champs avec la plus petite valeur de rang sont affichés en premier. Ces nombres ne sont pas nécessaire- ment consécutifs. • Utiliser comme colonne dans le rapport : si vous cochez cette case, le champ appa- raîtra comme l'une des colonnes dans la table de résultats de la recherche. • Rang dans le rapport de recherche : un nombre peut être précisé dans ce champ. Le rang vous permet de placer le champ par rapport aux autres à l'écran. Les champs avec la plus petite valeur de rang sont affichés en premier (de gauche à droite). Ces nombres ne sont pas nécessairement consécutifs. • Largeur de la colonne(optionnel) : si vous souhaitez imposer une largeur de colonne pour ce champ dans la table de résultats vous pouvez la spécifier ici sous forme d'un pourcentage de la largeur totale de la page. Cette valeur est optionnelle et nous vous recommandons de la laisser vierge à moins que votre navigateur ne formate pas la table comme vous le souhaitez. Si vous voulez qu'une colonne soit la plus étroite pos- sible, spécifiez un pourcentage très faible comme 1 ou 2. Note : il est parfaitement possible d'utiliser un champ comme critère de recherche sans le faire figurer dans la table de résultat et inversement. Pour les champs que vous ne souhaitez pas uti- liser du tout dans le rapport laissez les deux cases à cocher vierges. 91
  • 101. Guide de l'utilisateur Codendi Figure 44. Configuration d'un rapport de recherche 7.13.9 Configuration des rapports graphiques de recherche Après avoir sélectionné l'identifiant (ID) d'un rapport graphique de recherche présenté dans la liste des rapports (voir Section [page 90]), l'écran de configuration du rapport s'affiche. Cet écran vous permet de définir quels types de graphiques afficher. Il y a trois types de graphiques possibles: Camembert, Bâtons et Gantt. Créer / Modifier un graphique Pour créer un nouveau graphique pour le rapport, cliquer simplement sur le type de graphique que vous voulez créer (camembert, bâton ou Gantt) Pour modifier un graphique existant, cli- quez sur l'icône en forme de crayon dans le coin en haut à droite du graphique. En cliquant sur la croix rouge, vous effacerez le graphique. Les informations communes à tous les types de graphique disponible sur l'écran de création / modification de graphique sont les suivantes : • Titre: le titre du graphique, il sera affiché dans la partie supérieur du graphique. • Description: une description courte du graphique, elle sera également affichée sur le graphique. • Rang: le rang détermine l'ordre d'affichage des graphiques dans le rapport. Créer / Modifier un graphique camembert Les informations spécifiques disponibles pour les graphiques camemberts sont les suivantes : • Largeur et Hauteur: déterminent la taille du graphique en pixels. • Données sources: données principales à partir desquelles le graphique sera tracé 92
  • 102. Guide de l'utilisateur Codendi Créer / Modifier un graphique en bâtons Les informations spécifiques disponibles pour les graphiques en bâtons sont les suivantes : • Largeur et Hauteur: déterminent la taille du graphique en pixels. • Données sources: données principales à partir desquelles le graphique sera tracé • Grouper par: données servant à regrouper les données sources par catégories. Créer / Modifier un diagramme de Gantt 93
  • 103. Guide de l'utilisateur Codendi Les informations spécifiques disponibles pour le diagramme de Gantt sont les suivantes : • Date de début: détermine le champ de l'outil de suivi utilisé comme date de début. • Date de fin: détermine le champ de l'outil de suivi utilisé comme date de fin estimé. • Fin prévue: détermine le champ de l'outil de suivi utilisé comme date de fin. • Echelle Temporelle: peut être jour, semaine, mois et année. • A la date: Date de référence pour l'affichage du graphique, la valeur par défaut est le jour courant. • Résumé: Texte affiché dans la colonne de gauche (Summary), et dans les info-bulles des barres. • Progression: Pourcentage d'achèvement de la tache. Ce champ doit être de type en- tier, son mode d'affichage un champ texte, et ses valeurs doivent être comprises entre 0 et 100. • Information à droite des barres: Texte affiché à la droite des barres dans le dia- gramme de Gantt. 7.13.10 Options de notification email Comme expliqué dans la Section 7.8 [page 61] les outils de suivi sont préconfigurés avec une série de règles leur permettant d'informer les personnes concernées des évènements survenant dans le cycle de vie d'un artefact. Ces règles de notification par défaut peuvent être modifiées de plusieurs façons : Notification email globale En complément des règles de notification par défaut, l'administrateur de l'outil de suivi a la pos- sibilité de spécifier plusieurs adresses email séparées par une virgule auxquelles seront systé- matiquement envoyées des notifications lors de la création (et éventuellement lors de la modifi- cation) d'un artefact. Notez que dans ce cas, les notifications sont envoyées aux utilisateurs sans tenir compte des préférences personnelles (voir la section "Event/Role Based Notification Settings" ci-dessous). Vous pouvez désactiver la vérification des permissions pour la notification email globale. Ce 94
  • 104. Guide de l'utilisateur Codendi peut être utile si l'adresse en question est une liste de distribution. En effet, pour les listes de distribution, le système ne peut vérifier les permissions individuelles de chaque membre de la liste. Donc, si la case "vérifier les permissions" est cochée, les notifications seront envoyées aux membres de la liste de distribution avec les droits 'utilisateur anonyme'. Cette fonctionnalité peut être utilisée pour informer de la soumission d'un nouvel artefact les personnes de l'équipe en charge de leur qualification et leur assignation. Coup de pouce : créer une liste de distribution pour notifier plusieurs personnes Si vous souhaitez notifier de nombreuses personnes, nous vous suggérons d'utiliser les listes de dis- tributions de Codendi (voir Section 15.1 [page 177]). Une fois la liste de distribution en place, il vous suf- fit de taper l'adresse de la liste dans le champ de notification globale pour que toutes les personnes concernées soient informées. La création d'une liste de distribution a plusieurs avantages : tout d'abord chaque individu peut s'abonner ou se désabonner comme il le souhaite et, ensuite, tous les messages envoyés à une liste de distribution sont conservés dans une archive et peuvent donc servir de témoin en cas d'audit. Utilisateurs à suivre Les outils de suivi de Codendi offrent à tous les membres du projet la possibilité de recevoir une copie de toutes les notifications envoyées à certaines autres personnes. Voici quelques exemples où cette fonctionnalité se révèle particulièrement utile : • Remplacement : lorsqu'un membre de l'équipe est absent il est souvent très commode de pouvoir déléguer le traitement des artefacts dont il est en charge à une autre per- sonne de l'équipe qui le remplace. Pour devenir le remplaçant d'une personne il suffit de taper le nom de la personne à remplacer dans le champ "Utilisateurs à suivre" lorsque la personne s'en va et de l'enlever à son retour. Dès que vous spécifiez le nom d'une personne à suivre, vous recevez toutes les notifi- cations de cette personne et vous pouvez agir en conséquence à sa place. • Contact assurance qualité : une autre utilisation de cette fonctionnalité consiste pour les responsables de l'assurance qualité de l'équipe à taper le nom des ingénieurs avec lesquels ils travaillent. Ils savent ainsi où en sont les anomalies assignées à "leur" ingé- nieur. Remarque : le but de cette fonctionnalité n'est pas de vous espionner. Ainsi, pour être sûr que personne ne suit vos notifications email sans votre consentement, Codendi montre sur cette page le nom des utilisateurs qui ont demandé à suivre vos notifications email. Configuration des notifications par rôle/évènement Il s'agit là de la partie la plus sophistiquée du processus de personnalisation des notifications email. Elle permet à n'importe quel utilisateur de définir les types d'évènements qui doivent faire l'objet d'une notification et ceux qui doivent, au contraire, ne pas être signalés. Cette configura- tion est spécifique à un utilisateur pour un projet donné. Il est donc possible de spécifier ces préférences de façon très fine pour chaque outil de suivi dans lequel vous êtes impliqué. 95
  • 105. Guide de l'utilisateur Codendi La matrice de personnalisation (voir Figure 45. Configuration de la matrice de notification per- sonnelle [page 97]) montre une série de cases à cocher. Chaque case vous permet de spécifier quel type d'évènement vous souhaitez recevoir suivant le rôle que vous jouez dans un artefact. Un utilisateur peut avoir quatre rôles vis à vis d'un artefact : • A soumis : vous êtes la personne qui a initialement soumis l'artefact en remplissant le formulaire de soumission. • En charge : l'artefact vous a été assigné et c'est à vous de le gérer. • CC : Votre nom apparaît dans la liste des destinataires en copie (voir Section 7.5.3 [page 55]). • Commentateur : vous avez posté au moins un commentaire dans l'artefact. Pour chacun de ces rôles vous pouvez indiquer à l'outil de suivi de vous envoyer une notifica- tion uniquement quand certains évènements surviennent. Il existe neuf évènements différents visibles sur la colonne la plus à gauche de la Figure 45. Configuration de la matrice de notifica- tion personnelle [page 97]. Les descriptions des évènements parlent d'elles mêmes et n'appellent qu'un commentaire : les huit premiers évènements de la liste ne peuvent survenir que lors de la modification d'un artefact. Seul le dernier évènement se rapporte à la création d'un nouvel arte- fact. Passons en revue la matrice de personnalisation donnée en exemple sur la Figure 45. Configu- ration de la matrice de notification personnelle [page 97] et voyons, étape par étape, comment cet utilisateur a configuré ses paramètres de notification : • Commençons par la colonne Commentateur. Ici l'utilisateur a décidé que s'il est impli- qué dans un artefact en tant que commentateur (il a juste posté un commentaire) il sou- haite recevoir un message de notification uniquement lorsque le statut de l'artefact passe à "Fermé" ou lorsque l'un quelconque des champs Priorité, Statut ou Sévérité est modifié. Tous les autres évènements doivent être ignorés par l'outil de suivi et ne pas donner lieu à une notification pour cet utilisateur. • Ensuite si nous examinons la matrice par évènement et non plus par rôle, on peut voir que l'utilisateur a indiqué que lorsqu'il modifie un artefact lui-même (évènement "Je suis l'auteur de la modification") il ne souhaite pas recevoir de notification quel que soit son rôle dans cet artefact. Veuillez noter que l'évènement "Je suis l'auteur de la modifica- tion" prend le pas sur d'autres évènements. Ainsi dans notre exemple, aucune notifica- tion n'est envoyée à cet utilisateur s'il soumet un artefact bien que l'évènement "Un nou- vel artefact a été soumis" soit coché. • Pour finir l'utilisateur a aussi spécifié que lorsqu'un nouvel artefact est soumis et qu'il lui est assigné, il veut en être informé. Cependant si c'est lui même qui a soumis l'artefact alors il ne souhaite pas recevoir de notification email. Notez aussi que le rôle Commentateur n'a pas de signification pour l'évènement "Un nouvel artefact a été soumis" car un commentaire ne peut être ajouté qu'au moment de la modification d'un artefact et pas lors de sa création. De plus, l'évènement "On me donne ou on m'enlève ce rôle" n'a pas de signification pour une commentateur ou la personne qui a soumis un commentaire car ces rôles ne peuvent être modifiés dans un artefact. 96
  • 106. Guide de l'utilisateur Codendi Figure 45. Configuration de la matrice de notification personnelle Suspension des notifications email Il est parfois utile de suspendre toutes les notifications email d'un outil de suivi particulier, par exemple lors de tâches de maintenance. En sélectionnant cette option, un administrateur de l'outil de suivi peut suspendre les notifications globales, ainsi que les notifications par rôle/ évènement Cette option est typiquement utilisée lors d'une mise à jour massive, ou pour faire des tests. 97
  • 107. Guide de l'utilisateur Codendi CHAPITRE 8 Publication de fichiers 8.1 Publication du code source : conseils Il existe deux façons pour un administrateur de projet de donner accès au code source d'un pro- jet hébergé sur Codendi : le système de contrôle de version (CVS ou Subversion) et le système de publication de fichiers. A première vue, le fait d'avoir deux systèmes de livraison du code source peut paraître redondant. Cependant les deux outils ont été développés avec des objec- tifs différents et pour des cibles d'utilisateurs différentes. En ce sens ils sont très complémen- taires. Proposer les deux outils à vos utilisateurs est un vrai plus. • Le système de contrôle de version (SCV) offre un accès au code source y compris l'historique des différentes versions de chaque fichier. Toutefois accéder au SCV néces- site l'installation d'un logiciel particulier sur le poste client. Certains utilisateurs ne peuvent pas ou ne souhaitent pas le faire. L'accès au SCV est particulièrement adapté aux utilisateurs de Codendi qui souhaitent approfondir le code, ajouter de nouvelles ex- tensions, corriger des anomalies et proposer des modifications à l'équipe de projet. A noter que certains projets n'autorisent pas l'accès de leur SCV aux personnes qui n'appartiennent pas à l'équipe. D'où l'importance du mécanisme de publication de fi- chiers. • Le mécanisme de publication de fichiers permet de livrer le logiciel (source, binaire ou documentation) sous forme de fichiers d'archive (zip, tar, jar...) qu'un utilisateur auto- risé peut facilement télécharger depuis le site Web de Codendi. Aucun outil ni connais- sance particulière n'est nécessaire. En complément de la fourniture éventuelle du code source, fournir des versions binaires prêtes à utiliser de vos logiciels est une excellente pratique. Le service de publication de fichiers est particulièrement adapté aux utilisa- teurs qui souhaitent utiliser rapidement votre logiciel sans attendre. Comme vous pouvez le voir, les deux services sont fondamentalement différents et nous vous encourageons vivement à les utiliser tous les deux. Dans le but de vous aider à comprendre pourquoi ces outils sont complémentaires, le cycle de vie typique d'un projet est illustré sur la Figure 54. Un cycle de développement logiciel typique sur Codendi [page 117]. 8.2 Jargon du service de publication de fichiers Avant d'aller plus avant dans la description du service de publication de fichiers nous allons dé- finir quelques termes clés utilisés dans cette section. Ces termes sont clés pour la compréhen- sion de ce service aussi bien pour les administrateurs que pour les utilisateurs. (voir Figure 46. Structure du service de publication de fichiers [page 99]). 98
  • 108. Guide de l'utilisateur Codendi Figure 46. Structure du service de publication de fichiers • Paquets : les paquets sont les conteneurs de plus haut niveau du service de publication de fichiers. Un paquet peut contenir une ou plusieurs version d'un logiciel. En général un paquet correspond à un délivrable de haut niveau de votre projet. Supposons que votre équipe travaille sur un moteur de base de données. Dans ce cas les paquets pourraient être BD-moteur pour le moteur de la base de données elle-même, BD-pilotes pour les différents pilotes ODBC et JDBC. Un troisième paquet DB-doc pourrait être créé pour délivrer la documentation versionnée dans un conteneur distinct. • Versions : une version est une collection de fichiers individuels qui ont été figés à un certain moment, versionnés et livrés. En général les fichiers contenus dans un conte- neur "Version" sont comme leur nom l'indique de la même version. Si nous reprenons l'exemple du projet de moteur de base de données on pourrait imaginer que le paquet BD-moteur contient une version 1.0, une version 1.1 et une version 2.0beta. BD-pilote pourrait aussi avoir une version 1.0 mais pas de version 1.2 ou 2.0beta si les pilotes 1.0 fonctionnent avec le moteur version 1.2 et 2.0beta. En d'autres termes, le nommage des versions est totalement libre d'un paquet à l'autre. • Fichiers : les fichiers sont les entités de base qu'on trouve dans une version. En nous appuyant encore une fois sur notre exemple de moteur de base de données, on peut imaginer que la version 1.0 du paquet BD-moteur comprend le fichier bd-mo- teur-src-1.0.zip pour le code source et bd-moteur-win32-1.0.zip pour la version précom- pilée pour MS Windows. Lorsque la version 1.2 est publiée, elle pourrait comporter les fichiers bd-moteur-src-1.2.zip pour les sources, bd-moteur-win32-1.0.zip pour la version précompilée pour MS Windows et bd-moteur-linux-intel-1.0.zip pour la version précom- pilée pour Linux sur plateforme Intel. Nous n'avons rien dit du paquet BD-doc. Il est peut être vide pour le moment ;-) A première vue cette structure peut paraître un peu complexe. Néanmoins c'est véritablement le genre de structure qu'une équipe de projet doit adopter pour rendre ses livraisons faciles à com- 99
  • 109. Guide de l'utilisateur Codendi prendre et à télécharger. Réfléchir à la structure de vos délivrables logiciels et documentation peut vous aider considérablement dans l'organisation de votre projet et de vos processus de travail (comme les opérations de build ou de test). Ne négligez pas cette partie de votre projet. 8.3 Navigation dans les fichiers publiés et téléchargement La version la plus récente de chaque paquet d'un projet est toujours visible sur la page de som- maire (voir Figure 7. Un exemple de page de Sommaire d'un projet [page 23]). Cette version peut être immédiatement téléchargée en cliquant sur le lien "Téléchargement" ou en visitant la liste complète des paquets et versions en cliquant sur le lien "Voir tous les fichiers du projet". Figure 47. L'écran de publication des fichiers du projet Codendi Administration Project Le premier exemple illustré sur la Figure 47. L'écran de publication des fichiers du projet Co- dendi Administration Project [page 100] montre l'écran de publication des fichiers du projet "Co- dendi Administration Project." 8.3.1 Navigation dans les paquets Comme expliqué dans la Section 8.2 [page 98], les projets peuvent contenir plusieurs paquets. Dans l'exemple, le projet comporte trois paquets, nommés "Codendi Installation ISO Image", "Codendi specifics themes" et "Codendi CLI". 100
  • 110. Guide de l'utilisateur Codendi Le contenu de chaque paquet peut être caché en cliquant sur l'icône moins située juste avant le nom du paquet. Cela peut être utile pour améliorer la lisibilité si votre projet comprend beau- coup de paquets et de versions. Pour rendre visible un paquet caché, il suffit de cliquer sur l'icône plus avant le nom du paquet. Par défaut, tous les paquets sont visibles. Codendi vous permet également de surveiller des paquets. De cette manière, vous serez averti lors de la parution d'une nouvelle version ou lors de la modification d'une version existante. Pour surveiller un paquet, il suffit de cliquer sur l'icône représentant une cloche, située après le nom du paquet. Si vous surveillez déjà le paquet, il y a un petit signe rouge sur la cloche, vous permettant d'arrêter de surveiller le paquet en question. Si vous ne surveillez pas le paquet, la cloche aura un petit plus vert. 8.3.2 Navigation dans les versions Un paquet peut contenir plusieurs versions. Dans l'exemple, le paquet "Codendi Installation ISO Image" contient 8 versions de 2.4 à 3.0.1, listées dans l'ordre chronologique. Chaque version contient un certain nombre de fichiers. Tout comme les paquets, le contenu des versions peut être caché afin d'améliorer la lisibilité. Le mécanisme est identique : il suffit de cliquer sur les icônes plus et moins pour rendre visible/ca- cher le contenu des versions. Par défaut, seule la première version de chaque paquet est vi- sible. Il s'agit de la dernière version disponible. Après chaque nom de version, l'icône représentant un fichier texte vous donne accès aux notes et aux changements de la version. 8.3.3 Téléchargement de fichiers Chaque version contient un certain nombre de fichiers qui peuvent être téléchargés. Dans le cas de notre exemple, la version 3.0.1 contient deux archives d'images ISO pouvant être télé- chargées. Les fichiers appartenant aux autres versions ne sont pas visibles dans cet exemple. Pour les rendre visible, il suffit de cliquer sur l'icône plus qui se trouve avant le nom des ver- sions. Certaines informations sur les fichiers sont également affichées, comme la taille du fi- chier, son type, son architecture (le cas échéant) la date et le nombre de fois qu'il a été télé- chargé. Pour télécharger un fichier, il suffit de cliquer sur le nom du fichier et de suivre les ins- tructions. 8.4 Administration et Livraison de fichiers Cette section s'adresse uniquement aux administrateur de projet ou aux administrateurs du ser- vice fichier. Elle explique par le menu le processus de livraison de fichiers. Il se décompose en deux étapes : 1. Création de paquets : il faut tout d'abord créer un ou plusieurs paquets. Ceci ne doit être fait qu'une seule fois. Lorsque les paquets sont en place vous pouvez y ajouter de nouvelles versions à n'importe quel moment. 2. Création de versions : une fois le paquet créé on peut y ajouter une ou plusieurs ver- sions. Pour chaque version, on peut attacher des fichiers, définir la date de publication, lister les changements contenus dans cette version, etc.... De plus, vous pouvez aussi définir des permissions d'accès au niveau de chaque paquet et de chaque version. 101
  • 111. Guide de l'utilisateur Codendi Si vous êtes administrateur de votre projet ou administrateur du service fichier de votre projet, vous remarquerez que l'interface des fichiers contient certains lien supplémentaires, vous per- mettant de réaliser les actions d'administration sur le service Fichier (Voir Figure 48. L'écran du service Fichier du projet "Codendi Administration project", si vous êtes administrateur [page 102] Figure 48. L'écran du service Fichier du projet "Codendi Administration project", si vous êtes administrateur 8.4.1 Administration des paquets Pour administrer les paquets, vous devez être administrateur du projet ou administrateur du ser- vice Fichier. La création et la modification de paquets sont quasiment identiques. Création d'un paquet Pour créer un paquet, il suffit de cliquer sur le lien [ajouter un paquet] situé en haut de l'écran du service Fichier. Vous devez ensuite remplir le formulaire, en renseignant le nom du paquet, son rang à l'écran et son statut : • Nom du paquet : Il s'agit du nom qui apparaîtra dans l'interface des Fichiers. Le nom des paquets doit être unique à l'intérieur d'un même projet. • Rang à l'écran : le rang indique la position à laquelle le paquet s'affichera à l'écran. Vous pouvez choisir entre les valeurs : 'au début', 'à la fin', ou après chaque paquet déjà présent. • Statut : un paquet actif sera affiché, alors qu'un paquet caché n'apparaîtra pas à l'écran. Les administrateurs veront toutefois les paquets caché, afin de pouvoir les mo- difier. Dans ce cas, ils sont affichés en italique pour les différencier des autres. Modification d'un paquet Pour modifier un paquet, cliquer sur l'icône d'édition située après chaque nom de paquet. En- suite, le formulaire de modification est identique à celui de création, à l'exception près que vous pouvez maintenant définir des permissions sur le paquet (see Figure 49. Ecran de modification du paquet CLI du projet "Codendi Administration" [page 103]). 102
  • 112. Guide de l'utilisateur Codendi Figure 49. Ecran de modification du paquet CLI du projet "Codendi Administration" Les membres projet ayant les droits 'Administrateur Fichier' (see Section 6.9 [page 34]) peuvent définir et modifier les permissions des paquets. Par défaut, les permissions appliquées à un paquet s'appliquent à toutes les versions et les fi- chiers de ce paquet. Mais vous pouvez également affecter des permissions différentes pour chaque version (voir ci-dessous). 8.4.2 Administration des versions Pour administrer les versions, vous devez être administrateur du projet ou administrateur du service Fichier. La création et la modification de versions sont identiques. Création et modification d'une version Une fois le paquet créé vous pouvez y insérer de nouvelles versions immédiatement. Pour ce faire, cliquez sur le lien [Créer une version] situé en regard du paquet approprié (voir Figure 48. L'écran du service Fichier du projet "Codendi Administration project", si vous êtes administra- teur [page 102]). Le processus de création et de modification de versions est vraiment très simple à utiliser. Il peut se décomposer en 6 étapes, mais certaines sont optionnelles. (see Figure 50. Ecran de modification d'une version du projet Codendi [page 104]). Dans tous les cas, vous pouvez modifier les versions a posteriori. 103
  • 113. Guide de l'utilisateur Codendi Figure 50. Ecran de modification d'une version du projet Codendi • Etape 1 - Propriétés de la version La première étape est la seule obligatoire pour créer la version dans un premier temps. Cette étape vous permet de modifier le paquet de la version, la date et le statut de la version. Vous devez également renseigner le nom de la version. • Etape 2 - Télécharger et attacher les fichiers à une version (facultatif) Cette étape est optionnelle dans le sens où vous pouvez ajouter les fichiers après avoir créé la version, mais il est évident qu'une version devrait toujours contenir au moins un fichier pour être pertinente. Comme expliqué auparavant, plusieurs fichiers peuvent être attachés à une même version. Pour ajouter un fichier, cliquer sur le lien [ajouter un fi- chier]. Une boîte de sélection apparaît alors, vous permettant de sélectionner le fichier à ajouter. Il y a deux moyens d'attacher un fichier : • Téléchargement direct : vous pouvez télécharger le fichier via l'interface web en utili- sant l'option "Fichier Local - Parcourir" de la boîte de sélection, et en choisissant le fichier approprié sur votre disque local. • FTP / SCP : télécharger votre fichier via ftp ou scp avant et sélectionner son nom dans la boîte de sélection, dans la section "Liste des fichiers FTP/SCP". Astuce: Comment télécharger vos fichiers avec FTP ou SCP Codendi vous permet de télécharger vos fichiers par FTP (ou SCP). Pour ce faire, suivez les indica- tions qui vous sont données lorsque vous cliquez sur le ? situé après le lien [ajouter un fichier]. En- suite rafraîchissez la page Web ou cliquez sur le lien "Rafraîchir la liste des fichiers" puis ajouter un 104
  • 114. Guide de l'utilisateur Codendi • Etape 3 - Renseigner les notes concernant la version et les modifications (facultatif) Avec la version, vous pouvez également fournir des notes et/ou des modification (change log). Vous pouvez au choix copier/coller du texte ou télécharger les notes en cliquant sur le lien [télécharger]. Les notes concernant la version sont typiquement un texte court (10 à 20 lignes) et de haut niveau résumant les modifications visibles pour l'utilisateur (nouvelle interface utili- sateur, nouvelles fonctionnalités, nouvelles interfaces de programmation...). C'est un document important et les versions publiées devraient toutes être assorties de ce docu- ment. Il permet par exemple à vos utilisateurs de décider s'ils doivent mettre à jour leur ancienne version ou pas.. Le document décrivant les modifications (ChangeLog) est un document beaucoup plus technique décrivant en détail tous les défauts corrigés dans cette version et tous les changements intervenus dans le code, le design ou l'architecture. Ce document n'est pas aussi critique que le précédent pour l'utilisateur final mais il est critique pour ceux qui utilisent votre logiciel dans d'autres activités de développement ou d'intégration. Coup de pouce : comment générer facilement un fichier de recensement des modifications Si vous utilisez CVS comme outil de contrôle de version vous pouvez très facilement générer un fi- chier de Changelog informatif et correctement formaté. L'outil cvs2cl disponible sur http://www.red- bean.com/cvs2cl extrait automatiquement tous les messages associés aux opérations de commit et les présente avec la liste des fichiers impactés, les dates de modifications et le nom de l'auteur. C'est une excellente base pour un document de type ChangeLog. • Etape 4 - Modification des permissions d'une version (facultatif) Si vous ne spécifiez aucune permission d'accès pour une version, la version hérite des permissions définies pour le paquet dans lequel elle se trouve. (Par défaut un paquet a la permission "utilisateurs-enregistrés".)Si vous avez besoin d'un contrôle d'accès plus fin sur vos délivrables logiciels, vous pouvez aussi définir des permissions au niveau de chaque version. Pour cela, séléctionnez le lien "[Voir/Modifier]" de la partie permissions, puis procédez à la sélection des groupes d'utilisateurs autorisés pour définir des permissions sur une version. Les permissions sur les versions peuvent uniquement être plus strictes que celles du paquet auquel elle appartient. • Step 5 - Créer automatiquement une annonce (facultatif) Cette étape est optionnelle, vous pouvez choisir de ne pas en tenir compte. Cette étape donne la possibilité aux administrateurs du projet de soumettre automatiquement une annonce concernant la nouvelle version tout juste créée (si vous n'êtes pas administra- teur du projet ou pas administrateur des annonces, vous ne verrez tout simplement pas cette étape). Pour créer une annonce, il suffit de cocher la case située en regard de "Soumettre une annonce", puis de compléter votre annonce. Le sujet et le message de l'annonce sont préremplis avec un texte par défaut. Vous pouvez bien entendu les mo- difier avant de valider. L'annonce apparaîtra sur la page de sommaire de votre projet. Il 105
  • 115. Guide de l'utilisateur Codendi s'agit là d'un bon moyen d'avertir vos utilisateurs de la disponibilité d'une nouvelle ver- sion. L'annonce apparaîtra ensuite dans la page d'administration des annonces, comme toute autre annonce. • Step 6 - Envoyer une notification par email (facultatif) Cette étape est optionnelle, c'est à dire qu'elle peut ne pas apparaître à l'écran. Si cer- tains utilisateurs Codendi ont activé la surveillance de l'un de vos paquets, l'étape 4 vous indiquera combien l'ont fait. Codendi vous donne alors la possibilité de leur en- voyer (ou pas) une notification email les avertissant de la publication d'une nouvelle ver- sion conformément à leur demande. Nous vous conseillons vivement de ne pas négliger cette étape et de tenir vous utilisateurs informés. Coup de pouce : fournissez toujours un fichier LISEZMOI (ou README en anglais) Lorsque vous préparez les fichiers d'une nouvelle version, assurez vous de toujours inclure dans le répertoire de pluReleasePropertiess haut niveau de votre archive un fichier LISEZMOI (ou README). Ce fichier doit comporter toutes les informations utiles concernant votre projet telles que l'adresse de votre site Web sur Codendi, les listes de distributions destinées aux utilisateurs, com- ment soumettre un bug ou une demande d'assistance à l'équipe de projet (via Codendi bien sûr) 8.5 Administration de la liste des processeurs Les administrateurs projet et les administrateur du service fichier peuvent gérer la liste des pro- cesseurs pour un projet donné. Le processeur est une propriété (optionnelle) d'un délivrable. Selon le projet ou selon votre domaine d'activité, vous pouvez souhaiter ajouter certains proces- seurs à la liste existante. Pour ce faire, suivez le lien "administration - Gérer les processeurs" du service Fichier. Vous obtenez alors la liste des processeurs pour le projet courant. Les proces- seurs systèmes ne sont pas modifiables (et ne peuvent être supprimés). Les autres proces- seurs sont spécifiques au projet courant. Vous pouvez les modifier, les supprimer et en créer de nouveaux. Un processeur a pour attribut un nom et un rang d'affichage dans la liste des proces- seurs.. 106
  • 116. Guide de l'utilisateur Codendi CHAPITRE 9 Contrôle de version avec CVS Ce chapitre n'est pas un tutoriel CVS. Il couvre l'intégration de CVS avec Codendi et comment l'utiliser de façon optimale dans ce contexte. Si vous n'êtes pas familier avec le système de contrôle de version CVS, nous vous recommandons de consulter les références CVS (voir Sec- tion 9.1.2 [page 109]). Il est important de comprendre que le contrôle de version ne constitue qu'une partie de l'activité de gestion de configuration. Pour cette raison, CVS ne représente pas à lui seul une solution complète de gestion de configuration pour votre projet. Selon la maturité de votre projet, vous pouvez être amené à définir des recommandations concernant la mise à jour de la ligne de base de votre dépôt CVS ou la correction de bug dans le code, etc... Il est du ressort du chef de projet de s'assurer que ces politiques de changement sont bien définies et appliquées. Un projet peut, par exemple, souhaiter committer (de l'anglais "to commit") tous les change- ments intervenus dans le code en fin de journée pour ne pas perdre de données tout en s'assurant que la ligne de base de CVS est passée au crible des tests unitaires. Comme la fin de la journée peut survenir sans que les tests unitaires n'aient été complètement développés, une seule ligne de base CVS ne peut convenir aux deux usages et le projet devra sûrement avoir recours à des branches. Ne vous inquiétez pas si vous ne parvenez pas à définir totale- ment votre politique de gestion de configuration en début de projet - elle se précisera avec le temps - mais n'oubliez pas de communiquer sur le sujet avec les membres de votre projet et d'améliorer régulièrement votre plan de gestion de configuration. 9.1 CVS : Concurrent Version Control CVS signifie Concurrent Versions System. Cet outil permet à une équipe de plusieurs dévelop- peurs de gérer concurremment leur propre version de code et de fusionner les changements (merge) effectués par les différents membres de l'équipe. CVS permet de garder la trace de tous les changements intervenus dans l'historique du projet. Aucun projet de développement logiciel digne de ce nom ne devrait démarrer sans avoir choisi au préalable un outil de contrôle de version. CVS et Subversion (voir Chapitre 10. Contrôle de version avec Subversion [page 124]) sont les deux choix proposés par Codendi. 5 Bien que Sub- version soit un système de contrôle de version plus moderne que CVS, ce dernier reste un choix parfaitement valable pour les raisons suivantes : • Il possède une architecture client/serveur élégante et efficace qui le rend utilisable de- puis n'importe quel point du réseau. • Il est disponible sur quasiment toutes les plateformes matérielles et tous les systèmes 5Il existe beaucoup d'autres systèmes de contrôle de version sur le marché soient libres (SCCS, RCS, PKS, Arch, Mo- notone...) soient commerciaux (SourceSafe, ClearCase, TeamWare...) 107
  • 117. Guide de l'utilisateur Codendi d'exploitation du marché (Linux, Unix, Windows, MacOS...). • C'est un système éprouvé, utilisé par des centaines de milliers de projets à travers le monde qu'ils soient Open Source ou commerciaux. • Il peut-être utilisé en mode ligne de commande ou à travers l'une des multiples inter- faces graphiques disponibles sur le marché. • Il consomme peu d'espace disque côté serveur et peu de bande passante réseau entre le serveur et le client. Travailler avec CVS sur une liaison modem bas débit est parfaite- ment faisable. • Dès son installation il supporte les projets de petite taille ou de taille moyenne et peut être configuré et étendu pour supporter des projets de toute taille. • Et enfin, c'est un logiciel totalement Open Source distribué sous licence GNU GPL. 9.1.1 Clients CVS CVS suit une architecture client-serveur. En d'autres termes, les développeurs Codendi qui sou- haitent interagir avec le dépôt CVS de leur projet doivent installer CVS sur leur machine que nous appellerons client dans la suite. Le serveur Codendi quant à lui fait fonctionner en arrière plan un serveur CVS qui communique avec les clients pour agir sur le dépôt. Il existe plusieurs types de clients CVS pour toutes les plateformes (Windows, Mac et tous les Unix) : ligne de commande, client lourd avec interface graphique et interface web. Interface en ligne de commande Suivant la tradition du monde Unix dont il est issu, toutes les fonctions de CVS sont accessibles en mode ligne de commande. Bien que CVS offre de nombreuses options de ligne de com- mandes, la plupart des commandes que vous utiliserez sont très faciles à mémoriser. Référez- vous à la Section 9.1.2 [page 109] pour plus d'information sur les commandes CVS. Interfaces graphiques Il existe de nombreux clients CVS avec interface graphique et pour toutes les plateformes : Win- dows, Linux, Unix et MacOS. WinCVS et Tortoise sont les clients les plus populaires sous Win- dows (voir ci-dessous). Sur Linux, gCVS et Cervisia sont parmi les plus utilisés. Il existe aussi un client 100% Java appelé jCVS qui fonctionne sur toutes les plateformes dispo- sant d'un JDK (ou JRE). Pour ceux d'entre vous qui utilisent l'éditeur Emacs ou XEmacs il existe un paquetage appelé pcl-cvs qui offre une intégration complète de CVS dans ces deux éditeurs. De nombreux éditeurs commerciaux disposent aussi de cette fonctionnalité. Enfin, il faut noter que la plupart des environnements de développement intégré du marché (MS Visual Studio, Visual Age, IntelliJ IDEA, Eclipse,…) dispose d'un plugins CVS soit de façon na- tive soit par le biais de tierces parties. Configurer WinCVS pour Codendi Comme indiqué précédemment, WinCVS est l'un des clients CVS les plus populaires sur MS Windows. Vous trouverez ci-dessous toutes les instructions nécessaires au bon fonctionnement de WinCVS dans le cadre d'un projet Codendi. Dans les exemples ci-dessous, "nom_utilisateur" est le nom d'utilisateur Codendi (login) et "nom_projet", le nom court du projet. • Téléchargez WinCVS depuis http://www.wincvs.org et installez-le sur votre poste de tra- vail. 108
  • 118. Guide de l'utilisateur Codendi • Lancez WinCVS : Démarrer->Programmes->WinCvs • Configurer la connexion vers le projet Codendi : Admin->Preferences Indiquez la valeur de CVSROOT : :pserver:nom_utilisateur@cvs.nom_projet.www.codendi.org:/cvsroot/ nom_projet Assurez vous que le mode d'authentification est positionné sur : "passwd" file on the cvs server Ensuite cliquez sur OK. • Connectez-vous au dépôt CVS : Admin->Login... et saisissez votre mot de passe Codendi. • Identifiez l'endroit où vous allez placer le code source de votre projet : View->Browse Location->Change... • Récupérez (checkout) le code source de votre projet Codendi depuis le dépôt CVS. Create->Check out module Enter the module name and path on the server: indiquez le chemin du code source que vous souhaitez extraire du dépôt CVS. En général il s'agit du nom du dossier situé à la racine du dépôt CVS. nom_projet Appuyez sur OK. Notez que cette opération peut prendre du temps pour les projets de grande taille. • Maintenant que vous disposez du code source sur votre machine vous pouvez com- mencer à modifier le code, récupérer les modifications apportées au dépôt CVS, etc... WinCVS vous indique quels sont les fichiers que vous avez modifié à l'aide d'une icône rouge en regard du nom du fichier. Autres points à connaitre à propos de WinCVS : • Si quelqu'un modifie un fichier en même temps que vous, les modifications apportées seront fusionnées avec les vôtres lors de la prochaine mise à jour de votre copie de tra- vail (update). Si CVS détecte un conflit, vous verrez apparaître un message d'erreur et vous devrez résoudre le conflit manuellement en éditant le fichier. Les zones en conflit sont encadrées par les séquences de caractères ">>>>>>" et "<<<<<<". Après modifi- cation du fichier vous pouvez à nouveau effectuer un commit de la nouvelle version. • Prenez garde à l'opération "remove selected" (le gros X noir), car l'opération de sup- pression de fichier dont il est question ici s'applique au répertoire et non à la copie de travail locale. 9.1.2 Références CVS Comme indiqué précédemment, ce chapitre n'est pas un manuel d'utilisation de CVS. Il se concentre sur l'intégration de CVS dans Codendi et comment utiliser CVS dans le contexte de Codendi. Si vous souhaitez en savoir plus sur CVS, référez-vous aux documents suivants : • Open Source Development with CVS : un livre excellent (en anglais) aussi connu sous le nom "The CVS Black Book". Disponible en version imprimée chez l'éditeur Coriolis 109
  • 119. Guide de l'utilisateur Codendi Press. Voir http://cvsbook.red-bean.com/. • Le manuel CVS officiel. Aussi connu sous l'appellation "Cederqvist" d'après le nom de son auteur. Voir http://www.cvshome.org/docs/manual/index.html. Ce document est en général livré avec CVS - voir plus bas. • Diverses documentations et FAQs. Voir http://www.loria.fr/~molli/cvs-index.html. • Le site Web officiel de CVS. Voir http://www.cvshome.org/. 9.2 Intégration de CVS dans Codendi 9.2.1 Le dépôt CVS Dès qu'un nouveau projet est hébergé, un nouveau dépôt CVS est automatiquement créé et ini- tialisé correctement. Chaque projet dispose de son propre dépôt, ce qui présente un certain nombre d'avantages : les fichiers de log, le journal (fichier CVSROOT/history) et tous les fi- chiers d'administration sont propres à chaque projet. Cela permet une personnalisation com- plète des dépôts CVS projet par projet. Les dépôts CVS sont accessibles sous le répertoire /cvsroot/nom_projet sur le serveur Codendi. Toutes les interactions avec un dépôt CVS se font normalement via le client CVS de votre poste de travail. En cas de besoin et si cette fonction est activée sur votre serveur Co- dendi, vous pouvez utiliser votre compte Shell (voir Section 18.1 [page 197]) pour interagir directe- ment avec votre dépôt. Cependant nous vous recommandons de n'avoir recours à cette possibi- lité que si vous savez exactement ce que vous faites. 9.2.2 Contrôle d'accès CVS Les permissions d'accès au dépôt CVS dépendent du statut du projet (privé ou public) et de la classe de l'utilisateur (voir Section 3.1 [page 13]). Pour les projets privés, seuls les membres du projet ont accès au dépôt CVS. Par défaut ils ont accès en lecture et en écriture. Ceci peut être modifié en ajoutant dans le fichier CVSROOT/ readers le nom des membres du projet dont l'accès doit être en lecture seule. Actuellement il n'est pas possible d'empêcher totalement l'accès du dépôt CVS aux membres d'un projet privé. Si vous souhaitez avoir plus de contrôle sur la politique d'accès au code source de votre appli- cation nous vous conseillons vivement d'utiliser Subversion à la place de CVS (voir Chapitre 10. Contrôle de version avec Subversion [page 124]). Pour les projets publics, les règles d'accès par défaut sont les suivantes : • Utilisateurs anonymes : les utilisateurs non enregistrés (ou non connectés) n'ont au- cun accès aux dépôts CVS. Selon la configuration du serveur Codendi, il est même possible que les utilisateurs anonymes n'aient aucun accès au site d'une façon géné- rale. • Utilisateurs enregistrés : ils ont un accès en lecture uniquement. Ils peuvent faire un checkout d'une copie de travail mais ils ne peuvent faire aucune modification (commit) dans le dépôt CVS. Les contributions au code source de ces utilisateurs (correction de bogues, améliorations,...) peuvent être envoyées à l'équipe de projet via l'outil de suivi des correctifs (patch) (Voir Section 7.12.2 [page 67] ). Note : tous les accès au code source sur Codendi sont enregistrés. Les administrateurs des projets peuvent à tout moment consulter la liste des utilisateurs qui ont accédé au code source (voir Section 6.14 [page 42]). 110
  • 120. Guide de l'utilisateur Codendi • Membres du projet : les membres d'un projet hébergé sur Codendi ont un droit d'accès en lecture et en écriture au dépôt après s'être authentifié à l'aide de leur nom d'utilisateur Codendi et leur mot de passe. Comme expliqué plus haut dans le para- graphe concernant les projets privés, il est là aussi possible de restreindre l'accès en lecture seule pour les membres du projets. • Administrateurs du projet : mêmes conditions d'accès que les membres du projet. 9.3 L'interface de navigation Web de CVS Codendi vous permet d'interagir avec votre dépôt CVS via l'interface Web. Il ne s'agit pas de remplacer le véritable client CVS que vous utilisez normalement sur votre poste de travail. L'interface Web de CVS se concentre sur certaines fonctionnalités que n'offrent pas les clients CVS classiques. L'accès à l'interface Web de CVS se fait via l'entrée "CVS" de la barre de menu ou via l'entrée CVS de la zone publique de la page de sommaire (voir Figure 7. Un exemple de page de Sommaire d'un projet [page 23]). L'interface Web de CVS propose les fonctionnalités suivantes : • Accès au dépôt CVS : la page d'accueil du service CVS vous donne toutes les infor- mations nécessaires pour accéder au dépôt depuis votre client CVS. Le chemin d'accès au dépôt, la façon de se connecter et de récupérer le code source (checkout) figure parmi les informations portées sur cette page. A noter que les administrateurs du projet peuvent personnaliser cette page d'accueil (voir Section 9.3.4 [page 115]). • Naviguer dans le dépôt CVS : L'interface Web vous permet de parcourir le dépôt CVS sans qu'il soit nécessaire d'installer un véritable client CVS sur votre poste de travail. • Interroger le dépôt CVS : si la fonction de suivi de CVS est activée pour votre projet (c'est toujours le cas par défaut) tous les évènements concernant la modification du dé- pôt (commit, ajout ou suppression de fichiers) sont consignés dans la base de données de Codendi. Il est ensuite possible d'effectuer des recherches dans l'historique des changements selon différents critères. • Administration CVS : ce service permet d'activer ou de désactiver la fonction de suivi de CVS pour votre projet, d'activer ou non le mode cvs watch pour votre projet, d'activer la notification des commits par email et de personnaliser la page d'accueil du service CVS (Préambule CVS). Voyons plus en détail certaines de ces fonctionnalités : 9.3.1 Naviguer dans le dépôt CVS Pour interagir avec le dépôt CVS d'un projet Codendi, il est normalement nécessaire d'installer un client CVS sur votre poste de travail. Cependant Codendi vous permet de naviguer dans le dépôt, de visualiser le code source, de le télécharger, de consulter l'historique d'un fichier ou de comparer deux révisions du même fichier. 111
  • 121. Guide de l'utilisateur Codendi Figure 51. Un exemple de navigation dans le dépôt CVS 9.3.2 Interroger le dépôt CVS Si le projet a activé la fonction de suivi de CVS (voir Section 9.3.4 [page 115]), l'interface Web de CVS offre des fonctionnalités particulièrement intéressantes pour les développeurs : • Commits CVS atomiques et identifiés de façon unique : tous les changements (modification, ajout ou suppression de fichiers) commités en une seule opération depuis votre poste client se verront assignés un identifiant unique de la part de Codendi. Toutes les révisions de fichiers associés à cette modification sont stockées de façon atomique dans la base de suivi de CVS sous cet identifiant unique. • Références croisées entre commits : L'identifiant unique affecté à chaque opération de commit peut être référencé dans de futures opérations de commits ou dans les com- mentaires associés aux artefacts des différents outils de suivi (tâches, anomalies, de- mande d'assistance...) simplement en utilisant le patron commit #XXXX (où XXXX est l'identifiant unique généré par Codendi). Toute référence de ce type est automatique- ment transformé en hyperlien vers la base de suivi de CVS. Ce mécanisme permet de naviguer facilement depuis un changement dans le code jusqu'à l'artefact qui lui a donné naissance et vice-versa (voir ci-dessous pour plus de détails). • Recherche dans les commits : un des autres avantages de la base de suivi de CVS est de permettre une recherche selon différents critères. Il est possible d'effectuer des recherches parmi les changements apportés au code par auteur (qui a fait le change- ment), par identifiant de commit, par tag ou par mots-clés présents dans le message as- socié au commit. Les résultats peuvent être triés en cliquant sur les entêtes des co- lonnes de la table de résultats (voir Figure 52. Interrogation de la base de suivi CVS d'un projet [page 113]). 112
  • 122. Guide de l'utilisateur Codendi Figure 52. Interrogation de la base de suivi CVS d'un projet 113
  • 123. Guide de l'utilisateur Codendi Figure 53. Détails concernant une opération de commit CVS 9.3.3 Références croisées entre artefacts et commits CVS Lors des phases de développement ou de maintenance d'un projet, il est essentiel de garder la trace des changements effectués dans le code source. C'est ce que font les systèmes de ges- tion de configuration comme CVS. En complément de ce suivi, il est tout aussi critique de pou- voir relier ces changements de code aux artefacts (une tâche, une anomalie ou une demande d'assistance) qui ont amené les développeurs à modifier le code ou la documentation. Et inver- sement, à la lecture d'un artefact il est très utile de voir quels changements il a engendré dans le code source. L'intégration de CVS avec Codendi fournit précisément ce mécanisme de références croisées. Ceci est rendu possible par l'utilisation de 'références', patrons de texte prédéfinis à utiliser dans les commentaires des artefacts ou dans les messages de commits de CVS et que Codendi re- connaît automatiquement. Les patrons de texte reconnus automatiquement par Codendi dans les messages de commit ou dans les commentaires des artefacts sont les suivants : • XXX #NNN : ce patron se réfère à l'artefact de type XXX numéro NNN, où NNN est l'identifiant unique de l'artefact et XXX le nom court utilisé dans l'outil de suivi corres- pondant (exemple : "bug #123", "tâche #321", "DA #12", etc.). Si vous ne connaissez pas le nom court de l'outil de suivi ou que vous ne souhaitez pas le préciser vous pou- 114
  • 124. Guide de l'utilisateur Codendi vez utiliser le terme générique "art #NNN". Lorsque Codendi affiche un message conte- nant ce genre de patron, il le transforme automatiquement en hyperlien vers la descrip- tion de l'artefact référencé. • commit #YYY : ce patron référence le commit YYY où YYY est l'identifiant unique du commit tel qu'il apparaît dans la base de suivi CVS. Lorsque Codendi affiche un mes- sage contenant ce genre de patron, il le transforme automatiquement en hyperlien vers la description du commit référencé (message, fichiers impactés et leur révisions, auteur de la modification). • Le mécanisme de références de Codendi permet les références croisées entre tous les objets de Codendi: artefacts, documents, messages de commit, fichiers, etc. Voir la Section 6.8.1 [page 30] pour plus de détails sur la gestion des références dans Co- dendi. Coup de pouce : référencez les artefacts et les commits CVS C'est une excellente pratique que de toujours référencer les tâches, anomalies, demande d'assistance appropriées dans le message de commit CVS. De la même façon, lorsque l'artefact cor- respondant est fermé, assurez-vous de mentionner le commit qui résout le problème dans un com- mentaire. Vous constaterez que cette pratique est extrêmement efficace pour suivre l'historique des changements et pourquoi un changement a eu lieu. 9.3.4 Administration CVS Codendi vous permet de configurer les paramètres suivants de CVS depuis l'interface Web : • Suivi CVS : étant donné que CVS est un système de contrôle de version il prend natu- rellement en charge l'historique des changements opérés sur vos fichiers ainsi que le nom de l'auteur et la date de modification. L'historique d'un fichier peut d'ailleurs être consulté soit depuis votre client CVS soit depuis l'interface Web de navigation dans le dépôt CVS. Si vous activez le suivi CVS pour votre projet Codendi conserve aussi une trace de tous les changements intervenus dans la base de données Codendi. Ceci vous donne des possibilités supplémentaires qui sont expliquées dans la Section 9.3.2 [page 112] • Mode CVS Watch: Dans CVS les "watches" fonctionnent comme un outil de communi- cation. CVS peut être utilisé pour tenir informés les utilisateurs sur les modifications du projet en utilisant les commandes "cvs watch add", "cvs watch remove", "cvs edit" et "cvs unedit". Les fonctionnalités des "watches" dépendent de la coopéra- tion des développeurs. Si un utilisateur édite un fichier sans avoir au préalable exécuté la commande "cvs edit", personne n'en sera informé avant que les changements ne soient commités. Parce que "cvs edit" est une étape supplémentaire, les utilisateurs peuvent facilement oublier de l'utiliser. CVS ne peut pas forcer les utilisateurs à utiliser "cvs edit", en revanche un mécanisme peut rappeler aux utilisateurs de le faire avec la commande "cvs watch on". Si vous activez le mode CVS Watch pour votre projet, les prochains checkouts de ce dernier seront en mode lecture seule, ainsi cela rappelera aux développeurs d'utiliser "cvs edit" avant d'éditer un fichier, et les autres développeurs pourront être informés que des changements sont en cours sur ce fichier. Le mode watch (actif ou inactif) prendra effet dans un délais maximum de deux heures après sa modification. Attention : si vous activez ou désactivez le mode watch en ligne 115
  • 125. Guide de l'utilisateur Codendi de commande (et non via l'interface), ce dernier ne sera pas mis à jour dans l'interface d'administration CVS. • Notification e-mail de CVS : En complément des fonctions de suivi, Codendi peut aussi expédier un courrier électronique proprement formaté à des individus ou à une liste de diffusion à chaque modification de code. Le courrier électronique contient le message expliquant la nature du changement, son auteur, la date de modification, la liste des fichiers impactés et des pointeurs vers le dépôt CVS montrant les change- ments effectués dans le code. • Préambule CVS : dans certains cas (par ex. pour des projets existants), il se peut que le dépôt CVS d'un projet ne soit pas hébergé sur Codendi. Dans ce cas, les informa- tions affichées sur la page d'accueil du service CVS de Codendi sont incorrectes. Fort heureusement, l'administrateur du projet peut personnaliser le message d'accueil en ta- pant le texte de son choix dans cette zone de saisie. Coup de pouce : pensez à créer une liste de diffusion pour l'envoi de vos notifications CVS Si vous avez l'intention d'envoyer des emails pour notifier certains utilisateurs de changements inter- venus dans le dépôt CVS, nous vous recommandons de créer une liste de diffusion spécifique appe- lée nom_projet-cvsevents. Ainsi, les utilisateurs Codendi et les membres du projet intéressés par les notifications pourront s'inscrire sur la liste de diffusion. De plus, le gestionnaire de liste de dif- fusion de Codendi se charge d'archiver tous les messages ce qui peut servir de référence ultérieure- ment. Voir Section 15.1 [page 177] pour la création de liste de diffusion. 9.4 Un cycle de vie typique de CVS Comme indiqué précédemment, l'objectif de cette section n'est pas de fournir une formation à CVS mais plutôt d'expliquer quelles sont les étapes successives parcourues par une équipe dans le cadre d'une utilisation typique de CVS et, plus généralement, quelles sont les outils utili- sés lors de la publication d'une version d'un logiciel. Cette section indique aussi comment proposer des modifications de code lorsque vous ne faites pas partie de l'équipe de projet. Dans les paragraphes qui suivent tous les exemples sont don- nés sous la forme de lignes de commande mais leur transposition dans une interface graphique ne devrait pas poser de problèmes. 116
  • 126. Guide de l'utilisateur Codendi Figure 54. Un cycle de développement logiciel typique sur Codendi 9.4.1 Se connecter Audience : tous les utilisateurs Codendi La première étape à franchir lorsque vous travaillez avec un dépôt CVS consiste à vous connecter au serveur CVS. Sur Codendi, les utilisateurs anonymes ne peuvent accéder au code source d'aucun projet que ce soit par CVS ou par le service de publication de fichiers et ceci même si le projet est public. Il faut donc vous assurer que vous disposez d'un compte utilisateur avant d'interagir avec un dépôt CVS. En supposant que vous disposez de votre nom d'utilisateur et de votre mot de passe, vous pou- vez vous authentifier auprès du dépôt CVS. Pour se faire, tapez la commande suivante (sur une seule ligne) : cvs -d:pserver:nom_utilisateur@cvs.nom_projet.www.codendi.org:/cvsroot/nom_projet login Où : • L'argument -d argument indique le chemin du dépôt (CVS root path). C'est une sorte d'URL qui donne l'emplacement du dépôt sur le réseau. Les clients CVS graphiques vous demanderont aussi d'indiquer ce chemin d'accès. • nom_projet est le nom court du projet • nom_utilisateur est votre nom d'utilisateur Codendi CVS conserve le mot de passe associé à un chemin d'accès donné. Tant que vous ne vous dé- connectez pas explicitement du dépôt, vous n'aurez pas à vous authentifier lors des futures ses- 117
  • 127. Guide de l'utilisateur Codendi sions de travail. Si vous ne souhaitez pas laisser votre connexion ouverte, utilisez simplement la commande "cvs logout". 9.4.2 Importer du code source existant Audience : membres du projet En tant qu'administrateur d'un tout nouveau projet Codendi, la première chose à faire consiste à peupler votre tout nouveau dépôt CVS avec votre code source. Pour ce faire créez d'abord un répertoire racine sur votre poste de travail et placez y votre code source en gardant la struc- ture de répertoires à laquelle vous êtes habitué. Ensuite tapez les commandes suivantes (la se- conde sur une seule ligne) : $ cd racine $ cvs -d:pserver:nom_utilisateur@cvs.nom_projet.www.codendi.org:/cvsroot/nom_proje import racine tag_vendeur start Où : • L'argument -d argument indique le chemin du dépôt (CVS root path). Les clients CVS graphiques vous demanderont aussi d'indiquer ce chemin d'accès. • nom_projet est le nom court du projet • nom_utilisateur est votre nom d'utilisateur Codendi • racine est le nom du répertoire de plus haut niveau à importer • tag_vendeur est un tag particulier. Pour le moment utilisez soit votre propre nom soit le nom de votre société (sans espace). Coup de pouce : vous avez commis une erreur lors de l'importation de votre code source ? Il n'est pas rare de faire une erreur lors de l'importation de code source dans un nouveau dépôt CVS. Placer les répertoires au mauvais niveau ou avec un mauvais nom est une erreur typique. Ne vous en faites pas... Si vous souhaitez recommencer avec un dépôt CVS vierge contactez simplement l'équipe Codendi et nous réinitialiserons votre dépôt. Notez que si vous disposez déjà d'un dépôt CVS, l'équipe Codendi peut vous aider à le transfé- rer en préservant la totalité de l'historique. Nous avons juste besoin d'une archive (zip ou tar) de votre dépôt actuel y compris le répertoire CVSROOT. A partir de là nous réinstallerons votre dé- pôt CVS pour vous. Contactez-nous pour plus d'information à ce sujet. 9.4.3 Créer une copie de travail (checkout) Audience : tous les utilisateurs Codendi Une fois le dépôt CVS en place, les membres du projet (ou plus généralement les utilisateurs Codendi si l'accès leur est permis) peuvent créer une copie de travail sur leur propre poste. A noter que cette opération dite "checkout" ne permet pas à l'utilisateur de verrouiller quelque fi- chier que ce soit. Le paradigme CVS est le suivant : n'importe qui (ayant les permissions adé- quates) peut créer sa propre copie de travail et la modifier; les changements effectués par les différents utilisateurs sont réconciliés automatiquement ou marqués comme devant faire l'objet d'une résolution de conflit lorsque les fichiers modifiés sont mis à jour localement. Comme son 118
  • 128. Guide de l'utilisateur Codendi nom l'indique et contrairement à d'autres outils (RCS, SCCS, ClearCase...) CVS est un système de contrôle de version concurrent. Une copie de travail n'est PAS une image du dépôt CVS. Il s'agit plutôt d'un cliché à un instant donné du code source et, par défaut, il s'agit de la version la plus récente du code au moment où la copie de travail est créée ou mise à jour. Une des caractéristiques intéressantes d'une co- pie de travail réside dans le fait qu'il s'agit d'une entité autonome. En d'autres termes, une copie de travail contient toutes les informations nécessaires à CVS pour savoir de quel serveur et de quel dépôt provient la copie et à quel moment de l'historique du code source elle correspond. C'est pour cette raison que vous ne verrez plus l'argument -d dans les commandes qui suivent la création de la copie de travail. En effet, ces commandes opèrent toutes dans l'environnement d'une copie de travail et CVS sait donc parfaitement où se trouve le dépôt d'origine. Pour créer une copie de travail, tapez la commande suivante : cvs -d:pserver:nom_utilisateur@cvs.nom_projet.www.codendi.org:/cvsroot/nom_projet checkout répertoire Où : • L'argument -d indique le chemin du dépôt (CVS root path). Les clients CVS graphiques vous demanderont aussi d'indiquer ce chemin d'accès. • nom_projet est le nom court du projet • nom_utilisateur est votre nom d'utilisateur Codendi • répertoire est le chemin du répertoire que vous souhaitez extraire du dépôt. Pour en savoir plus sur la structure arborescente de votre dépôt CVS, utilisez tout d'abord l'interface Web de navigation dans le dépôt CVS (voir Section 9.3 [page 111]) 9.4.4 Mettre à jour le code source (update) Audience : tous les utilisateurs Codendi Lancer la commande "cvs update" depuis une copie de travail a pour effet de mettre à jour la copie de travail (ou une sous-partie) avec les dernières versions de chaque fichier en prove- nance du dépôt. Pour mettre à jour une copie de travail avec un mode d'affichage concis des in- formations, tapez la commande : cvs -q update Si vous souhaitez uniquement savoir quels sont les fichiers qui ont été modifiés dans le dépôt depuis la dernière mise à jour de votre copie de travail sans pour autant la mettre à jour, il suffit d'ajouter l'argument -n à la commande précédente : cvs -n -q update Remarque : la commande update de CVS est l'une des plus riches. Outre l'utilisation que nous venons d'en faire, elle permet aussi de fusionner les changements de votre code avec d'autres versions du même logiciel, de changer la branche sur laquelle pointe votre copie de travail. Ré- férez-vous à la documentation CVS pour plus d'information. 9.4.5 Remonter les modifications vers le dépôt (commit) 119
  • 129. Guide de l'utilisateur Codendi Audience : membres du projet Les membres du projet impliqués dans les activités de développement voudront certainement faire remonter les modifications dans leur copie de travail vers le dépôt CVS. Dans la terminolo- gie CVS c'est ce qu'on appelle une opération de commit. Pour faire remonter les changements de votre copie de travail vers le dépôt, tapez la com- mande suivante : cvs commit -m"Expliquez ici la nature de la modification..." [nom_fichiers] Où : • L'option -m est suivi par un message expliquant la nature des changements effectués. • L'argument nom_fichiers est optionnel. Il peut s'agir de nom de fichiers ou de réper- toires. Si aucun nom n'est précisé cvs prend en compte tous les fichiers qui ont subi une modification dans le répertoire courant et tous les sous-répertoires récursivement. Coup de pouce : N'oubliez pas d'inclure un identifiant de tâche ou d'anomalies dans vos messages de commit Dans un monde parfait, toutes les modifications effectuées dans le code source devraient se rappor- ter à un artefact de type tâche à effectuer, anomalies à corriger... Si votre équipe de projet vit dans ce monde idéal :-) n'oubliez pas de mentionner l'identifiant de le ou les artefacts concernés dans votre message de commit (voir Section 7.5.6 [page 57]). Les fichiers d'administration de CVS peuvent aussi vous aider à faire respecter cette règle en rejetant les messages qui ne comporte pas ce genre de références. En tant que membre d'un projet, assurez-vous de bien comprendre et de respecter la politique mise en place par votre projet avant de faire remonter des modifications dans le dépôt. Certains projets exigent que seul du code parfaitement fonctionnel, compilable et testé de façon unitaire soit remonté dans la branche de développement principale du dépôt. De cette façon la ligne de base du dépôt peut par exemple faire l'objet d'un build et d'un test automatique après chaque journée de travail.. Coup de pouce : mettez votre copie de travail à jour avant de remonter des changements vers le dépôt Si vous essayez de faire remonter vers le dépôt un fichier qui a lui-même fait l'objet d'une remontée par un autre développeur, le serveur CVS refusera d'effectuer votre commande cvs commit. Vous devez tout d'abord lancer une commande cvs update pour mettre à jour votre copie de travail avec les changements intervenus dans le dépôt, fusionner ces changements avec les vôtres (CVS le fait automatiquement dans la plupart des cas) et ensuite seulement faire remonter vos propres change- ments dans le dépôt. Si vous voulez vous affranchir des changements effectués par les autres déve- loppeurs il faut alors créer une branche pour y travailler de façon isolée. 9.4.6 Proposer des modifications à l'équipe de projet Audience : tous les utilisateurs Codendi Il s'agit d'une variante de la section précédente pour les utilisateurs qui n'ont pas d'accès en écriture au dépôt CVS d'un projet et qui ne peuvent donc pas faire remonter leurs modifications 120
  • 130. Guide de l'utilisateur Codendi directement dans le dépôt. La variante expliquée ici est une méthode utilisée de façon quasi-universelle dans le monde de l'Open Source pour proposer des changements à une équipe de projet. Elle consiste à générer un fichier texte contenant la liste des différences entre votre propre version de code et la ver- sion de référence que vous avez obtenue initialement. Ce fichier s'appelle un fichier diff du nom de l'outil capable de générer ces fichiers automatiquement. La raison pour laquelle ces fichiers diff sont si populaires tient au fait qu'ils respectent un format parfaitement connu et documenté. Les fichiers diff sont envoyés à l'équipe de projet qui peut alors utiliser un autre outil universel appelé patch pour fusionner automatiquement vos modifi- cations avec le code du dépôt. C'est pour cette raison qu'un fichier diff est aussi appelé un patch (ou correctif en français). Les fichiers peuvent être générés soit avec l'outil diff (qui fait partie des outils GNU) dispo- nible sur toutes les plateformes y compris Windows, soit directement avec votre client CVS si vous avez effectué vos modifications dans une copie de travail CVS. La façon diff : • Utilisez diff lorsque vous avez obtenu le code source à partir d'une archive et non pas à partir du dépôt CVS. Supposons que le code source original se trouve dans le réper- toire projet-0.1/ et la version modifiée dans projet-0.1-nouveau/ • Vous pouvez générer un fichier diff à l'aide de la commande suivante (tous les fichiers de tous les sous-répertoires feront l'objet d'une comparaison) : diff -rc projet-0.1/ projet-0.1-nouveau/ La façon CVS : • Opérez de cette façon si vous avez modifié une copie de travail CVS. Nous supposons que vous vous trouvez au niveau le plus haut de la copie de travail. • Vous pouvez générer un fichier diff entre votre version et la version la plus récente du dépôt en tapant la commande CVS suivante : cvs diff -c • Si vous souhaitez générer un fichier diff entre votre version et une version spécifique du dépôt, il vous faut alors préciser le tag de cette version spécifique (version V1 dans l'exemple ci-dessous) : cvs diff -c -r V1 Dans les deux cas, stockez la sortie des commandes diff ou cvs diff dans un fichier texte. Com- pressez le s'il est de taille conséquente et utilisez l'outil de suivi de correctif du projet (voir Sec- tion 7.12.2 [page 67]) pour soumettre votre correctif à l'équipe de projet. Et un grand merci pour votre contribution ! 9.4.7 Exporter et empaqueter Audience : membres du projet Il existe une façon rapide et simple de publier une version empaquetée de votre code source et 121
  • 131. Guide de l'utilisateur Codendi de les mettre à la disposition de vos utilisateurs via le service de publication de fichiers (voir Chapitre 8. Publication de fichiers [page 98]). 1. Assurez vous que tous les développeurs ont fait remonter vers le dépôt tous les chan- gements que vous souhaitez délivrer dans cette version. 2. Mettez à jour votre copie de travail avec l'ensemble des changements remontés par les développeurs de votre équipe avec la commande suivante : cvs -q update 3. Mettez à jour les fichiers ChangeLog, Release Notes et README (ou LISEZMOI) au sommet de l'arbre du code source et faites remonter les modifications apportées à ces 3 fichiers vers le dépôt. 4. Taggez le dépôt CVS avec un numéro (ou un nom) de version de votre choix. Ce nu- méro de version sera attaché à la version la plus récente de tous les fichiers commités. Depuis votre copie de travail, tapez la commande suivante (V_1_2 est ici un nom de tag qui représente la version 1.2 du projet) : cvs -q tag V_1_2 5. Votre version est maintenant prête. Il ne reste plus qu'à exporter une copie du code source propre (exempte des fichiers spécifiques à CVS) dans un nouveau répertoire. En supposant que vous vouliez extraire une copie propre de la version 1.2 dans le ré- pertoire nom_projet-1.2, la commande à taper serait la suivante : cvs -d:pserver:nom_utilisateur@cvs.nom_projet.www.codendi.org:/cvsroot/nom_p export nom_projet-1.2 6. Créez une archive tar ou zip à partir du répertoire nom_projet-1.2/ 7. Livrez cette archive via la service de publication de fichiers (voir Section 8.4 [page 101]. 8. C'est fini ! Joli travail... Accordez-vous une pause. Et n'oubliez pas d'annoncer la dis- ponibilité de cette nouvelle version en utilisant le service d'annonces de Codendi (voir Section 15.2 [page 178]). 9.5 CVS pour les administrateurs de projet Pour gérer au mieux leur dépôt CVS, les administrateurs doivent impérativement être informés sur les points qui suivent. 9.5.1 Plus d'information sur le contrôle d'accès à CVS Comme expliqué dans la Section 9.2.2 [page 110], CVS est configuré de telle façon que l'accès en écriture est accordé à tous les membres du projet et à eux seuls. Un administrateur de projet peut cependant interdire l'accès en écriture à certains membres du projet. Ce n'est actuellement pas faisable depuis l'interface Web de Codendi. Vous devez utili- ser votre compte Shell pour vous connecter au serveur (voir Section 18.1 [page 197]) et suivre les étapes suivantes : • newgrp nom_projet (Où nom_projet est le nom court du projet) • cd /cvsroot/nom_projet/CVSROOT • Éditer le fichier readers et ajouter les noms des membres du projet qui ne doivent 122
  • 132. Guide de l'utilisateur Codendi avoir accès au dépôt CVS qu'en lecture (un nom par ligne). • exit (Déconnexion) 9.5.2 Les fichiers d'administration de CVS Chaque dépôt CVS possède ses propres fichiers d'administration situés dans le répertoire CVS- ROOT. Ces fichiers offrent toutes sortes de possibilités aux administrateurs d'un projet comme la possibilité de créer des modules virtuels à partir d'une collection de répertoires et de fichiers dispersés, de provoquer l'envoi d'email sur certaines opérations comme commit ou add (note : Codendi le fait déjà pour vous - voir ci-dessous), vérifier le format d'un tag CVS avant de l'accepter, etc... (Voir la documentation CVS mentionnée dans la Section 9.1.2 [page 109] pour plus d'information sur les fichiers d'administration de CVS). Coup de pouce : Ne jamais éditer les fichiers d'administration de CVS directement dans le dépôt Il est très important de ne jamais modifier les fichiers d'administration de CVS directement dans le dépôt par le biais de votre compte Shell (sauf pour les fichiers readers et writers). Utilisez tou- jours votre client CVS pour effectuer ces modifications. Procéder de façon habituelle en extrayant le répertoire CVSROOT du dépôt (cvs checkout), modifiez les fichiers localement puis remontez les modifications vers le dépôt (commit). Si vous modifiez les fichiers d'administration de CVS, assurez-vous de garder intact les instruc- tions spécifiques déjà mises en place par Codendi dans les fichiers config, writers et lo- ginfo. Veillez aussi à ne pas modifier les permissions du possesseur de ces fichiers à moins que vous ne sachiez exactement ce que vous faites. 123
  • 133. Guide de l'utilisateur Codendi CHAPITRE 10 Contrôle de version avec Subversion Ce chapitre n'est pas un tutoriel Subversion. Il couvre l'intégration de Subversion avec Codendi et comment l'utiliser de façon optimale dans ce contexte. Si vous n'êtes pas familier avec le sys- tème de contrôle de version Subversion, nous vous recommandons de consulter les références Subversion (voir Section 10.1.2 [page 127]). Il est important de comprendre que le contrôle de version ne constitue qu'une partie de l'activité de gestion de configuration. Pour cette raison, Subversion ne représente pas à lui seul une so- lution complète de gestion de configuration pour votre projet. Selon la maturité de votre projet, vous pouvez être amené à définir des recommandations concernant la mise à jour de la ligne de base de votre dépôt Subversion ou la correction de bug dans le code, etc... Il est du ressort du chef de projet de s'assurer que ces politiques de changement sont bien définies et appli- quées. Un projet peut, par exemple, souhaiter committer (de l'anglais "to commit") tous les change- ments intervenus dans le code en fin de journée pour ne pas perdre de données tout en s'assurant que la ligne de base de Subversion est passée au crible des tests unitaires. Comme la fin de la journée peut survenir sans que les tests unitaires n'aient été complètement dévelop- pés, une seule ligne de base Subversion ne peut convenir aux deux usages et le projet devra sûrement avoir recours à des branches. Ne vous inquiétez pas si vous ne parvenez pas à défi- nir totalement votre politique de gestion de configuration en début de projet - elle se précisera avec le temps - mais n'oubliez pas de communiquer sur le sujet avec les membres de votre pro- jet et d'améliorer régulièrement votre plan de gestion de configuration. 10.1 Subversion : l'après CVS Subversion est un système de contrôle de version Open Source qui gère l'historique de vos fi- chiers et répertoires. L'effort de développement de Subversion a commencé au début de l'année 2000 sous la direction de Karl Fogel, un expert reconnu de CVS et auteur du célèbre 'CVS Black Book'(voir Section 10.1.2 [page 127]). Comme des millions de développeurs dans le monde, Karl avait utilisé CVS pendant des années et il reconnaissait qu'en dépit de tous ses mérites, CVS souffrait d'un certain nombre de manque qu'il aurait été vraiment souhaitable de corriger. Dès le début du projet, l'équipe Subversion, sponsorisée par la société CollabNet, a clairement indiqué qu'il n'était pas question de créer un système de contrôle de version révolutionnaire mais plutôt de conserver tous les point forts de CVS et de corriger ses faiblesses. Il en résulte que, comme CVS, Subversion est un système de contrôle de version concurrent, ce qui veut dire que plusieurs développeurs peuvent gérer leur propre version du même code source et fu- sionner les changements apportés par les autres membres de l'équipe à tout moment. 124
  • 134. Guide de l'utilisateur Codendi Subversion présente aussi un nombre important d'amélioration par rapport à CVS : • Versionnage des répertoires : étant donné que CVS s'appuie sur le système de fi- chiers de la machine sur laquelle il est installé, il s'est avéré impossible de versionner les répertoires. Subversion s'appuie sur un système de fichiers virtuel stocké dans une base de données pour suivre l'historique des changements sur l'ensemble des réper- toires et des fichiers. • Véritable historique des versions : le déplacement et le renommage des fichiers dans un dépôt CVS sont soumis à certaines limitations car CVS gère un numéro de version pour chaque fichier. Avec Subversion il est possible d'ajouter, de supprimer, de renom- mer et de copier des fichiers ou des répertoires entiers sans pour autant compromettre le nommage des fichiers et leur historique. • Commits atomiques : bien que Codendi offre une surcouche au dessus de CVS qui donne une vue atomique des opérations de commits, CVS en lui-même ne conserve aucune trace du fait que vous avez fait remonter des modifications sur une douzaine de fichiers en une seule opération de commit pour corriger une anomalie. Subversion au contraire attribue un nouveau numéro de révision au code source à chaque fois que vous opérez un changement. • Méta-données versionnées : Subversion peut attacher un nombre quelconque de pro- priétés (sous la forme de paires clé/valeur) à des fichiers ou à des répertoires. Ces pro- priétés sont elles-même versionnées comme les fichiers et les répertoires auxquels elles sont attachées. • Divers protocoles d'accès : comme CVS, Subversion offre un éventail de protocoles permettant l'accès au dépôt. Il peut s'agir d'un accès local via le système de fichiers, ou d'un accès par le protocole léger de Subversion (svnserve) ou encore d'un accès à tra- vers un canal crypté SSH. Plus important, on peut accéder au dépôt Subversion via le protocle WebDAV qui est lui même une extension de HTTP. Cette approche présente un certain nombre d'avantages comme la possibilité d'effectuer toutes les transactions au dessus du protocole HTTP sécurisé, de passer à travers les pare-feu et de profiter des méthodes d'authentification de HTTP. • Détermination efficace des différences : lorsque vous créez une copie de travail sur votre machine, une version complète des fichiers originaux est conservée sur le disque dur local ce qui permet d'effectuer des opérations comme status et diff même lorsque vous travaillez en mode déconnecté. • Etiquetage et création de branches efficaces : dans Subversion ces deux opérations sont effectuées en copiant (tout ou partie) du dépôt. La copie est virtuelle dans le sens où le système de fichiers virtuel de Subversion établit un lien pour indiquer de quelle ré- vision provient la copie. Il en ressort que l'étiquetage et la création de branches consomment très peu d'espace disque et, surtout, que la durée de ces opérations est indépendante de la taille du dépôt. • Contrôle d'accès fin : tel qu'intégré dans Codendi, votre dépôt Subversion commu- nique à travers le protocole HTTP (ou HTTPS) et il tire donc parti de la richesse des méthodes d'authentification proposées par HTTP. Il en ressort que Codendi vous per- met de définir finement les droits d'accès a votre dépôt Subversion que ce soit pour au- toriser la lecture, l'écriture ou au contraire interdire l'accès. 125
  • 135. Guide de l'utilisateur Codendi • Extensibilité : comme CVS, Subversion propose une ensemble de points d'accrochage (hooks) aux différents stades d'une opération de commit (pre-check, post-check, etc...). Contrairement à CVS, Subversion propose une interface de programmation bien docu- mentée et accessible depuis de nombreux langages de programmation comme C/C++, Java, Python et Perl. 10.1.1 Les clients Subversion Subversion repose sur une architecture client-serveur. En d'autres termes, Les développeurs Codendi qui souhaitent interagir avec un dépôt Subversion doivent installer Subversion sur leur poste de travail (appelé poste client). Codendi fait fonctionner un serveur Subversion de façon permanente en tâche de fond. Les clients Subversion s'adressent à ce serveur pour agir sur le dépôt. Les clients Subversion sont disponibles sous plusieurs formes pour toutes les plate- formes (Windows et tous les Unix) : ligne de commandes, interface graphique et interface Web. Interface par ligne de commandes Subversion offre un mode ligne de commande sur toutes les plateformes (Linux/Unix, MS Win- dows, Mac...). Bien que Subversion possède de nombreuses options, la plupart des com- mandes utilisées au quotidien n'utilisent qu'une ou deux options. Il est donc facile de s'en sou- venir et, qui plus est, elles ressemblent beaucoup aux commandes CVS. Référez-vous à la Section 10.1.2 [page 127] pour plus d'information sur l'interface par ligne de commandes de Sub- version. Frontaux graphiques Subversion propose déjà plusieurs frontaux graphiques. rapidSVN fait partie de la distribution standard de Subversion et fonctionne sur Linux et Windows. Tortoise SVN est un choix alterna- tif pour les utilisateurs MS Windows. jSVN est un client Java qui fonctionne sur toutes les plate- formes. Avec le temps, la liste des frontaux graphiques ne cessera de s'allonger. Référez-vous à la Section 10.1.2 [page 127] pour plus d'information sur les frontaux graphiques. Configurer rapidSVN pour Codendi Comme indiqué précédemment, rapidSVN est le frontal graphique livré avec Subversion pour Linux et Windows. Vous trouverez ci-dessous toutes les instructions pour faire fonctionner ra- pidSVn avec le dépôt Subversion de vos projets Codendi. Dans les paramètres utilisés ci- dessous, "nom_utilisateur" est le nom d'utilisateur Codendi et "nom_projet" le nom court du pro- jet Codendi sur lequel travaille l'utilisateur. • Téléchargez rapidSVN depuis le site Web de Subversion et installez sur votre poste de travail. • Démarrez l'application rapidSVN. • Créez un nouveau signet (bookmark) pour votre dépôt Subversion : Bookmarks->Add Repository... A l'invite, saisissez l'URL d'accès de votre dépôt : http://svn.nom_projet.www.codendi.org/svnroot/nom_projet 126
  • 136. Guide de l'utilisateur Codendi • Cliquez sur le signet qui vient juste d'être créé et indiquez votre nom d'utilisateur et votre mot de passe comme demandé. Vous devriez maintenant être capable de navi- guer dans le dépôt et de consulter le statut des fichiers ainsi que l'historique des révi- sions. • Pour créer votre propre copie de travail, utilisez le menu Repository->Checkout... Lorsque la boîte de dialogue apparaît, tapez le même URL que précédemment et choi- sissez l'emplacement où vous souhaitez créer votre copie de travail locale. • Un second signet correspondant à l'emplacement de la nouvelle copie de travail devrait apparaître dans le panneau des signets sur la gauche de l'écran. Sur la droite apparaît la liste des fichiers et répertoires de la copie de travail assortis de leur numéro de révi- sion et de leur statut. A partir de là vous pouvez utiliser votre éditeur de texte favori pour modifier le code source, rafraîchissez ensuite l'écran de rapidSVN pour voir apparaître les fichiers modifiés localement et faites remonter les changements (commit) vers le dé- pôt lorsque vous avez terminé vos modifications. 10.1.2 Références Subversion Comme indiqué précédemment, ce chapitre n'est pas un manuel d'utilisation de Subversion. Si vous souhaitez en savoir plus sur Subversion, référez-vous à l'un des documents suivants : • The Subversion Book. (Voir http://svnbook.red-bean.com). • Le site Web officiel de Subversion. Voir http://subversion.tigris.org/ C'est là que vous trouverez le logiciel Subversion et le frontal graphique rapidSVN. • TortoiseSVN. Un frontal graphique pour MS Windows et Linux. Voir http://tortoisesvn.tigris.org/. • jSVN. Un frontal graphique 100% Java. Voir http://jsvn.alternatecomputing.com/. 10.2 Intégration de Subversion dans Codendi 10.2.1 Le dépôt Subversion Dès qu'un nouveau projet est hébergé, un nouveau dépôt Subversion est automatiquement créé et initialisé correctement. Chaque projet dispose de son propre dépôt, ce qui présente un certain nombre d'avantages : le journal des transactions, l'historique des fichiers et tous les fi- chiers administratifs (par exemple les scripts utilisés sur les points d'accrochage) sont spéci- fiques à chaque projet. Cela permet une personnalisation complète des dépôts Subversion pro- jet par projet. Toutes les interactions avec un dépôt Subversion se font normalement via le client Subversion de votre poste de travail. En cas de besoin et si cette fonction est activée sur votre serveur Co- dendi, vous pouvez utiliser votre compte Shell (voir Section 18.1 [page 197]) pour interagir directe- ment avec votre dépôt. Une fois votre session Shell activée, vous trouverez votre dépôt Subver- sion dans le répertoire /svnroot/projectname.Cependant nous vous recommandons de n'avoir recours à cette possibilité que si vous savez exactement ce que vous faites. 127
  • 137. Guide de l'utilisateur Codendi 10.2.2 La structure du dépôt Subversion Lorsqu'un nouveau projet Codendi est créé, il est pourvu d'un dépôt Subversion totalement vierge que l'équipe de projet doit remplir et structurer. Étant donné que Subversion gère les branches et les étiquettes via son système de fichiers virtuel (et non pas par des labels attachés à chaque fichier comme dans CVS) il existe des recommandations concernant l'organisation des répertoires dans votre dépôt. L'organisation suggérée ci-dessous est considérée comme un standard de fait et nous vous recommandons vivement de l'adopter. Si vous prévoyez de ne gérer qu'un seul délivrable dans votre projet, vous pouvez créer les ré- pertoires suivants au niveau le plus haut de votre dépôt : /trunk /branches /tags où /trunk contient la ligne de développement principale, /branches contient les branches de développement et /tags les copies du code source qui correspondent en général à des ver- sions de votre logiciel. Si, au contraire, vous pensez devoir gérer plusieurs délivrables indépendants les uns des autres dans un même projet, il est conseillé de créer d'abord des répertoires de haut niveau qui corres- pondent à chacun de ces délivrables et de créer la même structure que précédemment au ni- veau inférieur. En supposant que vous ayez deux sous-projets appelés engine et client, la structure initiale de votre dépôt devait ressembler à ceci : /engine/trunk /engine/branches /engine/tags /client/trunk /client/branches /client/tags Pour plus d'information sur la structure des dépôts Subversion référez vous aux ouvrages cités dans la Section 10.1.2 [page 127]. 10.3 L'interface de navigation Web de Subversion Codendi vous permet d'interagir avec votre dépôt Subversion via l'interface Web. Il ne s'agit pas de remplacer le véritable client Subversion que vous utilisez normalement sur votre poste de travail. L'interface Web de Subversion se concentre sur certaines fonctionnalités que n'offrent pas les clients Subversion classiques. L'accès à l'interface Web de Subversion se fait via l'entrée "Subversion" de la barre de menu ou via l'entrée Subversion de la zone publique de la page de sommaire (voir Figure 7. Un exemple de page de Sommaire d'un projet [page 23]). L'interface Web de Subversion propose les fonc- tionnalités suivantes : • Accès au dépôt Subversion : la page d'accueil du service Subversion vous donne toutes les informations nécessaires pour accéder au dépôt depuis votre client Subver- sion. Le chemin d'accès au dépôt, la façon de se connecter et de récupérer le code 128
  • 138. Guide de l'utilisateur Codendi source (checkout) figure parmi les informations portées sur cette page. A noter que les administrateurs du projet peuvent personnaliser cette page d'accueil (voir Section 10.4 [page 132]). • Naviguer dans le dépôt Subversion : L'interface Web vous permet de parcourir le dé- pôt Subversion sans qu'il soit nécessaire d'installer un véritable client Subversion sur votre poste de travail. • Interroger le dépôt Subversion : si la fonction de suivi de Subversion est activée pour votre projet (c'est toujours le cas par défaut) tous les évènements concernant la modifi- cation du dépôt (commit, ajout ou suppression de fichiers) sont consignés dans la base de données de Codendi. Il est ensuite possible d'effectuer des recherches dans l'historique des changements selon différents critères. • Administration Subversion : ce service permet aux administrateurs du projet d'effectuer les tâches d'administration et de configuration du dépôt Subversion les plus courantes depuis l'interface Web de Codendi (pour plus d'information voir Section 10.4 [page 132]). Voyons plus en détail quelques unes de ces fonctionnalités : 10.3.1 Naviguer dans le dépôt Subversion Pour interagir avec le dépôt Subversion d'un projet Codendi, il est normalement nécessaire d'installer un client Subversion sur votre poste de travail. Cependant Codendi vous permet de naviguer dans le dépôt, de visualiser le code source, de le télécharger, de consulter l'historique d'un fichier ou de comparer deux révisions du même fichier. Figure 55. Un exemple de navigation dans le dépôt Subversion 129
  • 139. Guide de l'utilisateur Codendi 10.3.2 Interroger le dépôt Subversion Si le projet a activé le fonction de suivi de Subversion (voir Section 10.4 [page 132]), l'interface Web de Subversion offre des fonctionnalités particulièrement intéressantes pour les dévelop- peurs : • Commits Subversion atomiques et identifiés de façon unique : tous les change- ments (modification, ajout ou suppression de fichiers) commités en une seule opération depuis votre poste client se verront assignés un identifiant unique de la part de Codendi qui correspond au numéro de révision Subversion. • Références croisées entre commits : L'identifiant unique affecté à chaque opération de commit peut être référencé dans de futures opérations de commits ou dans les com- mentaires associés aux artefacts des différents outils de suivi (tâches, anomalies, de- mande d'assistance...) simplement en utilisant le patron revision #XXXX ou encore rev #XXXX (où XXXX est le numéro de la révision généré par Subversion). Toute réfé- rence de ce type est automatiquement transformé en hyperlien vers la base de suivi de Subversion. Ce mécanisme permet de naviguer facilement depuis un changement dans le code jusqu'à l'artefact qui lui a donné naissance et vice-versa. (plus d'information sur ce mécanisme dans la Section 10.3.3 [page 131]). • Recherche dans les commits : un des autres avantages de la base de suivi de Sub- version est de permettre une recherche selon différents critères. Il est possible d'effectuer des recherches parmi les changements apportés au code par auteur (qui a fait le changement), par identifiant de commit, par le chemin des fichiers ou par mots- clés présents dans le message associé au commit. Les résultats peuvent être triés en cliquant sur les entêtes des colonnes de la table de résultats (voir Figure 56. Interroga- tion de la base de suivi Subversion d'un projet [page 131]). Un clic sur l'un des identifiants de commit affiche une liste détaillée des changements intervenus, les fichiers impactés et la nature du changement accompagné d'un lien di- rect vers le dépôt Subversion montrant les modifications dans le code (voir Figure 57. Détails concernant une opération de commit Subversion [page 132]). 130
  • 140. Guide de l'utilisateur Codendi Figure 56. Interrogation de la base de suivi Subversion d'un projet 10.3.3 Références croisées entre artefacts et commits Subversion Lors des phases de développement ou de maintenance d'un projet, il est essentiel de garder la trace des changements effectués dans le code source. C'est ce que font les systèmes de ges- tion de configuration comme Subversion. En complément de ce suivi, il est tout aussi critique de pouvoir relier ces changements de code aux artefacts (une tâche, une anomalie ou une de- mande d'assistance) qui ont amené les développeurs à modifier le code ou la documentation. Et inversement, à la lecture d'un artefact il est très utile de voir quels changements il a engendré dans le code source. L'intégration de Subversion avec Codendi fournit précisément ce mécanisme de références croisées. Ceci est rendu possible par l'utilisation des 'références', patrons de texte prédéfinis à utiliser dans les commentaires des artefacts ou dans les messages de commits de Subversion et que Codendi reconnaît automatiquement. Les patrons de référence reconnus automatiquement par Codendi dans les messages de com- mit ou dans les commentaires des artefacts sont les suivants : • XXX #NNN : ce patron se réfère à l'artefact de type XXX numéro NNN, où NNN est l'identifiant unique de l'artefact et XXX le nom court utilisé dans l'outil de suivi corres- pondant (exemple : "bug #123", "tâche #321", "DA #12", etc.). Si vous ne connaissez pas le nom court de l'outil de suivi ou que vous ne souhaitez pas le préciser vous pou- vez utiliser le terme générique "art #NNN". Lorsque Codendi affiche un message conte- 131
  • 141. Guide de l'utilisateur Codendi nant ce genre de patron, il le transforme automatiquement en hyperlien vers la descrip- tion de l'artefact référencé. • commit #YYY or revision #YYY or rev #YYY : ce patron référence le commit YYY où YYY est l'identifiant unique du commit tel qu'il apparaît dans la base de suivi Subver- sion. Lorsque Codendi affiche un message contenant ce genre de patron, il le trans- forme automatiquement en hyperlien vers la description du commit référencé (message, fichiers impactés et leur révisions, auteur de la modification).(Voir Figure 57. Détails concernant une opération de commit Subversion [page 132]). • Le mécanisme de références de Codendi permet les références croisées entre tous les objets de Codendi: artefacts, documents, messages de commit, fichiers, etc. Voir la Section 6.8.1 [page 30] pour plus de détails sur la gestion des références dans Co- dendi. Figure 57. Détails concernant une opération de commit Subversion Coup de pouce : référencez les artefacts et les commits Subversion C'est une excellente pratique que de toujours référencer les tâches, anomalies, demande d'assistance appropriées dans le message de commit Subversion. De la même façon, lorsque l'artefact correspondant est fermé, assurez-vous de mentionner le commit qui résout le problème dans un commentaire. Vous constaterez que cette pratique est extrêmement efficace pour suivre l'historique des changements et pourquoi un changement a eu lieu. 10.4 Interface d'administration de Subversion Les administrateurs de projets peuvent effectuer les tâches les plus courantes d'administration et de configuration du dépôt Subversion via l'interface Web de Codendi. Les fonctions d'administration sont accessibles par l'entrée SVN Admin située dans la barre de menu du ser- vice Subversion. 10.4.1 Options générales • Suivi Subversion : étant donné que Subversion est un système de contrôle de version il prend naturellement en charge l'historique des changements opérés sur vos fichiers ainsi que le nom de l'auteur et la date de modification. L'historique d'un fichier peut d'ailleurs être consulté soit depuis votre client Subversion soit depuis l'interface Web de 132
  • 142. Guide de l'utilisateur Codendi navigation dans le dépôt Subversion. Si vous activez le suivi Subversion pour votre projet, Codendi conserve aussi une trace de tous les changements intervenus dans la base de données Codendi. Ceci vous donne des possibilités supplémentaires qui sont expliquées dans la Section 10.3.2 [page 130] • Préambule Subversion : dans certains cas (par ex. pour des projets existants), il se peut que le dépôt Subversion d'un projet ne soit pas hébergé sur Codendi. Dans ce cas, les informations affichées sur la page d'accueil du service Subversion de Codendi sont incorrectes. Fort heureusement, l'administrateur du projet peut personnaliser le mes- sage d'accueil en tapant le texte de son choix dans cette zone de saisie. 10.4.2 Contrôle des accès au dépôt Subversion Permissions d'accès par défaut Lorsque Codendi crée le dépôt Subversion d'un projet, différents niveaux de permissions sont octroyés aux différentes classes d'utilisateurs de Codendi (voir Section 3.1 [page 13]). Pour les projets privés, seuls les membres du projet ont accès au dépôt Subversion. Par défaut ils ont accès en lecture et en écriture. Ceci peut être modifié en personnalisant les permissions d'accès comme indiqué ci-dessous. Pour les projets publics, les règles d'accès par défaut sont les suivantes : • Utilisateurs anonymes : les utilisateurs non enregistrés (ou non connectés) n'ont au- cun accès aux dépôts Subversion. Selon la configuration du serveur Codendi, il est même possible que les utilisateurs anonymes n'aient aucun accès au site d'une façon générale. • Utilisateurs enregistrés : ils ont un accès en lecture uniquement. Ils peuvent faire un checkout d'une copie de travail mais ils ne peuvent faire aucune modification (commit) dans le dépôt Subversion. Les contributions au code source de ces utilisateurs (correction de bogues, améliorations,...) peuvent être envoyées à l'équipe de projet via l'outil de suivi des correctifs (patch) (Voir Section 7.12.2 [page 67] ). Note : si le mode "utilisateurs restreints" (voir Section 3.1 [page 13]) est activé, les utili- sateurs non membres du projet n'auront pas d'accès par défaut. Note : tous les accès au code source sur Codendi sont enregistrés. Les administrateurs des projets peuvent à tout moment consulter la liste des utilisateurs qui ont accédé au code source (voir Section 6.14 [page 42]). • Membres du projet : les membres d'un projet hébergé sur Codendi ont un droit d'accès en lecture et en écriture au dépôt après s'être authentifié à l'aide de leur nom d'utilisateur Codendi et leur mot de passe. Comme expliqué plus haut dans le para- graphe concernant les projets privés, il est là aussi possible de restreindre l'accès en lecture seule pour les membres du projets. • Administrateurs du projet : même conditions d'accès que les membres du projet. 133
  • 143. Guide de l'utilisateur Codendi Personnalisation des permissions d'accès Grâce à l'intégration de Subversion dans l'environnement Codendi, les administrateurs de projet peuvent redéfinir les permissions d'accès pour tout ou partie des utilisateurs de Codendi. Pour ce faire, il suffit de spécifier des règles d'accès qui complètent ou même remplacent les règles par défaut. La syntaxe des permissions d'accès suit le modèle suivant : [chemin] nom = permission où : • chemin est le chemin vers le répertoire ou le nom de fichier (relativement à / svnroot/nom_projet) du dépôt pour lequel vous souhaitez (re)définir les permis- sions d'accès. • nom est soit un nom d'utilisateur Codendi soit un nom de groupe. Le nom * (astérisque) couvre tous les utilisateurs enregistrés. S'il s'agit d'un groupe d'utilisateurs, le nom doit commencer par le caractère @. La ligne nom = permission peut être répétée autant de fois que nécessaire pour un chemin donné. Pour définir des groupes d'utilisateurs, utilisez le bloc d'instructions suivant : [groups] nom_groupe = utilisateur1, utilisateur2,... Tous les groupes d'utilisateurs définis par le projet (voir Section 6.10 [page 35]) sont aussi définis dans le fichier des règles de permission par défaut et sont donc utilisables lorsque vous spécifiez vos propres permissions d'accès. • permission est soit r pour l'accès en lecture seule, soit rw pour l'accès en lecture et en écriture ou encore une valeur vide si l'accès est interdit. En guise d'exemple, les permissions par défaut du dépôt Subversion telles qu'expliquées ci- dessus, s'expriment par les règles suivantes : [groups] members = membre1,membre2,...,membreN [/] * = r @members = rw où membre1,membre2,...,membreN représentent la liste des utilisateurs du projet. En outre, tous les groupes d'utilisateurs définis dans ce projet sont également détaillés dans cette section. Cette configuration par défaut est générée automatiquement, et ne peut pas être éditée par l'utilisateur. Il faut considérer cette section comme le début du fichier de spécification des per- mission du dépôt Subversion: les administrateurs du projet peuvent définir des permissions, qui 134
  • 144. Guide de l'utilisateur Codendi seront ajoutées à la suite de cette section. Notez bien qu'il n'est pas possible de restreindre des permissions déjà accordées sur un même répertoire. Par exemple, un projet publique aura le fichier de permission décrit plus haut; il est inutile dans ce cas d'écrire des règles plus strictes pour limiter l'accès au repertoire racine. Ainsi, ajouter: [/] * = n'empèchera pas tout utilisateur enregistré d'accéder au dépôt, puisque la règle par défaut l'y autorise. Néanmoins, il est tout à fait possible de restreindre l'accès à un sous-répertoire: [/secret] * = @members = rw empèchera effectivement aux utilisateurs non membres du projet d'accéder au repertoire '/ secret'. Si vous souhaitez néanmoins interdire l'accès à la totalité du dépôt, vous devrez contacter un administrateur Codendi. Pour plus d'information concernant le format de ce fichier référez-vous aux ouvrages sur Sub- version (voir Section 10.1.2 [page 127]). 10.4.3 Notification e-mail de Subversion En complément des fonctions de suivi, Codendi peut aussi expédier un courrier électronique proprement formaté à des individus ou à une liste de diffusion à chaque modification de code. Le courrier électronique contient le message expliquant la nature du changement, son auteur, la date de modification, la liste des fichiers impactés et des pointeurs vers le dépôt Subversion montrant les changements effectués dans le code. Les administrateurs d'un projet peuvent configurer les paramètres suivants concernant la notifi- cation par e-mail : • Les adresses e-mail : une liste d'adresses e-mail (séparées par des virgules) destina- taires des notifications. Si vous souhaitez informer un nombre important d'utilisateurs nous vous recommandons vivement de créer un liste de diffusion à cet effet (voir ci- dessous). • Entête du sujet : une chaîne de caractères qui apparaîtra en tête de la ligne Sujet des notifications emails envoyées. Cette entête est supposée aider les destinataires à iden- tifier rapidement les messages reçus et à pouvoir les rediriger vers des dossiers spéci- fiques par le biais de filtres de réception. Coup de pouce : pensez à créer une liste de diffusion pour l'envoi de vos notifications Subversion 135
  • 145. Guide de l'utilisateur Codendi Si vous avez l'intention d'envoyer des emails pour notifier certains utilisateurs de changements inter- venus dans le dépôt Subversion, nous vous recommandons de créer une liste de diffusion spécifique appelée nom_projet-cvsevents. Ainsi, les utilisateurs Codendi et les membres du projet intéres- sés par les notifications pourront s'inscrire sur la liste de diffusion. De plus, le gestionnaire de liste de diffusion de Codendi se charge d'archiver tous les messages ce qui peut servir de référence ultérieu- rement. Voir Section 15.1 [page 177] pour la création de liste de diffusion. 10.5 Un cycle de vie typique de Subversion Comme indiqué précédemment, l'objectif de cette section n'est pas de fournir une formation à Subversion mais plutôt d'expliquer quelles sont les étapes successives parcourues par une équipe dans le cadre d'une utilisation typique de Subversion et, plus généralement, quelles sont les outils utilisés lors de la publication d'une version d'un logiciel. Cette section indique aussi comment proposer des modifications de code lorsque vous ne faites pas partie de l'équipe de projet. Dans les paragraphes qui suivent tous les exemples sont don- nés sous la forme de lignes de commande mais leur transposition dans une interface graphique ne devrait pas poser de problèmes. Figure 58. Un cycle de développement logiciel typique sur Codendi 10.5.1 Se connecter Audience : tous les utilisateurs Codendi Contrairement à Subversion lorsqu'il est utilisé avec le protocole pserver, il n'est pas nécessaire de se connecter explicitement pour commencer à travailler avec un dépôt Subversion. Subver- sion vous demandera votre nom d'utilisateur et votre mot de passe à la première opération né- 136
  • 146. Guide de l'utilisateur Codendi cessitant une authentification (comme l'opération commit). 10.5.2 Importer du code source existant Audience : membres du projet En tant qu'administrateur d'un tout nouveau projet Codendi, la première chose à faire consiste à peupler votre tout nouveau dépôt Subversion avec votre code source. Pour ce faire créez d'abord un répertoire racine sur votre poste de travail et placez y votre code source en suivant l'arborescence recommandée plus haut (voir Section 10.2.2 [page 128]). Ensuite placez vous dans le répertoire racine et tapez les commandes suivantes (la seconde sur une seule ligne) : svn --username nom_utilissateur import . http://svn.projectname.www.codendi.org/svnroot/nom_projet --message "Version initiale du répertoire" Où : • nom_projet est le nom court du projet • nom_utilisateur est votre nom d'utilisateur Codendi (en minuscules). L'option - -username est nécessaire uniquement si votre nom d'utilisateur Codendi est différent de votre login Unix ou Windows sous lequel vous êtes en train de travailler. Si votre dépôt Subversion est configuré en mode sécurisé, vous devez utiliser l'URL https://www.codendi.org/svnroot/nom_projet au lieu de l'URL http://svn.nom_projet.www.codendi.org/svnroot/nom_projet dans tous les exemples qui suivent. Coup de pouce : vous avez commis une erreur lors de l'importation de votre code source ? Il n'est pas rare de faire une erreur lors de l'importation de code source dans un nouveau dépôt Sub- version. Placer les répertoires au mauvais niveau ou avec un mauvais nom est une erreur typique. Ne vous en faites pas... Si vous souhaitez recommencer avec un dépôt Subversion vierge contactez simplement l'équipe Codendi et nous réinitialiserons votre dépôt. Notez que si vous disposez déjà d'un dépôt Subversion, l'équipe Codendi peut vous aider à le transférer en préservant la totalité de l'historique. Nous avons juste besoin d'une archive (zip ou tar) de votre dépôt actuel. A partir de là nous réinstallerons votre dépôt Subversion. Contactez- nous pour plus d'information à ce sujet. 10.5.3 Créer une copie de travail (checkout) Audience : tous les utilisateurs Codendi Une fois le dépôt Subversion en place, les membres du projet (ou plus généralement les utilisa- teurs Codendi si l'accès leur est permis) peuvent créer une copie de travail sur leur propre poste. A noter que cette opération dite "checkout" ne permet pas à l'utilisateur de verrouiller 137
  • 147. Guide de l'utilisateur Codendi quelque fichier que ce soit. Le paradigme Subversion est le suivant : n'importe qui (ayant les permissions adéquates) peut créer sa propre copie de travail et la modifier; les changements ef- fectués par les différents utilisateurs sont réconciliés automatiquement ou marqués comme de- vant faire l'objet d'une résolution de conflit lorsque les fichiers modifiés sont mis à jour locale- ment. Comme son nom l'indique et contrairement à d'autres outils (RCS, SCCS, ClearCase...) Subversion est un système de contrôle de version concurrent. Une copie de travail n'est PAS une image du dépôt Subversion. Il s'agit plutôt d'un cliché à un instant donné du code source et, par défaut, il s'agit de la version la plus récente du code au moment où la copie de travail est créée ou mise à jour. Une des caractéristiques intéressantes d'une copie de travail réside dans le fait qu'il s'agit d'une entité autonome. En d'autres termes, un copie de travail contient toutes les informations nécessaires à Subversion pour savoir de quel serveur et de quel dépôt provient la copie et à quel moment de l'historique du code source elle correspond. C'est pour cette raison que vous ne verrez pas l'URL qui pointe vers le dépôt dans les commandes qui suivent la création de la copie de travail. En effet, ces commandes opèrent toutes dans l'environnement d'une copie de travail et Subversion sait donc parfaitement où se trouve le dépôt d'origine. Pour créer une copie de travail, tapez la commande suivante : svn checkout http://svn.nom_projet.www.codendi.org/svnroot/nom_projet Où : • nom_projet est le nom court du projet 10.5.4 Mettre à jour le code source (update) Audience : tous les utilisateurs Codendi Lancer la commande "svn update" depuis une copie de travail a pour effet de mettre à jour la copie de travail (ou une sous-partie) avec les dernières versions de chaque fichier en prove- nance du dépôt. Pour mettre à jour une copie de travail, tapez la commande : svn update 10.5.5 Observer les modifications Si vous souhaitez savoir quels fichiers ont été modifiés dans votre copie de travail depuis votre dernière mise à jour, tapez la commande suivante : svn status Ou quels fichiers ont été mis à jour dans le dépôt Subversion depuis votre dernière mise à jour : svn status -u Cette commande vous donnera la liste des fichiers ayant subi des changements soit parce qu'ils ont été modifiés, détruits ou créés. 138
  • 148. Guide de l'utilisateur Codendi Pour comparer les fichiers modifiés localement avec la version qui se trouve dans le dépôt, vous pouvez utiliser la commande diff : svn diff nom_de_fichier Si aucun nom_de_fichier n'est indiqué, l'opération diff est appliquée de façon récursive sur tous les fichiers et sous-répertoires. 10.5.6 Remonter les modifications vers le dépôt (commit) Audience : membres du projet Les membres du projet impliqués dans les activités de développement voudront certainement faire remonter les modifications dans leur copie de travail vers le dépôt Subversion. Dans la ter- minologie Subversion c'est ce qu'on appelle une opération de commit. Pour faire remonter les changements de votre copie de travail vers le dépôt, tapez la com- mande suivante : svn commit -m"Expliquez ici la nature de la modification..." [nom_fichiers] Où : • L'option -m est suivie par un message expliquant la nature des changements effectués. • L'argument nom_fichiers est optionnel. Il peut s'agir de nom de fichiers ou de réper- toires. Si aucun nom n'est précisé Subversion prend en compte tous les fichiers qui ont subi une modification dans le répertoire courant et tous les sous-répertoires récursive- ment. Coup de pouce : N'oubliez pas d'inclure un identifiant de tâche ou d'anomalies dans vos messages de commit Dans un monde parfait, toutes les modifications effectuées dans le code source devraient se rappor- ter à un artefact de type tâche à effectuer, anomalies à corriger... Si votre équipe de projet vit dans ce monde idéal :-) n'oubliez pas de mentionner l'identifiant du ou des artefacts concernés dans votre message de commit (voir Section 7.5.6 [page 57]). Les scripts d'accrochage (hook scripts) de Sub- version peuvent aussi vous aider à faire respecter cette règle en rejetant les messages qui ne com- portent pas ce genre de références. Coup de pouce : mettez votre copie de travail à jour avant de remonter des changements vers le dépôt Si vous essayez de faire remonter vers le dépôt un fichier qui a lui-même fait l'objet d'une remontée par un autre développeur, le serveur Subversion refusera d'effectuer votre commande cvs commit. Vous devez tout d'abord lancer une commande cvs update pour mettre à jour votre copie de tra- vail avec les changements intervenus dans le dépôt, fusionner ces changements avec les vôtres (Subversion le fait automatiquement dans la plupart des cas) et ensuite seulement faire remonter vos propres changements dans le dépôt. Si vous voulez vous affranchir des changements effectués par les autres développeurs il faut alors créer une branche pour y travailler de façon isolée. 139
  • 149. Guide de l'utilisateur Codendi 10.5.7 Proposer des modifications à l'équipe de projet Audience : tous les utilisateurs Codendi Il s'agit d'une variante de la section précédente pour les utilisateurs qui n'ont pas d'accès en écriture au dépôt Subversion d'un projet et qui ne peuvent donc pas faire remonter leurs modifi- cations directement dans le dépôt. La variante expliquée ici est une méthode utilisée de façon quasi-universelle dans le monde de l'Open Source pour proposer des changements à une équipe de projet. Elle consiste à générer un fichier texte contenant la liste des différences entre votre propre version de code et la ver- sion de référence que vous avez obtenue initialement. Ce fichier s'appelle un fichier diff du nom de l'outil capable de générer ces fichiers automatiquement. La raison pour laquelle ces fichiers diff sont si populaires tient au fait qu'ils respectent un format parfaitement connu et documenté. Les fichiers diff sont envoyés à l'équipe de projet qui peut alors utiliser un autre outil universel appelé patch pour fusionner automatiquement vos modifi- cations avec le code du dépôt. C'est pour cette raison qu'un fichier diff est aussi appelé un patch (ou correctif en français). Les fichiers peuvent être générés soit avec l'outil diff (qui fait partie des outils GNU) dispo- nible sur toutes les plateformes y compris Windows, soit directement avec votre client Subver- sion si vous avez effectué vos modifications dans un copie de travail Subversion. La façon diff : • Utilisez diff lorsque vous avez obtenu le code source à partir d'une archive et non pas à partir du dépôt Subversion. Supposons que le code source original se trouve dans le répertoire projet-0.1/ et la version modifiée dans projet-0.1-nouveau/ • Vous pouvez générer un fichier diff à l'aide de la commande suivante (tous les fichiers de tous les sous-répertoires feront l'objet d'une comparaison) : diff -rc projet-0.1/ projet-0.1-nouveau/ La façon Subversion : • Opérez de cette façon si vous avez modifié une copie de travail Subversion. Nous sup- posons que vous vous trouvez au niveau le plus haut de la copie de travail. • Vous pouvez générer un fichier diff entre votre version et la version la plus récente du dépôt en tapant la commande Subversion suivante : svn diff • Si vous souhaitez générer un fichier diff entre votre version et une version spécifique du dépôt, il vous faut alors préciser le numéro de révision de cette version spécifique (révision #9398 dans l'exemple ci-dessous) : svn diff -r 9398 Dans les deux cas, stockez la sortie des commandes diff ou svn diff dans un fichier texte. Com- pressez le s'il est de taille conséquente et utilisez l'outil de suivi de correctif du projet (voir Sec- tion 7.12.2 [page 67]) pour soumettre votre correctif à l'équipe de projet. 140
  • 150. Guide de l'utilisateur Codendi Et un grand merci pour votre contribution ! 10.5.8 Exporter et empaqueter Audience : membres du projet Il existe une façon rapide et simple de publier une version empaquetée de votre code source et de la mettre à la disposition de vos utilisateurs via le service de publication de fichiers (voir Cha- pitre 8. Publication de fichiers [page 98]). 1. Assurez vous que tous les développeurs ont fait remonter vers le dépôt tous les chan- gements que vous souhaitez délivrer dans cette version. 2. Mettez à jour votre copie de travail avec l'ensemble des changements remontés par les développeurs de votre équipe avec la commande suivante : svn update 3. Mettez à jour les fichiers ChangeLog, Release Notes et README (ou LISEZMOI) au sommet de l'arbre du code source et faites remonter les modifications apportées à ces 3 fichiers vers le dépôt. 4. Créez une copie étiquetée (tag) de votre code source à partir de la ligne principale de développement (le tronc) en lui donnant un nom approprié. En supposant que le nom de la version à publier est nom_projet-1.4, la création de la nouvelle version se fait de la façon suivante : svn copy http://svn.nom_projet.www.codendi.org/svnroot/nom_projet/trunk http://svn.nom_projet.www.codendi.org/svnroot/nom_projet/tags/nom_projet-1.4 -m "Etiquettage de la version 1.4" 5. Votre version est maintenant prête. Il ne reste plus qu'à exporter une copie du code source propre (exempte des fichiers spécifiques à Subversion) de la version 1.4 de votre logiciel en tapant : svn export http://svn.nom_projet.www.codendi.org/svnroot/nom_projet/tags/nom_projet-1.4 6. Créez une archive tar ou zip à partir du répertoire nom_projet-1.4/ 7. Livrez cette archive via le service de publications de fichiers (voir Section 8.4 [page 101]). 8. C'est fini ! Joli travail... Accordez-vous une pause. Et n'oubliez pas d'annoncer la dis- ponibilité de cette nouvelle version en utilisant le service d'annonces de Codendi (voir Section 15.2 [page 178]). 10.6 Subversion pour les administrateurs de projet 10.6.1 Les scripts d'accrochage de Subversion (hook scripts) Codendi offre une interface Web facile d'utilisation permettant de définir les paramètres de configuration les plus fréquemment utilisés de votre dépôt Subversion comme les droits d'accès ou la notification par email. Les administrateurs de projet qui souhaitent personnaliser davan- tage la configuration de leur dépôt peuvent avoir accès aux scripts d'accrochage de Subversion. 141
  • 151. Guide de l'utilisateur Codendi Pour ce faire, vous devez avoir l'autorisation de vous connecter au serveur Codendi via votre compte Shell (voir Section 18.1 [page 197]) 6. . Une fois connecté, tapez la commande suivante à l'invite du shell : • newgrp nom_projet (où nom_projet est le nom court du projet) • cd /svnroot/nom_projet/hooks • Si le script d'accrochage que vous souhaitez personnaliser n'existe pas dans le réper- toire hooks, il vous faut d'abord le créer en copiant le modèle de fichier correspondant fourni par Subversion (extension .tmpl). Ensuite vous pouvez éditer le script directe- ment dans le répertoire. • exit (Logout) ***Note Importante*** : attention aux points d'accrochage de Codendi ! Si vous personnalisez les scripts d'accrochage de Subversion pour votre dépôt, veillez à ne pas alté- rer les instructions mises en place par Codendi. Ces instructions sont clairement marquées à l'aide de lignes de début et de fin très reconnaissables. 6Il se peut que l'administrateur du site ait décidé de désactiver les compte Shell. 142
  • 152. Guide de l'utilisateur Codendi CHAPITRE 11 Gestionnaire de Documents La documentation est probablement le délivrable le plus important d'un projet après le logiciel lui-même. Codendi propose un service spécifique pour la gestion de la documentation. Bien que le gestionnaire de documents de Codendi ne soit pas comparable à un système de gestion documentaire dédié, il est cependant extrêmement pratique pour gérer les documents critiques pour votre communauté d'utilisateurs. Quelques exemples : manuel d'installation, d'administration ou d'utilisation, documentation des API, Foire aux Questions, etc... Les fonctionnalités du gestionnaire de documents sont les suivantes : • Le gestionnaire peut gérer n'importe quel type de document. • Les documents sont stockés dans des dossiers. Vous pouvez avoir des sous-dossiers dans un dossier. • Les documents peuvent être édités en ligne (si ils sont embarqués au format text ou html). • Les règles de droits d'accès peuvent être définies pour chaque dossier ou document. • Les documents possèdent des propriétés. 11.1 Structure Vous pouvez structurer comme vous voulez votre gestionnaire de document en créant des dos- siers et sous-dossiers pour classer vos documents. Figure 59. Dossiers et sous-dossiers 143
  • 153. Guide de l'utilisateur Codendi 11.2 Actions Le gestionnaire de document permet certaines actions sur les dossiers ou documents. Ces ac- tion sont disponible ou pas suivant les permissions. Pour afficher le paneau des actions, il vous suffit de cliquer sur l'icône en forme de crayon à côté du titre de l'élément. Figure 60. Actions Nous allons maintenant décrire toutes les actions qui peuvent être effectuées : 11.2.1 Nouveau Document Cette action est seulement disponible pour les dossiers et permet à l'utilisateur de créer un nou- veau document. Quand vous selectionnez cette action, une fenêtre "Nouveau document" est af- fichée, où vous pouvez entrer les informations concernant le nouveau document. 144
  • 154. Guide de l'utilisateur Codendi Figure 61. Créer un nouveau document Le nouveau document hérite des permissions du dossier parent. Propriétés Le titre du document est obligatoire. L'utilisateur peut fournir une description. En fonction du projet, il peut y avoir des propriétés supplémentaires requise pour définir le document. Type de document 145
  • 155. Guide de l'utilisateur Codendi 5 types de documents sont disponibles : • Vide: le document ne sera pas typé. L'utilisateur pourra choisir le type définitif après la création. • Lien: autorise l'utilisateur à pointer un document avec une URL. Le document ne sera pas stocké localement dans le manager. • Wiki: le document peut être créé avec le service wiki.Entrez juste le nom correspondant à la nouvelle page wiki. Vous pouvez également utiliser une page wiki existante. • Fichier: n'importe quel type de documents peut être chargé. Depuis une présentation PowerPoint à une simple image ou un document office. Les fichiers sont versionnés ainsi vous pouvez ajouter de nouvelles versions sur les documents existants. • Fichier embarqués: les documents de type texte ou html peuvent être édités en ligne et sont versionnés. Chemin Par défaut, le sytème crée un document dans le dossier qui a été sélectionné. L'utilisateur peut aussi choisir un autre dossier. Il peut également sélectionner la position du nouveau document dans le dossier : au début ou à la fin. 11.2.2 Nouveau Dossier Cette action est seulement disponible pour les dossiers et permet à l'utilisateur de créer un sous-dossier. 146
  • 156. Guide de l'utilisateur Codendi Figure 62. Créer un nouveau dossier Le nouveau dossier hérite des permissions du dossier parent. Propriétés Comme pour les documents, le titre des dossier est obligatoire. L'utilisateur peut fournir une description. Selon les projets, il peut y avoir des propriétés supplémentaires requises pour défi- nir les dossiers. Chemin Comme pour les documents, par défaut, le système crée un dossier dans le dossier qui a été sélectionné. L'utilisateur peut aussi choisir un autre dossier. Il peut également sélectionner la position du nouveau dossier : au début ou à la fin. 11.2.3 Propriétés Cette action permet à l'utilisateur de voir les propriétés d'un document ou d'un dossier, si il en a les droits. Si il a les permissions requises, il sera capable de modifier ces propriétés. 147
  • 157. Guide de l'utilisateur Codendi Figure 63. Afficher et editer les propriétés Depuis le paneau des propriétés, il est possible de voir/éditer les permissions, voir l'historique et d'accèder aux actions (mise à jour/déplacement/suppression). 11.2.4 Notifications Cette action permet à l'utilisateur de s'abonner à toute modification d'un élément. Ainsi il pourra être prévenu de l'ajout d'un document dans un dossier, de la modification d'un document, de son déplacement, ... Il suffit de cocher la case prévue à cet effet. Figure 64. Notifications 11.2.5 Historique Cette action permet à l'utilisateur de voir les journaux et les anciennes versions (si disponibles). 148
  • 158. Guide de l'utilisateur Codendi Figure 65. Historique 11.2.6 Mise à jour Cette action permet à l'utilisateur de mettre à jour le nom d'une page wiki ou l'url d'un lien. Figure 66. Mise à jour d'un lien 11.2.7 Nouvelle version Cette action permet à l'utilisateur de mettre à jour un document de type fichier ou fichier embar- qué. 149
  • 159. Guide de l'utilisateur Codendi Figure 67. Créer une nouvelle version d'un fichier embarqué 11.2.8 Permissions Cette action permet à l'utilisateur de gérer les permissions d'un document ou d'un dossier. Les permissions d'un dossier peuvent être appliquées recursivement à sa sous-hiérarchie. 150
  • 160. Guide de l'utilisateur Codendi Figure 68. Definir les permissions Il y a 3 types de permission. Lecteurs Ceux qui peuvent lire un document ou accèder au contenu d'un dossier. "lecture" signifie accès au document/dossier, voir ses propriétés, voir son historique. Merci de noter que si un utilisateur ne peut pas lire un dossier alors il ne pourra pas accèder à tout les éléments en dessous de lui, quelques soient leurs permissions. Rédacteurs Les Rédacteurs sont des lecteurs qui peuvent modifier un document ou créer un sous-élément dans un dossier. "Modifier" signifie mettre à jour/ajouter une nouvelle version, modifier un lien ou le nom d'un page wiki, modifier les propriétés, déplacer un élément ou le supprimer. Gestionnaires Les gestionnaires sont des rédacteurs qui peuvent aussi définir les permissions d'un document ou d'un dossier. Ils peuvent aussi consulter les historique d'accès à un document. 11.2.9 Déplacer Les documents ou les dossiers peuvent être déplacés au sein des documents du projet. L'utilisateur ne peut déplacer un élément que si les dossiers source et destination sont modi- fiables. Vous pouvez déplacer un item de différentes façons. La façon usuelle est de selectionner "déplacer" dans le menu popup d'un élément. Vous aurez alors à choisir un dossier de destination (ou éventuellement le laisser au même endroit) et la nouvelle position (au début, à la fin ou à une position spécifique). Les permissions de l'élément ne seront pas changées. 151
  • 161. Guide de l'utilisateur Codendi Figure 69. Déplacer un document Si vous ne voulez que réordonner le contenu d'un dossier, vous pouvez cliquer sur les raccour- cis à coté de "déplacer" dans le menu popup : décaler d'une place vers le haut, d'une place vers le bas, placer au début du dossier ou à la fin. Figure 70. Raccourcis pour déplacer un élément au sein d'un dossier 11.2.10 Delete Les documents ou dossiers peuvent être supprimés. Si un utilisateur veut supprimer un dossier, il sera averti que tous les sous-éléments seront supprimés (si il a les permissions ad-hoc). Pour pouvoir supprimer un élément, l'utilisateur doit avoir le droit "rédacteur" sur le répertoir pa- rent. 11.3 Administration 11.3.1 Permissions 152
  • 162. Guide de l'utilisateur Codendi Cette section définie qui peut administrer le gestionnaire de documents. Les administrateurs du gestionnaire de documents ont tous les droits sur tous les éléments du gestionnaires. 11.3.2 Afficher les permissions Cette section permet de définir la vue par défaut du gestionnaire de documents. Ce paramètre peut être surchargé par les préférences de l'utilisateur. 11.3.3 Propriétés Cette section gère les propriétés des documents. Chaque propriété peut être valuée lors de la soumission ou de l'édition d'un document. Il n'y a pas de permissions spécifiques aux propriétés. Si un utilisateur peut lire(modifier) un do- cument, il peut également lire(modifier) chacune de ses propriétés. 153
  • 163. Guide de l'utilisateur Codendi CHAPITRE 12 Gestionnaire de Tests Le test est une activité importante dans le cycle de vie d'un projet. Codendi fournit un service spécifique pour gérer vos tests. Le gestionnaire de tests utilisé dans Codendi est SalomeTMF (Test Management Framework), un outil de gestion de tests open source bien connu. Pour une documentation plus complète de SalomeTMF, merci de visiter la page web du projet SalomeTMF https://wiki.objectweb.org/salome-tmf/ et en particulier la section documentation. 12.1 Présentation de Salome Les fonctionnalités du gestionnaire de tests sont les suivantes : • Création des tests. Les tests peuvent être organisés en campagne, en famille, en suite (comme le préconise la norme ISO 9646). • Exécution des tests. Les tests peuvent être associés à des environnements, des ac- tions, des exécutions et des jeux de données. • Les tests peuvent être exécutés manuellement ou de manière automatique (à l'aide des plugins SalomeTMF). • SalomeTMF est intégré à Codendi, ce qui signifie que vous n'avez pas besoin de créer vos projets dans SalomeTMF. Vos projets Codendi seront automatiquement disponibles dans SalomeTMF, ainsi que les membres du projet. • SalomeTMF est intégré à Codendi, vous pouvez donc ajouter une anomalie, dans l'outil de suivi de Codendi, quand l'exécution d'un test a échoué par exemple. 12.2 Configuration et Administration 12.2.1 Outil de suivi Salome Salome peut interagir avec les outils de suivi de Codendi. Un cas d'utilisation typique est l'ajout d'anomalie ou de bug dans un outil de suivi lorsqu'un test a échoué. Vous pouvez utiliser le mo- dèle d'outil de suivi fourni (Salome Bug), mais vous pouvez aussi utiliser Salome avec l'outil de suivi de votre choix. Vous devez simplement ajouter et/ou lier les champs "spéciaux" suivants nécessaires à Salome : • environnement • campagne 154
  • 164. Guide de l'utilisateur Codendi • famille • suite • test • action • exécution • jeu de données (dataset) Tous ces champs sont de type champ texte. Si vous utilisez Salome avec l'un de vos outils de suivi existant, deux options s'offrent à vous : • Vous disposez déjà de champs qui peuvent correspondre aux champs "spéciaux" de Salome, il vous suffit alors simplement de lier ces champs (voir "Configuration de l'outil de suivi Salome" ci-dessous pour lier les champs), • Les champs de votre outil de suivi ne correspondent pas aux champs "spéciaux" requis par Salomé, ou vous ne souhaitez pas utiliser des champs existant pour cet usage: il vous suffit donc d'ajouter de nouveaux champs de type "champ texte" (voir Section [page 77] pour plus de détails), et ensuite de les lier (voir ci-dessous). Si vous souhaitez utiliser un nouvel outil de suivi pour interagir avec Salome, vous pouvez utili- ser le patron Salome Bug Tracker, ou créer vous-même un nouvel outil de suivi en vous basant sur le patron Salome Bug Tracker (voir Section 7.11 [page 65] pour plus de détails sur la créa- tion d'outils de suivi à partir de patrons) Configuration de l'outil de suivi Salome Pour pouvoir lancer SalomeTMF depuis Codendi, vous devez indiquer au système l'outil de suivi que vous souhaitez utiliser avec Salomé. Pour ce faire, veuillez sélectionner le lien Administration du service Gestionnaire de Tests, et suivre le lien "Gestion de l'outil de suivi Salome". Ensuite, 1. Choisissez l'outil de suivi que vous souhaitez utiliser avec Salome. Cette action va ra- fraichir la liste des autres champs. 2. Choisissez le rapport que vous souhaitez utiliser avec Salome (ce rapport vous servira à parcourir et à rechercher les artefacts depuis Salomé). 3. Ensuite, associer chaque champ "spécial" Salome avec l'un des champs de l'outil de suivi choisi. 4. Cliquez ensuite sur le bouton Valider. 155
  • 165. Guide de l'utilisateur Codendi Figure 71. Configuration de l'outil de suivi Salome Des erreurs peuvent survenir lors de la validation, par exemple si un champ de votre outil de suivi est utilisé deux fois, ou si un champ Salome n'est pas associé à un champ de l'outil de suivi. 12.2.2 Permissions Les permissions de SalomeTMF peuvent être configurées dans l'administration du Gestionnaire de Tests de Codendi (Administration -> Permissions). L'administrateur du projet peut configurer les permissions pour les membres du projet, pour les administrateurs du projets, et pour chaque groupe d'utilisateurs défini dans le projet. Les permissions disponibles sont : • Suite de Test: • Ajouter : si l'utilisateur peut ajouter une suite de tests ou pas. • Modifier : si l'utilisateur peut modifier une suite de tests ou pas. • Supprimer : si l'utilisateur peut supprimer une suite de tests ou pas. • Campagne de Test : • Ajouter : si l'utilisateur peut ajouter une campagne de tests ou pas. • Modifier : si l'utilisateur peut modifier une campagne de tests ou pas. • Supprimer : si l'utilisateur peut supprimer une campagne de tests ou pas. 156
  • 166. Guide de l'utilisateur Codendi • Exécuter : si l'utilisateur peut exécuter une campagne de tests ou pas. Notez par ailleurs qu'il existe des dépendances entre permissions. Par exemple, si un groupe peut "Ajouter" une suite de test, il pourra aussi "Modifier". Figure 72. Configuration des permissions Salome 12.2.3 Plugins Salome SalomeTMF est extensible grâce à ses plugins. Chaque administrateur projet peut choisir les plugins Salome qui seront chargés depuis son projet. Pour choisir les plugins à utiliser pour votre projet, suivez le lien Votre projet -> Gestionnaire de Tests -> Administration -> Gestion des plugins Salome, sélectionnez alors les plugins désirés, puis validez en cliquant sur le bouton Valider. Il faut noter qu'en focntion de la configuration du serveur, certains plugins Salome peuvent ne pas être disponibles. 157
  • 167. Guide de l'utilisateur Codendi Figure 73. Configuration des plugins Salome 12.2.4 Préférences Salome Les administrateurs projet peuvent choisir certaines préférences pour Salome par projet. Suivez le lien Votre projet -> Gestionnaire de Tests -> Administration -> Gestion de la configuration Sa- lome, puis sélectionnez les options : • Inclure l'indicateur ICAL : ICAL est un indicateur qualité, développé par Orange Labs. Si vous n'utilisez pas cet indicateur, vous n'avez pas besoin de l'activer. • Verrouiller un plan de test si une campagne a été exécutée : sélectionnez cette option si vous souhaitez que les plans de tests soient verrouillées après l'exécution d'une cam- pagne de tests. • Verrouiller la modification du tests si le test a été exécuté : sélectionnez cette option si vous souhaitez que le test soit verrouillé après son exécution. Note : ceci implique que vous ne pourrez pas rejouer l'exécution du test. 158
  • 168. Guide de l'utilisateur Codendi Figure 74. Configuration des préférences Salome 12.3 Lancer SalomeTMF Une fois que votre projet est configuré correctement (voir Section 12.2.1 [page 154] pour plus de détails) vous pouvez lancer l'application SalomeTMF en appuyant sur le bouton "Lancer Sa- lome". Figure 75. Lancer Salome En cliquant sur le bouton le système peut vous demander si vous souhaitez ouvrir l'application avec javaws (Java Web Start), répondez oui. De même, acceptez ensuite tous les certificats. Par contre, si Java Web Start vous propose de créer un raccourci sur votre bureau, refusez: il faut toujours lancer Salome depuis Codendi. L'application SalomeTMF se lancera après. 159
  • 169. Guide de l'utilisateur Codendi CHAPITRE 13 Intégration Continue avec Hudson 13.1 Introduction à l'intégration continue L'intégration continue est un ensemble de bonnes pratiques utilisées en génie logiciel. Ces bonnes pratiques visent à vérifier qu'une modification de code source n'entraîne pas de régres- sion de l'application en cours de développement. Cette vérification est en générale effectuée sur une autre machine que votre machine de développement (serveur d'intégration); et cette vé- rification est effectuée assez fréquement 7, d'où le nom d'Intégration Continue. L'outil qui va se charger d'effectuer cette vérification est un outil d'intégration continue tel que CruiseControl ou Hudson. Cette étape de vérification est appelée Build. Un build pourra corres- pondre, selon votre projet, en une succession d'étapes, comme par exemple : • La compilation, • La génération de la documentation (javadoc par exemple), • L'exécution des tests unitaires, • Une analyse de qualimétrie sur le code source (respect des conventions de codage, pourcentage de commentaires, métriques sur le code, ...), • La génération d'un exécutable. L'outil d'intégration continue n'effectue pas lui-même le build, mais le lance à intervalle régulier, affiche le résultat du build, et est en général capable de notifier les membres du projet si une modification a engendré une quelconque régression. Cette technique de développement, initiée au départ par la communauté de l'Extreme Program- ming et adoptée par les méthodes Agiles apporte un certain nombre d'avantages. Parmis ceux- ci, nous pouvons citer : • Les tests sont immédiatement exécutés après chaque modification (étape souvent né- gligée par les développeurs), • Les problèmes d'intégration sont détectés en continue, permettant de les réparer au plus vite, • Il existe toujours une version des livrables opérationnelle et disponible pour test, dé- monstration ou distribution. 7 Plusieurs stratégies sont possibles : après chaque commit, à intervalle régulier (toutes les heures, toutes les nuits). Tout dépend de la taille du projet, du nombre de développeurs, de la fréquence des modifications. 160
  • 170. Guide de l'utilisateur Codendi Nous avons choisi d'intégrer à Codendi l'outil d'intégration continue Hudson, qui est l'un des outils les plus en vogue actuellement. Le paramétrage d'Hudson se réalise de manière assez simple dans une interface web et bénéficie d'une aide contextuelle en ligne très appréciable. L'intégration continue, ainsi que l'outil Hudson, possède un certains nombre de termes spéci- fiques. En voici la définition : Terme Définition Job La notion de Job Hudson peut être mise en correspondance avec la notion de projet. C'est le Job qui va exécuter le build. Mais il ne fait pas que cela. En effet, le Job va mettre en place l'environnement nécessaire à l'exécution du Build (mise à jour du code source), éxécuter le build, puis effectuer un certain nombre d'opération après celui-ci (comme publier la documentation générée, publier le résultats des tests, notifier du ré- sultats du build, ...) Build Littéralement "contruction" de votre projet logiciel. Processus constitué de plusieurs étapes exécutées périodiquement sur un serveur d'intégration continue. Artéfact Item généré lors du build, et mis à disposition par l'outil d'intégration continue. Atten- tion à ne pas confondre un artefact d'un build et un artefact Codendi (qui est un item suivi dans l'outil de suivi). Espace de travail Répertoire dans lequel le projet va être dépoyé pour pouvoir y effectuer le build, et (workspace) éventuellement y construire les artéfacts. Statut (du build) Etat du build. Peut prendre diverses valeurs selon l'outil. Hudson propose 4 états : • Succès : tout s'est bien passé, aucun test n'est en échec, • Instable : le build s'est achevé, mais il est instable (des tests sont en échecs par exemple), • Echec : le build est en échec • Inactif : aucun build n'a encore été lancé ou le build est désactivé. Tendance (des builds) Tendance du résultat des builds basé sur les 5 derniers builds. Cette tendance est re- présentée par une image empruntée à la météo (soleil, orage, etc) pour signifier que la tendance est au beau fixe ou pas. Tableau 2. Glossaire des termes spécifiques à l'I.C. et à Hudson 13.2 Installation de Hudson Pour installer Hudson, vous devez disposer d'une JVM sur le serveur d'intégration continue (version 1.5 ou supérieure nécessaire). Nous privilégierons l'installation d'Hudson dans un ser- veur d'application comme Tomcat. Procédure 13.1. Voici donc les étapes à suivre pour l'installer : 1. Installez Tomcat 2. Télécharger le fichier war Hudson (hudson.war) à l'adresse https://hudson.dev.java.net/ 3. Définir la variable d'environnement HOME_HUDSON si vous souhaitez spécifier le ré- pertoire d'installation d'Hudson 4. Déployer la war Hudson dans le manager de Tomcat. Ca y est ! Hudson est installé. Par défaut, vous pouvez y accèder à l'adresse : http://localhost:8080/hudson 161
  • 171. Guide de l'utilisateur Codendi 13.3 Configuration de Hudson Avant de créer vos propres Jobs (voir Section 13.4 [page 164]), il faut configurer Hudson. Toutes les étapes sont facultatives. Ne configurez que ce dont vous avez besoin. 13.3.1 Configuration système Pour configurer Hudson, cliquez sur le lien "Administrer Hudson" dans le menu en haut à gauche de l'interface principale d'Hudson, puis sur le lien "Configurer le système". Toutes les étapes de configuration disposent d'une aide contextuelle. Pour avoir des détails concernant une option, cliquez sur le point d'interrogation correspondant. Outils externes Pour pouvoir exécuter les builds de vos projets, Hudson doit connaître les chemins des outils nécessaires à l'exécution des builds. Vous pouvez spécifier ici les chemins vers les outils externes dont vous pouvez avoir besoin. Par défaut, les outils proposés sont JDK, Shell, Ant, Maven et CVS. Si vous installez des plu- gins (voir Section 13.3.2 [page 164]) qui font appel à des outils externes, vous aurez la possiblité de les configurer dans cette section. Figure 76. Configuration des outils Notons que vous pouvez définir plusieurs instances du même outil (plusieurs version de JDK par exemple). Authentification 162
  • 172. Guide de l'utilisateur Codendi Par défaut, Hudson est accessible par tout le monde. Tout le monde peut voir les jobs, parcourir le résultats des builds, et lancer de nouveaux builds via l'interface web. Vous pouvez néanmoins restreindre ces droits. Pour cela, il faut cocher la case "activer la sécu- rité" (toujours dans le menu "Administrer Hudson" -> "Configurer le système"). Vous avez alors plusieurs options : • Déléguer au conteneur de servlets : dans notre cas, il s'agit de Tomcat. Le fichier de définition des droits utilisateurs est le fichier <tomcat>/conf/tomcat-users.xml. Reportez- vous à la documentation de votre conteneur pour plus de précisions. • LDAP : si vous disposez d'un annuaire LDAP, il vous suffit de spécifier l'adresse du ser- veur, et les utilisateurs seront automatiquement reconnus. • Base de données des utilisateurs de Hudson : Hudson peut gérer lui-même la base de données des utilisateurs. Dans ce cas, vous devrez soit les créer vous-même, soit autoriser les utilisateurs à s'enregistrer. Le choix d'activer ou non la sécurité dépendra de la politique interne de votre entreprise, de la spécificité de vos projets, et de la taille de vos équipes. Notification par Email Hudson peut envoyer des notifications pour vous avertir du résultat du build. Ceci est bien en- tendu paramétrable pour chaque job. Pour permettre la notification, vous devez indiquer un ser- veur de messagerie (serveur SMTP). Laissez le champ vide si vous souhaitez utiliser le serveur de messagerie par défault (localhost). Vous pouvez également spécifier le suffixe par défaut des emails des utilisateurs. Par défaut, tous les utilisateurs Codendi ont une adresse email du type login@www.codendi.org qui sera redirigée vers l'adresse réelle de l'utilisateur. Vous pouvez donc renseigner dans ce champ la valeur @www.codendi.org et les emails seront alors automatiquement envoyées aux bons uti- lisateurs. Vous pouvez spécifier l'adresse email de l'administrateur système. Il s'agit de l'utilisateur qui va envoyer les emails aux responsables du projet et/ou aux personnes qui ont cassé un build. Vous devrez finalement préciser l'URL de votre serveur Hudson, afin que les URL dans les mails envoyés par Hudsons soient corrects. Notification Jabber Si vous avez installé le plugin Jabber pour hudson (voir Section 13.3.2 [page 164]), vous trouverez également dans la section "Administrer Hudson" -> "Configurer le système" une partie dédiée aux notifications Jabber. Si le plugin Jabber pour Codendi est installé et activé, chaque utilisa- teur dispose d'un compte Jabber (Voir Section 15.4 [page 179]) et chaque projet dispose d'un sa- lon de discussion. Le plugin Jabber pour Hudson vous permet alors de notifier les utilisateurs (ou les salons) des résultats des builds. Il est également possible de lancer certaines action par message Jabber. Pour utiliser la notification Jabber, veuillez renseigner le champ serveur (par défaut www.codendi.org) ainsi que le JabberID de l'auteur des notifications. 163
  • 173. Guide de l'utilisateur Codendi 13.3.2 Plugins Hudson Il existe de nombreux plugins pour étendre Hudson. Parmis ceux-ci, nous pouvons citer : check- style, CI game, Crap4J, LDAP Email, MSBuild, NAnt, NUnit, Selenium, etc. Vous trouverez une liste détaillée des plugins à l'adresse http://hudson.gotdns.com/wiki/display/HUDSON/Plugins La liste des plugins disponibles se trouve dans le menu "Administrer Hudson" -> "Gestion des plugins". La liste des plugins est mise à jour dynamiquement. Si votre serveur d'intégration continue est situé derrière un proxy, il vous faudra alors spécifier l'adresse de celui-ci dans l'onglet "Avancé". Pour installer un plugin, cochez la case en face du plugin souhaité dans la liste des plugins dis- ponibles, puis cliquez sur Installer, et suivez les instructions. 13.4 Création et configuration de Jobs Hudson Une fois le système configuré, vous pouvez définir vos Jobs. Pour ceci, cliquez sur le lien "Nou- veau job" dans le menu en haut à gauche. Il vous suffit ensuite d'entrer le nom du job (le nom de votre projet logiciel par exemple), et de choisir son type. Différents types de job sont propo- sés. Le type le plus courant est le projet "free-style", que nous allons prendre comme exemple. Il existe aussi un type de projet Maven2, si vous utilisez déjà cet outil de build. Cliquez sur le bouton Ok pour valider la création de votre job. Vous verez alors apparaître un autre écran de définition du job. Vous pouvez par exemple rajouter une description. Vous pour- rez ensuite définir le dépôt de code source, et la manière dont Hudson va gérer les mises à jour de code source, définir les différentes étapes du build, et finalement préciser à Hudson ce que vous souhaitez faire après le build. 13.4.1 CVS et Subversion Par défaut, Hudson propose les deux même gestionnaire de code source que Codendi : CVS et Subversion. Sélectionnez le gestionnaire que vous utilisez pour votre projet, puis entrez les in- formations concernant les chemins vers le dépôt de votre projet. CVS Pour CVS, vous devez renseigner le CVSROOT de votre projet. Le format attendu est :protocol:user@host:path Vous pouvez trouver le détail de cette chaîne en cliquant sur l'onglet CVS de votre projet. Typi- quement, il s'agit de :pserver:[username]@[projectname].www.codendi.org:/cvsroot/[projectname] Vous pouvez également préciser un ou plusieurs modules, une branche. Subversion Pour Subversion, vous devez aussi renseigner l'URL du dépôt SVN. Cette information est dis- ponible sur l'interface web de Codendi en cliquant sur l'onglet SVN de votre projet. Il s'agit d'une chaîne de type http://www.codendi.org/svnroot/[projectname] 164
  • 174. Guide de l'utilisateur Codendi Hudson vous demandera d'entrer une authentification Subversion afin de pouvoir accéder au dépôt de code. Vous avez plusieurs options pour gérer cette authentification (entrer directement vos login/mot de passe, utiliser l'authentification par clé publique SSH ou utiliser un certificat HTTPS client). Nous vous laissons le soin de choisir celle qui vous correspond le mieux. Vous pouvez ajouter plusieurs dépôts subversion en cliquant sur le bouton "Ajoutez d'autres emplacements". Enfin, si vous souhaitez permettre à vos utilisateurs de naviguer dans la base de code source via l'interface d'Hudson, vous devez sélectionner "ViewSVN" dans le champ Navigateur de la base de code, puis entrer la chaîne suivante : http://www.codendi.org/svn/viewvc.php?roottype=svn&root=[le_nom_court_de_votre_pr ojet] 13.4.2 Déclenchement des builds Comme nous l'expliquions en introduction, l'intérêt de l'intégration continue réside dans le fait que, une fois paramétré correctement, le build est réalisé en continu, sans plus vous en soucier. Il reste cependant à définir la manière dont les builds vont être lancés. Deux options principales s'offrent à vous : • Scruter l'outil de gestion de version : demande à Hudson de scruter les change- ments dans l'outil de gestion de version. Vous pouvez définir la fréquence suivant la syntaxe cron (voir aide Hudson en ligne). Notez toutefois que cette opération est consommatrice de ressources pour le serveur Codendi. Envisagez d'utiliser la méthode de type 'push' pour éviter cette surcharge (voir ci-dessous). • Déclencher les builds à distance : cette méthode de type 'push' évite la surcharge du serveur. Le build est déclenché par une URL. Pour éviter que n'importe qui déclenche le build, vous pouvez spécifier un jeton (token) qui servira de protection. Pour que le build soit effectivement déclenché après chaque modification de code source, il faudra le pa- ramétrer dans Codendi dans l'onglet 'Build' de votre projet (Voir Section [page 167]). Vous pourrez également spécifier le jeton si vous en avez défini un. 13.4.3 Définition du build (Etapes) Il vous faut maintenant définir ce que va réellement faire le build (compiler votre projet, générer la documentation, exécuter les tests unitaires, etc.). Pour cela, vous pouvez ajouter autant d'étapes que nécessaire. Par défaut (sans autre plugin), Hudson propose 4 types d'étapes pos- sibles : • Exécuter un script shell : vous permet d'entrer directement un script shell dans le champ texte. Vous avez à disposition un certain nombre de variable d'environnement (voir l'aide en ligne). • Exécuter une ligne de commande batch Windows : vous permet d'entrer directement un script batch Windows dans le champ texte. Vous avez à disposition un certain nombre de variable d'environnement (voir l'aide en ligne). • Appeler Ant : vous permet d'appeler un script Ant. Vous pouvez choisir la version de Ant à utiliser si vous en avez défini plusieurs (voir Section [page 162]), et éventuelle- ment définir une cible précise. En cliquant sur le bouton "Avancé", vous pouvez égale- 165
  • 175. Guide de l'utilisateur Codendi ment spécifier des propriétes et des options Java. • Invoquer les cibles Maven de haut niveau : vous permet d'appeler les cibles Maven. Précisez les cibles en question. Le bouton "Avancé" vous permet de définir le fichier POM, des propriétés et des options Java. Cette partie de définition des étapes du build étant propre à chaque projet, nous vous laisserons le soin de la remplir selon vos besoins. 13.4.4 Actions à la suite du build Après le build, Hudson vous propose un certain nombre d'actions. On peut citer parmis elle : • Archiver des artefacts : si votre build produit un exécutable (ou un zip, un tar), ou gé- nère de la documentation utilisateur par exemple, vous pouvez publier ces artefacts sur la page du build Hudson. Vous devez donc spécifier le chemin vers ses artefacts à pu- blier (le répertoire de référence est l'espace de travail - workspace - de votre projet). Vous pouvez utiliser les wildcard (*) pour définir les artefacts à publier. Vous pouvez choisir de conserver ou non l'ensemble des artefatcs, ou seulement les derniers géné- rés avec succès pour gagner de la place. • Publier les javadocs : si votre build produit de la javadoc, vous pouvez la publier sur la page du build. Pour ce faire, entrez le chemin vers le répertoire racine de la javadoc. Vous pouvez là aussi utiliser le wildcard et choisir ou non d'archiver les anciennes ver- sions. • Publier le rapport de résultat des tests JUnit : si votre build exécute des tests uni- taires JUnit, vous pouvez publier un rapport de résultat des tests sur la page du build. Pour cela, spécifiez le chemin des fichiers XML de rapport des tests générés par JUnit. Si vous utilisez un autre plugin de tests, vous trouverez certainement l'équivalent. • Construire d'autres projets : Votre Job peut être dépendant d'un autre Job. Dans ce cas, vous pouvez souhaitez construire un autre projet (job) après ce build. Le cas échéant, indiquez le nom du job à construire après ce build. Vous avez la possibilité aussi définir si le job doit être construit même si le build courant est en échec. • Notifier par email : Hudson a la capacité d'envoyer des emails aux destinaires spéci- fiés lorsque certains évènements importants ont eu lieu. Vous pouvez entrez une liste d'adresses email destinataires de ces notifications. Une bonne pratique peut être de mettre dans ce champ une liste de distribution (spéciale pour Hudson ou non) qui aver- tira l'ensemble de l'équipe (voir Section 15.1.1 [page 177] pour créer des listes de distribu- tion). Les évènements déclenchant des notifications sont gérés de la façon suivante : • Chaque build en échec provoque l'envoi d'un mail. • Un build qui passe avec succès après un build en échec provoque l'envoi d'un mail, ce qui permet de savoir qu'une situation de crise est résolue. • Un build instable après un build avec succès provoque l'envoi d'un mail, indiquant ainsi qu'il y a eu une régression. • Sauf configuration contraire, chaque build instable provoque l'envoi d'un mail, indi- quant ainsi qu'une régression est toujours d'actualité. Pour les projets qui ne suivent pas les bonnes pratiques et où les builds instables sont 166
  • 176. Guide de l'utilisateur Codendi la norme, décochez la case "Envoyer un email à chaque build instable". Vous pouvez également envoyer un email aux personnes qui ont cassé le build. Pour que cela fonctionne correctement et que les utilisateurs soient automatiquement recon- nus par Hudson, il faut vérifier que le serveur soit correctement configuré (voir Section [page 163]). 13.5 Intégration dans Codendi Parce que l'intégration continue fait partie des bonnes pratiques de développement logiciel, et pas seulement dans des projets mettant en oeuvre les méthodologies Agiles, Codendi intègre l'outil Hudson. Nous avons vu plus haut comment installer (voir Section 13.2 [page 161]) et configurer (voir Section 13.3 [page 162]) Hudson. Nous avons également vu comment créer et configurer ses jobs Hudson (voir Section 13.4 [page 164]). Voyons maintenant comment Hud- son est intégré à Codendi. 13.5.1 Service Hudson Si le plugin Hudson est installé et activé sur votre serveur Codendi, chaque projet peut activer le service Hudson (voir Section 6.6 [page 28] pour activer des services dans votre projet). Une fois le service activé, vous verrez apparaître un nouvel onglet "Build" dans la barre des ser- vices. Il s'agit de l'onglet correspondant à l'intégration continue avec Hudson. Lier un job Hudson à votre projet Codendi Pour lier un job Hudson à votre projet, sélectionnez l'onglet Build de votre projet, puis cliquez sur le lien 'Ajouter un job'. Vous devez alors entrer l'URL du job Hudson que vous souhaitez as- socier à votre projet (par exemple : http://[mon_serveur_ic]:8080/hudson/job/[mon_job]). Figure 77. Lier un job Hudson à votre projet Vous pouvez ensuite décider d'activer le déclenchement automatique du build pour ce job après chaque commit effectué sur le dépôt de code source de votre projet (CVS ou Subversion). Si vous avez protégé votre build avec un jeton (token), vous pouvez également le spécifier (voir Section 13.4.2 [page 165] pour plus d'explication). En cochant cette option, chaque commit dé- clenchera un build du job lié, via un hook de pré-commit (vous n'avez rien d'autre à faire). Il est possible de lier plusieurs Jobs Hudson à un même projet Codendi. 167
  • 177. Guide de l'utilisateur Codendi Parcourir les jobs et les builds Hudson Lorsque vous cliquez sur l'onglet Build de votre projet, vous voyez un tableau qui vous présente l'ensemble des jobs associés à votre projet. Figure 78. Visualiser les jobs Hudson associés à votre projet Pour chaque job, vous voyez son état actuel (icône de couleur à gauche du nom du job), son nom, le dernier build en succès, le dernier build en échec, si vous avez activé ou non le déclen- chement automatique du build (voir Section [page 167]). Si vous êtes administrateur du projet, vous verrez également apparaître pour chaque job des icones vous permettant de modifier le job ou de le supprimer. Le nom du job est automatiquement détecté lors de la création, mais vous pouvez le changer en éditant le job. Ceci est assez pratique si vous souhaitez référencer des objets Hudson (voir Section [page 172]). Les espaces pour les noms de jobs seront automatiquement remplacés par des tirets bas (_), afin de permettre les références. Le nom du job et les derniers builds sont des liens hypertextes qui ouvriront la section Hudson correspondante dans une fenêtre juste en dessous. Ceci est très pratique pour naviguer dans l'interface de Hudson tout en restant dans l'interface de Codendi. Si vous souhaitez visualiser la page Hudson en grand, vous pouvez cliquer sur le lien 'voir seulement cette fenêtre' en haut à droite. Le tableau vous propose également un lien vers le flux RSS de chaque job. 13.5.2 Widgets Hudson Le service Hudson vous permet d'agrémenter votre tableau de bord projet ou personnel de nombreux widgets. Pour savoir comment ajouter des widgets à votre tableau de bord personnel (votre page personnel), voir Section 3.3 [page 15]. La procédure est similaire pour ajouter des widgets au tableau de bord projet (page sommaire du projet, voir Section 5.2 [page 22]). • Mes jobs Hudson : ce widget est utilisable sur la page personnelle seulement. Il repré- sente par défaut un aperçu de l'ensemble des jobs des projets dont vous êtes membre. Vous pouvez bien entendu choisir les jobs que vous souhaitez voir affichés en cliquant sur le lien "préférences" du widget. 168
  • 178. Guide de l'utilisateur Codendi Figure 79. Widget "Mes jobs Hudson" • Aperçu des jobs : ce widget est utilisable sur la page projet uniquement. Il permet d'afficher un aperçu des jobs de votre projet. Si vous avez plusieurs jobs associés à votre projet, vous pouvez choisir ceux que vous souhaitez voir dans le widget (lien pré- férences). Figure 80. Widget "Aperçu des jobs" • Derniers builds : ce widget est utilisable sur le tableau projet et personnel. Il est lié à un seul job, et vous présente les derniers builds du job (dernier en date, dernier succès, dernier échec). Il affiche également la tendance du projet (icône météo, voir Section 13.1 [page 160]). Figure 81. Widget "Derniers builds" • Résultat des tests : ce widget est utilisable sur le tableau projet et personnel. Il est lié à un seul job, et vous présente les résultats des tests du dernier build du job concerné. Il faut que votre job dispose de tests et qu'il les publie pour que ce widget affiche quelque chose. Les résultats sont présentés sous forme de camembert. 169
  • 179. Guide de l'utilisateur Codendi Figure 82. Widget "Résultat des tests" • Tendance des tests : ce widget est utilisable sur le tableau projet et personnel. Il est lié à un seul job, et vous présente la tendance des résultats des tests du job concerné. Il faut que votre job dispose de tests pour que ce widget affiche quelque chose. Ce gra- phique représente le nombre de tests (en échec et en succès) dans le temps. Cela per- met par exemple au chef de projet de vérifier que le nombre de tests est en constante augmentation avec le nombre de builds/commits. 170
  • 180. Guide de l'utilisateur Codendi Figure 83. Widget "Tendance des tests" • Historique des builds : ce widget est utilisable sur le tableau projet et personnel. Il est lié à un seul job, et vous présente l'historique des builds sous forme de flux RSS. Pour chaque build de la liste, vous avez son numéro, son état et sa date. 171
  • 181. Guide de l'utilisateur Codendi Figure 84. Widget "Historique des builds" • Derniers artéfacts du build : ce widget est utilisable sur le tableau projet et personnel. Il est lié à un seul job, et vous présente les derniers artéfacts publiés. Il faut que votre job dispose d'artéfacts et qu'il les publie pour que ce widget affiche quelque chose. Figure 85. Widget "Derniers artéfacts du build" 13.5.3 Références Hudson Il est possible de créer des références vers certains objets Hudson dans Codendi. Certaines ré- férences sont prédéfinies (job, build), mais vous pouvez tout à fait définir vos propres réfé- rences si besoin (voir Section 6.8.1 [page 30] pour plus de détails sur les références) Référencer un Job Hudson Le mot clé pour référencer un job est : job. Pour référencer un job, vous pouvez utiliser les syn- taxes suivantes : 172
  • 182. Guide de l'utilisateur Codendi • job #LeNomDuJobAReferencer (le job en question doit se trouver alors dans le projet courant) • job #projet:LeNomDuJobAReferencer (le job en question doit se trouver alors dans le projet de nom 'projet') • job #num_projet:LeNomDuJobAReferencer (le job en question doit se trouver alors dans le projet numéro 'num_projet') Référencer un Build Hudson Le mot clé pour référencer un build est : build. Pour référencer un build, vous pouvez utiliser les syntaxes suivantes : • build #XXX (il ne doit y avoir alors qu'un seul job associé au projet courant, et le build référencé est alors le build numéro 'XXX' de ce job) • build #UnJob/XXX (référence le build numéro 'XXX' du job 'UnJob' du projet courant) • build #projet:UnJob/XXX (référence le build numéro 'XXX' du job 'UnJob' du projet 'pro- jet') • build #num_projet:UnJob/XXX (référence le build numéro 'XXX' du job 'UnJob' du projet numéro 'num_projet') 173
  • 183. Guide de l'utilisateur Codendi CHAPITRE 14 Service Wiki Codendi offre un service Wiki à chaque projet. Le wiki utilisé dans Codendi s'appuie sur l'outil phpWiki. 14.1 Présentation d'un Wiki 14.1.1 Définition d'un Wiki Un Wiki est un site Web qui permet à ses utilisateurs d'ajouter très facilement du contenu ou de modifier le contenu déjà en place. Un Wiki permet de rédiger un document de façon collaborative à l'aide d'un langage de balises simple et en utilisant uniquement un navigateur Web. Une page d'un wiki est appelée "page wiki" alors que l'ensemble des pages interconnectées par le biais d'hyperliens sont collective- ment baptisées "le wiki". Codendi offre en complément la notion de "Document Wiki" : il s'agit d'une page wiki directement accessible depuis la page d'accueil du service Wiki du projet. Une propriété caractéristique de la technologie Wiki est la facilité avec laquelle des pages peuvent être créées ou modifiées. Il n'y pas de mécanisme de revue ou d'approbation des mo- difications effectuées et les Wikis Codendi sont ouverts à tous les utilisateurs enregistrés. 14.1.2 Wiki Page Formatting Dans les Wikis de Codendi, une page possède trois représentations : le code HTML, la page ré- sultant du rendu par le navigateur et le code source de la page éditable par l'utilisateur à partir duquel la version HTML est générée. Le format du code source, connu sous le nom de "wiki- text", est un langage de marquage simplifié. Le langage de marquage "wikitext" est né de la constatation que HTML, avec sa longue liste de balises imbriquées, est trop complexe pour permettre l'édition simple et rapide de documents et empêche l'utilisateur de se concentrer sur le contenu de la page. Le fait que l'utilisateur ne puisse pas utiliser toutes les fonctionnalités de HTML, telles que JavaScript et les feuilles de styles est aussi bénéfique car cela permet d'assurer une cohérence dans le style des pages et d'éviter les failles de sécurité. 14.1.3 Lier et créer des pages Les Wikis sont de vrais documents hypertextes avec une structure de navigation non linéaire. Chaque page contient des liens vers d'autres pages. Les liens sont automatiquement créés en 174
  • 184. Guide de l'utilisateur Codendi utilisant une syntaxe particulière appelée "patron de lien". Les wikis Codendi utilisent le "patron de lien" appelé CasseChameau (CamelCase en anglais), qui consiste à considérer comme hyperlien une série de mots collés ensemble dont la première lettre est une majuscule (les mots "CamelCase", "RéférencesBibliographiques" en sont des exemples). Le terme CasseChameau vient de l'allure des mots composés dont les majuscules ressemblent à des bosses de chameau. A noter qu'il existe aussi une autre façon de créer des liens wikis en incluant une portion de texte entre crochets. Cela permet par exemple de créer des pages dont le titre doit comporter des espaces. Dans un Wiki, une nouvelle page est créée simplement en tapant un lien dans une page exis- tante. Si la page cible n'existe pas le lien est marqué comme étant nouveau. En cliquant sur ce lien, une nouvelle fenêtre d'édition apparaît et permet à l'utilisateur de taper son texte. Ce mé- canisme permet d'éviter les pages orphelines qui ne seraient référencées nulle part dans le Wiki. 14.1.4 Rechercher Les Wikis Codendi permettent d'effectuer des recherches par mots-clés aussi bien dans le titre que dans le contenu des pages. 14.2 Les Wikis de Codendi Les Wikis de Codendi sont spécifiques à chaque projet. Ainsi deux projets distincts peuvent uti- liser les mêmes noms de pages sans risque de conflit. 14.2.1 Création d'un Wiki Pour être utilisable, le Wiki doit d'abord être initialisé par l'administrateur du projet. Pour ce faire, cliquez sur le lien "wiki" dans la barre des services, sélectionnez la langue d'utilisation de votre Wiki, cliquez sur 'Créer' et attendez la fin du processus de création. Veuillez noter que la langue d'utilisation du Wiki est définie une fois pour toute à la création du Wiki. Le Wiki s'affichera dans la langue choisie quelles que soient les préférences de langues exprimées par chaque utilisateur. La création du Wiki donne naissance à un certain nombre de pages très utiles : une page d'accueil, une "sandbox" où faire des tests, la documentation PhpWiki, etc… 14.2.2 Permissions du Wiki Par défaut, les Wikis de Codendi sont lisibles et modifiables par n'importe quel utilisateur enre- gistré. Bien que cette politique d'accès soit en général la meilleure, certains Wikis ne doivent pas être publics. Pour répondre à ce besoin, Codendi offre un mécanisme de gestion des permissions basés sur les groupes d'utilisateurs comme pour le gestionnaire de fichiers et de documents (voir Section 6.10 [page 35], Section [page 102] et ???). Les droits d'accès peuvent être définis 175
  • 185. Guide de l'utilisateur Codendi au niveau du Wiki et s'appliquer à toutes les pages, ou bien au niveau de la page permettant ainsi de protéger uniquement certaines pages bien choisies. 14.2.3 Exemples de pages Wiki Les Wikis de projets hébergés sur Codendi peuvent être utilisés de maintes façons. Les exemples qui suivent sont juste des suggestions : • Rapport de réunion : les Wikis sont très pratiques pour rédiger des rapports de réunion. Il suffit de taper le nom du meeting sous forme d'un lien wiki, de cliquer sur le nouveau lien et de taper le rapport de réunion. De plus, n'importe quel utilisateur peut modifier ou corriger le contenu par la suite. • Calendrier de projet : les pages Wikis de Codendi peuvent inclure un calendrier par- tagé accessible et modifiable par tous les membres du projet (voir la page CalendarPlu- gin). • Documentation : un Wiki est une façon très pratique de fournir la documentation rela- tive à un projet (guide utilisateur, guide d'administration, FAQ, etc…). Cette documenta- tion peut être mise à jour par les membres de l'équipes, vos partenaires, voire même vos clients s'ils ont les droits d'accès. 14.2.4 En savoir plus Tous les Wikis de Codendi sont initialisés avec un jeu de pages par défaut dont la documenta- tion PhpWiki. Consultez la page PhpWikiDocumentation pour une description de toutes les fonctionnalités de PhpWiki : syntaxe du langage de marquage, plugins, etc… 176
  • 186. Guide de l'utilisateur Codendi CHAPITRE 15 Services de communication L'un des objectifs de Codendi est de fournir aux développeurs des outils de développement et de gestion de projets efficaces. D'autre part, le site Codendi devrait aussi devenir très rapide- ment le canal de communication favori de tous les utilisateurs puisqu'une communication effi- cace est capitale pour les équipes de projets et leurs communautés. A cette fin, Codendi propose un ensemble de services de communication que l'équipe de projet peut personnaliser. Cela inclut les listes de diffusion, le service d'annonces (news), les forums Web et un plug-in de messagerie instantanée. 15.1 Listes de distribution 15.1.1 Création Chaque projet peut créer autant de listes de diffusion que nécessaire. Pour ce faire cliquez sur le lien "Listes" dans la barre de menu principale du projet puis sur le lien "Administration" de la barre de menu du service. Pour créer une nouvelle liste de diffusion il suffit de lui donner un nom, une description et de préciser s'il s'agit d'une liste publique ou privée. Une liste privée n'est pas visible sur la page d'accueil du service sauf pour les membres du projet. Ainsi les autres utilisateurs ne peuvent pas s'y inscrire ni poster de messages. Dans le but de minimiser les conflits de nom entre listes de diffusion des différents projets, leur nom suit le patron suivant : nomprojet-nomliste@lists.www.codendi.org Où : • nomprojet est le nom court du projet tel qu'il a été défini durant la phase d'enregistrement du projet. • nomliste est le nom que vous avez choisi pour votre liste de diffusion. Lorsque vous créez une liste de diffusion vous en devenez l'administrateur. En tant qu'administrateur, vous recevrez des instructions complémentaires par e-mail peu après la création de la liste de diffusion. Il s'agit d'un message important contenant des URLs vers les pages d'information et d'administration de la liste de diffusion ainsi que le mot de passe par dé- faut généré par Codendi permettant d'accéder aux fonctions d'administration. Gardez-le dans un endroit sûr ! 177
  • 187. Guide de l'utilisateur Codendi Coup de pouce : créez au moins une liste de diffusion Un projet hébergé sur Codendi devrait toujours créer au moins une liste de diffusion (ou un forum Web) où les utilisateurs peuvent poster leurs questions et leurs commentaires. Cette liste est typi- quement appelée nomprojet-interest@lists.www.codendi.org. Nous vous encourageons vivement à suivre cette pratique bien établie. 15.1.2 Administration L'administration d'une liste de diffusion se fait intégralement via l'interface Web. Vous pouvez accéder à la page d'administration de la liste de diffusion en utilisant l'URL que vous avez reçu lors de la création de la liste de diffusion. Si vous avez égaré cette URL la voici à nouveau : http://lists.www.codendi.org/mailman/admin/nomliste La page d'administration vous permet de régler de nombreux paramètres de la liste de diffusion, de gérer les membres, les administrateurs, la confidentialité, le message de bienvenue aux nou- veaux inscrits, etc. GNU/Mailman, le gestionnaire de liste de diffusion utilisé par Codendi, est un logiciel très riche et nous vous invitons à visiter la page d'administration au moins une fois pour avoir une idée de l'éventail des fonctionnalités. Veuillez noter que les administrateurs d'un projet ne sont pas automatiquement administrateurs des listes de diffusion et le mot de passe d'administration d'une liste de diffusion est différent de tout autre mot de passe d'utilisateurs Codendi. 15.1.3 (Dés)Inscription, archive et préférences A moins qu'une liste de diffusion ne soit privée, tout utilisateur Codendi peut s'y inscrire. Pour ce faire il suffit de cliquer sur le lien "Listes" dans la barre de services du projet, puis sur le lien "(Dés)Abonnement/Préférences" de la liste de diffusion concernée. Ensuite suivez les instruc- tions affichées à l'écran. Le gestionnaire de liste de diffusion de Codendi (GNU/Mailman) archive aussi l'ensemble des messages échangés sur la liste de diffusion. En suivant le lien "Archive" sur la même page que précédemment vous pourrez consulter les messages archivés regroupés par mois. Veuillez no- ter que la version actuelle de l'archiveur ne garde pas trace des attachements au format MIME. 15.2 Service d'annonces Le service d'annonces vient en complément du service de listes de diffusion. Il vous permet de publier des annonces relatives au projet. Tous les évènements survenant dans la vie de votre projet peuvent faire l'objet d'une annonce : une nouvelle personne dans l'équipe, une nouvelle version du logiciel, des informations sur les technologies liées au projet et pourquoi pas l'annonce de votre mariage où l'arrivée de votre petit sixième :-). Ne gardez pas votre projet dans l'ombre. Rendre la vie de votre projet publique sera bénéfique à l'ensemble de votre com- munauté d'utilisateurs. La publication d'une annonce est chose facile. Il suffit de cliquer sur le lien "Annonces" dans la barre de service du projet puis sur le lien "Soumettre une annonce" dans la barre de menu du service au sommet de la page. Ensuite tapez le titre et le contenu de l'annonce. Les URLs pré- 178
  • 188. Guide de l'utilisateur Codendi sents dans le message seront automatiquement transformés en hyperlien dans la version pu- bliée. Vous pouvez aussi choisir de rendre votre annonce publique c'est à dire visible sur votre page de sommaire du projet par tous les utilisateurs Codendi ou privée c'est à dire visible seule- ment par vos membres de projet. N'importe quel utilisateur Codendi peut attacher un commentaire aux annonces visibles pour lui sur votre page de sommaire de projet, ce qui signifie que chaque annonce est un forum de dis- cussion en puissance8. De plus, l'équipe d'administration du site Codendi a une vue sur l'ensemble des annonces publiques publiées par les différents projets et peut décider de faire apparaître certaines d'entre elles sur la page d'accueil principale du site Codendi si elles pré- sentent un intérêt pour l'ensemble des utilisateurs. Une belle publicité en vérité !! Lors de la sou- mission d'une annonce, vous pouvez d'ailleurs demander aux administrateurs que votre an- nonce soit mise en avant sur la page d'accueil principale du site. 15.3 Forums Web Il s'agit là de la troisième forme de communication offert par Codendi. Les forums Web sont plus ou moins équivalents aux listes de diffusion si ce n'est que l'envoi d'un message se fait via l'interface Web plutôt que par e-mail. Vous devez donc être connecté au site pour participer à la discussion car vous ne pouvez pas préparer vos messages en étant déconnecté comme vous le feriez avec une liste de diffusion. Pour accéder aux forums Web d'un projet Codendi, cliquez sur le lien "Forums" dans la barre de service du projet. Lorsqu'un projet Codendi est créé il est pourvu de trois forums : Open Discus- sions, Help and Developers. Ces forums et tous les autres sont accessibles en lecture et en écriture à tous les utilisateurs Codendi à moins que vous ne décidiez de les rendre privés (voir ci-dessous). Un utilisateur peut aussi surveiller un forum. Dans ce cas Codendi lui fera suivre automatiquement par e-mail tous les messages postés sur le forum, ce qui lui évitera des visites répétées à la page Web du forum. Les administrateurs de projet peuvent créer d'autres forums à la demande en utilisant le module d'administration des forums accessible via le lien "Administration" situé dans la barre de menu du service Annonces. Les administrateurs peuvent ensuite suivre les liens présents sur cette page pour ajouter un forum, détruire un message ou mettre à jour les infos et le statut du forum. Cette dernière fonctionnalité permet aux administrateurs de rendre un forum public ou privé, de modifier son nom ou sa description ou même de le détruire. 15.4 Plug-in de messagerie instantanée Codendi est associé à un serveur Jabber et contient un plug-in de messagerie instantanée (IM) permettant un certain niveau d'interaction entre eux. Si le plug-in est actif, un compte de messagerie instantanée sera automatiquement disponible pour chaque utilisateur Codendi, et ceux-ci pourront se connecter sur le serveur Jabber en utili- sant leurs identifiants Codendi. De plus, les utilisateurs membres d'un même projet seront re- groupés ensembles sur le serveur Jabber, qui ajoutera automatiquement ce groupe dans la liste de contacts de chacun des membres. Pour chaque projet, le plug-in crée un salon de discussion multi-utilisateurs (MUC) où les 8En arrière plan, chaque annonce est en fait gérée exactement comme un forum Web Codendi. 179
  • 189. Guide de l'utilisateur Codendi membres d'un projet peuvent discuter ensemble. Seuls les membres d'un projet peuvent re- joindre le salon lui correspondant, mais un membre présent dans un salon peut inviter des utili- sateurs externes au projet. Le plug-in IM de Codendi contient un client Jabber intégré à l'interface web de votre projet. Ce client vous permet uniquement de dialoguer dans le salon de discussion du projet (voir Section [page 181]). Bien entendu, chaque utilisateur est libre d'utiliser le client qui correspond le mieux a ses besoins. Un certain nombre de client open source (et/ou gratuit) sont disponibles pour la plupart des plateformes, une liste non-exhaustive est disponible à l'url http://www.jabber.org/clients. Notons toutefois que certains clients, comme Coccinella par exemple, permettent de faire du tableau blanc partagé. Le status d'un utilisateur utilisant un client Jabber (en ligne, occupé, absent) est affiché dans Codendi. 15.4.1 Intégration de la messagerie instantanée dans Codendi Un certain nombre d'informations concernant la messagerie instantanée sont disponibles direc- tement depuis Codendi. Ainsi, chaque utilisateur peut voir sa liste de contact ainsi que leur sta- tus directement depuis son espace personnel. Pour ce faire, il suffit de se rendre sur la page "Ma Page Personnelle". Si le widget affichant la liste de contact n'est pas visible, il faut l'ajouter. Pour ce faire, cliquez sur le lien "Ajouter des widgets" , et ajouter le widget correspondant à "Ma liste de contact IM". Chaque nom d'utilisateur affiché dans Codendi s'accompagne d'une icone de couleur (gris,vert, jaune ou rouge) indiquant le status de l'utilisateur : gris pour "non connecté", vert pour "en ligne", jaune pour "absent" et rouge pour "occupé". Les utilisateurs peuvent modifier leur status à l'aide de leur client Jabber. Tout nouveau projet approuvé implique la création d'un groupe partagé et d'un salon de discus- sion correspondant au projet. Tout nouveau membre ajouté au projet est également ajouté au groupe partagé et au salon de discussion correspondant. Ce nouveau membre sera automatiquement invité à rejoindre le sa- lon de discussion du projet dès sa prochaine connection sur le serveur Jabber. Si un membre est supprimé dans un projet alors il sera supprimé du groupe partagé et du salon de discussions correspondant . Si un projet est suspendu ou en attente de validation, le salon de discussions sera rendue indis- ponible (vérouillé) et le groupe partagé ne sera pas visible sur la liste de contacts des membres du projet. Si un projet est détruit, son salon de discussions sera détruit et son groupe partagé n'existera plus . 15.4.2 Configuration d'un client Jabber La configuration d'un client Jabber pour utiliser votre compte Codendi est simple. Si vous utili- sez un client qui accèpte plusieurs protocoles de communication, la première chose à faire est de choisir le protocole Jabber (ou XMPP). Trois autres informations sont nécessaires pour vous connecter : votre nom d'utilisateur, votre mot de passe et l'adresse du serveur Jabber auquel 180
  • 190. Guide de l'utilisateur Codendi vous allez vous connecter. Certains clients Jabber utilisent le terme de JID (ou Jabber ID) qui fait simplement référence au nom d'utilisateur associé à l'adresse du serveur par un symbole @ (i.e. nomd'utilisateur@serveurJabber.com), d'autres demandent explicitement le nom et l'adresse du serveur. Votre JID est disponible dans votre espace personnel sur le site web Co- dendi en vous authentifiant, et en cliquant sur le lien "Mon compte" sur la page "Ma page per- sonnelle", ou tout simplement en accedant à votre "Profil développeur". Vous pourrez ainsi trou- ver votre "Login Messagerie Instantanée" qui est composé de votre nom d'utilisateur et de l'adresse du serveur Jabber associé à Codendi. Utilisez le même mot de passe pour vous au- thentifier sur le serveur Jabber que pour vous connecter à Codendi. En plus de ces paramètres, le client peut vous demander le nom de la ressource que vous utili- sez pour vous connecter sur votre compte Jabber. Ceci peut être pratique si vous vous connec- tez au même compte Jabber depuis différents matériels. Par exemple, un message peut vous être adressé à vous@serveur.com/pda à la place de vous@serveur.com/bureau (dans ce cas, "pda" et "bureau" sont les ressources).Vous pouvez remplir ce champ avec une chaine alpha numérique. Pour finir, le client a besoin de connaitre le numéro de port que le serveur Jabber écoute. Par defaut, cette valeur est le 5222, et la plupart des clients Jabber l'utilise par defaut. D'autres paramètres "avancés" peuvent être configurés, mais ce n'est pas l'objet de ce guide de détailler l'utilisation d'un client Jabber. Pour plus d'informations, consultez la documentation fournie avec votre client. 15.4.3 Salon de discussion multi-utilisateurs (MUC) Comme il a été spécifié précédement,le plug-in de messagerie instantanée crée un salon de discussion multi-utilisateurs pour chaque projet. Ce salon porte le nom du projet, et n'est acces- sible qu'aux membres du projet. Vous pouvez accéder au salon de discussion directement dans l'interface web de votre projet, ou grâce à un client de messagerie instantanée. Salon de discussion dans l'interface web Pour entrer dans le salon de discussion de votre projet, il vous suffit de cliquer sur l'onglet 'Mes- sagerie Instantanée' de votre projet. Vous serez alors automatiquement connecté à la message- rie instantanée, et pourrez commencer à discuter avec les membres de votre projet également connectés. L'interface du salon de discussion se compose de plusieurs zones : • La fenêtre principale vous permet de visualiser les messages des différents participants à la discussion. Les noms des utilisateurs apparaissent devant les messages, pour pou- voir mieux suivre la discussion. Les messages systèmes (qui entre dans la salle de dis- cussion, qui en sort, etc) sont affichés en gras. Les messages sont affichés sans formatage particulier. Il est cependant possible d'en appliquer certains (voir pour cela la section Astuce: mise en forme et commandes spé- ciales [page 183]). Les URL sont cliquables (s'ouvrent dans une autre fenêtre). Les réfé- rences de votre projet son également cliquables (exemple, si vous écrivez le message bug #23 dans la fenêtre de discussion, le mot 'bug #23' sera cliquable et vous redirigera 181
  • 191. Guide de l'utilisateur Codendi vers le bug 23 de votre projet. Le système ne vérifie pas a priori si le bug 23 existe dans votre projet. Il est possible de faire des références vers un autre projet, mais unique- ment avec la forme mot clé #numéro du projet:numéro de l'item. La forme avec le nom court du projet n'est pas reconnue par la messagerie instantanée. Pour plus d'explications sur les références croisées, voir la Section 6.8.1 [page 30]. • Juste en dessous de la fenêtre principale, se trouve la zone d'écriture du message. Pour envoyer un message à tous les membres du salon de discussion, cliquez sur cette zone, entrez votre messages, puis appuyez au choix sur le bouton 'Envoyer' ou sur la touche Entrée de votre clavier. Le message apparaîtra à la suite des autres messages, précédé par votre nom. • La zone à droite de la fenêtre principale correspond à la liste des utilisateurs connectés au salon de discussion. Cette liste est actualisée en temps réel. Il existe une notion de message privé. Si vous souhaitez envoyer un message à un utili- sateur particulier sans que votre message soit vu par tout le salon de discussion, vous pouvez cliquer sur le nom de l'utilisateur en question, puis taper votre message (le nom de l'utilisateur apparaît dans la zone d'écriture du message, indiquant qu'il sera le seul à le recevoir). Pour revenir à l'état normal (discussion avec tout le monde), il vous suffit de cliquer sur le nom de la personne dans la zone d'écriture, ce qui aura pour effet de faire disparaître son nom. • Au dessus de la fenêtre principale, le nom du salon de discussion est inscrit (il s'agit du nom du projet). En dessous, se trouve le sujet du salon de discussion. Ce sujet est mo- difiable en tapant une commande spéciale dans la zone de message : /topic Le nouveau sujet du salon de discussion • Sous la zone d'écriture, se trouve une dernière zone correspondant à votre statut de messagerie Instantanée. Il s'agit d'un état indiquant aux autres si vous êtes disponibles pour dialoguer, ou si vous êtes occupés et ne souhaitez pas être dérangé, etc. Vous pouvez également rajouter un texte libre, comme votre humeur du jour, ou toute autre chose. A droite, vous pouvez également voir un bouton vous permettant de couper ou d'activer le son. Pour disposer du son, vous devez avoir un plugin Flash pour votre navigateur. 182
  • 192. Guide de l'utilisateur Codendi Figure 86. Salon de discussion dans l'interface web de Codendi Astuce: mise en forme et commandes spéciales Lorsque vous tapez du texte dans la fenêtre de messagerie instantanée, le client interprète un cer- tain nombre de commandes pour mettre le texte en forme. Ces commandes peuvent être interpré- tées différemment selon votre client, mais fonctionnent sur la plupart d'entres eux. • Ecrire en gras : vous devez entourer votre texte avec une étoile. Exemple : je vous contacterai par téléphone *demain à 14h00* • Souligner : vous devez entourer votre texte avec un tiret bas. Exemple : je vous contacterai par téléphone _demain à 14h00_ • Faire un lien (URL) : le système détectera les URL si elles commencent par http:// Exemple : Vous pouvez aller voir sur http://www.codendi.com • Faire une référence vers un objet de votre projet : Vous pouvez référencer un objet de votre projet (artefact, bug, document, page wiki, etc.). Pour cela, écrivez simplement la référence vers l'objet en respec- tant la syntaxe habituelle motclé #numérod'objet Exemple : Vous pouvez aller voir le document doc #185 pour plus de détails. • Changer le sujet d'un salon de discussion : vous devez écrire /topic suivi du nom du salon. Exemple : /topic Réunion Mensuelle • Changer de pseudo : vous pouvez changer votre pseudonyme pour la durée de la session. Les autres utili- sateurs vous verrons alors sous ce nouveau nom. Même si cette fonctionnalité peut paraître amusante, rap- pelez vous toujours que changer fréquemment de pseudo peut nuire à la qualité de la discussion (difficile de suivre qui dit quoi si tout le monde change de pseudo). N'utilisez cette fonction que pour apporter plus de 183
  • 193. Guide de l'utilisateur Codendi clarté (si deux utilisateurs ont des noms assez proches par exemple). Veuillez noter que dans les archives de discussions, en cas de changement de pseudonyme, les messages indiqueront toujours le 'vrai' utilisa- teur, c'est à dire le nom d'utilisateur d'origine. La commande pour changer de pseudo est /nick suivi de votre nouveau pseudo. Exemple : /nick Manu - maison • Les smileys (ou émoticons) : vous pouvez utiliser des smileys. Le client de l'interface web ne dispose pas d'une interface pour insérer des smileys. Pour pouvez néanmoins en ajouter sous forme textuelle. Elle appa- raîtront sous forme d'image dans les différents clients (y compris le client web). Chaque client implémente différemment les émoticons, mais en général, les plus courants devraient fonctionner. Exemple : le texte :-) affichera un beau sourire ! Joindre un salon de discussion avec un client Vous devez paramètrer votre client Jabber avec l'adresse du serveur de conférence pour qu'il sache où récupérer les informations concernant les salons de discussion. Cette adresse est simplement conference.serveurJabber.com, c'est à dire le mot "conference", un ".", et l'adresse du serveur Jabber. A partir de là vous avez accès à la liste des salons, et vous pouvez vous connectez à ceux correspondant à vos projets. Chaque client Jabber a sa propre manière de gérer les salons de discussion, il est possible que l'étape décrite précédement soit différentes en fonction des clients. En cas de besoin, consultez la documentation concernant votre client Jabber à propos des salons de discussion (MUC). Une fois connecté au salon, vous pouvez inviter des utilisateurs non-membres du projet à le re- joindre. Une fois qu'un utilisateur a accepté une invitation, il devient membre du salon de dis- cussion. Pour plus d'informations sur l'invitation d'utilisateurs extérieurs dans un salon de discussion, consultez la documentation de votre client Jabber. 15.4.4 Archives des conversations Les conversations des salons de discussions sont archivées par le système (les conversations privées ne sont pas archivées). Pour accéder aux archives, cliquez sur le lien Archives de l'onglet Messagerie Instantanée de votre projet. Tout membre du projet a accès aux archives du projet. Par défaut, les archives des conversations des 7 derniers jours sont affichées. Vous pouvez bien sûr changer la période de recherche grâce au calendrier. Si vous ne souhaitez rien préci- sez, laissez la zone vide. Vide pour date de début signifie "depuis le début", vide pour la date de fin signifie "jusqu'à maintenant". Les archives des conversations sont classées par jour. Elles vous renseignent sur l'heure des messages (heure et minutes), l'auteur du message (identifiant de l'utilisateur sur le serveur Co- dendi), et bien sûr le message lui-même. Les changements de peudos ne sont pas consignés dans les archives. Les messages systèmes sont présents, ce qui aide à savoir qui était présent lorsque telle chose a été dite. Les URL et les références apparaîtront comme des liens, mais les commandes spéciales (voir Astuce: mise en forme et commandes spéciales [page 183]) ne sont pas interprétées. Notez également que les conversations sont séparées par un léger trait horizontal lorsque qu'il n'y a pas eu d'activité pendant au moins 10 minutes. 184
  • 194. Guide de l'utilisateur Codendi Vous pouvez exporter les archives, au format CSV, en cliquant sur le bouton exporter en bas de page des archives. L'export tiendra compte de vos préférences utilisateurs concernant le sépa- rateur CSV et le format de date (voir Section 3.5 [page 17]). 185
  • 195. Guide de l'utilisateur Codendi CHAPITRE 16 Gestionnaire de sondages Le gestionnaire de sondage permet à une équipe de projet de créer des sondages d'opinion. Fournir un service de sondage dans un environnement dédié aux activités de développement logiciel peut paraître un peu étrange au premier abord. Cependant, si vous vous souvenez que Codendi est aussi un outil qui permet de rester en contact avec votre communauté d'utilisateurs, vous réaliserez assez rapidement qu'être à l'écoute de cette communauté est le meilleur moyen de la faire croître et de la satisfaire. Rester à l'écoute de sa communauté peut se faire de plusieurs façons sur Codendi : • par le biais des listes de diffusion et des forums web, • à partir des commentaires reçus en réponse à une annonce publiée sur la page de sommaire de votre projet, • en analysant le contenu des demandes d'aide reçues sur une certaine période. Tous ces moyens de communication permettent aux utilisateurs de Codendi de "pousser" des avis et demandes spontanés vers le projet concernant un sujet qui leur tient vraiment à coeur. Mais que faire si vous souhaitez recueillir l'avis de votre communauté d'utilisateurs sur un cer- tain nombre de sujets et que vous voulez que les réponses soient choisies parmi une liste de choix définis par l'équipe de projet ? C'est précisément ce que permet de faire le gestionnaire de sondages : • formuler une liste de questions précises, • définir un ensemble de réponses possibles pour faciliter l'analyse statistique, • rendre le sondage accessible à tout utilisateur présent sur l'Intranet, • passer les résultats en revue pour identifier les principales tendances de votre commu- nauté d'utilisateurs. Figure 87. Page d'accueil du gestionnaire de sondages 186
  • 196. Guide de l'utilisateur Codendi 16.1 Publier un sondage Audience : membres du projet Vous avez travaillé dur pour créer ce sondage parfaitement peaufiné et vous désirez mainte- nant atteindre l'audience la plus large possible. Codendi vous permet de rendre votre sondage visible de plusieurs façons : 1. Via le gestionnaire de sondages lui-même : aussitôt qu'un sondage est créé il appa- raît sur la page d'accueil du gestionnaire de sondages (voir Figure 87. Page d'accueil du gestionnaire de sondages [page 186]). Tout utilisateur visitant la page de sommaire du projet verra aussi le nombre de sondages disponibles dans la zone publique sous la rubrique sondage. En cliquant sur le lien "Sondages", l'utilisateur pourra répondre aux sondages disponibles. 2. Service d'annonces du projet : lorsque vous disposez d'un nouveau sondage, assu- rez-vous de publier une annonce annonçant sa disponibilité, qui est supposé y ré- pondre et le pointeur Web (URL) où se trouve le sondage (voir ci-dessous). En pu- bliant une annonce vous avez aussi une chance de la voir apparaître sur la page d'accueil du site si l'équipe Codendi en décide ainsi. 3. E-mail : le sondage que vous avez créé est accessible directement via un pointeur Web (URL) du site Codendi. En conséquence vous pouvez informer votre commu- nauté d'utilisateur en incluant ce pointeur Web dans tout document tel que message e- mail, page Web ou tout autre document. Même les personnes qui ne sont pas enregis- trées sur Codendi peuvent participer à un sondage. Tous les sondages créés sur Codendi sont accessibles via un pointeur Web (URL) comme ce- lui-ci : http://www.codendi.org/survey/survey.php?group_id=N&survey_id=X où N est l'identifiant (ID) de votre projet et X l'identifiant du sondage tel qu'il est présenté sur la liste des sondages affichés sur la page d'accueil du gestionnaire de sondages. Votre identifiant de projet est visible sur la page d'administration du gestionnaire de sondages (voir Figure 87. Page d'accueil du gestionnaire de sondages [page 186]). Répondre à un sondage se fait en accédant au sondage comme indiqué précédemment, puis en répondant à la série de questions et enfin en cliquant sur le bouton "Valider" situé au bas de la page. La Figure 88. Un exemple de sondage émanant du projet Codendi [page 188] montre un exemple de sondage. Note importante : confidentialité des sondages Les informations collectées dans ces enquêtes sont strictement internes à Xerox. Elles sont unique- ment destinées à mieux comprendre le profil du projet et de la population sondée. L'identité des per- sonnes répondant au sondage ne sont visibles ni pour les administrateurs du projet, ni par une partie tierce et encore moins par le public. Les informations collectées sont uniquement présentées de façon agrégée et non pas dans le but de mettre en évidence un ou plusieurs utilisateurs ou dévelop- peurs. 187
  • 197. Guide de l'utilisateur Codendi Figure 88. Un exemple de sondage émanant du projet Codendi 16.2 Administration des sondages Audience : membres du projet Les fonctions d'administration du gestionnaire de sondages sont uniquement utilisables par les administrateurs du projet. Le module d'administration vous permet de • Créer ou modifier un sondage • Créer ou modifier des questions • passer en revue les résultats d'un sondage Pour accéder aux fonctions d'administration, rendez vous sur la page de sommaire de votre projet, cliquez sur le lien "Sondages" de la barre de services située en haut de l'écran puis sur le lien "Administration" du menu du gestionnaire de sondages (voir Figure 87. Page d'accueil du gestionnaire de sondages [page 186]). A partir de cette page vous avez accès à l'ensemble des fonctions d'administrations (voir Figure 89. Écran d'administration du gestionnaire de sondages [page 189]). 188
  • 198. Guide de l'utilisateur Codendi Figure 89. Écran d'administration du gestionnaire de sondages 16.2.1 Structure d'un sondage Pour maîtriser le processus de création et de mise à jour d'un sondage, il est nécessaire de bien comprendre que le gestionnaire de sondages gère deux réservoirs d'entités distinctes : un réservoir de sondages et un réservoir de questions. En conséquence, la création d'un sondage complet est un processus en deux étapes : 1. Vous devez tout d'abord créer un ensemble de questions avec les réponses possibles. Toutes les questions de tous les sondages d'un projet sont gérées dans un même ré- servoir. 2. La création du sondage se fait ensuite en définissant son titre et en attachant une série de questions précédemment définies. L'un des intérêts de cette gestion séparée des questions et des sondages réside dans le fait de pouvoir utiliser la même question dans différents sondages si besoin est. 16.2.2 Créer et éditer des questions En tout premier lieu vous devez définir un jeu de questions et les réponses possibles pour cha- cune d'elles. Créer un bon sondage n'est pas chose aisée et cela demande du travail et de la réflexion : la valeur ajoutée des réponses reçues est directement liée à la qualité des questions. Quelques conseils : ne mettez pas trop de questions dans un sondage, les questions doivent 189
  • 199. Guide de l'utilisateur Codendi être courtes, claires, sans ambiguïté et non redondantes. Prenez donc du temps pour penser aux questions avec votre équipe. Pour créer des questions, cliquez sur le lien du même nom dans la barre de menu du gestion- naire de sondages ou dans la page d'accueil du module d'administration. Pour définir une ques- tion il suffit de taper le texte et de choisir un type de question. Il existe 5 types de réponses pos- sibles (voir Figure 88. Un exemple de sondage émanant du projet Codendi [page 188] pour quelques exemples de questions) : • Boutons radio 1-5 : ce type de question oblige l'utilisateur à répondre en cochant un des boutons radio parmi les valeurs 1 à 5. • Boutons radio Oui/Non : il s'agit d'une variante du type précédent où seules les ré- ponses Oui ou Non sont possibles. • Boutons radio spécifiques : ce type de question permet à l'administrateur projet de définir un ensemble de réponses parmi lesquelles l'utilisateur pourra en choisir une. Les différents choix sont affichés sous forme de boutons radio. • Boîte de sélection : ce type de question permet à l'administrateur projet de définir un ensemble de réponses parmi lesquelles l'utilisateur pourra en choisir une. Les différents choix sont proposés dans une boîte de sélection. • Champ texte : question pour laquelle vous souhaitez une réponse sous forme de texte court (une ligne). • Zone de texte : comme précédemment si ce n'est que l'utilisateur peut saisir plusieurs lignes de texte. A utiliser lorsque vous souhaitez obtenir des réponses détaillées à vos questions. • Commentaire : il ne s'agit pas vraiment d'une question mais d'un moyen d'insérer des commentaires entre deux questions dans votre sondage. • Aucun : choisir ce type de réponse pour une question revient à la désactiver. La ques- tion disparaît alors de tous les sondages qui l'utilisent. Comme souvent en pareil cas dans Codendi, la question n'est pas détruite et toutes les réponses associées émanant des divers sondages demeurent intactes. A tout moment durant la phase de création vous pouvez afficher la liste complète des questions en cliquant sur le lien 'Lister les questions existantes' au bas de l'écran. Modifier des questions est aussi possible. Pour ce faire, cliquez sur le lien 'Modifier les ques- tions' dans le menu de la page d'administration du gestionnaire de sondages ou dans la page d'accueil du module d'administration. Vous verrez alors s'afficher la liste des questions actuelle- ment disponibles dans le réservoir. En cliquant sur l'identifiant de la question situé dans la co- lonne de gauche, vous pouvez modifier les propriétés de la question. Remarque : modifier une question après que des réponses aient été collectées est une très mauvaise idée particulièrement si vous changez le type de la question. Dans ce cas les ré- ponses déjà collectées deviennent incohérentes avec le nouveau type de la question. Il est tou- tefois parfaitement possible de clarifier ou de corriger des fautes dans l'intitulé d'une question sans pour autant affecter les réponses déjà collectées. 16.2.3 Créer ou modifier un sondage Une fois que vous avez créé des questions, vous pouvez créer un sondage et lui attacher des questions. Pour créer un sondage cliquez sur le lien du même nom dans la barre de menu du gestionnaire 190
  • 200. Guide de l'utilisateur Codendi de sondages ou dans la page d'accueil du module d'administration (voir Figure 89. Écran d'administration du gestionnaire de sondages [page 189]). Ensuite, saisissez les informations suivantes : • Le nom du sondage (donnez lui un titre court) • La liste des questions attachées à ce sondage. Il s'agit d'une liste d'identifiant des ques- tions que vous voulez voir apparaître dans ce sondage séparés par des virgules. Pour consulter la liste des identifiants dans une fenêtre séparée, cliquez sur le lien 'Lister les questions existantes' et choisissez les identifiants appropriés dans la liste. Les ques- tions apparaîtront dans le sondage dans le même ordre que les identifiants. • Le statut d'un sondage : il peut être actif ou pas. Tant qu'un sondage est inactif il n'apparaît pas sur l'écran de bienvenue du gestionnaire de sondages et il n'est donc pas accessibles aux utilisateurs. • Si vous autorisez les réponses anonymes ou non. Autoriser les réponses anonymes permettra à des personnes non enregistrées (ou à des utilisateurs non authentifiés) de pouvoir répondre au sondage. Si les réponses anonymes ne sont pas autorisées, seuls les utilisateurs enregistrés et authentifiés pourront répondre au sondage. Au bas de la page se trouve la liste de l'ensemble des sondages du projet. Vous pouvez éditer l'un d'entre eux en cliquant sur l'identifiant dans la colonne de gauche. La modification d'un son- dage peut aussi se faire en cliquant sur le lien "Modifier les sondages" dans la barre de menu du gestionnaire de sondages puis en cliquant sur le sondage concerné. Lors de l'édition d'un sondage vous pouvez modifier la liste des questions ou leur ordre sans effet sur les réponses existantes. Si vous supprimez une question de la liste, vous ne pourrez plus consulter les ré- ponses associées s'il y en a. Elles ne sont cependant pas perdues. En ré-insérant la question dans la liste vous pourrez consulter les réponses associées (voir la section suivante). 16.2.4 Consulter les résultats d'un sondage Audience : membres du projet A n'importe quel moment dans le cycle de vie d'un sondage, il est possible de consulter les ré- ponses recueillies auprès des utilisateurs qui ont déjà participé au sondage. Pour consulter les résultats d'une enquête cliquez sur le lien 'Voir les résultats' dans la barre du menu d'administration du gestionnaire de sondages puis choisissez le sondage qui vous intéresse. 191
  • 201. Guide de l'utilisateur Codendi Figure 90. Résultats d'un sondage Une liste de l'ensemble des questions du sondage apparaît alors à l'écran. A côté de chaque question on trouve une vue agrégée de toutes les réponses. Pour les questions de type 'champ texte' ou 'zone texte' vous pouvez passer en revue toutes les réponses. Pour les boutons radio, le gestionnaire de sondages calcule le nombre total de réponses, la moyenne des valeurs ainsi que la distribution des valeurs. Exportez les résultats de vos sondages pour une analyse plus fine Si vous souhaitez procéder à des traitements plus poussés sur les réponses d'un sondage, souve- nez-vous que Codendi permet aux administrateurs du projet d'exporter les données du projet y com- pris les résultats des sondages. Pour plus d'information voir Section 6.11 [page 39] 192
  • 202. Guide de l'utilisateur Codendi CHAPITRE 17 Site Web d'un projet 17.1 Visiter un site Web Lorsqu'un projet est créé sur Codendi un site Web spécifique est initialisé. Vous pouvez accé- der au site Web de deux façons différentes : • En tapant l'URL suivant sur votre navigateur Web favori (nom_projet est le nom court du projet) : http://nom_projet.www.codendi.org Ou si votre serveur Codendi est en mode sécurisé : https://nom_projet.www.codendi.org • En cliquant sur le lien "Site Web" dans la barre de services du projet en haut de la page de sommaire. Si l'équipe de projet n'a pas créé ses propres pages Web, vous verrez apparaître la page d'accueil par défaut vous informant que le site sera bientôt disponible complétée d'un lien de re- tour vers le site Codendi. 17.2 Création d'un site Web 17.2.1 Emplacement et structure des répertoires Chaque projet possède son propre emplacement de stockage des pages HTML, des images, des fichiers de données et des documents qui constituent le site Web. Tous ces fichiers doivent être placés dans : /home/groups/nom_projet Si vous avez la possibilité d'utiliser votre compte Shell (voir Section 18.1 [page 197]) pour vous connecter au serveur Codendi et vous placer dans ce répertoire en utilisant la commande Unix "cd /home/groups/nom_projet" vous verrez trois répertoires : • htdocs : c'est dans ce répertoire que doivent se trouver toutes les pages HTML y com- pris celles incluant du PHP ou des directives SSI (voir ci-dessous pour plus de détails). 193
  • 203. Guide de l'utilisateur Codendi Toutes les images, icônes ou documents utilisés ou référencés dans vos pages Web doivent aussi se trouver à cet endroit (ou dans un sous-répertoire sous htdocs). Dans le jargon Apache le répertoire /home/groups/projectname/htdocs est appelé le 'Document Root' (Racine des documents) de votre site Web. Tip : Apache Apache est un serveur HTTP développé par la Consortium Apache. Il est disponible sous une li- cence Open Source et il est de loin de le serveur Web le plus populaire avec plus de 60% de part de marché. Pour plus d'information consultez le site Web Apache sur http://httpd.apache.org Apache s'attend à ce que la page d'accueil de votre site Web se trouve dans un des fi- chiers suivants : • index.html, index.htm pour les pages en HTML pur • index.shtml pour les pages utilisant les extensions SSI de Apache • index.php si vous incluez du PHP dans vos pages. Si votre page d'accueil se nomme index.php, prenez soins de renommer le fichier in- dex.php d'origine en utilisant les commandes suivantes depuis votre compte Shell : cd /home/groups/nom_projet/htdocs mv index.php index_default.php • cgi-bin : ce répertoire accueille tous les scripts CGI. Les scripts CGI peuvent être écrits en Perl, Python , Shell ou même C. • log : il s'agit d'un répertoire réservé. N'y placez aucun fichier. 17.2.2 Utilisez PHP pour votre site Web Les membres d'un projet peuvent concevoir des sites Web sophistiqués en utilisant le langage PHP. PHP est en train de devenir un langage de scripting serveur pour le Web extrêmement populaire. PHP est facile à apprendre , il est optimisé pour le Web et interagit aisément avec les bases de données SQL. Si vous décidez d'inclure des scripts PHP dans les pages Web de votre projet, assurez-vous d'utiliser l'extension ".php" pour tous les fichiers concernés. Pour les pages contenant du HTML pur utilisez les extensions habituelles "htm" ou "html". Pour des raisons de sécurité vos scripts PHP ont uniquement le droit d'accéder à des fichiers situés sous la racine des documents (DocumentRoot) de votre projet à savoir / home/groups/nom_projet/htdocs. 17.2.3 Publication du site Web Vous pouvez utiliser différentes méthodes pour publier les pages de votre site Web sur le ser- veur Codendi : • Édition à distance avec des éditeurs HTML comme celui de Netscape/Mozilla, Micro- soft Frontpage ou Emacs avec accès FTP transparent. • Édition locale sur votre machine et transfert des fichiers soit par FTP ou, encore mieux, par SCP. 194
  • 204. Guide de l'utilisateur Codendi • De petits changements peuvent aussi être effectués depuis votre compte Shell Codendi en utilisant un éditeur comme vi, emacs mais nous vous déconseillons d'effectuer des modifications lourdes par ce biais. Netscape Composer 4.x Vous pouvez utiliser Netscape Composer 4.x pour éditer des pages HTML à distance. Pour ce faire affichez la page concernée depuis le navigateur Netscape puis utilisez l'entrée du menu Fi- chier->Editer la page pour modifier le contenu de la page et cliquez finalement sur le bouton 'Pu- blier' dans la barre d'outil située en haut de la page. Saisissez les paramètres suivants dans la boîte de dialogue : • Upload Files to this location : ftp://nom_projet.www.codendi.org/home/groups/nom_projet/htdocs/ • Login and Password : tapez votre nom d'utilisateur et votre mot de passe Codendi. Cli- quez sur la case à cocher pour éviter d'avoir à taper le mot de passe à chaque opéra- tion de sauvegarde. Macromedia Dreamweaver Vous pouvez utiliser DreamWeaver pour créer le site Web de votre projet. Contrairement à FrontPage, DreamWeaver supporte parfaitement la publication à distance par FTP. Pour créer un nouveau site utilisez le menu Site -> New Site. Dans la boîte de dialogue renseignez le nom du site et le répertoire local pointant à la racine. Choisissez 'FTP access' comme méthode d'accès et indiquez nom_projet.www.codendi.org en tant que serveur hôte et / home/groups/nom_projet/htdocs pour le répertoire de publication . Le nom d'utilisateur et le mot de passe sont les mêmes que ceux de votre compte Codendi. Édition locale et transfert à distance Pour ceux d'entre vous qui utilisez un éditeur HTML dépourvu d'une fonctionnalité d'exportation des fichiers à distance, il est possible de transférer vos fichiers HTML par d'autres moyens. • FTP : c'est le moyen le plus simple de transférer vos pages Web vers l'emplacement Codendi distant. Utilisez un client ftp de votre choix pour vous connecter au serveur nom_projet.www.codendi.org et utilisez votre nom d'utilisateur et mot de passe Codendi. Une fois connecté, utilisez la commande suivante : cd /home/groups/nom_projet/htdocs et utilisez enfin la commande put (ou mput) pour transférer les fichiers modifiés. Vérifiez que les fichiers ont été correctement mis à jour à l'aide de votre navigateur. Prenez garde au cache de votre navigateur et assurez vous de forcer le rechargement de la page pour être bien sûr d'afficher la dernière version ! • SCP : scp -r * nom_utilisateurshell.www.codendi.org:/home/groups/nom_projet/htdocs où nom_utilisateur est votre nom d'utilisateur Codendi. L'option -r déclenche une copie récursive et copie donc tous les fichiers dans le répertoire ainsi que tous les autres fi- 195
  • 205. Guide de l'utilisateur Codendi chiers dans les sous-répertoires tout en préservant la même structure arborescente. 17.3 Référencer le site Codendi L'équipe Codendi demande à ce que tous les sites Web des projets affichent le logo Codendi sur leur page d'accueil. Ceci pour deux raisons : • Tout d'abord, en référençant le site Codendi sur votre page Web vous permettez à vos utilisateurs d'être informé de l'existence de Codendi et vous leur donnez une chance de le visiter et de prendre connaissance d'autres projets hébergés sur Codendi. Ce faisant vous augmentez les opportunités de réutilisation. • La seconde raison tient au fait que la présence du logo Codendi sur votre site Web dé- clenchera l'incrémentation automatique d'un compteur d'accès que Codendi maintient pour vous. Le nombre d'accès à votre site est consultable depuis la page de sommaire de votre projet en cliquant sur le lien "Statistiques" situé sous la description du projet (voir Figure 7. Un exemple de page de Sommaire d'un projet [page 23]). Ceci nous ai- dera aussi à identifier les projets qui pourraient avoir besoin de capacités d'hébergement plus importantes en raison de leur niveau d'activité. Pour afficher le logo Codendi sur votre page Web utilisez l'URL suivant : http://www.codendi.org/sflogo.php?group_id=N&type=1 utilisez "https" au lieu de "http" si votre serveur est configuré pour fonctionner en mode sécu- risé. Vous pouvez utiliser ce logo dans des balises de type ancre ou image. Ainsi vous pouvez par exemple lui associer un hyperlien pointant directement sur la page de sommaire de votre projet : <A href="http://www.codendi.org/projects/nom_projet"> <IMG src="http://www.codendi.org/sflogo.php?group_id=N&type=1 width="80" height="20" border="0" alt="Code source disponible !"> </A> Attention ! Veillez à remplacer le nombre situé après "group_id" (N dans cet exemple) par votre propre identifiant de projet. Vous pouvez prendre connaissance de votre identifiant de pro- jet en visitant n'importe quelle page Web d'un des services de votre projet et en cherchant la va- leur du paramètre group_id dans l'URL (voir la barre de navigation de votre navigateur Web). 196
  • 206. Guide de l'utilisateur Codendi CHAPITRE 18 Autres Services 18.1 Compte Shell Note Importante : cette fonctionnalité peut avoir été désactivée par l'administrateur de votre site Codendi et s'avérer indisponible dans votre organisation. Si l'administrateur Codendi a activé cette fonctionnalité, chaque utilisateur enregistré dispose alors de son compte Shell Unix sur le serveur de comptes Shell Codendi. Vous pouvez accéder à ce compte de deux façons : • SSH : l'utilisation du client de compte shell sécurisé est recommandée pour se connec- ter au serveur de comptes Shell Codendi. Les clients SSH sont disponibles sur toutes les plateformes (Windows, Linux, Unix et Mac). Ils établissent un lien sécurisé avec vos répertoires personnels et vous permettent aussi de disposer d'autres utilitaires comme SCP pour le transfert de fichiers à distance. Pour accéder à votre compte Shell, tapez la commande suivante et utilisez votre nom d'utilisateur et mot de passe Codendi pour vous identifier : ssh -l nom_utilisateur shell.www.codendi.org • Telnet : telnet est livré en standard dans les environnement Windows et Unix. Pour ac- céder à votre compte Shell, tapez la commande suivante et utilisez votre nom d'utilisateur et mot de passe Codendi pour vous identifier (remarque : sur certains sites Codendi il se peut que telnet soit désactivé pour des raisons de sécurité) : telnet shell.www.codendi.org Que vous utilisiez SSH ou telnet, une bannière de bienvenue vous est présentée une fois la connexion établie. Ce message vous indique quels sont les répertoires auxquels vous avez ac- cès. Utilisez la commande Unix "cd" pour changer le répertoire de travail courant. Si vous êtes membre de plusieurs projets vous devez spécifier pour quel projet vous allez travailler durant cette session Shell en utilisant la commande suivante : newgrp nom_projet Vous pouvez utiliser cette commande autant de fois que vous le souhaitez lorsque vous vous apprêtez à travailler pour un autre de vos projets. 18.2 Espaces de stockage FTP anonyme 197
  • 207. Guide de l'utilisateur Codendi Chaque projet dispose de son propre espace de stockage FTP anonyme. Si vous souhaitez controller les accès à vos fichiers, utilisez plutôt le gestionnaire de fichiers (Chapitre 8. Publica- tion de fichiers [page 98]) L'espace FTP anonyme peut être utilisé par les membres du projet pour télécharger tout type de documents, données ou délivrables du projet. Cet espace de stockage est accessible en lecture à tous les utilisateurs Codendi et tous les fichiers placés dans cet espace peuvent donc être li- brement téléchargés. En conséquence, assurez-vous d'utiliser cet espace de stockage unique- ment pour des fichiers lisibles par tous. • Accès en utilisateur anonyme : utilisez un client ftp pour vous connecter à down- load.www.codendi.org. Utilisez "ftp" comme nom d'utilisateur et votre adresse email comme mot de passe. Ensuite utilisez la commande cd /pub/nom_projet pour accéder à l'espace FTP anonyme. • Accès pour les membres du projet : utilisez un client ftp pour vous connecter à down- load.www.codendi.org. utilisez votre nom d'utilisateur et mot de passe Codendi pour vous identifier, puis tapez la commande cd / var/lib/codendi/ftp/pub/nom_projet pour accéder à l'espace FTP anonyme. A partir de là les membres du projet ont accès en lecture et en écriture et peuvent télé- charger des fichiers dans les deux sens. Pour pointer sur cet espace de stockage dans une page Web ou dans un email, utilisez l'URL suivant : ftp://nom_projet.www.codendi.org:/pub/nom_projet 18.3 API SOAP Codendi fournit une API SOAP pour accéder à Codendi avec les 'web services'. Actuellement, seuls les sessions (login/logout) et le service Outil de suivi sont disponibles via l'API. Une description des services est disponible à l'adresse http://www.codendi.org/soap/. Il s'agit d'une liste de services, avec pour chaque fonction, ses paramètres d'entrée, de sortie et une documentation. Une description plus détaillée des services est également disponible dans le language formel WSDL à l'adresse http://www.codendi.org/soap/?wsdl Le WSDL contient en plus la définition des type. 18.4 Client en Ligne de Commande Codendi (Command Line Interface, CLI) Une autre manière d'utiliser Codendi est d'utiliser le client en ligne de commande (CLI). Il s'agit d'une application cliente qui utilise l'API SOAP pour communiquer avec le serveur Codendi. Pour l'instant, seuls les sessions (login/logout) et le service des Outils de suivi sont disopnibles. Le client en ligne de commande n'implémente pas non plus certaines fonctions de l'API SOAP (par exemple, il n'est pas possible d'attacher un fichier, une adresse en copie CC ou une de- pendance à un artefact), et la notification par mail n'est pas active. La documentation du client en ligne de commande est disponible à l'adresse : http://www.codendi.org/documentation/cli/pdf/en_US/Codendi_CLI.pdf 198
  • 208. Guide de l'utilisateur Codendi 18.5 Plugin Eclipse Codendi Codendi dispose d'un plugin pour l'IDE Eclipse. Ce plugin vous permet de parcourir vos arte- facts, de les modifier, et d'en créer de nouveaux, le tout dans l'environnement Eclipse. Figure 91. Plugin Codendi pour l'IDE Eclipse Le plugin Eclipse est disponible pour la version 3.2 d'Eclipse et nécessite le JRE 1.5 Le plugin Eclipse peut être installé par le mécanisme updatesite d'Eclipse. Le site web update- site Codendi est : http://www.codendi.org/plugins/eclipse/updatesite/ Pour installer le plugin Codendi avec le mécanisme "update site" d'Eclipse, veuillez suivre les instructions ci-dessous: 1. Dans le menu principal d'Eclipse, sélectionnez Help > Software Update > Find and install... 2. Cochez la case Search for new features to install, puis cliquez sur Next 3. Pressez le bouton New Remote Site... 4. Remplissez la boîte de dialogue avec : a. Name: Codendi (par exemple) b. URL: http://www.codendi.org/plugins/eclipse/updatesite/ 5. Cochez la case Codendi (vous pouvez déplier pour voir le détails de la feature), puis cliquez sur OK 199
  • 209. Guide de l'utilisateur Codendi 6. Eclipse vous demandera ensuite d'accepter la licence. Si vous acceptez la licence, co- chez "I accept the terms in the license agreement". 7. Cliquez sur le bouton Finish 8. Eclipse vous demande de confirmer les feature à installer. Cliquez sur le bouton Install. 9. Eclipse va télécharger les features et peut avoir besoin de redémarrer pour terminer l'installation 10. Profitez de Codendi ! La documentation du plugin Eclipse est disponible à l'adresse http://www.codendi.org/documentation/eclipse/pdf/en_US/Guide_Utilisateur_Plugin_Eclipse_Co dendi.pdf 200