wiki:AdminProjet

Administrer un projet

Organisation générale

Un projet se compose:

  • d'un utilisateur du nom du projet
  • d'un groupe de même nom
  • de un ou plusieurs administrateur de projet
  • d'utilisateurs

Informations relatives aux projets

Vous pouvez rentrer un certain nombre d'informations depuis https://forge.ipsl.jussieu.fr/admin:

Purement informatives

Contact le mail de la personne à contacter pour participer au projet
Url L'url vers le site relatif au dévelopement du projet, le wiki de trac par exemple
Description Une courte description du projet qui permet de le lister sur la page principale

Administratives

descriprion de l'utilisateur Une courte description de l'utilisateur du projet pour mieux l'identifier sur la machine
mail un mail utilisé pour retransmettre les quelques mails que l'utilisateur du projet pourrait recevoir, en général des mails du système
mode de passe Le mot de passe de l'utilisateur du projet, il vous permet de devenir cet utilisateur en vue d'administrer le projet , il permet également l'accès aux ressources de la machine telle que base de donnée

Permissions

L'utilisateur du projet est propriétaire des fichiers concernant l'administration du projet. Pour les modifer et dans certains cas y accéder vous devez devenir cet utilisateur. Trois méthodes sont possibles:

ssh

En se connectant directement sur la machine sous ce compte en utilisant ssh et le mot de passe de cet utilisateur

su
En étant connecté sur la machine avec la commande su <nom_du_projet>, le mot de passe de cet utilisateur vous sera demandé
sudo
sûrement la méthode la plus pratique car elle vous dispense de connaître le mot de passe de l'utilisateur de projet. sudo est configuré pour autoriser les administrateurs de projet d'exécuter n'importe quelle commande sous le compte de l'utilisateur de projet.

Pour ouvrir une session:

sudo -H -s -u <nom_du_projet>

Le mot de passe qui est demandé est alors le vôtre.

Création de compte utilisateur

Les administrateurs de projet peuvent créer des comptes sur la machine via l'interface d'aministration: https://forge.ipsl.jussieu.fr/admin.

Ces comptes utilisateurs doivent être strictement personnels et dûment renseignés (nom et prénom, mail).

Il ne vous est pas possible de détruire ces comptes, en revanche il est possible de les retirer de votre projet et donc de leurs enlever les droit d'interagir avec.

  • La création d'un compte n'est pas une chose anodine, elle donne de facto un accès et des droits sur la machine,
  • Tout incident concernant les comptes utilisateurs (mauvaise utilisation, compte erroné, expiré, etc...) doit être remonté aux administrateurs de la machine.

Organisation des fichiers

sur la machine

Tous les fichiers de vos projets doivent être situés dans la home directory de l'utilisateur du projet.

Bien que vous soyez relativement libres dans l'organisation, il est préférable de respecter une certaine organisation.

Tout les projets sont hébergés dans le répertoire /ipsl/forge/projets/, donc pour chaque projet: /ipsl/forge/projets/<NOM_DU_PROJET>/ ou plus simplement ~<NOM_DU_PROJET>/.

Dépot de versionnement

Les dépôts de code seront placés dans un sous-répertoire significatif:

subversion: ~/svn

Si vous utilisez subversion, ce répertoire contiendra le dépôt. Il sera accessible en utilisant ssh via

svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/<NOM_DU_PROJET>/svn/
darcs: ~/darcs

Le fonctionnement de darcs implique rapidement d'avoir plusieurs dépôts, chaque dépôt sera donc situé dans un sous-répertoire de ~/darcs, ils seront accessible en utilisant ssh:

forge.ipsl.jussieu.fr:/ipsl/forge/projets/<NOM_DU_PROJET>/darcs/<NOM_DU_DEPOT>/

Trac

Si vous utilisez trac, l'environement de celui-ci sera situé dans ~/trac.

Pour administrer trac, se loguer en tant qu'utilisateur de projet et taper

trac-admin ~/trac

ce qui ouvrira un pseudo shell et vous permettra de modifier les permissions, les versions, etc...

