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 |
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
- sudo
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 là.
Liste des plugins installés sur le projet trac orchidee (et d'autres) :
- TracFigure-0.2.0-py2.5.egg
- TracRevtreeLogEnhancer-0.2.0dev-py2.5.egg
- TracRevtreeMergeInfoEnhancer-0.2.1dev-py2.5.egg
- TracRevtreePlugin-0.6.3dev-py2.5.egg
- TracStats-0.3-py2.5.egg
- TracTocMacro-11.0.0.3-py2.5.egg
- 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 :
- unzip revtreeplugin-r9404.zip
- cd revtreeplugin/0.11
- chmod -R ug+rX *
- python setup.py bdist_egg
- cp dist/TracRevtreePlugin-0.6.4dev-py2.5.egg ~/trac/plugins
Attachments (1)
- retour_exp_fp.html (42.8 KB) - added by pinsard 16 years ago.
Download all attachments as: .zip