Introduction et termes fréquemment employés

La forge du Centre Blaise Pascal (CBP) utilise l'application de gestion de projet Redmine. La documentation utilisateur de cette application est disponible à cette page.

Voici une description des termes couramment employés dans ce système :

  • Projet. C'est un espace de travail, lié à un sujet déterminé, mis à disposition d'une équipe d'utilisateurs membres.
  • Un projet peut être Public ou Privé. Un projet Privé n'est visible que par ses membres. Un projet Public est visible par tout le monde, mais ne peut pas être modifié par les utilisateurs non membres.
  • Un projet peut contenir des sous projets.
  • Les différents rôles des utilisateurs membres d'un projet sont Manager, Developer et Reporter. Les utilisateurs membres d'un projet peuvent avoir différents rôles dans ce projet. À chaque rôle est associé différentes permissions :
  • Les membres Manager d'un projet peuvent le configurer, y ajouter des nouveaux membres, modifier son contenu.
  • Les membres Developer d'un projet peuvent modifier son contenu.
  • Les membres Reporter d'un projet peuvent accéder à son contenu et émettre des requêtes.

Ouverture d'un compte utilisateur

Utilisateur disposant d'un compte à l'ENS Lyon

Un utilisateur disposant d'un compte à l'ENS Lyon n'a pas besoin de créer un compte sur la forge. Il doit directement cliquer sur Connexion et entrer son login et mot de passe ENS (il n'est pas nécessaire de cliquer sur S'enregistrer). Lors de cette première connexion, le compte est automatiquement crée sur la forge.

Utilisateur extérieur

Un utilisateur ne disposant pas de compte ENS doit créer une demande d'enregistrement (compléter le formulaire accessible en cliquant sur S'enregistrer). Il doit contacter son chef de projet et lui indiquer l'identifiant et l'adresse de courrier électronique utilisés pour cette demande. Le chef de projet valide cette demande auprès des administrateurs de la forge selon la procédure communiquée directement aux chefs de projet. La demande est finalement validée par les administrateurs.

Ouverture d'un projet

La création d'un nouveau projet n'est possible que par les administrateurs de la forge. Pour ouvrir un projet, l'utilisateur doit envoyer un mail à admin-forge@ens-lyon.fr en précisant :

  • Le nom du projet
  • L'identifiant du projet
  • Le gestionnaire de code source préféré (SVN, Git ou Mercurial)

Le nom du projet est libre. C'est lui qui est visible dans l'interface. Par exemple, "Mon projet pour les nuls".

L'identifiant est soumis aux contraintes suivantes :

  • Longueur comprise entre 1 et 100 caractères
  • Seuls les lettres minuscules (a-z), chiffres, tiret et souligné sont autorisés
  • Une fois sauvegardé, l'identifiant ne pourra plus être modifié (il sert comme identifiant dans la base de données).

Attention, si le projet utilise un dépôt Git, son identifiant NE doit PAS contenir le caractère souligné.

L'utilisateur ayant fait la demande d'ouverture de projet est désigné comme manager du projet et reçoit un mail de confirmation. Il peut ensuite ajouter des utilisateurs en tant que membres du projet.

Pour cela, il faut se rendre sur la page Configuration, puis Membres. Il appartient au manager de choisir le rôle des membres ainsi ajoutés (reporter, developer ou manager).

Pour plus d'information sur la configuration du projet, se référer à cette page de la documentation Redmine.

Création d'un dépôt (Git, Mercurial ou Subversion)

La création automatisée d'un dépôt (un seul par projet, en mode automatique) est activée au travers de l'interface d'administration du projet :

  • dans l'onglet « Configuration » du projet, cliquez sur l'onglet « Dépots » ;
  • cliquez sur le lien « Nouveau dépôt » ;
  • dans la fenêtre de création :
    • sélectionnez le gestionnaire de dépôt (champ SCM), pour le moment, seuls Git, Mercurial et Subversion sont véritablement actifs,
    • cochez la boîte « Dépôt principal » ;
    • renseignez le champ « URL » :
      • pour un dépôt Git : /var/git/identifiant_projet (attention, pas de caractère souligné dans un identifiant de projet pour dépôt GIT),
      • pour un dépôt Mercurial : /var/hg/repos/identifiant_projet,
      • pour un projet Subversion : file:///var/svn/identifiant_projet ;
    • laissez vides tous les autres champs ;
    • sauvegardez.
