Retour d'expérience


Table of Contents

1. Création d'un nouveau projet
1.1. Travail sur forge.ipsl.jussieu.fr
1.1.1. Création du projet
1.1.2. Création et association d'utilisateurs
1.1.3. Travail sur trac
1.1.3.1. Configuration de trac
1.1.3.2. Autorisations
1.1.3.3. Wiki
1.1.3.4. Roadmap
1.1.4. Travail sur svn
1.1.4.1. Organisation de l'arborescence de base de svn
1.1.4.2. Importation du travail original de Frédéric
1.1.4.3. Organisation pour contribution
1.2. Travail non réalisé sur forge.ipsl.jussieu.fr
1.2.1. changement de logo
1.2.2. Liste de diffusion
1.2.3. Description des milestones

1. Création d'un nouveau projet

Vous trouverez dans la section suivante les étapes que j'ai suivi pour créer et configurer le projet GEOMAG sur forge.ipsl.jussieu.fr à partir d'un ensemble de sources existants.

Il s'agit de notes de travail réalisé au cours de novembre 2006 après qqes mois passés à me faire la main sur le projet SAXO.

J'espère que ce document vous aidera à demarrer vos nouveaux projets.

1.1.  Travail sur forge.ipsl.jussieu.fr

1.1.1. Création du projet

Olivier Thauvin a crée le projet GEOMAG avec moi comme contact et administrateur sous le compte pinsard [1].

Je modifie le mot de passe du compe geomag@forge.ipsl.jussieu.fr associé à ce projet après avoir sélectionné le projet geomag dans la colonne de gauche de la page https://forge.ipsl.jussieu.fr/admin/.

mot de passe geomag@forge.ipsl.jussieu.fr

Le changement de mot de passe du compe geomag@forge.ipsl.jussieu.fr associé à ce projet après avoir sélectionné le projet geomag dans la colonne de gauche de la page https://forge.ipsl.jussieu.fr/admin/ doit être accompagné par la modification dans /ipsl/forge/projet/geomag/trac/conf/trac.ini de la ligne de connection à la base de données

database = postgres://projet:motdepasse@forge.ipsl.jussieu.fr/projet_trac

sous peine de problème d'accès à la page http://forge.ipsl.jussieu.fr/geomag.

Toujours dans cette page de gestion de projet, je complète cette création en remplissant les champs Url: et Description. On constate que la description apparaît dans la page d'accueil http://forge.ipsl.jussieu.fr/.

1.1.2. Création et association d'utilisateurs

Olivier Thauvin a créé des comptes pour chaque administrateur de projet. Les administrateurs peuvent à leur tour créer des comptes pour les les personnes qu'ils souhaitent via le bouton créer un utilisateur en se connectant à https://forge.ipsl.jussieu.fr/admin/. En tant qu'administrateur du projet GEOMAG, je crée ainsi le compte de Frédéric fvi.

Les administrateurs peuvent associer des utilisateurs à leur projet via le bouton projet dans la colonne de gauche de la page https://forge.ipsl.jussieu.fr/admin/ puis en choisissant un utilisateur dans la partie “Ajouter un utilisateur”. J'associe ainsi fvi au projet geomag.

1.1.3.  Travail sur trac

1.1.3.1.  Configuration de trac

Lors de la création du projet un fichier /ipsl/forge/projets/projet/trac/conf/trac.ini donnant au projet une configuration par défaut choisie par Olivier est créé.

On doit modifier les lignes suivantes :

link = http://trac.edgewall.com/
descr = My example project

en mettant la même chose que dans l'url et la description du projet sous http://forge.ipsl.jussieu.fr/ (cf. Section 1.1.1, “Création du projet”).

On pourra aussi associer un logo[2], une mailing list, des notification sur les tickets, etc, mais ++ pas d'urgence

Copie avant modification

Il peut être prudent de copier la version courante du fichier de configuration avant de faire une modification. On peut procéder ainsi

$ cd trac/conf/
$ fileorig=trac.ini
$ cp ${fileorig} ${fileorig}_$(date -u +"%Y%m%d%H%M%S")

Voir l'avertissement concernant le changement de mot de passe geomag@forge.ipsl.jussieu.fr.

1.1.3.2.  Autorisations

Des permissions sont accordées par défaut lors de la création du projet.

Il faut les modifier pour éviter en particuliers des spams sur les tickets.

