Documentation Fonctionnelle

Vous trouverez ici toute la documentation fonctionnelle (c'est-à-dire non technique) de Project Web Manager.

 Se connecter

Pour se connecter il faut se rendre sur la page de login de Project Web Manager.

On la trouve sur l'url (ex: https://projectwebmanager.com/pwm/logon) :
https://[NomDuServeur]:[PortDuServeur]/pwm/logon

  • NomDuServeur représente le nom du serveur (ou l'adresse IP) qui héberge le serveur d'application Web.
  • NomDuServeurPortDuServeur représente le numéro de port du serveur web qui héberge le serveur d'application Web. Il peut être vide selon la configuration technique choisit.
  • pwm représente le nom du contexte applicatif défini dans lors du déploiement du WAR. Par défaut c'est pwm mais cette information peut être modifiée lors de l'installation.

Tout utilisateur dans un état Disponible () peut se connecter sur l'application. C'est l'état par défaut lors de la création d'un utilisateur.

Tout utilisateur dans un état Supprimé () ou Désactivé () ne pourra plus se connecter.


Trois informations sont nécessaires à la connexion d'un utilisateur :
  • Son login : choisit lors de sa création et modifiable uniquement par un administrateur
  • Son mot de passe : choisit lors de sa création et modifiable par lui-même ou un administrateur
  • Sa clef de domaine : choisit lors de sa création et non modifiable

Quand toutes les informations sont saisies, l'utilisateur peut appuyez sur la touche entrée de son clavier ou cliquez sur le bouton .

Attention : après 5 tentatives ratées, l'utilisateur ne pourra plus se connecter du tout durant les 2 minutes qui suivent (ses paramètres sont modifiables).

 Se Dé-connecter

La durée de vie d'une session est défini dans un fichier de configuration (web.xml), par défaut elle est de 90 minutes d'inactivités.

Si l'utilisateur souhaite se déconnecter volontairement il lui suffit de cliquer sur l'icône qui se trouve en haut à droite de son écran.

 Oublie de mot de passe

Si l'utilisateur ne se rappelle plus de son mot de passe ou de son login, il peut :
  • Contacter son administrateur PWM par mail pour lui demander de lui renvoyer ses informations.
  • A partir de la page de connexion, cliquer sur le lien J'ai oublié mon mot de passe.

Dans le second cas, il lui suffira de fournir son login ou son email ainsi que sa clef de domaine pour recevoir automatiquement ses identifiants par email.

 Définition d'un Domaine

Un Domaine est un regroupement de plusieurs éléments :
  • des services
  • des utilisateurs
  • des projets
  • des tâches

Un domaine est un vase clos, il n'y a aucune communication entre deux domaines, aucun partage d'information n'est possible entre eux

Il est défini par une licence qui précisera les informations suivantes :
  • Sa clef d'identification : utilisée par les utilisateurs pour se connecter. Cette clef est un chiffre.
  • Une date de début et une date de fin de validité : hors de ses dates tous les éléments du domaine ne sont plus accessibles, aucun utilisateur ne pourra se connecter
  • Un nombre d'utilisateur : arrivé à ce chiffre, il ne sera plus possible de créer des utilisateurs.

 Gestion d'un Domaine

La gestion d'un domaine est la responsabilité du super administrateur.

Elle se fait à partir de la console d'administration. De là, le SA peut ajouter un nouveau domaine ou modifier un domaine existant.

Note : Il n'y a pas à proprement parlé de suppression de domaine, le domaine est actif ou inactif en fonction des dates de début et de fin associées à sa licence.
Toutes les informations liées à un domaine restent physiquement dans la base de données tant que personne ne les efface.

 Définition d'un Service

Un Service est un regroupement d'utilisateurs. Un service fait partie d'un domaine.

Un Service se définit par son nom. On peut y ajouter une description ainsi qu'une localisation géographique. Comme indiqué précédemment, un service est un regroupement d'utilisateurs, chacun pouvant avoir un ou deux rôles au sein du service.

Il est représenté par l'icône

 Création d'un Service

Seuls les utilisateurs qui ont un rôle d'administrateur peuvent créer des services.

Pour créer un service, il suffit d'utiliser le menu Service en haut à gauche du tableau de bord et de cliquer sur l'icône .

Il faudra spécifier :
  • Obligatoirement un nom (ou titre/libellé) qui devra être unique sur tout le domaine
  • Accessoirement une description et une localisation géographique (bureau, bâtiment, ...)
  • Un ensemble d'utilisateurs qui auront un rôle soit
    • d'administrateur du service, aussi appelé chef de service et représenté par l'icône .
    • de membre représenté par l'icône

Vous pouvez indiquer un coût par heure pour chaque utilisateur. Cette valeur sera celle affichée par défaut quand une équipe de projet sera constituée. Cette valeur pourra être modifiée lors de la création de l'équipe projet.

Un chef de service est aussi obligatoirement un membre de ce dernier.

Un service doit avoir au moins un chef.

Lors de sa création un service est automatiquement dans l'état Disponible (), c'est-à-dire qu'il est opérationnel.

 Définition des rôles dans un Service

Le rôle d'un utilisateur dans un service est représenté par les deux icônes suivants :
  • : pour un utilisateur qui est membre du service. Il peut participer aux projets de cette dernière.
  • : pour un utilisateur qui est chef du service. Il peut créer des projets et modifier la composition de son service.

Important : Notez bien que seuls les chefs de services pourront créer des projets standards.

 Etat d'un Service

Lors de l'édition d'un service, un administrateur ou un chef de service pourra modifier l'état de ce dernier.

Un service peut être dans les états suivants :
  • le service est disponible, dans cet état il sera visible sur l'affichage lors de la création d'un projet.
  • le service est désactivé, dans cet état il ne sera pas visible sur l'affichage lors de la création d'un projet.
  • le service est supprimé, dans cet état, les liens qui le lie à un utilisateur seront rompus et il ne sera pas visible sur l'affichage lors de la création d'un projet.

Attention : Même si un service peut passer de l'état supprimé () à celui de disponible (), tous les rôles utilisateurs (, ) seront perdus.

 Gestion d'un Service

Un administrateur peut modifier n'importe lequel des services du domaine.

Un chef de service peut modifier le service pour lequel il a ce rôle.

C'est-à-dire qu'il peut :
  • Ajouter ou supprimer un rôle utilisateur ou .
  • Changer le nom du service, sa description, sa localisation.
  • Modifier le coût horaire des membres du service.

Rappel : un service doit avoir un nom unique pour toute le domaine, de plus, il doit avoir au moins un chef (un utilisateur avec le rôle )

Cas où un utilisateur est retiré d'un service auquel est rataché un projet :

  • Si cet utilisateur fait partie d'autre service, alors les projets où il avait un rôle seront ratachés automatiquement à un autre service. Ses rôles dans les projets sont donc concervés.
  • Si cet utilisateur ne fait plus partie d'autre service, alors tous ses rôles dans les projets associés à son ancienne unité seront automatiquement supprimés. Il n'apparaitra plus dans l'équipe projet. Mais, toutes les tâches qui lui sont assignées lui restent assignées tant qu'il ne les termine pas ou que quelqu'un ne les réassigne.

 Recherche d'un Service

Seul un administrateur peut faire des recherches afin de retrouver un service. Il lui suffit d'utiliser l'icône qui se trouve dans la section Service () en haut à gauche du tableau de bord.

Lors de l'affichage du résultat de la recherche, il suffit de cliquer sur un élément pour en afficher le détail.

Depuis la version v1.2.x, si vous cliquez sur un numéro de téléphone, cela lancera une application de téléphonie (si vous en avez d'installé sur votre appareil).

 Définition d'un Utilisateur

Un Utilisateur est une personne physique qui peut se connecter à Project Web Manager et interagir avec.

Il peut avoir des rôles plus ou moins importants dans les services ou les projets.

On peut lui affecter des tâches, s'il a un rôle dans un projet.

Il est représenté par l'icône

 Etats d'un Utilisateur

Un administrateur, lors de l'édition d'un utilisateur, peut modifier l'état de ce dernier de la manière suivante :
  • l'utilisateur est disponible, dans cet état il sera visible et pourra se connecter à PWM.
  • l'utilisateur est désactivé, dans cet état il n'est pas toujours visible et ne pourra pas se connecter. Tous ses projets et ses tâches lui restent assignées.
  • l'utilisateur est supprimé, dans cet état il n'est pas toujours visible, il ne pourra pas se connecter, mais en plus tous ses projets personnels seront supprimés et les tâches qui lui sont assignées seront réaffectées. Tous les rôles qu'il possède vis-à-vis d'un projet ou d'un service sont supprimés.

Attention : Même si un utilisateur peut passer de l'état supprimé () à celui de disponible (), tous les rôles liés aux services (, ), aux projets (, , , , , , ), les liens avec ses tâches, ses projets personnels seront perdus.

 Définition des rôles de l'utilisateur dans un Service

Lors de la création d'un utilisateur, un administrateur peut définir ses liens avec zéro où plusieurs services.

Ses liens ne sont plus modifiables lors de l'édition de l'utilisateur, cependant ils le sont lors de l'édition du service.

Le rôle d'un utilisateur dans un service est représenté par les deux icônes suivants :
  • : pour un utilisateur qui est membre du service. Il peut participer aux projets de cette dernière.
  • : pour un utilisateur qui est chef du service. Il peut créer des projets et modifier la composition de son service.

 Définition des rôles de l'utilisateur dans un Projet

Lors de la création d'un projet, un administrateur ou un chef de service peut définir ses liens avec zéro où plusieurs utilisateurs.

Le rôle d'un utilisateur dans un projet est représenté par les icônes suivants :
  • : représente un chef de projet. Important: il aura tous les droits sur le projet.
  • : représente un client.
  • : représente un architecte.
  • : représente un intégrateur.
  • : représente un développeur.
  • : représente un analyste.
  • : représente l'auteur du projet.

Seul le chef de projet pourra modifier le projet, mais tous les autres pourront, s'ils le souhaitent, ajouter des tâches au projet.

Seuls les utilisateurs qui ont un rôle dans le projet pourront se voir affecter une tâche.

 Privilèges d'un Administrateur

Un administrateur est un utilisateur normal qui a les droits maximum sur tous les éléments du domaine qui ne sont pas personnels (projets, tâches).

Il peut :
  • Créer* / éditer / Rechercher un utilisateur
  • Créer* / éditer / Rechercher* un service
  • Créer / éditer / Rechercher un projet
  • Créer / éditer / Rechercher une tâche

* : signifie que lui seul peut faire cela.

Un utilisateur qui a les droits d'administrateur ne peut pas être supprimé (), il peut cependant être désactivé ().

Il sera aussi visible dans une liste nominative qui s'affiche au niveau des préférences de chaque utilisateur. Ceci afin qu'il soit joignable par mail ou téléphone en cas de problème.

Il est préférable de regrouper tous les utilisateurs qui sont administrateurs dans le service créé à cet effet.

Il est très fortement déconseillé de donner ce rôle à tous les utilisateurs.

Attention : Un administrateur n'est pas gestionnaire du domaine ou super utilisateur, il est simplement rattaché à un domaine sur lequel il a les pleins pouvoirs.

 Préférences liés à un Utilisateur

Chaque utilisateur peut modifier ses préférences, il suffit d'utiliser le menu Préférence en haut à droite du tableau de bord.

Notez que la quasi totalité des options auront une influence (bonne ou mauvaise) sur la vitesse d'affichage des écrans, plus l'utilisateur veut voir de choses plus l'affichage sera lent.

 Création d'un Utilisateur

Seuls les utilisateurs qui ont un rôle d'administrateur peuvent créer des utilisateurs. Le premier utilisateur (qui est un administrateur) est créé lors de la création du domaine (cette action est réalisée par le super utilisateur).

Pour créer un utilisateur, il suffit d'utiliser le menu Utilisateur en haut à gauche du tableau de bord et de cliquer sur l'icône .

Il faudra spécifier :
  • Obligatoirement un login et un email qui devront être unique sur tout le domaine ainsi qu'un mot de passe
  • Si des services existent, l'utilisateur pourra y jouer l'un des rôles suivants :
    • : administrateur du service, aussi appelé chef de service.
    • : membre du service.
  • Vous pouvez indiquer un coût par heure pour chaque service/utilisateur. Cette valeur sera celle affichée par défaut quand une équipe de projet sera constituée. Cette valeur pourra être modifiée lors de la création de l'équipe projet.
Lors de sa création :
  • un utilisateur est automatiquement dans l'état Disponible (), c'est-à-dire qu'il est opérationnel, il peut se connecter.
  • un email lui sera envoyé avec ses identifiants (login, mot de passe, clef de domaine).

 Modification d'un Utilisateur

Un administrateur peut modifier n'importe lequel des utilisateurs du domaine.

Un utilisateur peut modifier toutes les informations qui le concernent sauf :
  • son état (sauf s'il est administrateur),
  • sa date de première et dernière connexion,
  • les services où il a un rôle (sauf s'il est chef de service et uniquement à travers l'édition d'un service)
  • les projets où il a un rôle (sauf s'il est chef de service ou chef de projet et uniquement à travers l'édition d'un projet)

 Recherche d'un Utilisateur

Tous les utilisateurs peuvent faire des recherches afin de retrouver un utilisateur. Il lui suffit d'utiliser l'icône qui se trouve dans la section Utilisateur () en haut à gauche du tableau de bord.

Lors de l'affichage du résultat de la recherche, il suffit de cliquer sur un élément pour en afficher le détail.

Seuls les utilisateurs en relation avec (via les projest ou les services) celui qui fait la recherche seront visibles.

Depuis la version v1.2.x, si vous cliquez sur un numéro de téléphone, cela lancera une application de téléphonie (si vous en avez d'installé sur votre appareil).

 Définition d'un Projet

Un Projet est un regroupement de tâches, il se compose d'un libellé et d'une description. Il aura une date de début et une date de fin supposée, une date réelle de début et de fin.

Quand des tâches seront associées au projet, vous pourrez voir des informations complémentaires issues d'un calcul reposant sur les informations associées aux tâches.

Un projet est représenté par l'icône .

Un utilisateur peut avoir des rôles plus ou moins importants durant la durée de vie d'un projet.

En fonction du rôle de l'utilisateur au sein de son service, il lui sera possible de créer des projets normaux ou personnels.

  • Coût estimé : pour vous, ce projet va/doit coûter cette valeur.
  • Coût estimé calculé : somme de tous les coûts estimés des tâches du projet (pour une tâche non terminée = personne assignée * temps estimé, pour une tâche terminée = coût final).
  • Coût réel calculé : le vrai coût actuel calculé, equivalent à la somme de tous les coûts réels de chaque tâche (pour une tâche = temps passé * coût personnes assignées).
  • Coût Final : par défaut, le coût réel calculé quand le projet a atteind l'état terminé.

 Particularités d'un projet normal

Seuls les utilisateurs ayant un rôle de chef de service () peuvent créer des projets normaux.

Lors de sa création, il faudra définir un ensemble d'utilisateurs qui participeront au projet, ils feront tous partie du ou des services dans lequel l'auteur du projet est un chef de service.

Chaque utilisateur qui participe au projet peut avoir un ou six rôles au sein du projet.

Les projets normaux sont accessibles à tous les participants ainsi qu'aux utilisateurs qui sont administrateurs.

L'auteur d'un projet normal aura un rôle de chef de projet. Ce dernier peut lui être retiré lors de l'édition du projet.

L'état par défaut d'un projet normal (c.a.d celui juste après sa création) est disponible . Il n'est PAS démarré.

Le coût horaire est fixé pour chaque membre de l'équipe projet.

 Particularités d'un projet personnel

Tous les utilisateurs peuvent créer des projets personnels.

Lors de sa création, l'utilisateur auteur du projet aura tous les rôles au sein du projet. Aucun autre utilisateur ne pourra participer au projet.

Toutes les tâches qui sont associées à un projet personnel sont aussi notées comme personnelles.

Les projets personnels ne sont accessibles qu'à son auteur, même un administrateur ne peut pas y accéder.

Un projet personnel est annoté par l'icône .

L'état par défaut d'un projet personnel (c.a.d celui juste après sa création) est démarré .

Le coût horaire est fixé pour chaque projet personnel, dans l'écran de définition principal de ce dernier.

 Etats d'un Projet

Lors de la création d'un projet, ce dernier sera toujours dans l'état :
  • : Disponible si c'est un projet normal. Les tâches associées ne peuvent pas être démarrées, elles sont toutes dans l'état disponibles. Pour pouvoir effectuer une tâche il faudra démarrer le projet.
  • : Démarré si c'est un projet personnel. Les tâches associées peuvent être démarrées.
Durant sa vie, un projet peut avoir les états suivants :
  • le projet est disponible. Il n'est pas encore démarré, vous pouvez ajouter des tâches à l'intérieur, mais ses tâches ne pourront pas être démarrées.
  • le projet est désactivé, dans cet état toutes ses tâches sont désactivées.
  • le projet est supprimé, il n'existe plus, dans cet état toutes ses tâches sont supprimées.
  • le projet est démarré, les tâches qui étaient désactivées passent dans l'état disponible, elles peuvent donc être réalisées.
  • le projet est terminé, il n'y a plus de travail à effectuer dans le projet.
  • le projet est en pause, toutes les tâches du projet sont mises en pause.
  • le projet est annulé, il ne sera pas à réaliser.

 Définition des rôles dans un Projet

Lors de la création d'un projet, un administrateur ou un chef de service peut définir ses liens avec zéro où plusieurs utilisateurs.

Le rôle d'un utilisateur dans un projet est représenté par les icônes suivants :
  • : représente un chef de projet. Important: il aura tous les droits sur le projet.
  • : représente un client.
  • : représente un architecte.
  • : représente un intégrateur.
  • : représente un développeur.
  • : représente un analyste.
  • : représente l'auteur du projet.

Seul le chef de projet pourra modifier le projet, mais tous les autres pourront, s'ils le souhaitent, ajouter des tâches au projet.

Seuls les utilisateurs qui ont un rôle dans le projet pourront se voir affecter une tâche.

Tout comme pour les services, vous pouvez indiquer un coût horaire par utilisateur lors de la constitutioin de l'équipe projet. La valeur affichée par défaut est celle indiqué dans la fiche du service. Cette valeur sera utilisée pour calculer le coût réel des tâches et du projet.

 Liens entres projet et tâche

Le lien entre un projet et une tâche se fera lors de la création ou de l'édition d'une tâche.

Toutes les tâches qui sont associées à un projet personnel () sont aussi notées comme personnelles.

Tous les utilisateurs ayant un rôle dans le projet peuvent y ajouter une tâche.

Le coût réel d'une tâche ou d'un projet dépend du coût horaire de l'utilisateur définit lors de la constitution de l'équipe.

 Les évènements associés aux projets

Lors de sa création ou de son édition il est possible d'associé des évènements à un projet.

Un évènement se produit lors du changement d'état du projet, par exemple quand il démarre ou quand il se termine.

Pour associer un évènement il suffit d'utiliser l'onglet .

Exemples :
  • WHEN STARTED THEN TARGET_TASK=(55) START
    Quand le projet passera dans l'état démarré (STARTED), alors la tâche (TARGET_TASK) n°55 sera passée automatiquement dans l'état démarré (START).
  • WHEN ENDED THEN TARGET_PROJECT=(5) START
    Quand le projet passera dans l'état terminé (ENDED), alors le projet (TARGET_PROJECT) n°5 sera passé automatiquement dans l'état démarré (START).
  • WHEN ENDED THEN TARGET_PROJECT=(5,6) START#
    WHEN ENDED THEN TARGET_TASK=(5) START
    Quand le projet passera dans l'état terminé (ENDED), alors les projets (TARGET_PROJECT) n°5 et 6 sera passeront automatiquement dans l'état démarré (START) ainsi que la tâche (TARGET_TASK) n°5.
  • WHEN ENDED THEN SEND_MAIL_TO=(toto@aol.fr) TITLE=(Information) BODY=(Bla bla bla)
    Quand le projet passera dans l'état terminé (ENDED), alors un mail (SEND_MAIL_TO) sera automatiquement envoyé à toto@aol.fr.
  • WHEN ENDED THEN SEND_MAIL_TO=(toto@aol.fr,titi@aol.fr) TITLE=(Information) BODY=(Bla bla bla)
    Quand le projet passera dans l'état terminé, alors un mail sera automatiquement envoyé à toto@aol.fr et titi@aol.fr.

Les états possibles de déclenchement sont : OK, DISABLED, DELETED, STARTED, ENDED, PAUSED, CANCELED.

Les états possibles pour le/les éléments cibles sont :OK, DISABLE, DELETE, START, END, PAUSE, CANCEL.

Le type de l'élément cible sera : TARGET_USER, TARGET_TASK, TARGET_PROJECT, TARGET_UNIT.

Chaque action devra être séparée par un #.

 Création d'un Projet

Tous les utilisateurs peuvent créer des projets personnels.

Seuls les utilisateurs ayant un rôle de chef de service () peuvent créer des projets normaux.

Pour créer un projet, il suffit d'utiliser le menu Projet en haut au milieu du tableau de bord et de cliquer sur l'icône . Ensuite, en fonction du rôle de l'utilisateur dans les services, l'option Personnel et/ou Normal apparaitra.

Il faudra spécifier obligatoirement un libellé.

Lors de la création d'un projet, ce dernier sera toujours dans l'état :
  • : Disponible si c'est un projet normal. Les tâches associées ne peuvent pas être démarrées, elles sont toutes dans l'état disponibles. Pour pouvoir effectuer une tâche il faudra démarrer le projet.
  • : Démarré si c'est un projet personnel. Les tâches associées peuvent être démarrées.

Les liens entre tâches et projet se font lors de la création/édition des tâches.

Tout comme pour les services, vous pouvez indiquer un coût horaire par utilisateur lors de la constitutioin de l'équipe projet. La valeur affichée par défaut est celle indiqué dans la fiche du service. Cette valeur sera utilisée pour calculer le coût réel des tâches et du projet.

 Modification d'un Projet

Un chef de projet ou un responsable de service peut modifier les projets.

Il peut modifier toutes les informations sauf la date réelle de début et de fin.

 Déplacement d'un Projet

Lors de l'édition d'un projet il est possible de demander à ce que ce dernier soit décalé/déplacé dans le temps.

Cette action aura pour résultat la modification des dates supposées de début et de fin de toutes les tâches qui n'ont pas de dates réelles de début (c.a.d celles qui n'ont jamais été démarrées).

Le décalage sera un nombre jours positif ou négatif.

 Recherche d'un Projet

Tout le monde peut faire des recherches afin de retrouver un projet. Il lui suffit d'utiliser l'icône qui se trouve dans la section Projet () en haut au milieu du tableau de bord.

Cependant, seuls les projets en relation avec les rôles de l'utilisateur vis-à-vis de ses services et projets seront visibles.

Tous les projets personnels qui n'appartiennent pas à l'utilisateur effectuant la recherche seront invisibles et inaccessibles (y compris à un administrateur).

Lors de l'affichage du résultat de la recherche, il suffit de cliquer sur un élément pour en afficher le détail.

 Définition d'une tâche

Une tâche représente une action à réaliser par un utilisateur. Elle fait partie d'un projet.

Tous les utilisateurs peuvent créer des tâches. Mais, comme une tâche fait obligatoirement partie d'un projet, les tâches créées ne pourront être faites que dans un projet où l'utilisateur a un rôle.

Seuls les auteurs, les chefs de projets ou les utilisateurs assignés peuvent éditer une tâche.

Important: Après sa création, une tâche n'est pas démarrée () par défaut, elle est, dans la plupart des cas, disponible (). Elle sera désactivée () si le projet qui la contient est dans l'état disponible () (c.a.d qu'il n'a pas encore démarré). Elle passera automatiquement dans l'état disponible () dès que le projet passera dans l'état démarré ().

Une tâche sera personnelle si elle appartient à un projet personnel, elle sera préfixée par l'icône .

Une tâche est représentée par l'icône .

  • Coût estimé : pour vous, cette tâche va/doit coûter cette valeur.
  • Coût estimé calculé : le coût calculé en fonction de la personne assignée et du temps estimé.
  • Coût réel calculé : le vrai coût actuel calculé en fonction du temps passé et des personnes assignées.
  • Coût Final : le coût réel calculé quand la tâche a atteind l'état terminé.

 Particularités d'une tâche normale

Une tâche normale appartient à un projet qui n'est pas personnel.

Elle peut être affectées à toute personne qui fait partie du projet.

 Particularités d'une tâche personnelle

Une tâche personnelle appartient à un projet personnel.

Elle ne peut être affectée qu'à l'auteur du projet.

 Etats d'une tâche

Lors de la création d'une tâche, cette dernière sera toujours dans l'état :
  • : Disponible si le projet auquel elle appartient est démarré ().
  • : Désactivé si le projet auquel elle appartient est disponible ().
Durant sa vie, une tâche peut avoir les états suivants :
  • la tâche est disponible. Personne ne l'a démarrée, elle est toute nouvelle.
  • la tâche est désactivée. Valeur par défaut quand la tâche est affectée à un projet qui n'est pas démarrée.
  • la tâche est supprimée, elle n'existe plus, dans cet état elle ne sera pas visible sur l'affichage Gantt du projet.
  • la tâche est démarrée, quelqu'un est en train de travailler dessus.
  • la tâche est terminée, il n'y a plus de travail à effectuer sur cette tâche.
  • la tâche est en pause, vous pouvez modifier son état d'avancement et son temps écoulé.
  • la tâche est annulée, elle ne sera pas à réaliser.

 Type d'une tâche

Vous pouvez typer vos tâches avec les marqueurs suivants :
  • Standard
  • Analyses - Spécifications
  • Conceptions - Réalisations
  • Validations - Tests
  • Livraisons - Déploiements
  • Anomalies

Le typage est purement esthétique mais peut servir lors de la recherche d'une tâche.

 Tâche fille, tâche mère

Une tâche est mère si elle a des filles, dans ce cas, elle sert juste de conteneur, son affectation, ses dates de début et de fin ... ne servent plus à rien et ne sont pas prisent en compte.

Pour être éligible en tant que tâche mère, une tâche ne doit pas avoir de date réelle de début (c.a.d qu'elle n'a jamais été démarrée).

Une tâche fille est une tâche qui a une mère.

La mécanique de tâche mère/fille permet de regrouper des tâches en sous tâche.

Lors de l'édition ou de la création d'une tâche vous pouvez spécifier la tâche mère de cette dernière.

 Liens entres tâches

Lors de sa création ou de son édition il est possible d'associé des évènements à une tâche.

Un évènement se produit lors du changement d'état d'une tâche, par exemple quand elle démarre ou quand elle se termine.

Pour associer un évènement il suffit d'utiliser l'onglet .

Exemples :
  • WHEN STARTED THEN TARGET_TASK=(55) START
    Quand la tâche passera dans l'état démarré (STARTED), alors la tâche (TARGET_TASK) n°55 sera passée automatiquement dans l'état démarré (START).
  • WHEN ENDED THEN TARGET_PROJECT=(5) START
    Quand la tâche passera dans l'état terminé (ENDED), alors le projet (TARGET_PROJECT) n°5 sera passé automatiquement dans l'état démarré (START).
  • WHEN ENDED THEN TARGET_PROJECT=(5,6) START#
    WHEN ENDED THEN TARGET_TASK=(5) START
    Quand la tâche passera dans l'état terminé (ENDED), alors les projets (TARGET_PROJECT) n°5 et 6 sera passeront automatiquement dans l'état démarré (START) ainsi que la tâche (TARGET_TASK) n°5.
  • WHEN ENDED THEN SEND_MAIL_TO=(toto@aol.fr) TITLE=(Information) BODY=(Bla bla bla)
    Quand la tâche passera dans l'état terminé (ENDED), alors un mail (SEND_MAIL_TO) sera automatiquement envoyé à toto@aol.fr.
  • WHEN ENDED THEN SEND_MAIL_TO=(toto@aol.fr,titi@aol.fr) TITLE=(Information) BODY=(Bla bla bla)
    Quand la tâche passera dans l'état terminé, alors un mail sera automatiquement envoyé à toto@aol.fr et titi@aol.fr.

En plus des états, les tâches peuvent générer des évènements sur leur valeur de complétion ou de temps écoulé.

Exemples :
  • WHEN ELAPSED=5000 THEN TARGET_USER=(3) DISABLED
    Quand la tâche aura un temps écoulé égale à 5000ms, alors l'utilisateur n°3 passera dans l'état désactivé.
  • WHEN ELAPSED>=5000 THEN TARGET_USER=(3) DISABLED
    Quand la tâche aura un temps écoulé supérieur ou égale à 5000ms, alors l'utilisateur n°3 passera dans l'état désactivé.
  • WHEN COMPLETION=50 THEN SEND_MAIL_TO=(toto@aol.fr) TITLE=(Information) BODY=(Bla bla bla)
    Quand la tâche aura un pourcentage de complétion égale à 50, alors un mail sera automatiquement envoyé à toto@aol.fr.

Les états possibles de déclenchement sont : OK, DISABLED, DELETED, STARTED, ENDED, PAUSED, CANCELED.

Les états possibles pour le/les éléments cibles sont :OK, DISABLE, DELETE, START, END, PAUSE, CANCEL.

Les tests peuvent porter sur : COMPLETION (un pourcentage entier compris entre 0 et 100), ELAPSED (un temps entier en ms).

Les opérateurs de test sont : =, <, >, <=, >=.

Le type de l'élément cible sera : TARGET_USER, TARGET_TASK, TARGET_PROJECT, TARGET_UNIT.

Chaque action devra être séparée par un #.

 Création d'une tâche

Tous les utilisateurs peuvent créer des tâches. Mais, comme une tâche fait obligatoirement partie d'un projet, les tâches créées ne pourront être faites que dans un projet où l'utilisateur a un rôle.

Pour créer une tâche, il suffit d'utiliser le menu Tâche en haut à droite du tableau de bord et de cliquer sur l'icône .

Il faudra spécifier obligatoirement un libellé, une date supposée de début et de fin ainsi que le projet et l'utilisateur affecté à cette tâche.

Lors de la création d'une tâche, cette dernière sera toujours dans l'état :
  • : Disponible si le projet auquel elle appartient est démarré ().
  • : Désactivé si le projet auquel elle appartient est disponible ().

Vous pouvez aussi créer une tâche à partir de la vue Projet.

 Modification d'une tâche

Toutes les informations d'une tâche ne sont pas accessibles en écriture en fonction de l'état de cette dernière.

Qui plus est, les informations accessibles en écriture varient en fonction du rôle de l'utilisateur qui souhaite modifier la tâche.

Quand une tâche est démarrée (), certaines informations ne sont pas modifiables, il vous faudra mettre la tâche en pause () pour pouvoir les modifier.

Chef de projet, administrateur, auteur de la tâche pourront modifier la quasi totalité des informations d'une tâche.

L'utilisateur affecté à la tâche est limitée dans les modifications qu'il pourra apporter.

 Recherche d'une Tâche

Tout le monde peut faire des recherches afin de retrouver une tâche. Il lui suffit d'utiliser l'icône qui se trouve dans la section Tâche () en haut à droite du tableau de bord.

Cependant, seules les tâches en relation avec les rôles de l'utilisateur vis-à-vis de ses projets et des tâches seront visibles.

Toutes les tâches personnelles qui n'appartiennent pas à l'utilisateur effectuant la recherche seront invisibles et inaccessibles (y compris à un administrateur).

Lors de l'affichage du résultat de la recherche, il suffit de cliquer sur un élément pour en afficher le détail.

 Exporter ses données

Sur la quasi totalité des vues vous pouvez exporter vos données dans différents formats.

Chaque utilisateur peut exporter des données.

Pour le format Excel et XML, toutes les informations liées (acteurs, tâches, ...) à un élément seront aussi présentes, hormis les projets/tâches personnelles qui n'appartiennent pas à l'utilisateur effectuant l'export.

Vous pouvez exporter les informations dans un fichier en cliquant sur l'un des trois icônes présents à côté du titre/libellé :
  • : pour exporter en format Excel. L'élément que vous regardez sera en jaune.
  • : pour exporter en format UTF-8 XML. L'élément que vous regardez aura une propriété selected qui vaudra true.
  • : pour exporter en format CSV = fichier ASCII plat. Attention, aucune information liée ne sera présente dans le fichier.

 Importer ses données

Plutôt que d'utiliser l'interface de gestion de PWM vous pouvez modifier/ajouter/supprimer un grand nombre d'information en faisant usage de l'importation des données.

Tous les utilisateurs peuvent importer des données, mais s'ils n'ont pas les droits adaptés alors un message d'erreur surviendra lors de l'import.

A titre d'exemple, un utilisateur sans rôle d'administration ne peut pas mettre à jour ou créer un nouvel utilisateur.

Dans sa version actuelle, PWM ne support que l'importation de données à partir de fichier Excel. Le fichier Excel doit respecter le même format que celui présenté lors de l'exportation des données.
Depuis la version 1.1.02, vous pouvez utiliser des fichiers Excel contenus dans un fichier Zip (le fichier importé aura l'extension .zip), c'est indispensable si votre fichier dépasse les 2Mg.

Lors de l'importation vous pouvez réaliser trois actions par élément :
  • Add : afin d'ajouter un élément
  • Update : pour mettre à jour un élément
  • Delete : pour supprimer un élément

Afin de sélectionner l'action que vous souhaitez réalisez, faites apparaitre la colonne A du fichier Excel (elle est masquée par défaut). Puis sur la ligne de l'élément que vous souhaitez modifier sélectionnez votre action.

Dans le cas particulier où vous souhaitez créer un nouvel élément (utilisateur, tâche, service, projet), vous ne pourrez pas créer les liens (rôles utilisateurs) en même temps.
Car votre nouvel élément n'a pas encore de clef permettant de l'identifier.
Donc, vous devrez réaliser l'ajout en plusieurs étapes :
  • Dans un premier temps, créez vos éléments sans les liens. Faites une importation.
  • Puis, exportez vos informations à travers PWM afin d'obtenir les clefs d'identifications de vos nouveaux éléments.
  • Et enfin, créez vos liens en faisant usage des clefs qui vous sont fournies.

Remarque : Dans le cas de la création d'un utilisateur, son mot de passe sera auto généré et lui sera envoyé par email.

Pour importer vos données, cliquez sur l'icône qui se trouve en haut à droite de votre bureau.

 Utiliser les Web Services

Afin de permettre une bonne interaction entre les différents programmes de votre Système d'Information, des Web Services sont disponibles dans PWM.

Votre licence vous permet, ou non, d'utiliser les web services.

La technologie utilisée est le REST. Les données sont renvoyées en format JSON.

Depuis la version 1.2.1, tous les web services sont accessibles.

 Récupérer une clef d'identification

Avant de faire appel à un web service vous devez impérativement récupérer une clef d'authentification.

Un service web est disponible à cet effet sur l'URL :
https://[NomDuServeur]:[PortDuServeur]/pwm/rest/key/[ClefDeDomaine]/[Login]/[MotDePasse]/[DureeDeValidite]
Important Ce service doit être accédé en mode PUT.
  • NomDuServeur : représente le nom du serveur ou son adresse IP
  • PortDuServeur : représente le numéro de port du serveur (peut être optionnel en fonction de la configuration)
  • ClefDeDomaine : représente la clef du domaine auquel appartient l'utilisateur
  • Login : représente la login de l'utilisateur
  • MotDePasse : représente le mot de passe de l'utilisateur
  • DureeDeValidite : représente le temps pendant lequel la clef d'authentification sera valable en ms

Exemple d'URL (en mode PUT) : https://localhost:8080/pwm/rest/key/1/administrateur/password/600000

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON comme suit :

Vous aurez besoin de la valeur sous la clef key pour faire usage des autres web services, dans cet exemple c'est 151201359.

 Web Service Utilisateur

Avant de faire appel à un web service vous devez impérativement récupérer une clef d'authentification (attribut key).

Le service pour la gestion des utilisateurs est disponible sous la racine /users.
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/users/view/[ClefAuthentification]/[IdUser] : pour visualiser un utilisateur
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/users/search/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour rechercher des utilisateurs en fonction de critères
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/users/create/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour créer un nouvel utilisateur
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/users/update/[ClefAuthentification]/[IdUser]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour modifier un utilisateur
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/users/forgotpassword/[ClefDomaine]/[login] : pour recevoir par email les informations de connexion à PWM
  • NomDuServeur : représente le nom du serveur ou son adresse IP
  • PortDuServeur : représente le numéro de port du serveur (peut être optionnel en fonction de la configuration)
  • ClefAuthentification : représente la clef d'authentification obtenue à l'aide du service d'authentification
  • ClefDomaine : représente la clef de domaine
  • login : représente la login ou l'email de l'utilisateur
  • IdUser : représente l'identifiant de l'utilisateur
  • clefX : représente le nom d'un paramètre. Pensez à bien respecter les majuscules/minuscules.
  • valeurX : représente la valeur du paramètre associé à clefX

 Web Service Utilisateur : Visualiser


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/users/view/[ClefAuthentification]/[IdUser]
Important Ce service doit être accédé en mode GET.

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/users/view/1975043074/5

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON.

 Web Service Utilisateur : Rechercher


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/users/search/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode GET.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous pouvez utiliser l'ensemble des paramètres (clefs) suivants :
  • internalId
  • state : 0 pour Ok, 1 pour désactivé, 2 pour supprimé
  • sex: 0 pour homme, 1 pour femme
  • firstname
  • lastname
  • email
  • phone
  • postalcode
  • city
  • country
  • connected : 1 pour uniquement ceux connéctés, 0 pour seulement ceux nons connectés, absent pour les deux

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/users/search/1975043074?sex=1&lastname=bonnet

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service Utilisateur : créer


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/users/create/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode PUT.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous devez préciser obligatoirement l'ensemble des paramètres (clefs) suivants :
  • lastName
  • firstName
  • login : au moins 6 caractères
  • local : la langue (ex: en_US) (Locale)
  • email
  • sex : 0 pour homme, 1 pour femme
  • newPassword : le mot de passe
Vous pouvez compléter avec les paramètres (clefs) suivants :
  • address
  • dateFormat : le format de la date de naissance (SimpleDateFormat)
  • birthDate
  • cellularPhone
  • city
  • country
  • office
  • phone
  • postalCode
  • internalId
  • isAdmin
  • chief_nb : pour indiquer que l'utilisateur sera chef du service ayant comme identifiant nb (ex: chief_5=true)
  • member_nb : pour indiquer que l'utilisateur sera membre du service ayant comme identifiant nb (ex: member_3=true)
  • cost_nb : pour indiquer que cout de l'utilisateur par défaut dans le service ayant comme identifiant nb (ex: cost_5=3.5)

Exemple d'URL (en mode PUT) : https://localhost:8080/pwm/rest/users/create/124705338?sex=0&lastName=Bonnet&firstName=François&local=fr_FR&email=fb@totof.fr&newPassword=bonjour33&login=fbonnet

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service Utilisateur : mettre à jour


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/users/update/[ClefAuthentification]/[UserId]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode PUT.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Remarques
  • vous ne pourrez pas changer le login ainsi que le fait qu'un utilisateur est administrateur ou non via le web service.
  • si vous voulez changer les informations relatives aux rôles qu'a l'utilisateur dans un ou plusieurs services, vous devez modifier le/les services associés.
Vous pouvez utiliser l'ensemble des paramètres (clefs) suivants :
  • lastName
  • firstName
  • local : la langue (ex: fr_FR) (Locale)
  • state : 0 pour Ok, 1 pour désactivé, 2 pour supprimé
  • email
  • sex : 0 pour homme, 1 pour femme
  • newPassword : le nouveau mot de passe
  • address
  • dateFormat : le format de la date de naissance (SimpleDateFormat)
  • birthDate
  • cellularPhone
  • city
  • country
  • office
  • phone
  • postalCode
  • internalId

Exemple d'URL (en mode PUT) : https://localhost:8080/pwm/rest/users/update/124705338/131?newPassword=bonjour34

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service Utilisateur : Récupérer son mot de passe


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/users/forgotpassword/[ClefDomaine]/[login]
Important
  • Ce service doit être accédé en mode GET.

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/users/forgotpassword/1/administrator

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service Service

Avant de faire appel à un web service vous devez impérativement récupérer une clef d'authentification.

Le service pour la gestion des services est disponible sous la racine /units l'URL :
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/units/view/[ClefAuthentification]/[IdUnit] : pour visualiser un service
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/units/search/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour rechercher des service en fonction de critères
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/units/create/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour créer un nouveau service
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/units/update/[ClefAuthentification]/[IdUnit]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour modifier un service
  • NomDuServeur : représente le nom du serveur ou son adresse IP
  • PortDuServeur : représente le numéro de port du serveur (peut être optionnel en fonction de la configuration)
  • ClefAuthentification : représente la clef d'authentification obtenue à l'aide du service d'authentification
  • IdUnit : représente l'identifiant du service
  • clefX : représente le nom d'un paramètre. Pensez à bien respecter les majuscules/minuscules.
  • valeurX : représente la valeur du paramètre associé à clefX

 Web Service Service : Visualiser


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/units/view/[ClefAuthentification]/[IdUnit]
Important Ce service doit être accédé en mode GET.

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/units/view/124705338/5

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service Service : Rechercher


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/units/search/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode GET.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous pouvez utiliser l'ensemble des paramètres (clefs) suivants :
  • internalId
  • state : 0 pour Ok, 1 pour désactivé, 2 pour supprimé
  • internalId
  • label
  • description
  • localization

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/units/search/124705338?label=cor

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service Service : créer


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/units/create/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode PUT.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous devez préciser obligatoirement l'ensemble des paramètres (clefs) suivants :
  • label
  • chief_nb : un service doit avoir au moins un chef. Ce paramètre permet d'indiquer que l'utilisateur ayant comme identifiant nb sera chef du service (ex: chief_4=true)
Vous pouvez compléter avec les paramètres (clefs) suivants :
  • description
  • localization
  • internalId
  • chief_nb : pour indiquer que l'utilisateur ayant comme identifiant nb sera chef du service (ex: chief_4=true)
  • member_nb : pour indiquer que l'utilisateur ayant comme identifiant nb sera membre du service (ex: member_3=true)
  • cost_nb : pour indiquer que l'utilisateur ayant comme identifiant nb aura un cout par défaut dans cette unité (ex: cost_3=5.3)

Exemple d'URL (en mode PUT) : https://localhost:8080/pwm/rest/units/create/623649985?label=Service Achat&chief_3=true

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service - Service : mettre à jour


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/units/update/[ClefAuthentification]/[IdUnit]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode PUT.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Remarques
  • si vous voulez changer les informations relatives aux rôles vous devrez repréciser l'ensemble des informations et pas uniquement celle que vous voulez modifier. Toute information absente sera considérée comme à retirer. Si aucune information relative au rôle n'est présente, ils ne seront pas modifiés.
Vous pouvez utiliser l'ensemble des paramètres (clefs) suivants :
  • label
  • description
  • localization
  • state: see IState for values
  • internalId
  • chief_nb : pour indiquer que l'utilisateur ayant comme identifiant nb sera chef du service (ex: chief_4=true)
  • member_nb : pour indiquer que l'utilisateur ayant comme identifiant nb sera membre du service (ex: member_3=true)
  • cost_nb : pour indiquer que l'utilisateur ayant comme identifiant nb aura un cout par défaut dans cette unité (ex: cost_3=5.3)

Exemple d'URL (en mode PUT) : https://localhost:8080/pwm/rest/units/update/623649985/40?chief_3=true&cost_3=3.5

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service Projet

Avant de faire appel à un web service vous devez impérativement récupérer une clef d'authentification.

Le service pour la gestion des projets est disponible sous la racine /projects l'URL :
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/projects/view/[ClefAuthentification]/[IdProject] : pour visualiser un service
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/projects/search/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour rechercher des service en fonction de critères
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/projects/create/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour créer un nouveau service
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/projects/update/[ClefAuthentification]/[IdProjet]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour modifier un service
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/projects/dueBy/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour lister les projets dues
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/projects/assignedTo/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour lister les projets où l'utilisateur a un rôle
  • NomDuServeur : représente le nom du serveur ou son adresse IP
  • PortDuServeur : représente le numéro de port du serveur (peut être optionnel en fonction de la configuration)
  • ClefAuthentification : représente la clef d'authentification obtenue à l'aide du service d'authentification
  • IdProjet : représente l'identifiant du projet
  • clefX : représente le nom d'un paramètre. Pensez à bien respecter les majuscules/minuscules.
  • valeurX : représente la valeur du paramètre associé à clefX

 Web Service Projet : Visualiser


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/projects/view/[ClefAuthentification]/[IdProjet]
Important Ce service doit être accédé en mode GET.

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/projects/view/1975043074/188

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service Projet : Rechercher


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/projects/search/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode GET.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous pouvez utiliser l'ensemble des paramètres (clefs) suivants :
  • internalId
  • state: état du projet
    • 0 le projet est disponible. Il n'est pas encore démarré, vous pouvez ajouter des tâches à l'intérieur.
    • 1 le projet est désactivé, dans cet état toutes ses tâches sont désactivées.
    • 2 le projet est supprimé, il n'existe plus, dans cet état toutes ses tâches sont supprimées.
    • 3 le projet est démarré, les tâches qui étaient désactivées passent dans l'état disponible.
    • 4 le projet est terminé, il n'y a plus de travail à effectuer dans le projet.
    • 5 le projet est en pause, toutes les tâches du projet sont mises en pause.
    • 6 le projet est annulé, il ne sera pas à réaliser.
  • label
  • description
  • startDateBegin
  • startDateEnd
  • endDateBegin
  • endDateEnd
  • priorityStart
  • priorityEnd
  • personal: accept,only,reject
  • dateFormat : le format pour les dates (SimpleDateFormat)

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/projects/search/1975043074?state=3&personal=reject

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service Projet : créer


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/projects/create/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode PUT.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous devez préciser obligatoirement l'ensemble des paramètres (clefs) suivants :
  • label
  • chief_userid_unitid=costvalue : il faut au moins un chef de projet si ce dernier n'est pas personnel
Vous pouvez compléter avec les paramètres (clefs) suivants :
  • description
  • priority
  • internalId
  • estimatedTime
  • estimatedTimeUnit: 3 pour jours (valeur par defaut), 2 pour heures, 1 pour minutes;
  • supposedDateFormat : le format pour les dates (SimpleDateFormat)
  • supposedEndDate
  • supposedStartDate
  • isPersonal : true pour un projet personnel, false pour un projet normal
  • sendEvent
  • supposedCost
  • finalCost
  • personalCost: si le projet est personnel
  • analyst_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: analyst_4_1=3)
  • architect_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: architect_4_1=3)
  • chief_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: chief_4_1=3)
  • client_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: client_4_1=3)
  • developer_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: developer_4_1=3)
  • integrator_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: integrator_4_1=3)

Exemple d'URL (en mode PUT) : https://localhost:8080/pwm/rest/projects/create/1873272354?label=Projet Refonte Réseaux v4&chief_2_1=5.3&chief_1_5=8

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service - Projet : mettre à jour


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/projects/update/[ClefAuthentification]/[ProjectId]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode PUT.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Remarques
  • vous ne pourrez pas changer le fait qu'un projet est personnel ou non
  • si vous voulez changer les informations relatives aux rôles vous devrez repréciser l'ensemble des informations et pas uniquement celle que vous voulez modifier. Toute information absente sera considérée comme à retirer. Si aucune information relative au rôle n'est présente, ils ne seront pas modifiés.
Vous pouvez utiliser l'ensemble des paramètres (clefs) suivants :
  • label
  • description
  • priority
  • internalId
  • estimatedTime
  • estimatedTimeUnit: 3 pour jours (valeur par defaut), 2 pour heures, 1 pour minutes;
  • supposedDateFormat : le format pour les dates (SimpleDateFormat)
  • supposedEndDate
  • supposedStartDate
  • sendEvent
  • supposedCost
  • finalCost
  • comment: un nouveau commentaire
  • personalCost: si le projet est personnel
  • analyst_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: analyst_4_1=3)
  • architect_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: architect_4_1=3)
  • chief_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: chief_4_1=3)
  • client_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: client_4_1=3)
  • developer_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: developer_4_1=3)
  • integrator_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: integrator_4_1=3)
  • author_userid_unitid=costvalue : Dans le cas où le projet n'est pas personnel, indique que l'utilisateur ayant comme identifiant userid associé au service unitid aura le role associé et le cout indiqué (ex: author_4_1=3)
  • state: état du projet
    • 0 le projet est disponible. Il n'est pas encore démarré, vous pouvez ajouter des tâches à l'intérieur.
    • 1 le projet est désactivé, dans cet état toutes ses tâches sont désactivées.
    • 2 le projet est supprimé, il n'existe plus, dans cet état toutes ses tâches sont supprimées.
    • 3 le projet est démarré, les tâches qui étaient désactivées passent dans l'état disponible.
    • 4 le projet est terminé, il n'y a plus de travail à effectuer dans le projet.
    • 5 le projet est en pause, toutes les tâches du projet sont mises en pause.
    • 6 le projet est annulé, il ne sera pas à réaliser.