Certaines configurations nécessitent de modifier le fichier de configuration ~/trac/conf/trac.ini.

Pour améliorer les performances, toutes les données sont stockées dans des base de données PostgreSQL. La base s'appelle <NOM_DU_PROJET>_trac.

  • Comment voir les tickets en interactif sur forge?

Lancer psql :

forge$ sudo -u <NOM_DU_PROJET> psql igcmg_trac
igcmg_trac=> select * from ticket;
 id |    type     |    time    | ...
  1 | defect      | 1144660514 | 11
...
igcmg_trac=> \q
forge$
  • Comment détruire un ticket (rempli par un spam par exemple)?

Lancer psql :

forge$ sudo -u <NOM_DU_PROJET> psql igcmg_trac
igcmg_trac=> begin;
BEGIN
igcmg_trac=> delete from ticket where id>3 and id<11;
DELETE 7
igcmg_trac=> commit;
COMMIT
igcmg_trac=> \q
forge$

Pour annuler la dernière transaction psql :

igcmg_trac=> rollback;
ROLLBACK

Note sur les permissions

Trac est accédé et rempli depuis le web, l'utilisateur apache doit donc pouvoir accéder à certains fichiers

fichier apache reste du monde
trac/conf/trac.ini lecture seulement rien, il contient un mot de passe (accès à la base de donnée)
trac/attachments/ écriture (dépôt de fichiers depuis le web tout sauf écriture

Pour que trac fonctionne correctement, et préserver la sécurité de votre projet, veillez à ce que ces permissions soit respectées. Malheureusement, seul un administrateur peut donner les permissions à apache en utilisant les droits standard UNIX.

Il est possible de donner les droits à apache sans être administrateur avec une ACL, voici un exemple qui donne les droits en lecture/écriture:

setfacl -m u:apache:rw chemin

web

Applications globales

Retour d'expérience

Notes de travail de Françoise Pinsard pour création d'un nouveau projet retour_exp_fp.html

Plugins trac

Voir la liste des plugins trac ici et la procédure d'installation .

Liste des plugins installés sur le projet trac orchidee (et d'autres) :

  1. TracFigure-0.2.0-py2.5.egg
  2. TracRevtreeLogEnhancer-0.2.0dev-py2.5.egg
  3. TracRevtreeMergeInfoEnhancer-0.2.1dev-py2.5.egg
  4. TracRevtreePlugin-0.6.3dev-py2.5.egg
  5. TracStats-0.3-py2.5.egg
  6. TracTocMacro-11.0.0.3-py2.5.egg
  7. TracWikiPrintPlugin-1.8.4-py2.5.egg

Si vous récupérez les plugins pré-compilés directement pour trac-0.11 (notre version), vous pouvez simplement les copier dans votre trac/plugins.

Pour les activer, il suffit d'éditer le fichier trac/conf/trac.ini :

[components]
figure.* = enabled
logenhancer.* = enabled
logenhancer.enhancer.logenhancer = enabled
mergeinfoenhancer.* = enabled
mergeinfoenhancer.enhancer.mergeinfoenhancer = enabled
revtree.* = enabled
revtree.enhancer.* = enabled
revtree.optimizer.* = enabled
revtree.web_ui.* = enabled
RevtreePlugin.LogEnhancer = enabled
RevtreePlugin.MergeInfoEnhancer = enabled
RevtreePlugin.Changelog = enabled
tractoc.macro.* = enabled
webadmin.* = enabled

Le dernier plugin (webadmin) est l'un des plugins inclus dans la distribution trac. Il permet d'activer l'onglet admin si vous êtes l'administrateur du site.

Etapes d'installation d'un plugin récupéré sous la forme d'un paquet zip :

  1. unzip revtreeplugin-r9404.zip
  2. cd revtreeplugin/0.11
  3. chmod -R ug+rX *
  4. python setup.py bdist_egg
  5. cp dist/TracRevtreePlugin-0.6.4dev-py2.5.egg ~/trac/plugins
Last modified 13 years ago Last modified on 08/09/11 16:31:42

Attachments (1)

Download all attachments as: .zip