(1/3) Analyse d’une politique documentaire : cas client

Préambule

Ce billet de blog vous présente le travail réalisé pour un client institutionnel dans le cadre d’une mission d’analyse de leur politique documentaire.

Ce billet se décompose en 3 parties :

  • Présentation de l’objectif, du contexte et de la démarche
  • Présentation de l’étude technique avec une partie des indicateurs obtenus
  • Présentation de l’étude fonctionnelle avec une partie des arborescences

/Users/bxml/Desktop/Tmp/Screenshots/Capture d’écran 2019-04-09 à 11.49.26.png

 

Introduction

L’objectif de l’audit est de réaliser une analyse des contenus stockés dans leur fonds documentaire dans leur totalité (environ 20 To) :

  • un serveur de fichiers Windows, organisationnel (avec les contenus de chaque direction) ;
  • un serveur de fichiers Windows, communs (avec les contenus transverses) ;
  • un serveur de GED Alfresco (avec les contenus collaboratifs).

Cette analyse s’effectue généralement en collaboration avec la DSI et se décompose en 2 parties :

  • une étude technique des contenus stockés sur les différents composants ;
  • une étude fonctionnelle de ces contenus.

Démarche

L’objectif est de lister tous les fichiers contenus dans les systèmes ci-dessus, en récupérant les métadonnées disponibles dans un fichier au format csv. Le nombre de fichiers étant considérable, cette collecte est découpée en plusieurs sous-ensembles afin de ne pas surcharger le système lors de la récupération de ce listing. En outre, afin de pouvoir analyser les contenus extrêmement nombreux (plusieurs millions de ligne), un tableur n’est pas suffisant, il est ainsi prévu d’indexer et rechercher les contenus à l’aide de l’outil spécialisé Elasticsearch (ELK) de la société éponyme.

 

Listing au format csv

Liste des fichiers

Deux scripts ont été écrits en powershell 2 afin de permettre la récupération de ces éléments sur Windows :

  1. Un premier script liste les éléments principaux de premier niveau (c’est à dire les sous-répertoires) du répertoire passé en paramètre et appelle un deuxième script pour chacun des sous-répertoires principaux identifiés ;
  2. Le deuxième script liste tous les fichiers contenus dans le répertoire principal ou un de ses sous-répertoires.

Le premier script pilote le deuxième script. Le premier script a été lancé à la main à des moments propices (soirée, veille de we) pour éviter de trop surcharger le système pendant l’exploitation quotidienne.

Le fichier csv ressemble à ceci :

En parallèle du lancement des scripts de comptage, il faut également lancer la fonction de Windows permettant de compter le nombre et le volume des fichiers et répertoires pour un répertoire donné.

Erreurs

Certaines erreurs apparaissent :

  • répertoires inaccessibles, pour des raisons de droits ;
  • répertoires ou fichiers avec un nom trop long ;
  • répertoires ou fichiers avec des caractères interdits.

Dans l’absolu, il faudrait traiter ces erreurs. Cependant, un comptage a été fait en parallèle par le système Windows et comparé au nombre de répertoires et fichiers trouvés via les scripts ci-dessus. La différence n’est pas significative et on peut simplement ignorer ces erreur.

 

Injection dans le système d’indexation ELK

Le système d’indexation ELK facilite le comptage et le regroupement des données en fonction des indicateurs souhaités afin de faciliter le calcul des éléments techniques mais aussi l’étude du fonds documentaire.

ELK est un système d’indexation de contenus basé sur 3 composants :

  • Logstash pour la récupération et l’analyse des données en amont, en l’occurrence les fichiers csv générés par les scripts précédents ;
  • Elasticsearch, pour l’indexation des données ;
  • Kibana, pour la navigation dans les données.

Traitement et import des données

Logstash permet le traitement et l’import des données afin d’extraire toutes les informations souhaitées. Par exemple, l’extraction de la source de données (Lecteur M: dans notre cas) ou la conversion de la taille des documents en Ko afin de faciliter la lecture. Attention à bien conserver toutes les données afin de pouvoir les réutiliser si nécessaire.

Requête et comptage

Elasticsearch permet la création de requêtes pour extraire et compter le nombre de fichiers comme par exemple compter le nombre de documents par source ou leur taille.

La requête suivante permet par exemple de ne compter que les documents respectant certaines contraintes :

 

Tableaux de bord

Kibana permet la création de tableaux de bords, notamment avec la fonctionnalité TimeLion permettant de calculer et afficher des indicateurs sur le même graphique afin, par exemple, de comparer l’évolution du nombre de documents dans le temps en fonction de leur source.

/Users/bxml/Desktop/Tmp/Screenshots/Capture d’écran 2019-04-08 à 16.48.56.png

 

Comptages des répertoires et fichiers par source

Lorsque tous les éléments ont été injectés dans le moteur d’indexation, on compare alors les éléments obtenus entre le comptage Windows et le comptage ELK afin de vérifier que les erreurs ne sont pas significatives.

 

M:\Organisationnel

Les comptages sont les suivants :

Répertoire principal Nb de répertoires Nb de fichiers Volume
Total comptage listing via le calcul de Windows 1 309 910 10 798 669 16,1 To
Total comptage index 1 305 950 10 171 949 17,1 To

 

N:\Commun

Les comptages sont les suivants :

Répertoire principal Nb de répertoires Nb de fichiers Volume
Total comptage listing via le calcul de Windows 581 770 3 402 133 3,45 To
Total comptage index 564 576 3 089 141 3,64 To

O:\Alfresco

Un lecteur réseau a été monté sur le serveur Alfresco afin de pouvoir lister les fichiers stockés à la racine et dans les sites. Dans notre étude de cas, du fait du faible stockage et du faible nombre des éléments stockés en dehors des sites, qui représentent à peine 10 Go et quelques milliers de fichiers, ils n’ont pas été importés et ont été ignorés dans l’analyse.

Répertoire principal Nb de répertoires Nb de fichiers Volume Remarques
Total comptage index 50 113 295 702 781 Go 115 sites

 

 

Suivez bluexml sur les réseaux sociaux