Exemple d'URL (en mode PUT) : https://localhost:8080/pwm/rest/projects/update/1873272354/257?state=3

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service - Projets : dues


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/projects/dueBy/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode GET.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous pouvez utiliser l'ensemble des paramètres (clefs) suivants :
  • states: une liste d'états ex: 0 ou 0,1,2,3
  • before: un nombre entier, 7 par défaut
  • after: un nombre entier, 7 par défaut
  • unit: une unité de temps, 3 pour jours (valeur par defaut), 2 pour heures, 1 pour minutes
  • personal:
    • null/absent :prendra les deux.
    • true : ne prendra que les projets personnelles.
    • false : ne prendra que les projets nons personnelles.

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/projects/dueBy/418664024?states=0,1,3

En cas de succès, le code HTTP sera 200 et la réponse sera une liste de projets au format JSON.

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service - Projets : où l'on a un rôle


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/projects/assignedTo/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode GET.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous pouvez utiliser l'ensemble des paramètres (clefs) suivants :
  • states: une liste d'états ex: 0 ou 0,1,2,3
  • supposedStartDateStart
  • supposedStartDateEnd
  • supposedEndDateStart
  • supposedEndDateEnd
  • dateFormat : le format des dates (SimpleDateFormat)
  • personal:
    • null/absent :prendra les deux.
    • true : ne prendra que les projets personnelles.
    • false : ne prendra que les projets nons personnelles.

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/projects/assignedTo/418664024?states=0,3

