Articles

Bonnes pratiques pour la gestion de la confidentialité des documents

La gestion de la confidentialité des documents est un sujet délicat, qui touche à l’organisation du projet ou de l’entreprise. Les outils de travail collaboratif, les outils de gestion électronique de documents offrent des fonctionnalités qui permettent de limiter l’accès à tel ou tel document, mais comment les utiliser à bon escient ?

Pour la plupart des projet, je retiendrai le principe suivant : tous les documents doivent être protégés. Prenons le cas d’école, que j’ai rencontré sur de nombreux projets.

  • La maîtrise d’oeuvre commence à travailler entre elle, sans se préoccuper des droits sur les documents.
  • A un moment, elle souhaite mettre à disposition une partie seulement des documents produits pour sa maîtrise d’ouvrage , « et là c’est le drame ».
  • Il faut alors modifier les droits de tous les documents existants, ou dupliquer les documents à diffuser dans un nouvel espace de travail. Extrèmement fastidieux !

Ce que je conseille généralement pour ne pas arriver à ce type de situation, c’est de gérer systématiquement une liste de contrôle d’accès par défaut pour chaque type de document. Dans le cas vu plus haut, on pourrait avoir :

  • L’association de la Maîtrise d’Oeuvre comme lectrice par défaut sur les documents
  • Pour chaque famille documentaire, ajouter un groupe « Lecteur » ; par exemple, on crée un groupe « Lecteurs Plans », vide, qui contiendra les éventuels utilisateurs qui pourront consulter globalement tous les documents de cette famille (on pense par exemple aux pilotes).

Ainsi, pour mettre à disposition de la Maîtrise d’Ouvrage des documents, il suffira de les rediffuser (ce qui peut se faire en vrac).

Modèles et copie d’espaces de travail

Mezzoteam 2.4 apporte une fonction importante pour toutes les organisations dont le métier est de gérer des collections de projets.

La copie de projet permet, comme son nom l’indique, de créer un nouvel espace de travail en dupliquant dans la même opération tout ou partie du paramétrage d’un espace de travail : niveau d’accès, familles de documents, page d’accueil, processus, annuaire, arborescence des dossiers.

Cette nouvelle fonctionnalité permet de mettre en oeuvre des modèles de projet, dont la vocation est d’accélerer la mise en oeuvre des projets dans des organisations qui gèrent leurs opérations selon un processus qualité. Une fois le modèle paramétré par le responsable Mezzoteam de l’entreprise, il peut ensuite être utilisé par n’importe quel chef de projet sans que ce dernier soit obligé de s’astreindre à le paramétrer au delà de la gestion de l’annuaire et des mots-clés.

Copier un espace de travail

Pour pouvoir copier un espace de travail, il faut que celui-ci le permette ; en effet, tous les espaces de travail n’ont pas vocation à être utilisés comme modèles.

Cette autorisation est donnée par l’administrateur de l’espace de travail, en cochant la case copie autorisée dans le bloc de présentation de l’onglet Accueil.

Copie d’espace de travail

Une fois cette opération effectuée, vous pouvezcommencer à utiliser cet espace de travail comme modèle. Là aussi, c’est simple : il vous suffit de vous placer dans la liste des espaces de travail, de cocher la case de sélection en regard de l’espace modèle, puis de cliquer sur l’action Copier.

Paramétrage de la copie

Les options s’expliquent je le pense d’elle-mêmes. Il est à noter qu’il n’est pas possible de recopier les workflows (processus) si l’annuaire n’est pas sélectionné. C’est logique puisque ceux-ci s’appuient sur l’annuaire pour leur paramétrage.

Une fois votre choix fait, il ne vous reste plus qu’à lancer la copie proprement dite. Mezzoteam vous donne le statut de la copie en affichant des coches vertes en regard des éléments correctement copiés.

Gérer sa bibliothèque de modèles

Passons maintenant à l’utilisation pratique de cette fonctionnalité. Dans toute entreprise souhaitant gérer ses projets de manière répétable, il est nécessaire d’appliquer autant que faire se peut des méthodes identiques d’un projet à l’autre. C’est particulièrement vrai pour la gestion des processus, qui donnent de la valeur aux documents stockés dans les espaces de travail.