Il est impératif que vous respectiez scrupuleusement les consignes ci-dessus pour que :
  • la création du dépôt se fasse correctement ;
  • les outils de visualisation des versions dans l'interface Redmine fonctionnent eux aussi correctement.

Le dépôt ne sera pas créé instantannément. Un programme déclenché toutes les 10 minutes assure cette tâche.

Si, au bout d'une demi-heure, vous ne pouvez toujours pas accéder au dépôt selon les modalités décrites ci-dessous, vérifiez les informations de configuration et, si le problème persiste, contactez les adminstrateurs.

Si vous souhaitez une configuration « non standard » (p. ex. des dépôts multiples) contactez les administrateurs

Utilisation d'un dépôt Subversion (SVN)

Récupération initiale du dépôt

Il est possible pour membre manager ou developper de créer l'archive subversion originelle à partir d'un répertoire existant :

svn --username $USER import <Mon répertoire>/ https://forge.cbp.ens-lyon.fr/svn/$PROJECT_ID/ -m 'Importation de la version originelle'

L'accès au dépôt s'effectue de la façon suivante :

svn --username $USER checkout http://forge.cbp.ens-lyon.fr/svn/$PROJECT_ID

Note: \$USER est le login de l'utilisateur. Il doit être membre du projet si le projet est privé. $PROJECT_ID est l'identifiant du projet.

Envoi d'un mail lors de modification dans un dépôt SVN

Il est possible qu'un mail soit envoyé à chaque membre d'un projet lors d'un commit dans le dépôt SVN. Pour activer cette fonctionnalité, en faire la demande lors de l'ouverture du projet ou ultérieurement.

En outre, dans la page Activité du projet apparait un rappel de toutes les modifications (ainsi qu'un extrait des messages de commit).

Utilisation de SVN (lorsqu'on connait CVS)

Les améliorations les plus importantes de SVN par rapport à CVS sont les suivantes :

  • Déplacer / Renommer / Supprimer les fichiers en les conservant dans l'historique
  • Support transparent des fichiers binaires
  • Modifications appliquées par projet et non plus par fichier
  • Gestion des trunk/branches/tags : Le répertoire trunk contient la version courante du projet, branches contient les "forks" éventuels du projet, tags contient des versions "gelées" du projet (release, etc.)

Les commandes usuelles :

Commande Fonction
svn checkout Rapatrie un dépôt
svn commit Applique les modifications locales
svn diff Montre les modifications entre deux révisions dans le projet
svn update Récupère les dernières modifications d'un projet
svn add/mv/rm/cp Ajoute/Déplace/Supprime/Copie un fichier
svn status Affiche le status des modifications en cours
svn revert Retourne à une version précédente d'un fichier

Plus d'information

  • La page de documentation Redmine sur les dépôts.

Utilisation d'un dépôt Git

Initialisation du dépôt

Lorsque un projet utilisant un dépôt Git a été validé, un des membres developer ou manager du projet doit activer ce dépôt en faisant le commit initial:

GIT_SSL_NO_VERIFY=true git clone https://$USERNAME@forge.cbp.ens-lyon.fr/git/$PROJECT_ID
#Ou en HTTP
#git clone http://$USERNAME@forge.cbp.ens-lyon.fr/git/$PROJECT_ID
cd $PROJECT_ID
git add .
git commit -m "Repository creation" --allow-empty
GIT_SSL_NO_VERIFY=true git push origin master

Accès au dépôt Git

  • Depuis la station d'un developer (ou d'un reporter en lecture seule), en HTTPS

Clonage du dépôt

GIT_SSL_NO_VERIFY=true git clone https://$USERNAME@forge.cbp.ens-lyon.fr/git/$PROJECT_ID

Désactivation de la vérification du certificat SSL pour de bon

git config  --add http.sslVerify false

Ensuite, utilisation usuelle de git

git pull
#modifications
git add <fichiers modifiés>
git commit
git push
  • Depuis la station d'un developer (ou d'un reporter en lecture seule), en HTTP