En cas de succès, le code HTTP sera 200 et la réponse sera une liste de tâches au format JSON.

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service Tâche

Avant de faire appel à un web service vous devez impérativement récupérer une clef d'authentification.

Le service pour la gestion des tâches est disponible sous la racine /tasks l'URL :
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/tasks/view/[ClefAuthentification]/[IdTache] : pour visualiser un service
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/tasks/search/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour rechercher des service en fonction de critères
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/tasks/create/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour créer un nouveau service
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/tasks/update/[ClefAuthentification]/[IdTache]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour modifier un service
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/tasks/dueBy/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour lister les tâches dues
  • https://[NomDuServeur]:[PortDuServeur]/pwm/rest/tasks/assignedTo/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn : pour lister les tâches assignées à l'utilisateur
  • NomDuServeur : représente le nom du serveur ou son adresse IP
  • PortDuServeur : représente le numéro de port du serveur (peut être optionnel en fonction de la configuration)
  • ClefAuthentification : représente la clef d'authentification obtenue à l'aide du service d'authentification
  • IdTache : représente l'identifiant de la tâche
  • clefX : représente le nom d'un paramètre. Pensez à bien respecter les majuscules/minuscules.
  • valeurX : représente la valeur du paramètre associé à clefX

 Web Service Tâche : Visualiser


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/tasks/view/[ClefAuthentification]/[IdTache]
Important Ce service doit être accédé en mode GET.

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/tasks/view/190772752/5

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service Tâche : Rechercher


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/tasks/search/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode GET.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous pouvez utiliser l'ensemble des paramètres (clefs) suivants :
  • state : l'état de la tâche
    • 0 la tâche est disponible. Personne ne l'a démarrée, elle est toute nouvelle.
    • 1 la tâche est désactivée (Etat par défaut quand le projet n'est pas encore démarré).
    • 2 la tâche est supprimée, elle n'existe plus, dans cet état elle ne sera pas visible sur l'affichage Gantt du projet.
    • 3 la tâche est démarrée, quelqu'un est en train de travailler dessus.
    • 4 la tâche est terminée, il n'y a plus de travail à effectuer sur cette tâche.
    • 5 la tâche est en pause, vous pouvez modifier son état d'avancement et son temps écoulé.
    • 6 la tâche est annulée, elle ne sera pas à réaliser.
  • label
  • description
  • priorityStart
  • priorityEnd
  • authorId
  • assignedId
  • projectId
  • personal: accept,only,reject
  • type

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/tasks/search/188688276?state=1&personal=reject

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service Tâche : créer


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/tasks/create/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode PUT.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous devez préciser obligatoirement l'ensemble des paramètres (clefs) suivants :
  • label
  • authorId
  • assignedToId
  • projectId
  • supposedEndDate
  • supposedStartDate
Vous pouvez compléter avec les paramètres (clefs) suivants :
  • motherTaskId
  • completion
  • description
  • priority
  • internalId
  • estimatedTime
  • supposedDateFormat : le format des dates (SimpleDateFormat)
  • isPersonal
  • type
  • sendEvent
  • supposedCost
  • finalCost

Exemple d'URL (en mode PUT) : https://localhost:8080/pwm/rest/tasks/create/188688276?label=Exemple de tache&projectId=1&assignedId=1&authorId=1&supposedStartDate=20/01/2015&supposedEndDate=10/03/2015&supposedDateFormat=dd/MM/yyyy

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service - Tâche : mettre à jour


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/tasks/update/[ClefAuthentification]/[IdTache]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode PUT.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous pouvez utiliser l'ensemble des paramètres (clefs) suivants :
  • assignedToId
  • projectId
  • motherTaskId
  • completion
  • description
  • label
  • priority
  • state : l'état de la tâche
    • 0 la tâche est disponible. Personne ne l'a démarrée, elle est toute nouvelle.
    • 1 la tâche est désactivée (Etat par défaut quand le projet n'est pas encore démarré).
    • 2 la tâche est supprimée, elle n'existe plus, dans cet état elle ne sera pas visible sur l'affichage Gantt du projet.
    • 3 la tâche est démarrée, quelqu'un est en train de travailler dessus.
    • 4 la tâche est terminée, il n'y a plus de travail à effectuer sur cette tâche.
    • 5 la tâche est en pause, vous pouvez modifier son état d'avancement et son temps écoulé.
    • 6 la tâche est annulée, elle ne sera pas à réaliser.
  • internalId
  • estimatedTime
  • supposedDateFormat : le format des dates (SimpleDateFormat)
  • supposedEndDate
  • supposedStartDate
  • isPersonal
  • type
  • sendEvent
  • supposedCost
  • finalCost
  • comment: un commentaire supplémentaire
  • timeLineMap: le temps par utilisateur et par jour

Exemple d'URL (en mode PUT) : https://localhost:8080/pwm/rest/tasks/update/418664024/687?state=3&completion=20

En cas de succès, le code HTTP sera 200 et la réponse sera au format JSON comme suit :

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service - Tâche : dues


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/tasks/dueBy/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode GET.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous pouvez utiliser l'ensemble des paramètres (clefs) suivants :
  • states: une liste d'états ex: 0 ou 0,1,2,3
  • before: un nombre entier, 7 par défaut
  • after: un nombre entier, 7 par défaut
  • unit: une unité de temps, 3 pour jours (valeur par defaut), 2 pour heures, 1 pour minutes
  • personal:
    • null/absent :prendra les deux.
    • true : ne prendra que les taches personnelles.
    • false : ne prendra que les taches nons personnelles.

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/tasks/dueBy/418664024?states=0,1,3

En cas de succès, le code HTTP sera 200 et la réponse sera une liste de tâches au format JSON.

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.

 Web Service - Tâches : assignées


https://[NomDuServeur]:[PortDuServeur]/pwm/rest/tasks/assignedTo/[ClefAuthentification]?clef1=valeur1&clef2=valeur2&clefn=valeurn
Important
  • Ce service doit être accédé en mode GET.
  • Respectez les majuscules et minuscules pour les noms de clefs.
Vous pouvez utiliser l'ensemble des paramètres (clefs) suivants :
  • states: une liste d'états ex: 0 ou 0,1,2,3
  • supposedStartDateStart
  • supposedStartDateEnd
  • supposedEndDateStart
  • supposedEndDateEnd
  • dateFormat : le format des dates (SimpleDateFormat)
  • personal:
    • null/absent :prendra les deux.
    • true : ne prendra que les taches personnelles.
    • false : ne prendra que les taches nons personnelles.

Exemple d'URL (en mode GET) : https://localhost:8080/pwm/rest/tasks/assignedTo/418664024?states=0,3

En cas de succès, le code HTTP sera 200 et la réponse sera une liste de tâches au format JSON.

En cas de d'erreur, le code HTTP sera 303 et la réponse sera au format JSON standard.