Généralement, on constitue le modèle d’entreprise à partir d’un des projets pilote de l’entreprise. On devra donc autoriser temporairement la copie de ce projet, le temps de créer le modèle de projet.

Lors de la création du modèle, il faut choisir son nom de manière judicieuse, afin de pouvoir y accéder facilement, ainsi que sa catégorie. En effet, Mezzoteam ne permet pas pour l’instant de distinguer dans la liste des espaces de travail ceux qui sont copiables des autres.

Je vous propose de le mettre soit en début de liste soit en fin, et de la ranger dans une catégorie Modèles d’entreprise.

En choisissant de les positionner à la fin de la liste des espaces de travail, on aurait donc :

Nom : ZZZ РMod̬le de projet b̢timent
Cat̩gorie : ZZZ РMod̬les

Ne pas oublier de limiter l’accès aux espaces de travail modèles aux seuls administrateurs délégués, et de vider dans l’annuaire du modèle les groupes de leurs participants.

Nouvelle version de Mezzoteam

La nouvelle version de Mezzoteam, numérotée 2.4, vient d’être mise en ligne ce mercredi par Prosys. Elle propose les nouvelles fonctions suivantes :

  • Possibilité de copier un espace de travail pour en ouvrir un nouveau : cela permet d’envisager l’utilisation de Mezzoteam pour des collections de projets, où des modèles propres à l’entreprise sont paramétrés, puis utilisés systématiquement.
  • Classement automatique des documents : cette fonction,qui était pour l’instant en version béta (et sujette d’ailleurs à quelques comportements erratiques), est maintenant officielle et opérationnelle. Elle apporte un confort apprécié pour les utilisateurs de la version Professionnelle, en les affranchissant du classement à la main des documents.

D’autres améliorations sont également au programme, dont par exemple un meilleur support pour l’international (langues non-européennes, date et heure…).

Tous les utilisateurs de Mezzoteam bénéficient dès à présent de ces nouvelles fonctionnalités.

Mise en ligne de la version 2.3.1 de Mezzoteam

Lundi matin, Prosys mettra en ligne la version 2.3.1 de Mezzoteam. Cette version apporte son lot de corrections de bugs, et un meilleur support du Macintosh (même si celui-ci est toujours en version béta).

Gérer des fiches questions-réponses avec Mezzoteam

Les possibilités de paramétrage de Mezzoteam permettent aux administrateurs de laisser libre cours à leur imagination.

Il m’a été demandé de paramétrer pour un client des fiches questions-réponses, document courant sur les chantiers. L’objectif étant de permettre à un utilisateur de poser une question, et à une ou plusieurs personnes de répondre à cette question. Vous me direz, pourquoi ne pas utiliser les forums de Mezzo ?

Tout simplement pour des raisons de confidentialité : les fils de discussions postés dans les forums sont publics, alors qu’une fiche question-réponse attend une réponse précise d’un ou de plusieurs utilisateurs donnés. De plus, il semblait pratique de prévoir que les questions (et/ou les réponses) soient agrémentées de fichiers associés. Ces deux pré-requis m’interdisaient d’utiliser le forum pour répondre à ce besoin.

Malgré ces besoins de confidentialité, il fallait que la saisie soit la plus simple possible (pas de saisie de numéro d’ordre ou autre), afin d’obtenir un fonctionnement proche de celui du forum, tout en conservant les fonctionnalités riches demandées.

Scénario utilisateur

Le scénario utilisateur retenu consiste à créer une famile de documents « Question », qui permettra de… poser les questions ! Une fois sa question terminée, l’émetteur signera et diffusera sa question aux personnes qui doivent répondre, et qui seront informées par courriel de la présence d’une question. La réponse se fera en clonant la question, qui devra alors être marquée comme une réponse.

mezzoqr.jpg

Pour garder un lien logique entre question et réponse, on utilisera un « code question » qui sera commun à la question et aux réponses. Le numéro servira ensuite de discriminant entre la question et les réponses.

Ainsi, une question aura un code du type : Q-003-00, et ses réponses un code du type R-003-01 et suivants.

