Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

M2 — Gestion de projet Redmine

APERTO-NOTA

Module M2 — Gestion de projet (Jour 2 matin — 3h30)

Prérequis : instance configurée par M1 — rôles, trackers, workflow et activités en place
Objectif : créer et piloter un projet Redmine, gérer ses membres et produire des rapports de temps


Menu : Projets → Nouveau projet

  1. Renseigner les champs Nom et Identifiant — l’identifiant est généré automatiquement à partir du nom, vérifier qu’il correspond à mon-projet

  2. Dans la section Modules, cocher : Suivi des demandes, Wiki, Documents, Suivi du temps, Fichiers

  3. Sauvegarder

Pour le sous-projet : répéter l’opération, puis dans le champ Projet parent sélectionner Formation Redmine.

Vérifier dans la liste des projets que mon-projet-batch apparaît en retrait sous mon-projet.


Menu : Projet mon-projetParamètres → onglet MembresNouveau membre

  1. Sélectionner l’utilisateur dans la liste déroulante

  2. Sélectionner le rôle correspondant

  3. Cliquer Ajouter — répéter pour les 3 comptes

Vérification par compte :

CompteCe qui doit être visibleCe qui ne doit pas l’être
cda.dupontParamètres projet, tous les tickets, tous les tempsAdministration
dev.martinSes tickets, saisie de tempsParamètres projet, gestion membres
client.durandListe des tickets, création de demandeTemps des autres, paramètres

Menu : Projet → Paramètres → onglet VersionsNouvelle version

Pour chaque version :

  1. Saisir le nom (Sprint 1, Sprint 2)

  2. Définir la date d’échéance

  3. Statut : Ouvert

  4. Sauvegarder

Vérifier via Menu : Projet → Roadmap — les 2 versions doivent apparaître avec leur date et le compteur de demandes (0 pour l’instant).


Menu : Projet → Nouveau ticket

Pour chaque demande, renseigner dans l’ordre : Tracker, Sujet, Priorité, Assigné à, Version cible.

Vérification : Menu Projet → Suivi des demandes → appliquer les filtres suivants :

  • Filtre Version = Sprint 1 → doit retourner 4 demandes

  • Filtre Tracker = Anomalie → doit retourner 3 demandes

  • Filtre Priorité = Urgente → doit retourner 2 demandes


Menu : Projet → WikiModifier (page Accueil générée automatiquement)

Contenu de la page Accueil (exemple) :

h1. Formation Redmine

Bienvenue sur le wiki du projet.

* [[Procedure-Incident|Procédure de gestion des incidents]]
* [[Contacts|Annuaire des interlocuteurs]]

Contenu de la page Procedure-Incident :

h1. Procédure de qualification d'une anomalie

h2. Étape 1 — Réception
Vérifier la complétude du signalement : environnement, reproductibilité, impact.

h2. Étape 2 — Qualification
Affecter un tracker, une priorité et une version cible.

h2. Étape 3 — Assignation
Affecter à un développeur et passer le statut en "En cours".

Contenu de la page Contacts :

| Nom | Rôle | Email |
| Dupont | Chef de projet | cda.dupont@example.com |
| Martin | Développeur | dev.martin@example.com |
| Durand | Client | client.durand@example.com |

Vérifier que le lien [[Procedure-Incident]] depuis la page Accueil est cliquable et navigue vers la bonne page.


Saisie : Menu Projet → Suivi du temps → Nouvelle entrée de temps

Pour chaque entrée : sélectionner la demande, saisir la durée (format 2 ou 2.5), choisir l’activité, ajouter un commentaire optionnel.

Résultats attendus après filtrage :

FiltreRésultat attendu
Activité = Développement2h sur “Erreur 500”
Activité = Support / Assistance0,5h sur “Réinitialisation MDP”
Version = Sprint 12,5h (Erreur 500 + Réinitialisation MDP)
Utilisateur = dev.martinTotal des 3 entrées = 3,5h

Exercices avancés


Menu : Projet → Suivi des demandes → section FiltresAjouter un filtre

Anomalies urgentes Sprint 1 :

  • Tracker → est → Anomalie

  • Priorité → est → Urgente

  • Version → est → Sprint 1

  • Statut → n’est pas → Fermé

Cliquer Appliquer, puis Sauvegarder → saisir le nom → cocher PublicSauvegarder.

Vérification : se connecter avec dev.martin → Projet → Suivi des demandes → le filtre public doit apparaître dans la liste déroulante des requêtes sauvegardées.


Passage en Résolu : se connecter avec dev.martin → ouvrir la demande → modifier le statut → Sauvegarder.

Passage en Fermé : se connecter avec cda.dupont → ouvrir la demande résolue → modifier le statut → Sauvegarder.

Lecture de la Roadmap :

  • La barre de progression = (demandes fermées / total demandes de la version) × 100

  • Avec 1 demande fermée sur 4 du Sprint 1 → 25%

  • Les demandes encore ouvertes sont listées sous la barre

Lecture du Gantt :

  • Chaque demande apparaît comme une barre horizontale positionnée entre sa date de création et son échéance de version

  • Le Sprint 2 apparaît si ses demandes ont une date d’échéance définie


Réponse attendue à l’étape 2 (création version) :

{
  "version": {
    "id": 3,
    "project": {"id": 1, "name": "Formation Redmine"},
    "name": "Sprint 3",
    "status": "open",
    "due_date": "2026-07-31"
  }
}

L’id retourné (ici 3) est à utiliser aux étapes 4 et 5.

Étape 4 — remplacer ID_SPRINT3 par 3 et ID_DEMANDE par l’id d’une demande existante :

curl -X PUT `
     -H "X-Redmine-API-Key: VOTRE_CLE_API" `
     -H "Content-Type: application/json" `
     -d "{\"issue\": {\"fixed_version_id\": 3}}" `
     http://localhost:3000/issues/5.json

Étape 5 — récupérer l’id du Sprint 1 via l’étape 3, puis fermer :

curl -X PUT `
     -H "X-Redmine-API-Key: VOTRE_CLE_API" `
     -H "Content-Type: application/json" `
     -d "{\"version\": {\"status\": \"closed\"}}" `
     http://localhost:3000/versions/1.json

Vérification : Menu Projet → Paramètres → Versions — le Sprint 1 apparaît en statut “Fermé” et n’accepte plus de nouvelles demandes.

Erreurs fréquentes :

  • 422 sur la fermeture de version → des demandes ouvertes sont encore affectées à cette version

  • 404 sur /versions/ID → l’id est incorrect, vérifier via versions.json