FAQ

Qui contacter en cas de question sur la forge ?

Privilégier l'utilisation du forum ; ce forum est lisible par les autres utilisateurs, et d'autres se posent probablement la même question que vous. Vous devez être connecté pour pouvoir écrire dans le forum. Vous pouvez également contacter les administrateurs de la forge à l'adresse suivante : . N'oubliez pas de voir les tutoriels et présentations qui exposent les opérations élémentaires sur la forge DGA (s’enregistrer, créer un nouveau projet, etc.).

Comment signaler des comportements anormaux de la forge ou demander des nouvelles fonctionnalités ?

Il vous suffit de créer une nouvelle demande dans le projet Documentation Forge : lien direct

Quelle est la visibilité de la forge DGA ?

La forge est librement accessible sur l'ensemble du web. Seul les projets "publics" sont présentés aux visiteurs (voir question plus bas pour connaitre la différence entre un projet public et un projet privé).

Qui peut s'enregistrer sur la forge ?

Les utilisateurs du monde entier peuvent s'inscrire sur la forge. La seule limitation est que le porteur de chaque projet soit un membre du département de génétique animale de l'INRA.
Regarder un didacticiel vous aidant à créer votre compte.

Qu'est-ce que l'identifiant LDAP ?

Si vous travaillez au CTIG, vous avez (très probablement) un identifiant LDAP qui vous sert à vous connecter sur dga12, dga11 ou dga14. C'est cet identifiant qu'il faut utiliser pour vous connecter sur la forge. Si vous avez perdu votre mot de passe ou que votre compte est verrouillé, il faut envoyer un mail à et .

Comment formater le wiki ?

Quelques commandes de formatage sont disponibles sous formes d'icônes, au dessus du cadre de texte. Pour les formatages plus complexes, une page existe ici
Plus globalement, l'ensemble du formatage Textile est disponible.

Puis-je stocker sur la forge mes scripts et petits morceaux de code personnels, non diffusables ?

Tout à fait. Il suffit de créer un projet privé (voir ci-dessous). Une suggestion est de créer un projet privé "scriptsLOGIN", puis, créer autant de projets (privé) que nécessaire en tant que sous-projet du projet "scripts".
Remarque : il ne peut y avoir deux projets, même privé, ayant le même nom dans l'ensemble de la forge.
Remarque 2 : Seuls les projets ayant un intérêt pour le département de Génétique Animale de l'INRA sont autorisés.