Mise en oeuvre

Pour réaliser ce paramétrage, nous allons nous appuyer fortement sur le langage de formules Mezzoscript de Mezzoteam.

Tout d’abord, nous allons créer une famille de documents non-révisable appelée « Question ». Nous allons ajouter les champs utilisateurs suivants :

  • Sous-titre
  • Type (Code TYPE, Question ou Réponse, calculé)
  • Code Question (Code CODEQUEST, calculé)
  • Numéro d’ordre (Code NUMORDRE, calculé)


Il est à noter que tous les champs calculés doivent ne l’être qu’à la création du document !

Le champ Type sera basé sur la formule suivante :

@Ifs(TYPE="","Q","R")

Si le champ Type ne contient rien (nous sommes en train de créer une nouvelle question), alors on lui affecte le code « Q ». Dans le cas contraire (il contient « Q »), nous sommes en train de cloner le document (donc de créer une réponse), et nous affecterons alors le code « R ».

Le champ Code Question est un champ qui contient le numéro chronologique du « fil de discussion » ; il sera partagé par la question et les réponses. Il ne doit donc être calculé que lors de création de la question et non lors du clonage d’un document (pour créer une réponse). Sa formule, plus complexe, est la suivante :

@ReturnIf(TYPE="R",CODEQUEST);
@ReturnIf(TYPE="Q" OR TYPE="",@Format(@ChronoGetNext("QUESTION"),"000"));

On utilise ici la capacité de Mezzoscript à pouvoir enchaîner plusieurs commandes dans un script. La formule @ReturnIf permet d’évaluer l’expression qu’elle contient, puis d’arrêter toute évaluation si la condition est vérifiée.

On vérifie d’abord si le document est une réponse (TYPE="R"), et si c’est le cas, on se contente de réaffecter le code récupéré lors du clonage de la question (ou d’une des réponses…). Si ce n’est pas le cas, on calcule un nouveau code question, que l’on formatte sur trois caractères.

Mais pourquoi ne pas utiliser @Ifs ?

Pourquoi utiliser @ReturnIf alors que @Ifs aurait apparemment pu faire l’affaire ? Tout simplement parce que si nous avions écrit cela :

@Ifs(TYPE="Q" OR TYPE="",@Format(@ChronoGetNext("QUESTION"),"000"),CODEQUEST)

L’ensemble de la formule aurait été évaluée à chaque fois, et notre chrono aurait été incrémenté à chaque fois que nous aurions créé une réponse (même si le numéro affiché dans le code question aurrait été correct !).

Le champ Numéro d’ordre va nous permettre de franchir encore un cap dans l’utilisation des chronos. Nous avions vu dans un précédent article que le paramètre de la formule @ChronoGetNext permettait de repérer uniquement le chrono dans la liste de ceux utilisés dans un espace de travail. Mais comme nous sommes dans MezzoScript, nous pouvons parfaitement calculer ce paramètre, afin de le rendre dynamique.

Et c’est exactement ce que nous allons faire avec le numéro d’ordre des fiches questions-réponses. En effet, ce numéro d’ordre doit se rapporter au code question, et non pas à l’ensemble des questions posées ; ainsi il sera vu comme un « indice » du code question, avec la question portant le numéro « 00 », et les réponses commençant à « 01 ».

@ReturnIf(TYPE="Q","00");
@Format(@ChronoGetNext("QUESTION"&CODEQUEST),"00")

Sur la première ligne, nous évaluons si nous avons à faire à une question, auquel cas nous lui affectons le numéro « 00 ». Dans le cas contraire, nous construisons le code du chrono du nuéméro à partir du nom de la famille documentaire et du code question de la fiche à laquelle nous répondons.

Nous n’avons plus qu’à composer le code en choisissant les champs correspondant dans l’identifiant, puis à positionner les champs Titre et Sous-titre dans le masque, puisqu’ils sont les seuls à être saisissables.

N’oubliez pas également de gérer les droits du documents, en n’affectant aucun droit de lecture particulier lorsque le document est signé (ainsi, seuls les lecteurs du document pourront répondre).