Clonage du dépôt

git clone http://$USERNAME@forge.cbp.ens-lyon.fr/git/$PROJECT_ID

Ensuite, utilisation usuelle de git

git pull
#modifications
git add <fichiers modifiés>
git commit
git push
  • En accès anonyme, uniquement si l'option Public du projet à été activée.

Clonage du dépôt

git clone http://forge.cbp.ens-lyon.fr/git/$PROJECT_ID

Ensuite, utilisation usuelle de git

git pull
#modifications
git add <fichiers modifiés>
git commit
#git push sera rejeté

Plus d'information

  • La page de documentation Redmine sur les dépôts.
  • La page Wikipedia sur Git

Utilisation d'un dépôt Mercurial

Accès au dépôt

  • Depuis la station d'un developer (ou d'un reporter en lecture seule), en HTTPS

Clonage du dépôt

hg clone https://$USERNAME@forge.cbp.ens-lyon.fr/hg/$PROJECT_ID

Ensuite, utilisation usuelle d'hg

hg pull
#modifications
hg add <fichiers>
hg commit
hg push
  • En accès anonyme, uniquement si l'option Public du projet à été activée.

Clonage du dépôt

hg clone http://forge.cbp.ens-lyon.fr/hg/$PROJECT_ID

Wiki

Le wiki est certainement la partie la plus importante du projet, point de concentration de tous les documents électroniques directement moissonnables par le moteur de recherche intégré.

Pour le Wiki, formatage de base et formatage étendu fournissent tout ce qu'il faut pour bien formater (la syntaxe utilisée est TexTile).

Les Wiki sont versionnés par défaut.

Intégration de pages HTML statiques

Il est possible d'intégrer des pages HTML statiques au wiki grâce au plugin Redmine Wiki HTML.

Pour cela, il faut intégrer le code HTML de la page à intégrer à l'intérieur des balises suivantes :


{{html(

.....

)}}

Le style CSS appliqué à la page hérite de celui du Wiki. Pour supprimer ce style, on peut utiliser la macro suivante (qui supprime la classe wiki des balises div):


{{html(<script>var divs = document.getElementsByTagName('div'); for (var i = 0, c = divs.length ; i < c ; i++) {if (divs[i].className=='wiki wiki-page') {divs[i].className='';};}</script>)}}

Demandes Redmine

Les demandes sont utilisées dans les projets Redmine pour permettre aux utilisateurs d'un projet de signaler des problèmes (Bug), de demander de l'aide (Support), etc, via l'ouverture de tickets.

Il est possible pour les utilisateurs membres d'un projet de recevoir un mail d'alerte lors de la création ou la modification d'un ticket (par défaut, uniquement pour ceux observés).

Pour plus d'information, ce référer à la documentation Redmine sur les demandes

Utilisation de Webdav

Webdav permet l'accès à distance aux Fichiers, aux Documents et au contenu d'un dépôt Subversion d'un fichier.

Configuration du projet pour l'activation de Webdav

  1. Activer le module Webdav :
  • Depuis l'interface de Redmine aller dans Projet, Configuration, Modules, Activer Webdav, Sauvegarder.
  1. Configurer le module :
  • Depuis l'interface de Redmine aller dans Projet, Configuration, Webdav.
  • Activer ou désactiver Fichiers/Documents/Dépôts au besoin. L'accès au dépôt ne fonctionne que pour un dépôt SVN hébergé sur le serveur.
  • Attention à désactiver Dépôt exclusif pour permettre l'accès aux Fichiers et Documents

Accès Webdav

Le partage Webdav est accessible à l'URL http://forge.cbp/redmine/webdav/$PROJECT_ID (sous nautilus, on peut faire Ctrl+L et entrer dav://forge.cbp/redmine/webdav/$PROJECT_ID pour créer un point de montage). L'accès au partage d'un projet à non membre est possible si le projet est public.

Les permissions de lecture / écriture sont respectées (écriture pour developer ou manager uniquement).