Aller à : navigation, rechercher

Maarch RM/Journalisation

La journalisation est un aspect essentiel de l'archivage électronique, tant il participe à donner à l'archive sa valeur probatoire. Le système consigne tous les événements ayant trait à son fonctionnement, sa sécurité et au cycle de vie de l'archive dans des journaux dont il assure l'intégrité par des moyens technique de scellement et qu'il conserve dans les mêmes conditions et pour la même durée que les archives qu'ils concernent. Il est le «juge de paix» auquel on peut se référer à tout moment pour s'assurer de l'intégrité des données, retracer les événements survenus tout au long du cycle de vie de l'archive, analyser les incidents ou auditer le système.

Principes généraux

La norme NF Z42-013 et son pendant international ISO 14641-1 définissent deux journaux distincts :

  • Le journal de cycle de vie de l'archive consigne l’ensemble des opérations ayant un impact sur la conservation des documents numériques: création, modification ou suppression d’un profil d’archivage ou création d'une attestation électronique. Il s'agit donc pour le système d'archivage de tracer les événements qui concernent l'activité des acteurs ayant une portée sur leur cycle de vie : le dépôt, la consultation, la modification, la destruction des documents ou des entités liées à l'activité d'archivage de ceux-ci.
  • Le journal des événements de l'application assure la traçabilité des opérations réalisées par le système d'archivage, autres que celles consignées dans le journal de cycle de vie des archives. Il s'agit ici d'une vision orientée «système» (par opposition au domaine de l'archivage) qui pourrait être une composante de tout logiciel quel que soit le domaine d'activité ou le périmètre fonctionnel qu'il couvre. Les événements tracés sont de fait peu spécifiques à l'archivage électronique mais sont relatifs à la sécurité, l'exécution de fonctions, les erreurs et autres informations sur le fonctionnement de l'application.


La norme requiert en outre la production d'attestations électroniques définies comme un ensemble d’éléments permettant d’assurer qu’une action ou un échange électronique a bien eu lieu. Il s'agit donc, pour chaque fonction faisant intervenir un acteur tiers du système d'archivage, de produire un document qui comporte les informations nécessaires pour attester que l'opération est été réalisée. L'attestation peut être vue comme partie intégrante du journal du cycle de vie ou un document séparé.

La norme énonce pour ces journaux et attestations un certain nombre d'exigences portant sur leur mode de production, leur contenu, la garantie de leur intégrité, la sécurité d'accès et leur mode d'exploitation. Cet document détaille chacune de ces exigences, leur signification, la manière dont elles participent à la fiabilité du système d'archivage et comment elles sont mises en œuvre.

Enregistrement des traces

Norme NF Z42-013 §5.6: «Un enregistrement doit être réalisé pour chaque événement lié à l’exploitation du système ou au cycle de vie des archives. Celui-ci doit être créé automatiquement par le système, horodaté en utilisant le temps UTC et enregistré de façon exhaustive et séquentielle dans les journaux correspondants.»

Maarch RM prend en charge la création et l'alimentation des journaux, en y inscrivant les traces correspondant à tous les événements qui surviennent, qu'ils soient le résultat d'une interaction avec un utilisateur ou une tâche planifiée par le système.

Les événements sont répartis entre les deux journaux selon leur nature et leur portée : d'un côté les événements ayant trait à l'activité d'archivage, de l'autre ceux qui renseignent sur l'exploitation du système par des utilisateurs ou le système lui-même.

Chaque événement est consigné par le système dès sa survenue (au fil de l'eau) dans la base de données, et comporte toutes les informations obligatoires et nécessaires pour permette aux personnes habilitées de reconstituer l'enchaînement des opérations en ayant la certitude que tous les événements sont portés à leur connaissance (sans "vide" dans l'enchaînement).

De plus, un événement peut provoquer la génération d'une attestation sous la forme d'un document qui contient plus de détails sur l'opération effectuée et qui est mis à disposition ou transmis aux acteurs qui doivent avoir connaissance des événements. Cette fonction, déclenchée par un processus supérieur, est assurée par le paquet métier d'échange de données d'archives (MEDONA et SEDA).

Note: d'une manière générale, tout événement tracé dans le journal du cycle de vie de l'archive aura aussi une entrée dans le journal de l'application car il correspond à l'exécution d'une fonction métier.

Date des événements

Dans chacun des journaux, les traces sont horodatées et enregistrées séquentiellement, de sorte qu'il sera possible de reconstituer l'enchaînement des événements et de les situer dans le temps, et notamment par rapport à l'environnement externe (en-dehors du système d'archivage). Le temps utilisé doit être certifié, c'est-à-dire provenir d'une source de temps fiable, en synchronisant l'horloge du système hôte sur une horloge fiable. L'utilisation par Maarch RM du temps UTC lève toute ambiguïté sur l'heure de survenue des événements, par rapport à un temps positionné dans un fuseau susceptible de voir son décalage par rapport au temps universel modifié, par exemple lors du passage de l'heure d'hiver à l'heure d'été et inversement. C'est pour cette raison que l'heure des événements des journaux sera toujours décalée d'une ou deux heures (selon la saison) par rapport à l'heure locale française.

Maarch RM utilise la date du système hôte de l'application pour l'horodatage des événements. Le système doit donc assurer la synchronisation de son horloge avec un service d'horodatage fiable. L'horodatage est récupéré par Maarch RM avec une précision d'une microseconde.

Le format de représentation des dates est conforme à la norme ISO 8601 et comporte la date calendaire, l'heure avec la précision d'une microseconde et le fuseau horaire.

La date est basée sur le calendrier grégorien. Les éléments sont représentés dans l'ordre de leur précision, des moins précis vers les plus détaillés, chaque élément étant séparé du précédent par un tiret '-' :

  • année sur 4 chiffres
  • mois sur 2 chiffres (de 01 à 12 avec un zéro initial pour les mois inférieurs à 10)
  • quantième sur 2 chiffres (de 01 à 31 avec un zéro initial pour les quantièmes inférieurs à 10)

L'heure de la journée est précédée de la lettre T (pour Time, soit temps en anglais), suivie des éléments suivants, dans cet ordre, chaque élément étant séparé du précédent par deux points ':' :

  • heures sur 2 chiffres (de '00' à '24' avec un zéro initial pour les heures inférieures à 10)
  • minutes sur 2 chiffres (de '00' à '59' avec un zéro initial pour les minutes inférieures à 10)
  • secondes sur 2 chiffres ('00' à '60' avec un zéro initial pour les secondes inférieures à 10)
  • décimales de seconde précédées d'une virgule ',' puis du nombre décimal jusqu'à la précision de 6 chiffres.
  • Le fuseau horaire UTC est exprimé en inscrivant la lettre "Z".


Exemple: 2015-01-01T14:56:33,836352Z


Conservation sécurisée

Norme NF Z42-013 §5.6: «Les journaux doivent être archivés selon une périodicité et des conditions définies par la politique d‘archivage dans des volumes de stockage assurant au moins la même pérennité et intégrité que les documents auxquels ils se rapportent.»

Norme NF Z42-013 §5.6.1: «les journaux doivent permettre de démontrer la continuité de l’enregistrement des événements … par l’utilisation de supports réinscriptibles protégés par des moyens cryptographiques. Les journaux doivent être conservés au même titre que les documents.»

Les journaux constituent la seule référence fiable lorsqu'il s'agit de contrôler l'activité du système d'archivage. Il est donc essentiel d'assurer leur sécurité, leur pérennité et de pouvoir démontrer leur intégrité pour toute la durée de leur utilité, c'est-à-dire tant que les archives auxquelles ils se rapportent sont conservées dans le système d'archivage.

La norme ne précise pas la politique d'archivage concernant les journaux, ni même l'obligation d'archiver le journal de l'application. Concernant le journal du cycle de vie de l'archive, le guide d'application AFNOR GA Z42-019 stipule au paragraphe 2.2.8.2-b que «Le journal du cycle de vie des archives doit faire l’objet d’un horodatage … par vingt quatre heures».

On peut donc par convention appliquer cette même politique au journaux de l'application. Tous les journaux sont donc archivés à une fréquence maximale de 24 heures d'exploitation, qu'il y ait eu une activité ou non, que les journaux comportent des traces ou non, l'absence d'événement dans un journal étant en soi une information essentielle.

Ce processus est assuré par l'exécution d'un service planifié au moins une fois par jour. Le contenu des événements de la journée fait l'objet d'une sortie vers un fichier de journal afin de permettre l'archivage sécurisé et le chaînage des journaux. Les journaux ainsi produits pour la période d'exploitation échue sont archivés sur les supports et dans des formats pérennes, avec des copies de sécurité et une trace de leur enregistrement. Le système assure l'intégrité des document en calculant et en conservant dans le journal suivant l'empreinte numérique du document produit.

Format des journaux produits

Norme NF Z42-013 §5.6: «Il doit être possible de lire les journaux de façon simple et leur exploitation doit être détaillée dans le dossier de description technique du système.»

Il est essentiel que les journaux produits puissent être exploités simplement, sans avoir recours à des procédures complexes.

Étant donné le caractère central de la journalisation, particulièrement lorsqu'il s'agit d'audit du système ou de contrôle d'intégrité, les journaux doivent utiliser un formalisme simple, les traces doivent être inscrites en clair, lisibles et ne pas être encodées.

L'un des points cruciaux est que le journal du cycle de vie de l'archive tel que vu par la norme possède une double utilisation: il est à la fois destiné à une lecture par l'utilisateur, auditeur ou exploitant du système, ET la base de données de référence sur laquelle le système s'appuie pour certaines fonctions essentielles de gestion de l'archive comme le contrôle de l'intégrité ou la constitution du paquet diffusé lors des opérations de communication ou de restitution.

La norme ne précise pas quelle forme doit prendre le journal ou quel format utiliser pour les événements tracés, mais cette double casquette «lisible par l'humain – lisible par la machine» amène déjà des éléments de réponse.

La base de données

Maarch RM utilise la base de données pour l'enregistrement des traces au fil de l'eau avec deux objectifs :

  • comme un tampon pour les événements de la journée d'exploitation, dans l'attente de la production du journal sécurisé
  • comme une base de connaissance dans laquelle on peut facilement rechercher des événements sur des critères multiples

Ce stockage est insuffisant car il ne satisfait pas aux exigences de la norme: elle impose que les journaux soient horodatés, chaînés et conservés sur les mêmes supports et dans les mêmes conditions que les archives qu'ils concernent.

Le texte en colonnes avec séparateur (csv)

La grande majorité des systèmes informatique produisent leurs journaux, traces et logs dans des fichiers texte, à raison d'une ligne par événement, les items étant séparés par un caractère défini, comme un espace ou une virgule.

Un fichier texte, si sa structure est maîtrisée, contient uniquement l'information utile, pas de balise, pas un seul caractère inutile. Sa taille est donc la plus faible possible par rapport au contenu stocké si l'on s'interdit toute compression des données.

Chaque événement étant tracé par une ligne, il offre de nombreuses possibilités: pour la lecture séquentielle, il peut être lu ligne par ligne, sans charger l'intégralité du contenu dans la mémoire du système. Pour la recherche, si le fichier est volumineux il peut être lu partiellement, à partir d'une ligne précise (ou une position de caractère) et pour un nombre de ligne donné. La recherche renvoie la position de la données recherchée, et la ligne correspondante seule peut être lue.

Sa compréhension en dehors du système d'archivage est relativement simple: un événement par ligne, chaque événement comportant plus ou moins de colonnes d'information en fonction de son type. Pas besoin de schéma pour les comprendre: il suffit d'avoir décrit pour chaque typologie d'événement, dans le dossier de description technique par exemple, le contenu d'information sous la forme d'un petit tableau.

Evénement X :

  1. Date de l'événement
  2. Type de l'événement
  3. Identifiant de l'archive
  4. Empreinte numérique
  5. Identification du service
  6. ...

Pourquoi pas le XML ?

Le format XML aurait pu sembler tout indiqué pour la génération des journaux: c'est un format largement répandu, il permet à la fois une lecture par le logiciel, l'exécution de requêtes (xpath), une représentation en mode document (xslt), son contenu reste lisible par tout éditeur de texte et compréhensible par l'humain. Malgré tout, ce format possède plusieurs inconvénients majeurs.

Structurellement, comme pour tout langage balisé, chaque donnée utile y est encadrée par une balise ouvrante et une balise fermante qui la qualifie. Le nom d'une balise ne fait certes que quelques caractères, mais il est répété à chaque fois que la donnée est présente, que la donnée fasse un ou 1000 caractères. Répétez ceci plusieurs milliers de fois, et la taille du journal augmentera de façon drastique simplement pour répéter le même nom à l'identique 2 fois par trace, une fois pour ouvrir, une fois pour fermer chacun des nœuds composant la trace.

Pour être pleinement exploité, le XML doit être accompagné d'une description de sa structure, sous la format d'une DTD (Document Type Definition) ou d'une XSD (SML Schema Definition). Il sera toujours possible de les intégrer au dossier de description technique du système ou de les fournir avec les journaux, mais ces deux documents sont globalement compréhensibles uniquement par les informaticiens et sembleront ésotériques aux non-initiés, ce qui rend toute exploitation des journaux hors du système impossible. L'un des palliatifs est de donner aux balises XML des noms explicites, mais cela se soldera toujours par une augmentation de leur longueur et une aggravation du problème numéro un. Il ne reste plus qu'à documenter la structure du XML produit, et la documentation sera aussi complexe que l'est la structure.

Ensuite, pour être exploité par le système ou présenté à l'utilisateur, le XML doit être intégralement chargé, car chaque fichier est une structure intègre qui possède un seul élément racine. Cela signifie que pour accéder à une trace particulière d'un journal, il faut charger celui-ci en intégralité et effectuer une recherche. Sur un système d'archivage produisant plusieurs milliers, voire centaines de milliers de traces chaque jour, les fichiers produits, notamment à cause des premiers problèmes cités, peut atteindre des tailles critiques. Bien sûr on pourra effectuer un chaînage plus fréquent que les 24 heures maximum indiquées par la norme, mais cela ne fera que limiter l'impact sans supprimer l'inconvénient. Le format XML peut être séduisant, mais il n'est pas adapté aux systèmes qui vont gérer des grandes quantités d'événements.

Le journal du cycle de vie de l'archive

Le journal du cycle de vie trace les événements ayant trait à la gestion, aux entrées et aux sorties des données d'archives dans le système.

Contenu des traces

Chaque événement comporte une série d'informations de base, auxquelles sont ajoutées des informations complémentaires dont le nombre et la nature sont adaptés au type d'événement.

# Colonne Libellé
1 Identifiant unique de l'événement dans le journal généré par le système.
2 Type de l'événement (voir plus bas).
3 Date et heure, à la microseconde, de l'événement.
4 Identifiant du compte utilisateur ou du compte de service ayant déclenché l'événement.
5 Type d'objet impacté par l'événement : archive, document, contenu numérique, bordereau d'échange, profil d'archive...
6 Identifiant unique de l'objet impacté.
7 Résultat de l'opération
8 Texte descriptif.

Evénements sur l'archive

Ces événements ont la valeur "objectClass" à "recordsManagement/archive" et la colonne "objectId" correspond à l'identifiant unique de l'archive ou de l'objet d'archive dans le système.

Note: Étant donné qu'une archive ou un objet peut comporter plusieurs documents numériques, un événement donné sur une entité va produire autant de traces que de documents contenus, car ces derniers seront tous impactés par l'événement.

  • recordsManagement/reception : Réception d'une archive dans un bordereau de versement.
# Colonne Libellé
9 Identifiant du service versant
10 Identifiant du service d'archives
  • recordsManagement/validation : Validation d'une archive dans un bordereau de versement.
  • recordsManagement/deposit : Dépôt d'un contenu d'archive sur les supports et alimentation du registre des archives.
# Colonne Libellé
9 Identifiant de l'objet numérique
10 Algorithme d'empreinte du contenu
11 Empreinte du contenu
12 Adresse de stockage du contenu
13 Identifiant du service versant
14 Identifiant du service producteur
15 Identifiant du service d'archives
  • recordsManagement/integrity : Contrôle d'intégrité d'une archive.
# Colonne Libellé
9 Identifiant de l'objet numérique
10 Algorithme d'empreinte du contenu
11 Empreinte du contenu
12 Adresse de stockage du contenu
13 Identifiant du service demandeur
14 Identifiant du service d'archives
  • recordsManagement/retentionRuleModification : Modification de la règle de conservation d'une archive.
# Colonne Libellé
9 Identifiant de l'objet numérique
10 Algorithme d'empreinte du contenu
11 Empreinte du contenu
12 Adresse de stockage du contenu
13 Nouvelle date de début de calcul de la règle
14 Nouvelle durée de conservation
15 Nouveau sort final
16 Identifiant du service d'archives
17 Identifiant du service producteur
  • recordsManagement/accessRuleModification : Modification de la règle de communicabilité d'une archive.
# Colonne Libellé
9 Identifiant de l'objet numérique
10 Algorithme d'empreinte du contenu
11 Empreinte du contenu
12 Adresse de stockage du contenu
13 Nouvelle date de début de calcul de la règle
14 Nouvelle durée de non communicabilité
15 Identifiant du service d'archives
16 Identifiant du service producteur
  • recordsManagement/freeze et recordsManagement/unfreeze : Gel et dégel d'une archive.
# Colonne Libellé
9 Identifiant de l'objet numérique modifié
10 Algorithme d'empreinte du contenu modifié
11 Empreinte du contenu modifié
12 Adresse de stockage du contenu modifié
13 Identifiant du service d'archives
14 Identifiant du service producteur
  • recordsManagement/conversion : Conversion de format d'un contenu numérique.
# Colonne Libellé
9 Identifiant de l'objet numérique à convertir
10 Algorithme d'empreinte du contenu à convertir
11 Empreinte du contenu à convertir
12 Adresse de stockage du contenu à convertir
13 Identifiant de l'objet numérique converti, vide si la procédure a échoué
14 Algorithme d'empreinte du contenu converti, vide si la procédure a échoué
15 Empreinte du contenu converti, vide si la procédure a échoué
16 Adresse de stockage du contenu converti, vide si la procédure a échoué
17 Identification du logiciel utilisé pour la conversion, par son nom et son numéro de version
  • recordsManagement/delivery: Communication d'une archive à un demandeur
# Colonne Libellé
9 Identifiant de l'objet numérique communiqué
10 Algorithme d'empreinte du contenu communiqué
11 Empreinte du contenu communiqué
12 Adresse de stockage du contenu communiqué
13 Identifiant du service d'archives
14 Identifiant du service demandeur
  • recordsManagement/restitution : Restitution de l'archive.
# Colonne Libellé
9 Identifiant de l'objet numérique restitué
10 Algorithme d'empreinte du contenu restitué
11 Empreinte du contenu restitué
12 Adresse de stockage du contenu restitué
13 Identifiant du service d'archives
14 Identifiant du service producteur
  • recordsManagement/destruction : Destruction d'une archive sur les supports de stockage, après élimination ou restitution.
# Colonne Libellé
9 Identifiant de l'objet numérique détruit
10 Algorithme d'empreinte du contenu détruit
11 Empreinte du contenu détruit
12 Adresse de stockage du contenu détruit
13 Identifiant du service d'archives
14 Identifiant du service producteur


  • recordsManagement/integrityCheck : Contrôle périodique d'intégrité d'un ensemble d'archives.
# Colonne Libellé
9 Date du premier événement traité par la procédure dans les journaux
10 Date du dernier événement traité par la procédure dans les journaux
11 Identifiant du dernier événement traité par la procédure dans les journaux

Événements sur le profil

Ces traces sont générées lorsqu'un profil est ajouté, modifié ou supprimé, ou bien lorsqu'une entrée de référentiel archivistique utilisée par le profil est modifiée.

  • recordsManagement/profileCreation, recordsManagement/profileModification et recordsManagement/profileDestruction : Création, modification et suppression d'un profil d'archives.
# Colonne Libellé
9 Identifiant du profil


Evénements sur les bordereaux d'échange

Le type d'événements est "medona/xxx" avec xxx parmi :

  • archiveTransferSending : Envoi de transfert d'archive
  • archiveTransferReception : Réception de transfert d'archive
  • archiveTransferAcceptance : Acceptation du transfert d'archive reçu, pour dépôt
  • archiveTransferRejection : Rejet du transfert d'archive.
  • archiveTransferProcessing : Traitement d'un transfert d'archive reçu (dépôt)
  • archiveTransferReplySending : Envoi d'une réponse au transfert
  • authorizationOriginatingAgencyRequestSending : Envoi d'une demande d'autorisation au service producteur
  • authorizationOriginatingAgencyRequestAcceptance : Acceptation de la demande d'autorisation par le service producteur
  • authorizationOriginatingAgencyRequestRejection : Rejet de la demande d'autorisation par le service producteur
  • authorizationOriginatingAgencyRequestReplySending : Envoi de la réponse à la demande d'autorisation par le service producteur
  • authorizationControlAuthorityRequestSending : Envoi d'une demande d'autorisation au service de contrôle
  • authorizationControlAuthorityRequestAcceptance : Acceptation de la demande d'autorisation par le service de contrôle
  • authorizationControlAuthorityRequestRejection : Rejet de la demande d'autorisation par le service de contrôle
  • authorizationControlAuthorityRequestReplySending : Envoi de la réponse à la demande d'autorisation par le service de contrôle
  • archiveModificationNotificationSending : Envoi d'une notification de modification
  • archiveDestructionNotificationSending : Envoi d'une notification de destruction
  • archiveDeliveryRequestSending : Envoi d'une demande de communication
  • archiveDeliveryRequestAcceptance : Acceptation d'une demande de communication
  • archiveDeliveryRequestRejection : Rejet d'une demande de communication
  • archiveDeliveryRequestProcessing : Traitement d'une demande de communication
  • archiveDeliveryRequestReplySending : Envoi de la réponse à la demande de communication
  • archiveRestitutionRequestSending : Envoi d'une demande de restitution
  • archiveRestitutionRequestAcceptance : Acceptation d'une demande de restitution
  • archiveRestitutionRequestRejection : Rejet d'une demande de restitution
  • archiveRestitutionRequestProcessing : Traitement d'une demande de restitution
  • archiveRestitutionRequestReplySending : Envoi de la réponse à la demande de restitution
  • archiveRestitutionRequestReplyAcceptance : Acquittement du producteur pour la restitution
  • archiveRestitutionRequestReplyRejection : Rejet du producteur pour la restitution
  • archiveRestitutionSending : Traitement de la restitution, sortie des données vers le tampon
  • archivalProfileModificationNotificationSending : Notification de modification de profil au(x) service(s) versant(s).

Chaque trace comporte l'information spécifique suivante :

# Colonne Libellé
9 Identifiant du service émetteur
10 Identifiant du service destinataire
11 Identifiant du bordereau fourni par l'émetteur

Conservation sécurisée

Maarch RM assure la sécurité des journaux selon les mêmes conditions que les archives qu'ils concernent. Une fois par jour au moins, à la fin de la journée d'exploitation par exemple, le journal est chaîné. La période couverte pour un fichier de journal est paramétrable mais pour respecter la norme ce processus de chaînage doit être réalisé au minimum toutes les 24 heures.

La procédure est la suivante:

L'application récupère l'identifiant ainsi que l'empreinte numérique du journal précédent.

Le processus récupère un jeton d'horodatage auprès d'un tiers de confiance afin de réaliser un scellement du journal précédent. Le recours à un jeton externe rend la falsification a posteriori des journaux quasiment impossible. Le jeton et l'empreinte composent la première ligne du nouveau journal à archiver. La configuration de l'application permet de déclarer un service appelé pour l'obtention des jetons d'horodatage auprès d'un tiers horodateur et déclencher leur utilisation lors du chaînage des journaux. En l'absence de cette configuration, seule l'empreinte numérique et la date fiable du système sont inscrits.

Le processus inscrit ces informations sur la première ligne d'un nouveau fichier de journal:

# Colonne Libellé
1 Identifiant unique de l'événement dans le journal généré par le système.
2 Type de l'événement : lifeCycle/chainJournal
3 Date et heure, à la microseconde, du chaînage.
4 Identifiant du compte utilisateur ou du compte de service qui procède au chaînage.
5 Type d'objet impacté par l'événement : archive
6 Identifiant unique du journal en cours de génération
7 Résultat de l'opération : néant.
8 Identifiant du journal précédent
9 Empreinte du journal précédent
10 Algorithme d'empreinte du journal précédent
11 Valeur de jeton d'horodatage

Note: Seul le premier journal du système ne contiendra pas d'identifiant, d'empreinte ni de jeton d'horodatage du journal précédent sur sa première ligne.

Elle collecte les événements qui n'ont pas encore été sécurisés dans la base de données, c'est-à-dire ceux qui couvrent toute la période depuis la dernière exécution du processus de chaînage, et les inscrit dans le nouveau fichier de journal.

Le journal ainsi chaîné est versé dans l'archive avec les métadonnées descriptives nécessaires à leur exploitation :

  • Sa nature de journal du cycle de vie
  • L'identifiant du fichier de journal produit
  • La date de début et de fin de période couverte par les événements

Lors de la lecture séquentielle des journaux archivés ou à la demande de l'utilisateur, la conformité des journaux est validée: A l'ouverture d'un journal archivé, le processus lit la première ligne du journal suivant et récupère l'empreinte numérique calculée lors du chaînage. Il compare cette empreinte avec celle qu'il calcule sur le contenu ressorti de l'archive.

Exploitation

L'accès aux journaux pour consultation est réservé aux personnes habilitées par le système de gestion des autorisations selon les deux axes explicités dans le chapitre consacré aux sécurités:

  • L'attribution du privilège d'accéder aux fonctions de consultation
  • La définition du périmètre de données accessible qui peut restreindre la consultation aux événements liés à certains objets par exemple. Un administrateur ou un auditeur aura un accès complet à tous les événements, mais un producteur ne peut voir que les événements ayant trait aux archives auxquelles il peut accéder.

Le système met à disposition des utilisateur les outils pour exploiter facilement les journaux, notamment au travers de l'interface homme-machine; L'accès aux journaux et aux événements qu'ils contiennent est assuré par plusieurs fonctions de l'application, qui fournissent des méthodes de recherche et de consultation adaptées aux besoins et au contexte d'utilisation, avec trois approches:

  • La consultation des journaux permet aux administrateurs et auditeurs d'ouvrir les archives du journal et de consulter le contenu organisé de manière séquentielle pour retracer l'ordre des événements. Ce mode autorise une recherche dans le contenu d'un journal chaîné et archivé.
  • La recherche multicritères d'événements permet d'effectuer des recherches multicritères transversales grâce à l'indexation des événements dans la base de données. Elle présente des listes de résultats d'événements correspondant aux critères et permet d'en afficher le détail.
  • Enfin, le filtrage sur l'objet présente une vue des événements restreinte selon le contexte, pour afficher une sélection des événements portant sur l'archive ou le profil auquel l'utilisateur a eu accès.

Journal de l'application

Le journal de l'application comporte la liste des événements métier signalés par l'application, tels que les ajouts et modification d'informations dans les panneaux d'administration, la connexion des utilisateurs, ou encore les opérations sur les archives ou les profils d'archivage.

Contenu des traces

Le journal d'audit de l'application consigne toutes les opérations effectuées par les utilisateurs ou par le système et notifiées dans l'application comme étant significatives. Les événements tracés sont répartis en trois catégories selon leur origine et leur sujet: Système d'archivage, sécurité et système.

On peut citer ici quelques catégories d'événements, la liste exhaustive des types d'événement tracés est fournie en annexe :

Application d'archivage :

  • Écriture d'un paquet archivé sur un site de stockage
  • Modification des données de gestion
  • Production d'une attestation
  • Consultation d'une archive
  • Échec de contrôle conformité d'une archive : empreinte non conforme

Sécurité :

  • Connexion d'un utilisateur
  • Tentative de connexion en échec
  • Ajout d'un utilisateur
  • Changement de mot de passe d'un utilisateur
  • Modification des groupes d'autorisation

Système :

  • Erreur d'exécution d'un programme externe
  • Fin de procédure d'arrière-plan planifiée pour le versement
  • Succès d'une procédure de sauvegarde
  • Mise à jour du système ou d'une application
  • Historique de fonctionnement d'une application

En plus de ces types d'événements, l'application Maarch RM autorise des logiciels tiers à envoyer des informations à consigner dans le journal. Il est ainsi possible à un processus externe au système d'archivage de tracer un événement dans le journal de l'application s'il porte sur le périmètre de la conservation des archives ou de la sécurité.

Chaque trace comporte les informations suivantes :

# Colonne Libellé
1 Identifiant unique de l'événement dans le journal généré par le système.
2 Type de l'événement (cf plus bas)
3 Date et heure de l'événement
4 Identifiant du compte utilisateur ou du compte de service qui procède au chaînage.
5 Paramètres d'entrée
6 Informations système (*)
7 Certaines données d'entrée (**)
8 Résultat de la demande (succès ou échec)
9 Certaines données de sortie retournées par le système (**)

(*) Ces informations sont collectées automatiquement par le système. Aujourd'hui l'adresse internet du client de l'interface homme-machine est tracée, mais d'autres informations utiles pourront être ajoutées ultérieurement.

(**) La nature et la quantité des données d'entrée et de sortie inclues à la trace sont limitées par Maarch RM, ce pour plusieurs raisons:

  • elles peuvent être complexes et difficiles à représenter dans une ligne de journal. La plupart des logiciels qui produisent des traces n'y incluent en effet pas le détail des données échangées (serveur http, application de bureau..). Cependant, les informations très significatives peuvent être extraites et/ou les données transformées en texte compréhensible lorsque nécessaire ou possible.
  • leur écriture dans un fichier peut constituer une faille de sécurité ou présenter un problème de confidentialité. Maarch RM omet volontairement les informations de type mot de passe.

Les types d'événement tracés sont fournis en annexe.


Conservation sécurisée

Une fois par jour au moins, à la fin de la journée d'exploitation par exemple, le journal est sécurisé selon la procédure suivante:

Le processus retrouve la dernière archive de journal de l'application et récupère son empreinte numérique ainsi que la date précise du dernier événement sécurisé inscrit dans ce journal.

Le processus collecte les événements du journal de l'application qui n'ont pas encore été sécurisés, c'est-à-dire qui couvrent toute la période depuis la dernière exécution du processus, à partir de la base de données dans l'ordre de leur survenue.

Le processus inscrit en première ligne du nouveau journal les informations suivante:

# colonne Libellé
1 Date d'ouverture du journal
2 l'identification du journal précédent
3 Empreinte numérique du journal précédent
4 Algorithme d'empreinte numérique du journal précédent

Note: Seul le premier journal du système ne contiendra pas d'identifiant ni d'empreinte du journal précédent sur sa première ligne.

Le processus inscrit tous les événements à sécuriser à la suite dans le nouveau fichier de journal.

Le document journal extrait est versé dans l'archive avec des métadonnées pour permettre sa recherche et consultation :

  • Sa nature de journal de l'application
  • La plage de dates couverte

Exploitation

L'accès aux journaux pour consultation est réservé aux personnes habilitées par le système de gestion des autorisations, avec l'attribution du privilège d'accéder aux fonctions de consultation. Un administrateur ou un auditeur aura un accès complet à tous les événements.

Le système met à disposition des utilisateurs les outils pour exploiter facilement les journaux, notamment au travers de l'interface homme-machine; L'accès aux journaux et aux événements qu'ils contiennent est assuré par plusieurs fonctions de l'application, qui fournissent des méthodes de recherche et de consultation adaptées aux besoins et au contexte d'utilisation, avec deux approches:

  • La consultation des journaux permet aux administrateurs et auditeurs d'ouvrir les archives du journal et de consulter le contenu organisé de manière séquentielle pour retracer l'ordre des événements. Ce mode autorise une recherche dans le contenu d'un journal chaîné et archivé.
  • La recherche multicritères d'événements permet d'effectuer des recherches multicritères transversales grâce à l'indexation des événements dans la base de données. Elle présente des listes de résultats d'événements correspondant aux critères et permet d'en afficher le détail.

Autres journaux système archivés

Afin de garantir la sécurité de tous les journaux du système d'archivage, les procédures d'archivage des traces des autres logiciels peuvent être mises en place. Une fonction de l'application permet de verser directement dans l'archive les journaux générés par d'autres applications et composantes du système, en indiquant les métadonnées suivantes :

  • Leur nature de journal système
  • La plage de dates couverte
  • Le nom et la version du logiciel à l'origine de l'événement

Production d'attestations

Norme NF Z42-013 §5.6 : «La journalisation conduit à la production d’attestations. Celles-ci doivent être archivées dans les mêmes conditions de conservation que les documents qu'elles concernent.»

Norme NF Z42-013 §5.6.2 : «Le journal de cycle de vie des archives comprend les attestations électroniques...»

Norme NF Z42-013 §13.1 : «Le tiers archiveur … doit produire des attestations de son activité. … (il) doit conserver un double de ces attestations conformément aux spécifications du présent document. »

Les attestations constituent la preuve de l'activité de l'opérateur d'archivage vis-à-vis des déposants. Elles sont vues comme partie intégrante du journal du cycle de vie.

Cependant, une autre interprétation est que les attestation sont des documents à part entière qui doivent être conservés avec les archives qu'ils concernent et en lien avec les traces des journaux qui consignent l'activité correspondante. En effet, les attestations doivent comporter suffisamment de détail pour identifier l'événement, les acteurs, les objets dont le cycle de vie est impacté. Inclure les attestations au journal ferait augmenter sa taille de manière drastique.

La solution proposée dans Maarch RM est la suivante : A chaque événement du cycle de vie de l'archive, le système d'archivage produit une attestation qui comporte toute l'information sur l'opération qu'elle concerne. La production de cette attestation est aussi tracée dans le journal du cycle de vie de l'archive en y indiquant la date, la nature de l'attestation et son identifiant notamment. Ceci permet de limiter les écritures dans le journal tout en permettant de retrouver les attestations correspondantes.

L'attestation doit permettre d'établir les informations suivantes :

  • La date de l'opération sous la forme d'une contremarque de temps UTC certifiée qui doit être identique dans l'attestation et le journal.
  • La nature de l'opération : la norme précise quelques uns des événements qui doivent obligatoirement faire l'objet de la production d'une attestation, mais le système d'archivage peut tracer des événements complémentaires pour améliorer la traçabilité.
  • L'identité du demandeur, c'est-à-dire la personne (morale ou physique) qui a provoqué l'opération, on peut indiquer son nom et toute autre information nécessaire telles que l'adresse, les moyens de communication, les contacts, etc.
  • L'identité de l'autorité qui a contrôlé son exécution, donc l'opérateur du système (prestataire de tiers archivage ou organisme).
  • L'identification univoque des objets sur lesquels porte l'opération : On doit fournir l'identifiant dans le système d'archivage, mais aussi toutes les informations qui permettent de garantir l'intégrité de l'objet comme l'empreinte numérique et l'adresse de stockage des documents archivés. L'objectif est de pouvoir certifier que l'opération a bien eu lieu sur cet objet.
  • Le cas échéant, l'identification des systèmes logiciels et matériels qui entrent en jeu dans l'opération, afin de pouvoir retrouver les éléments techniques ayant participé à son déroulement.


Pour Maarch RM, ces attestations sont représentées par les messages électroniques échangés selon la norme NF Z44-022 MEDONA et le SEDA.

Il s'agit notamment des messages suivants :

Message Attestation
Réponse au transfert Dépôt
Notification de modification Modification
Réponse à la demande de communication Communication / Conformité
Notification de destruction Destruction
Restitution Restitution
Accusé de réception de transfert Réception
Notification de modification de profil Modification de profil
Notification de création de profil Création de profil
Notification de suppression de profil Suppression de profil

A chaque événement du cycle de vie de l'archive correspond une attestation produite par un échange de message entre le service d'archives et le déposant, le producteur ou le demandeur.

Annexes

Types d'événements du journal de l'application

Code type Libellé
digitalResource/cluster/readList Lecture de toutes les grappes de dépôt
digitalResource/cluster/read_clusterId_ Lecture d'une grappe de dépôt
digitalResource/cluster/newCluster
digitalResource/cluster/create Création d'une grappe de dépôt
digitalResource/cluster/update Modification d'une grappe de dépôt
digitalResource/format/readList Lecture de tous les formats
digitalResource/format/readFind_query_ TypeHead format
digitalResource/repository/readList Lecture de tous les sites de dépôt
digitalResource/repository/read_repositoryId_ Lecture d'un site de dépôt
digitalResource/repository/create Création d'un site de dépôt
digitalResource/repository/update Modification d'un site de dépôt
recordsManagement/accessRule/readIndex Lecture des règles de communicabilité
recordsManagement/accessRule/readNew
recordsManagement/accessRule/read_code_ Lecture d'une règle de communicabilité
recordsManagement/accessRule/create Création d'une règle de communicabilité
recordsManagement/accessRule/update Modification d'une règle de communicabilité
recordsManagement/accessRule/delete_code_ Suppression d'une règle de communicabilité
recordsManagement/archivalProfile/readIndex Lecture de tous les profils d'archives
recordsManagement/archivalProfile/readNew
recordsManagement/archivalProfile/read_archivalProfileId_ Lecture d'un profil d'archives
recordsManagement/archivalProfile/create Création d'un profil d'archives
recordsManagement/archivalProfile/update Modification d'un profil d'archives
recordsManagement/archivalProfile/delete_archivalProfileId_ Suppression d'un profil d'archives
recordsManagement/archiveDescription/read_archiveId_ Lecture d'une description d'archive
recordsManagement/archiveDescription/read_descriptionClass__descriptionId_ Lecture d'une description d'archive en fonction de sa classe
recordsManagement/archive/readDocument_docId_ Lecture d'information d'un document d'archive
recordsManagement/archive/readContents_archiveId_ Lecture d'un document d'archive
recordsManagement/archive/readContentsbydescription_descriptionClass__descriptionId_ Lecture d'un document d'archive en fonction de sa description
recordsManagement/archive/read_archiveId_Exists Vérifie qu’une archive existe
recordsManagement/archive/createDelivery_archiveId_ Création d'une archive
recordsManagement/archive/createDeliverybydescription Création d'une archive en fonction de sa description
recordsManagement/archive/read_archiveId_Retentionrule Lecture d'une archive en fonction de sa durée de rétention
recordsManagement/archive/readAccessrule_archiveId_ Lecture d'une règle d'accès en fonction d'une archive
recordsManagement/archive/archiveCompliance
recordsManagement/archive/interactiveArchive
recordsManagement/archive/newDigitalResource
recordsManagement/archive/depositForm
recordsManagement/archive/descriptionForm
recordsManagement/archive/getArchivalProfile_archivalProfileReference_
recordsManagement/archiveRelationship/newRelationship Préparation à la crétion d'une nouvelle relation
recordsManagement/archiveRelationship/createRelationship Création d'une relation entre deux archives
recordsManagement/archiveRelationship/deleteRelationship Suppression d'une relation entre deux archives
recordsManagement/archiveRelationship/getByArchiveId Lecture d'une relation en fonction d'une archive
recordsManagement/archives/read Lecture de toutes les archives
recordsManagement/archives/updateFreeze Gèle d'une archive
recordsManagement/archives/updateUnfreeze Dégèle d'une archive
recordsManagement/archives/readRetentionrule Lecture de toutes les règles de rétention
recordsManagement/archives/updateRetentionrule Modification d'une règles de rétention
recordsManagement/archives/readAccessrule Lecture de toutes les règles d'accès
recordsManagement/archives/updateAccessrule Modification d'une règles d'accès
recordsManagement/archives/updateSetforrestitution Paramétrer une archive pour la restitution
recordsManagement/archives/validateRestitution Valider une restitution
recordsManagement/archives/cancelRestitution Annuler une restitution
recordsManagement/archives/updateDisposearchives Modification d'un dépôt d'archive
recordsManagement/archives/cancelDestruction Annuler une destruction
recordsManagement/archives/readIntegritycheck Lecture d'une intégrité
recordsManagement/log/find
recordsManagement/log/read Lecture des log
recordsManagement/log/create Création d'un log
recordsManagement/log/update Modification d'un log
recordsManagement/log/delete Suppression d'un log
recordsManagement/log/form
recordsManagement/retentionRule/readIndex Lecture de toutes les règles de rétention
recordsManagement/retentionRule/create Création d'une règles de rétention
recordsManagement/retentionRule/read_code_ Lecture d'une règle de rétentions
recordsManagement/retentionRule/update Modification d'une règle de rétention
recordsManagement/retentionRule/delete_code_ Suppression d'une règle de rétention
recordsManagement/serviceLevel/readIndex Lecture des differents niveaux de service
recordsManagement/serviceLevel/read Lecture de tous les niveaux de service
recordsManagement/serviceLevel/create Création d'un niveau de service
recordsManagement/serviceLevel/read_serviceLevelId_ Lecture d'une niveau de service
recordsManagement/serviceLevel/update Modification d'un niveau de service
recordsManagement/serviceLevel/delete_serviceLevelId_ Suppression d'un niveau de service
recordsManagement/serviceLevel/updateSetdefault_serviceLevelId_ Mettre un niveau de service par défaut
medona/archivalAgreement/readIndex Lecture de toutes les conventions d'archivage
medona/archivalAgreement/readNewagreement Préparation d'une création d'une convention
medona/archivalAgreement/read_archivalAgreementId_ Lecture d'une convention d'archivage
medona/archivalAgreement/create Création d'une convention d'archivage
medona/archivalAgreement/update Modification d'une convention d'archivage
medona/archivalAgreement/delete_archivalAgreementId_ Suppression d'une convention d'archivage
medona/archiveAuthorization/readOutgoinglist Lecture de toutes les demandes d'autorisations envoyées
medona/archiveAuthorization/readIngoinglist Lecture de toutes les demandes d'autorisations reçues
medona/archiveAuthorization/updateOriginatingagencyrequest_requestMessageId_ Demande d'autorisation au producteur
medona/archiveAuthorization/updateOriginatingagencyrequestacceptance_messageId_ Validation d'une autorisation par le producteur
medona/archiveAuthorization/updateOriginatingagencyrequestrejection_messageId_ Rejet d'une autorisation par le producteur
medona/archiveAuthorization/updateControlauthorityrequest_requestMessageId_ Demande d'autorisation à l'autorité de contrôle
medona/archiveAuthorization/updateControlauthorityrequestacceptance_messageId_ Validation d'une autorisation par l'autorité de contrôle
medona/archiveAuthorization/updateControlauthorityrequestrejection_messageId_ Rejet d'une autorisation par l'autorité de contrôle
medona/archiveAuthorization/readList Lecture de toutes les demandes d'autorisation
medona/archiveAuthorization/read_messageId_ Lecture d'une demande d'autorisation
medona/archiveAuthorization/read_messageId_Attachment_attachmentId_ Lecture d'une demande d'autorisation en fonction d'une archive
medona/archiveAuthorization/updateEndtransaction_messageId_ Modification de fin de transaction d'une demande d'autorisation
medona/archiveAuthorization/createArchivetransfer Création d'un message de transfert d'archive
medona/archiveAuthorization/updateValidateArchivetransfer Validation d'un message de transfert d'archive
medona/archiveDelivery/readIngoinglist Lecture de toutes les demandes communications envoyées
medona/archiveDelivery/readOutgoinglist Lecture de toutes les demandes communications reçues
medona/archiveDelivery/updateRequestacceptance_messageId_ Validation d'une demande de communication
medona/archiveDelivery/updateRequestrejection_messageId_ Rejet d'une demande de communication
medona/archiveDelivery/readSearchoutgoing Lecture de toutes les demandes de communication reçu
medona/archiveDelivery/readSearchhistory Lecture de l'historique des demandes de communication
medona/archiveDelivery/readValidate Lecture de toutes les demandes de communications validées
medona/archiveDelivery/readList Lecture de toutes les demandes de communications validées
medona/archiveDelivery/read_messageId_ Lecture d'une demande de communication
medona/archiveDelivery/read_messageId_Attachment_attachmentId_ Lecture d'une demande de communication en fonction d'une archive
medona/archiveDelivery/updateEndtransaction_messageId_ Modification de fin de transaction d'une demande de communication
medona/archiveDelivery/createArchivetransfer
medona/archiveDelivery/updateValidateArchivetransfer
medona/archiveDestruction/readIngoinglist Lecture de toutes les demandes de destruction envoyées
medona/archiveDestruction/readOutgoinglist Lecture de toutes les demandes de destruction reçues
medona/archiveDestruction/updateRequestacceptance_messageId_ Validation d'une demande de destruction
medona/archiveDestruction/updateRequestrejection_messageId_ Rejet d'une demande de destruction
medona/archiveDestruction/readSearchoutgoing Lecture de toutes les demandes de destruction reçues
medona/archiveDestruction/readSearchhistory Lecture de l'historique des demandes de destruction
medona/archiveDestruction/readValidate Lecture de toutes les demandes de destruction validées
medona/archiveDestruction/readList Lecture de toutes les demandes de destruction
medona/archiveDestruction/read_messageId_ Lecture d'une demande de destruction
medona/archiveDestruction/read_messageId_Attachment_attachmentId_ Lecture d'une demande de destruction en fonction d'une archive
medona/archiveDestruction/updateEndtransaction_messageId_ Modification de fin de transaction d'une demande de destruction
medona/archiveDestruction/createArchivetransfer
medona/archiveDestruction/updateValidateArchivetransfer
medona/archiveModificationNotification/readList Lecture des toutes les notifications de modification
medona/archiveModificationNotification/readSearch
medona/archiveModificationNotification/read_messageId_ Lecture d'une notification de modification
medona/archiveModificationNotification/read_messageId_Attachment_attachmentId_ Lecture d'une notification de modification en fonction de son archive
medona/archiveModificationNotification/updateEndtransaction_messageId_ Modification de fin de transaction d'une notification de modification
medona/archiveModificationNotification/createArchivetransfer
medona/archiveModificationNotification/updateValidateArchivetransfer
medona/archiveTransfer/readSearch Recherche de messages de transfert
medona/archiveTransfer/readIngoinglist Lecture de tous les messages de transfert reçus
medona/archiveTransfer/readOutgoinglist Lecture de tous les messages de transfert envoyé
medona/archiveTransfer/updateRequestacceptance_messageId_ Validation d'un message de transfert
medona/archiveTransfer/updateRequestrejection_messageId_ Rejet d'un message de transfert
medona/archiveTransfer/readList Lecture de tous les messages de transfert
medona/archiveTransfer/read_messageId_ Lecture d'un message de transfert
medona/archiveTransfer/read_messageId_Attachment_attachmentId_ Lecture d'un message de transfert en fonction d'une archive
medona/archiveTransfer/updateEndtransaction_messageId_ Modification de fin de transaction d'un message de transfert
medona/archiveTransfer/createArchivetransfer
medona/archiveTransfer/updateValidateArchivetransfer
medona/archiveTransfer/updateRequestprocess_messageId_ Traitement des transferts d'archives
medona/message/readList Lecture de tous les messages
medona/message/read_messageId_ Lecture d'un message
medona/message/read_messageId_Attachment_attachmentId_ Lecture d'un message en fonction d'une archive
medona/message/updateEndtransaction_messageId_ Modification de fin de transaction d'un message
medona/message/createArchivetransfer Création d'un message
medona/message/updateValidateArchivetransfer Modification d'un message
financialRecords/accountingRecord/readList Lecture de tous les documents comptables
financialRecords/accountingRecord/create Création d'un document comptable
financialRecords/accountingRecord/read_accountingRecordId_ Lecture d'un document comptable
financialRecords/accountingRecord/update_accountingRecordId_ Modification d'un document comptable
financialRecords/accountingRecord/delete_accountingRecordId_ Suppression d'un document comptable
financialRecords/accountingRecord/readForm
organization/orgRole/readList Lecture de tous les rôles
organization/orgType/readList Lecture de tous les types d'organisations
organization/orgType/create Création d'un type d'organisation
organization/orgType/read_code_ Lecture d'un type d'organisation
organization/orgType/update_code_ Modification d'un type d'organisation
organization/organization/readIndex Lecture de toutes les organisations
organization/organization/readTree Lecture de l'arbre
organization/organization/readSearch
organization/organization/create Création d'une organisation
organization/organization/read_orgId_ Lecture d'une organisation
organization/organization/readByregnumber_registrationNumber_ Lecture d'une organisation en fonction de son numéro d'immatriculation
organization/organization/readByrole_role_ Lecture d'une organisation en fonction d'un rôle
organization/organization/readUserpositions_orgId_ Lecture d'une organisation en fonction d'une position d'un utilisateur
organization/organization/createUserposition_orgId__userAccountId_ Lecture d'une organisation en fonction d'une position d'un utilisateur et de son identifiant
organization/organization/updateSetdefaultposition_orgId__userAccountId_ Mise par défaut d'une position d'un utilisateur
organization/organization/deleteUserposition_orgId__userAccountId_ Suppression d'une position d'un utilisateur
organization/organization/readServicepositions_orgId_ Lecture d'une organisation en fonction d'une position d'un service
organization/organization/readHasrole_registrationNumber__role_
organization/organization/update_orgId_ Modification d'une organisation
organization/organization/updateMove_orgId Déplacement d'une organisation
organization/organization/delete_orgId_ Suppression d'une organisation
organization/organization/read_orgId_Addresses Lecture de toutes les adresses d'une organisation
organization/organization/read_orgId_Communications Lecture de toutes les communications d'une organisation
organization/organization/read_orgId_Contacts Lecture de tous les contact d'une organisation
organization/organization/create_orgId_Contact_contactId_ Création d'un contact dans une organisation
organization/organization/deleteContactposition_orgId_contactId_ Suppression d'une position d'un contact en fonction de son identifiant
organization/userPosition/updateCurrent_orgId_ Modification d'une position
organization/userPosition/read Lecture d'une position
organization/userPosition/readCurrent
organization/orgContact/createOrgcontact Création d'un contact dans une organisation
organization/orgContact/readOrgcontact_orgId_Org Lecture d'un contact en fonction de son organisation
organization/orgContact/readOrgcontact_contactId_contact Lecture d'un contact en fonction de son identifiant
organization/orgContact/deleteOrgcontact Suppression d'un contact dans une organisation
organization/servicePosition/read Lecture d'une position d'un service
organization/servicePosition/create Création d'une position d'un service
organization/servicePosition/readDescendantorgids Lecture des services enfants de l'organisation
audit/event/create Création d'un événement
audit/event/readSearch Lecture de tous les événements
audit/event/readGetevent_eventType_
contact/communicationMean/readIndex Lecture de tous les communications
contact/communicationMean/create Création d'une communication
contact/communicationMean/read_code_ Lecture d'une communication
contact/communicationMean/update_code_ Modification d'une communication
contact/communicationMean/delete_code_ Suppression d'une communication
contact/contact/readIndex Lecture de tous les contacts
contact/contact/create Création d'un contact
contact/contact/read_contactId_ Lecture d'un contact
contact/contact/update_contactId_ Modification d'un contact
contact/contact/delete_contactId_ Suppression d'un contact
contact/contact/read_contactId_Address Lecture des adresses d'un contact
contact/contact/create_contactId_Address Création d'une adresse d'un contact
contact/contact/read_contactId_Address_purpose_ Lecture d'une adresse d'un contact
contact/contact/update_contactId_Address_purpose_ Modification d'une adresse d'un contact
contact/contact/delete_contactId_Address_purpose_ Suppression d'une adresse d'un contact
contact/contact/create_contactId_Communication Création d'une communication d'un contact
contact/contact/read_contactId_Communication Lecture des communications d'un contact
contact/contact/read_contactId_Communication_comMeanCode_ Lecture d'une communication d'un contact
contact/contact/read_contactId_Communication_purpose__comMeanCode_ Lecture d'une communication d'un contact en fonction de son libellé
contact/contact/update_contactId_Communication_purpose__comMeanCode_ Modification d'une communication d'un contact en fonction de son libellé
contact/contact/delete_contactId_Communication_purpose__comMeanCode_ Suppression d'une communication d'un contact en fonction de son libellé
contact/contact/readAddress_addressId_ Lecture d'une adresse
contact/contact/updateAddress_addressId_ Modification d'une adresse
contact/contact/deleteAddress_addressId_ Suppression d'une adresse
contact/contact/readCommunication_communicationId_ Lecture d'une communication
contact/contact/updateCommunication_communicationId_ Modification d'une communication
contact/contact/deleteCommunication_communicationId_ Suppression d'une communication
lifeCycle/event/read_eventId_ Lecture d'un événement du cycle de vie
lifeCycle/event/readSearch Lecture de tous les événements du cycle de vie
lifeCycle/journal/readList Lecture de tous les journaux
lifeCycle/journal/read_journalId_ Lecture d'un journal
archivesPubliques/contentDescription/createSearch Lecture de toutes les archives publiques
archivesPubliques/contentDescription/readValidation
archivesPubliques/contentDescription/create Création d'une archive publique
archivesPubliques/contentDescription/read_contentDescriptionId_ Lecture d'une archive publique
archivesPubliques/contentDescription/update Modification d'une archive publique
archivesPubliques/contentDescription/delete_contentDescriptionId_ Suppression d'une archive publique
archivesPubliques/thesaurus/read Lecture du thesaurus
archivesPubliques/thesaurus/read_query_ TypeHead thesaurus
auth/authentication/createUserlogin Connexion
auth/authentication/deleteUserlogin Déconnexion
auth/authentication/update_userName_Password Modification du mot de passe utilisateur
auth/publicUserStory/read Lecture de tous les utilisateurs public
auth/publicUserStory/create Création d'un utilisateur public
auth/publicUserStory/delete Suppression d'un utilisateur public
auth/role/readIndex Lecture de tous les rôles
auth/role/readNewrole Préparation à la création d'une nouveau rôle
auth/role/read_roleId_ Lecture d'un rôle
auth/role/read_roleId_Privileges Lecture des privilèges d'un rôle
auth/role/read_roleId_Accessrules Lecture des règles d'accès d'un rôle
auth/role/create Création d'un rôle
auth/role/create_roleId_Privilege Création de privilège pour un rôle
auth/role/create_roleId_Accessrule Création de règles d'accès pour un rôle
auth/role/update_roleId_ Modification d'un rôle
auth/role/update_roleId_Status_status_ Modification du statuts d'un rôle
auth/role/deletePrivilege Suppression d'un privilège d'un rôle
auth/role/deleteAccessrule Suppression d'une règle d’accès d'un rôle
auth/role/delete_roleId_ Suppression d'un rôle
auth/role/readRoles_query_ Lecture de plusieurs rôles
auth/roleMember/readIndex Lecture de tous les rôles
auth/roleMember/readByrole_roleId_ Lecture d'un rôle
auth/roleMember/readByuseraccount_userAccountId_ Lecture d'un rôle en fonction d'un utilisateur
auth/roleMember/create Création d'un membre de rôle
auth/roleMember/delete_roleId__userAccountId_ Suppression d'un membre de rôle
auth/serviceAccount/readIndex Lecture de tous les comptes de service
auth/serviceAccount/readSearch
auth/serviceAccount/readNewservice
auth/serviceAccount/read_serviceAccountId_ Lecture d'un compte de service
auth/serviceAccount/create Création d'un compte de service
auth/serviceAccount/update Modification d'un compte de service
auth/serviceAccount/updateEnable_serviceAccountId_ Activez un compte de service
auth/serviceAccount/updateDisable_serviceAccountId_ Désactivez un compte de service
auth/serviceAccount/createServicetoken Création d'un jeton pour un compte de service
auth/serviceAccount/readQuery_query_ Typehead des comptes de service
auth/userAccount/readIndex
auth/userAccount/readUserlist Lecture de tous les comptes utilisateurs
auth/userAccount/readSearch
auth/userAccount/readQuery_query_ Lecture de plusieurs comptes utilisateurs
auth/userAccount/readNew Préparation à la création d'un compte utilisateur
auth/userAccount/create Création d'un compte utilisateur
auth/userAccount/read_userAccountId_ Lecture d'un compte utilisateur
auth/userAccount/read_userAccountId_Information Lecture des informations en rapport avec un compte utilisateur
auth/userAccount/update Modification d'un compte utilisateur
auth/userAccount/read_userAccountId_Privileges Lecture des privilèges d'un compte utilisateur
auth/userAccount/readHasprivilege Lecture d'un privilège
auth/userAccount/readAccessrule_objectClass_ Lecture des règles d'accès d'un compte utilisateur en fonction d'une classe d’objet
auth/userAccount/updateDisable_userAccountId__replacingUserAccountId_ Désactivez un compte utilisateur
auth/userAccount/updateEnable_userAccountId_ Activez un compte utilisateur
auth/userAccount/updateLock_userAccountId_ Bloquez un compte utilisateur
auth/userAccount/updateUnlock_userAccountId_ Débloquez un compte utilisateur
auth/userAccount/updatePassword Modification du mot de passe d'un compte utilisateur
auth/userAccount/updatePasswordchangerequest_userAccountId_ Demande au compte utilisateur de changer son mot de passe