On commence par créer un “groupedevelopper en tapant la commande suivante pour chaque contributeur (utilisateur déclaré dans Section 1.1.2, “Création et association d'utilisateurs”) au projet :

geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission add utilisateur developper

Puis on supprime les accès aux actions sensibles aux inconnus et on n'autorise ces mêmes actions qu'aux contributeurs :

geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission remove anonymous WIKI_CREATE
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission remove authenticated WIKI_CREATE
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission remove anonymous WIKI_MODIFY
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission remove authenticated WIKI_MODIFY
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission remove anonymous TICKET_MODIFY
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission remove anonymous TICKET_CREATE
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission add developper WIKI_CREATE
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission add developper WIKI_MODIFY
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission add developper WIKI_DELETE
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission add authenticated TICKET_CREATE
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission add authenticated TICKET_MODIFY
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission add developper MILESTONE_ADMIN

Cette organisation facilite l'ajout d'un utilisateur. Il n'y a que son adhésion au “groupedevelopper à faire.

On peut vérifier que la sortie de la commande suivante :

geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac permission list

donne bien


User           Action
------------------------------
anonymous      BROWSER_VIEW
anonymous      CHANGESET_VIEW
anonymous      FILE_VIEW
anonymous      LOG_VIEW
anonymous      MILESTONE_VIEW
anonymous      REPORT_SQL_VIEW
anonymous      REPORT_VIEW
anonymous      ROADMAP_VIEW
anonymous      SEARCH_VIEW
anonymous      TICKET_VIEW
anonymous      TIMELINE_VIEW
anonymous      WIKI_VIEW
authenticated  TICKET_CREATE
authenticated  TICKET_MODIFY
developer      MILESTONE_ADMIN
developer      WIKI_CREATE
developer      WIKI_DELETE
developer      WIKI_MODIFY
utilisateur    developer

1.1.3.3.  Wiki

La page WikiStart à la création du projet renseigne sur trac. On doit remplacer cette page avec les informations concernant le projet. Ce remplacement peut se faire dans un premier temps par la modification clicodromique en étant loggué sous http://forge.ipsl.jussieu.fr/geomag/ avec le menu loggin.

1.1.3.4.  Roadmap

La “roadmap” est l'ensemble des étapes d'un projet. Quatre étapes nommées “milestonex” sont définies à la création du projet.

Il faut définir et renseigner les étapes du projet geomag soit par clicodrome sur la page http://forge.ipsl.jussieu.fr/geomag/roadmap/ soit avec la commande trac-admin.

Ordre des étapes

On ne maîtrise pas l'ordre des étapes avec trac-admin path milestone. Elles apparaissent dans l'ordre alphanumérique.

geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac milestone rename milestone1 "GEOMAG sur trac"
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac milestone rename milestone2 "sources fvi sous svn"
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac milestone rename milestone3 "code indépendant utilisateur et machine"
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac milestone rename milestone4 "adaptation 1/4 de degré"

On peut ajouter des étapes tout de suite :

geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac milestone add "Belles documentations"
geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac milestone add "utilisation de la version de référence de SAXO"

On pourra vérifier l'ensemble de étapes du projet avec la commande suivante :

geomag@forge$ trac-admin /ipsl/forge/projets/geomag/trac milestone list

Description d'une milestone

La création des milestones via le clicodrome sur la page http://forge.ipsl.jussieu.fr/geomag/roadmap/ permet d'ajouter une description ce que je ne sais pas faire avec trac-admin.

1.1.4.  Travail sur svn

1.1.4.1.  Organisation de l'arborescence de base de svn

Le dépôt svn à la création est vide. Il faut créer les répertoires conventionnels trunk, branches et tags :

fplod@aedon$ cd /tmp/
fplod@aedon$ mkdir /tmp/pour_geomag_svn/
fplod@aedon$ cd /tmp/pour_geomag_svn/
fplod@aedon$ svn checkout svn+ssh://pinsard@forge.ipsl.jussieu.fr/ipsl/forge/projets/geomag/svn/ geomag_ws
Checked out revision 0.
fplod@aedon$ cd /tmp/pour_geomag_svn/geomag_ws/
fplod@aedon$ svn mkdir trunk
A         trunk
fplod@aedon$ svn mkdir branches
A         branches
fplod@aedon$ svn mkdir tags
A         tags
fplod@aedon$ svn commit \
--message "create tags, branches and trunk directories"

Adding         branches
Adding         tags
Adding         trunk

Committed revision 1.

On peut vouloir choisir de continuer à travailler dans ce “working space” mais comme il est dans /tmp/, je préfère le détruire :

fplod@aedon$ cd
fplod@aedon$ rm -fr /tmp/pour_geomag_svn/

1.1.4.2.  Importation du travail original de Frédéric

Pour mémoire le travail de Frédéric sur ORCA 2 ° est sous cerbere:/usr/work/sur/fvi/OPA/geomag/.

Cette arborescence n'est pas entièrement à importer dans le dépot svn car elle contient un “cadavreCVS de SAXO et de INTERP2. Elle contient aussi des fichiers qui n'ont pas grand chose à faire là comme un répertoire vide interp, toto, .Xdefaults, un fichier Br_ORCA2.nc.bz2 version compressée de Br_ORCA2.nc, etc.

Je passe donc par une arborescence intermédiaire :

fplod@aedon$ mkdir -p /tmp/pour_geomag_svn/src/
fplod@aedon$ cp -rp /usr/work/sur/fvi/OPA/geomag/ /tmp/pour_geomag_svn/src/
fplod@aedon$ find /tmp/pour_geomag_svn/src/ -name CVS -exec rm -r {} \;
fplod@aedon$ cd /tmp/pour_geomag_svn/src/
fplod@aedon$ rm -r interp toto .Xdefaults README~ Br_ORCA2.nc.bz2

Je passe donc par une arborescence intermédiaire :

fplod@aedon$ svn import \
--message "initial import from /usr/work/fvi/OPA/geomag/" \
/tmp/pour_geomag_svn/src/ \
svn+ssh://pinsard@forge.ipsl.jussieu.fr/ipsl/forge/projets/geomag/svn/trunk

L'importation est terminée. On peut vérifier si on a bien tout dans le dépôt svn :

fplod@aedon$ svn list http://forge.ipsl.jussieu.fr/geomag/svn/trunk

On peut donc détruire le répertoire intermédiaire puisque ce n'est pas un “working space” :

fplod@aedon$ cd
fplod@aedon$ rm -fr /tmp/pour_geomag_svn/src/

1.1.4.3.  Organisation pour contribution

Le dépôt svn étant maintenant en place, on peut le récupérer sur son poste de travail sous forme de “working space” en tant que contributeur.

Je choisis de travailler sous mon ${HOME} du LOCEAN pour que la sauvagarde CCR prenne en compte mon “working space” :

fplod@aedon$ cd /usr/home/fplod/incas/geomag/
fplod@aedon$ svn checkout svn+ssh://pinsard@forge.ipsl.jussieu.fr/ipsl/forge/projets/geomag/svn/trunk/ geomag_ws

Le travail de mise à jour peut commencer …

1.2. Travail non réalisé sur forge.ipsl.jussieu.fr

1.2.1. changement de logo

Nous n'avons pas de logo pour GEOMAG mais si on en avait un on pourrait le mettre sur les pages forge.

Soit le logo dans un fichier logo.png, il faut le déposer dans /ipsl/forge/projet/geomag/trac/htdocs/ et modifier dans /ipsl/forge/projet/geomag//trac/conf/trac.ini la ligne renseignant le logo

icon = site/logo.png

Pour mémoire, on peut imposer n'importe quelle taille à une image, cepandant on notera que la version du logo qui apparait à coté de l'URL dans le navigateur est très petite donc on ne peut pas faire des logos très complexe sous peine d'être illisible.

++ taille idéale ou taille de l'image par défaut

1.2.2. Liste de diffusion

Pour l'instant nous n'avons pas juger utile de créer une ou plusieurs listes de diffusion associées à ce projet.

En conséquence, il n'y a pas de configuration spécifique de svn pour recevoir des mails après un commit ni de configuration spécifique de trac pour recevoir des mails après la création ou la modification d'un ticket.

1.2.3. Description des milestones

Pour l'instant on se contente du titre pour donner une idée du pb mais on pourrait être plus précis en ajoutant une description (pourquoi, comment, priorité, etc.)



[1] Mon compte pinsard@forge.ipsl.jussieu.fr a été créé à l'occasion de la création du projet SAXO.