Comment créer un nouveau projet ?

  • La création de projet se fait en cliquant sur le lien "nouveau projet" en haut à droite sur la page "Projet".
  • Il suffit ensuite de renseigner les informations nécessaires au projet (en suivant les indications) puis sauvegarder.
  • Une fois le projet créé , vous pouvez modifier ses paramètres en lui ajoutant/retirant des modules, ceci se fera en cliquant sur le lien configuration (en haut à droite de l'interface).
  • Attention, ce lien n'apparaît que si vous avez les droits de manager sur le projet
    Remarque importante : Si vous voulez disposez d'un dépôt (svn), il suffit de le choisir dans le menu déroulant nommé SCM. Ne rien renseigner dans l'onglet "dépôt".
    Regarder un didacticiel vous aidant dans vos premiers pas.

Quel est la différence entre un projet public et un projet privé ?

  • Un projet privé n'apparaît pas dans la liste des projets de la forge. Tout ce qui le concerne (fichier, dépôt, wiki, demandes, etc.) n'est accessible que par les personnes explicitement affectées au projet, en écriture comme en lecture.
  • Un projet public apparaît dans la liste des projets de la forge (même pour les visiteurs non enregistrés). Ce qui le concerne, excepté le dépôt svn, est accessible en lecture à tout le monde. Les membres du projet ont accès aux différentes ressources du projet en lecture et écriture (modification du wiki, formuler de nouvelle demande, etc.).

Comment faire apparaître le nom et la description du projet publiquement sur la forge mais pas le reste ?

  • Créer un projet public qui ne contiendra que le titre du projet et sa description. Ajouter les membres si vous le désirez. Ce projet fera office de "vitrine publique" et sera listé publiquement.
  • Ensuite, créer un projet similaire mais privé cette fois, et configurer le pour qu'il soit un sous-projet du projet public tout juste créé. Ce projet privé contiendra l'activité du projet, seulement accessible à ses membres.

Comment protéger le code source de mes projets publics ? Le diffuser sous licence...

Un bon moyen de protéger du code source, développé dans le cadre d'un projet de recherche, par exemple, est de le diffuser sous les termes d'une licence libre. C'est simple à réaliser et cela permet de faire savoir publiquement que ce code ne peut pas être utilisé dans n'importe quelle condition. Plusieurs licences sont disponibles en France, comme la licence GNU v3 , la licence CeCILL v2 , ou la licence Apache v2.0.

Chacune d'entre elles garantit des libertés ou des contraintes d'utilisation.

Voici un tableau qui résume certaines spécificités pour les licences les plus utilisées.

Licence/Action Mix avec du code non libre Modifications secrètes Tout le monde peut changer la licence Privilèges Accordés aux détenteurs concernant les modifications Compatible GPL Copyleft Langue Officielle
GPL V2 Non Non (Distribution) Non Non Oui Oui EN
LGPL Oui Non (Distribution) Non Non Oui Oui EN
BSD Oui Oui Non Non Non Non EN
MPL Oui Oui Non Non Non Oui, mais relative EN
CeCILL V2 Non Non Non Non Oui Oui FR/EN
Apache V2 - Oui - - Officieuse, prévoir la double licence Non EN
Domaine Public Oui Oui Oui Non Oui Non N/A

Ce tableau a été copié sur le site http://free.korben.info/index.php/Les_Diff%C3%A9rentes_Licences

Pour retrouver une information presque exhaustive sur les licences, rendez-vous sur le site http://www.gnu.org/licenses/license-list.fr.html

Comment ajouter des contributeurs à mon projet ?

Les contributeurs doivent au préalable se créer un compte sur la forge (soit en cliquant sur "s'enregistrer" en haut à droite, soit en utilisant l'identifiant LDAP du CTIG s'il en possède un). Ensuite, cliquer sur l'onglet "configuration" de votre projet, puis sur l'onglet "Membres". La liste des membres de la forge apparaît à droite ; sélectionner la (ou les) personne(s) et cliquer dans les cases correspondant à son rôle dans le projet, et cliquer finalement sur "ajouter"

Comment supprimer des contributeurs à mon projet ?

Cliquer sur l'onglet "configuration" de votre projet, puis sur l'onglet "Membres". Cliquer ensuite sur "supprimer" (à côté de modifier) correspondant à chaque membre à retirer du projet. Attention : il se peut que "supprimer" n'apparaissent pas. Dans ce cas, vérifier que vous n'avez pas coché "hériter les membres" dans le cas d'un sous-projet (dans Configuration->Informations) ou encore que vous n'ayez pas inclus le membre au projet via son appartenance à groupe.

Quels sont les différents droits associés au 5 rôles sur la forge ?

La forge donne des droits différents en fonction du rôle qu'à un utilisateur dans un projet. Il existe actuellement 5 rôles : manager, développeur, rapporteur, non membre, et anonyme. Non-membre correspond aux utilisateurs de la forge qui sont connectés ("loggués") mais qui ne sont pas membre du projet qu'ils consultent. Anonyme correspond à un utilisateur qui n'est pas connecté sur la forge (un visiteur).
Les droits associés à chacun de ces rôles sont détaillés sur cette page.

A quoi servent les "annonces" ?

Les annonces permettent de mettre en avant une nouveauté dans le projet, à destination des visiteurs de la page du projet. Cette annonce sera affichée sur la page principale du projet et sur la page principale de la forge.
Annonces classiques : "Sortie de la nouvelle version de mon_prog (version 0.0.8). Vous pouvez la télécharger à partir de l'onglet "Fichiers"." Les annonces sont toutes regroupées sur une page dédiée : https://forge-dga.jouy.inra.fr/news.

Comment supprimer un projet ?

Seul les administrateurs de la forge peuvent supprimer un projet. Pour supprimer un projet, il suffit d'en faire la demande.

Où puis-je trouver une aide complète sur la forge ?

La forge utilise redmine. Une aide complète est disponible ici : http://www.redmine.org/guide#User-guide

Je reçois trop de mail ! Comment le régler ?

Deux possibilités :
  • Vous pouvez modifier votre degré d'alerte mail dans les paramètres de votre compte. Cliquer sur Mon compte (en haut à droite). Vous pouvez déjà cliquer sur la case "Je ne veux pas être notifié des changements que j'effectue" ce qui aura pour effet de ne pas vous envoyer de mails pour ce qui concerne vos propres modifications. Vous pouvez également choisir l'option que vous voulez dans le menu déroulant. Une autre possibilité est d'utiliser les flux RSS/Atom et de supprimer les alertes mails (voir la question ci-dessous : "Comment suivre les nouveautés sur la forge ?" pour plus de détails).
  • Informer la personne qui fait les modifications entrainant l'envoi de mail ("manager" et "developper") qu'il existe la possibilité d’interrompre momentanément l'envoi de mail (pour des modifications mineures par exemple). Il suffit pour lui de cliquer sur Enable Stealth mode (en haut à droite) pour qu'aucun mail ne soit plus envoyé. A tout moment, il est possible de réactiver l'envoi de mail en cliquant sur "Disable Stealth mode". Cette fonctionnalité est une sorte d’interrupteur.
    Attention aux oublis : plus aucun mail n'est envoyé lorsque cette option est activée, y compris les interventions sur les "demandes/tickets".

En savoir plus (en anglais) : http://teleological.github.com/redmine-stealth-plugin/

Quels sont mes droits et devoirs en utilisant cette forge ?

Consulter la page droits et devoirs des utilisateurs pour la relire. Vous avez dû accepter ces conditions pour utiliser la forge.

Utilisation avancée - Trucs et astuces

Comment fermer une demande/ticket en faisant un simple commit svn ?

Vous pouvez fermer une demande/ticket sans même vous connecter sur la forge. Pour cela, il suffit d'indiquer dans le message du commit svn qui résout la demande, "closes #XXX" ou XXX est le numéro de la demande/ticket concerné. Par exemple :

Modification de la fonction maFonc pour implémenter la fonctionnalité demandée en refs #23
Ce commit closes #23

Remarque : les changements ne seront visibles dans la liste de demande que lorsqu'une personne du projet aura cliqué sur le navigateur de dépôt.

Comment suivre les nouveautés sur la forge ?

Si vous ne voulez pas vous rendre tous les jours sur la forge pour voir les nouveautés, mais que vous êtes intéressés à les suivre, sachez que la forge gère des flux Atom (type flux RSS) dans de nombreux endroits. Si vous utilisez un agrégateur de flux (par exemple : netvibes ou Google Reader), cette fonctionnalité permet de suivre spécifiquement les nouveautés associées à une fonctionnalité ; vous pouvez par exemple suivre les évolutions des demandes d'un projet particulier, ou encore l'ensemble des annonces de tous les projets de la forge. Vous pouvez également vous abonner à un flux à l'aide de votre client de messagerie (exemple pour thunderbird) ou votre navigateur.

Subversion (SVN)

Comment créer un dépôt sous subversion ?

Vous pouvez le faire à la création du projet (cf. question ci-dessus). Pour cela, il suffit de choisir "Subversion" dans SCM dans la page de création de votre projet. Votre dépôt est instantanément créé.

Ce dernier sera alors visible depuis l'onglet dépôt de Redmine. L'adresse du dépôt svn s'appelle par défaut :
https://forge-dga.jouy.inra.fr/svn/nomduprojet.

Ce dépôt créé, il vous restera à le remplir par des importations svn. Ainsi pour importer par exemple un dossier à mettre sous contrôle de version on exécutera la commande :

svn import Dossier https://forge-dga.jouy.inra.fr/svn/projet -m "Import initial" 
Notes :
  • L'option -m permet d'associer à l'importation un message informatif
  • Par défaut, les fichiers à mettre sous contrôle de version ne devront pas dépasser 50 Mo (par fichier)

Attention : le répertoire que vous avez importé n'est pas encore sous contrôle de version. Avant toute chose, commencer par extraire une copie de travail du dépôt subversion, et travailler sur cette copie. Vous pouvez alors supprimer le répertoire que vous avez importé.

svn co https://forge-dga.jouy.inra.fr/svn/projet
ou
svn co https://forge-dga.jouy.inra.fr/svn/projet/trunk

Comment organiser des sources dans un dépôt sous subversion ?

Subversion permet de centraliser les sources de vos applications sur un dépôt distant.
vous disposez d’une copie locale de vos sources sur votre pc, et une copie sur le dépôt, qui sont synchronisés à la demande.

Voici une proposition d'architecture classique des répertoires du dépot SVN :

  • trunk : le tronc, dernière version en développement de l'application
  • branches : versions dérivées de la version trunk et/ou des versions tags
  • tags : versions figées de l'application avec un accès seulement en écriture.

Voici un exemple si votre logiciel est en production :
Vous développez une version 2.0 (modification des sources dans trunk) et vous devez faire un correctif
sur la version 1.0 qui est en production. Vous créez une branche branches/1.0.1 à partir de la version tag/1.0.0
et vous travaillez sur cette branche.

exemple d'architecture d'un dépôt https://forge-dga.jouy.inra.fr/svn/monprojet :

  • trunk
    • src
      • main.f90
    • README
    • Makefile
  • branches
    • 1.0.1
      • src
        • main.f90
      • README
      • Makefile
  • tags
    • 1.0.0
      • src
        • main.f90
      • README
      • Makefile

créer un tag : svn copy https://forge-dga.jouy.inra.fr/svn/monprojet/trunk https://forge-dga.jouy.inra.fr/svn/monprojet/tags/1.0.0 -m "TAG 1.0.0"
créer une branche : svn copy https://forge-dga.jouy.inra.fr/svn/monprojet/tags/1.0.0 https://forge-dga.jouy.inra.fr/svn/monprojet/branches/1.0.1 -m "BRANCHE 1.0.1"

Comment utiliser subversion ?

  • Dans son utilisation courante svn s'utilise en faisant des :
  • checkout (Rapatriement en local de la dernière version des fichiers sous contrôle de version) par la commande suivante
svn co https://forge-dga.jouy.inra.fr/svn/nomduprojet

où nomduprojet est le nom du dépôt subversion.
Remarque : le nom du dépôt est l'identifiant du projet, que vous pouvez retrouver dans l'onglet "configuration" de votre projet puis le champ "identifiant".

Vous pouvez également ne récupérer qu'un sous répertoire, ou même un seul fichier, simplement en ajoutant le chemin complet. Par exemple :

svn co https://forge-dga.jouy.inra.fr/svn/nomduprojet/RELEASES/0.0.8/monfichier.cpp

  • commit (Mise à jour sur le dépôt d'une nouvelle version des fichiers) par la commande suivante :
svn commit

Cette commande met à jour le dépôt avec toutes les modifications du répertoire dans lequel vous vous trouvez, ainsi que ses sous répertoires.
Remarque : Si vous avez créer des nouveaux fichiers à inclure dans le dépôt, n'oubliez pas de les ajouter à l'aide de la commande svn add NomFicher avant de faire le commit.

Notes :

  • Les mots de passe/login à utiliser pour SVN sont ceux de cette forge DGA.
  • Il ne faut pas créer de dépôt SVN, ni renseigner quoi que ce soit dans l'onglet de configuration de votre projet. Une procédure automatique tourne toute les heures qui crée un dépôt et l'ajoute à la forge pour les projets nouvellement crées.

Pour une information plus détaillée en français sur subversion voir ce lien http://svnbook.red-bean.com/index.fr.html

Problèmes possibles liés à subversion

Je ne peux pas récupérer (par un check out) les sources d'un dépôt, svn me renvoie des messages d'erreurs

Si vous recevez un message tel que :

Domaine d'authentification : <https://forge-dga.jouy.inra.fr:443> Redmine SVN Repository
Mot de passe pour "user" :

ou

svn: La réponse à OPTIONS n'inclut pas le 'activity-collection-set' demandé ; Cela signifie souvent que l'URL n'est pas WebDAV

ou encore

svn: OPTIONS de 'https://forge-dga.jouy.inra.fr': 200 OK (https://forge-dga.jouy.inra.fr)

Il est possible que vous ne soyez pas autorisé à accéder au dépôt , assurez-vous .:
  1. Que l'adresse du dépôt est correcte (que vous n'essayez pas d'atteindre un dépôt inexistant)
  2. Si c'est votre première connexion que vous avez bien rentré le bon mot de passe (attention au NumLock ou MAJ)
  3. Que vous avez accès au dépôt (vous devez être au moins rapporteur du projet auquel vous tentez d'accéder)

Je n'arrive pas à commiter un fichier

Si vous n'arrivez pas à commiter un fichier et que vous recevez une erreur de type 413

413 Request Entity Too Large

Vous essayez de soumettre un fichier de taille supérieurs à 50 Mo. Dans la mesure du possible, vous devriez éviter de mettre sous contrôle de version des fichiers de trop grosse taille, puisqu'il ne s'agit pas de la vocation d'une forge.

Git

Cas particulier d'utilisation sur le serveur genotoul, situé sur le centre de Toulouse : avant toute utilisation de git, taper la commande 'module load system/git-2.12.2' (qui change la version par défaut de git).

Comment créer un dépôt avec Git ?

Vous pouvez le faire à la création du projet. Pour cela, il suffit de choisir "git" dans SCM dans la page de création de votre projet. Votre dépôt est instantanément créé.

Ce dernier sera alors visible depuis l'onglet dépôt de Redmine. L'adresse du dépôt git s'appelle par défaut :
https://forge-dga.jouy.inra.fr/git/nomduprojet.git

Attention :
  • si votre projet est privé, il faudra renseigner un user pour l'afficher dans la forge, pour cela aller dans configuration, dépôt et utilisateur.
  • si votre projet est privé, il faut avoir le rôle de développeur pour modifier le "dépôt" (manager ne suffit pas). Voir demande n° #4548
  • que vous créiez un ou plusieurs dépôts dans votre projet, il est indispensable de laisser les noms de dépôts par défaut sous peine de ne pas pouvoir y accéder.

Comment cloner un dépôt git ?

Pour cloner le dépôt sur une machine il faut connaitre son login LDAP et le nom du projet :

git clone https://login@forge-dga.jouy.inra.fr/git/nomduprojet.git

Comment ajouter un fichier dans un dépôt git ?

Une fois le dépôt cloné, il faut se placer dans le dossier (cd /projetgit). Ensuite créer un ou plusieurs fichiers, puis les ajouter dans le dépôt avec la commande suivante :

git add file.txt

Comment faire un commit avec git ?

Dans un dépôt git existant, après avoir ajouté, modifié ou supprimé des fichiers, il faut entrer la commande suivante :

git commit -m "Message"

Pour envoyer les modification sur le serveur distant il faut faire un "push". Git fonctionne avec des branches, la branche par défaut est la branche "master", pour faire un "push" sur la branche master il faut utiliser la commande suivante :

git push

Pour faire un push sur toutes les branches on peut ajouter l'option --all.

git push --all

Toute la documentation git est disponible à l'adresse : https://git-scm.com/docs
Sans oublier le classique "git - petit guide - no deep shit" en français