phpDocServ
Un
outil pour la gestion des documents !
Aujourd'hui, les différents organismes que sont les entreprises, les associations, les établissements scolaires, etc, se tournent vers une mutualisation des compétences de chacun à l'aide des nouvelles technologies des réseaux informatiques, dans un souci d'accroître les performances en terme d'organisation et de gain de temps.
En
général, chaque personne se contente de gérer
(peu ou prou) ses propres documents, qu'ils soient sous forme
"physique" (magazines, livres, journaux, ...)
ou sous forme "électronique" (URLs intéressantes
(bookmarks), documents numérisés : textes,
sons, images, ...).
Il semble toutefois évident que l'adresse d'un site
web intéressant (bookmark) par exemple, peut se révéler
être importante pour plusieurs personnes en relation
avec le sujet abordé; mais tout le monde n'aurait pas
forcément trouvé le site en question au cours
d'une recherche sur le web; tout le monde n'a pas la même
démarche ou la même facilité pour trouver
une information sur la "toile". Il en va de même
pour un article lu dans un journal, une interview enregistrée
sur une cassette audio ou vidéo, un document créé
localement dans l'entreprise, ...
Le CRI a développé (c'était le travail
de stage d'un étudiant de DESS) un outil permettant
de ranger, classer et bien sûr retrouver facilement
des documents dans l'optique d'une utilisation interne. Après
quelques mois de test, l'outil a été mis à
la disposition de tous (sous licence GPL), le CRI espérant
que cet outil puisse être utile à d'autres d'une
part, et dans le but d'obtenir des critiques constructives
et des contributions afin d'améliorer le logiciel d'autre
part.
Pour permettre le regroupement des informations à "capitaliser",
il semblait obligatoire d'utiliser une application de type
"client-serveur" avec un seul point d'entrée
pour accéder et/ou ajouter des informations. Les données
doivent être aisément accessibles de n'importe
quelle machine connectée au réseau, d'où
l'utilisation d'un navigateur web côté client.
La mise en place à l'échelle de l'entreprises
est ainsi facilitée par son indépendance du
poste client. Pour optimiser le stockage structuré
et la restitution rapide des documents, l'utilisation d'une
base de données semble aussi nécessaire. Pour
une plus grande ouverture, le projet a été développé
en multilangages (actuellement uniquement français/anglais,
mais d'autres langues pourront y être facilement intégrées).
Ces particularités ont influencé les choix techniques.
Ce logiciel baptisé "phpDocServ" est une
application tournant sur un serveur web Apache (gérant
aussi l'authentification des utilisateurs) avec un module
php (pour l'interfaçage entre le serveur web et la
base de données) et un SGBD (Système de Gestion
de Base de Données) basé sur SQL (actuellement
PostgreSQL et MySQL peuvent être utilisés).
Dans ce processus de gestion de l'information, il y a plusieurs
parties distinctes :
- la production d'information : les
utilisateurs autorisés ont la possibilité
d'ajouter des documents au serveur par l'intermédiaire
d'un formulaire adapté au support choisi (les caractéristiques
d'un bookmark n'étant pas les mêmes que celles
d'un article de journal...). Le document peut être
rattaché à un thème déjà
existant sur le serveur ou bien l'utilisateur a la possibilité
de proposer la création d'un nouveau thème
(un document pouvant bien entendu être relié
à plusieurs thèmes).
- la recherche/consultation d'information :
les utilisateurs peuvent accéder aux documents
recherchés par :
- une recherche par thème et/ou support.
Dans ce cas, l'utilisateur va pouvoir affiner sa recherche
par étapes successives : restriction à
certains supports, choix d'un thème principal,
affinement du résultat par la sélection
d'autres thèmes pouvant être rattaché
au document recherché, ...
- une recherche par mots-clés. La recherche
s'effectue alors dans les propriétés
du document entrées au moment de sa création
(titre, description, thèmes rattachés, ...).
- une recherche multi-critères regroupant
les possibilités de la recherche par thème/support,
de la recherche par mots-clés ainsi qu'en utilisant
d'autres caractéristiques du document telle
que la date de création, la personne qui l'a
créé, ...
- une recherche avec un "indexeur"
du serveur (htdig a été choisi) permettant
de chercher dans le "document" lui-même
(on ne parle pas ici de sa fiche descriptive comme
précédemment) s'il est sous forme "numérisé"
et "analysable" (ce n'est pas le cas pour
une référence à un article d'un
journal papier par exemple, mais ça l'est pour
une documentation complète d'un logiciel qu'on
aurait téléchargée ("upload")
préalablement).
- l'administration du serveur de documents :
une personne (ou plusieurs si nécessaires) a la
possibilité de valider un/des document(s) dont
la création ou la modification/suppression a été
demandée afin de mettre à jour la base de
données (avec la possibilité de refuser
une action demandée par un utilisateur). La fonction
de cette personne (toujours par une interface web) est
d'administrer la base de données pour en maintenir
la cohérence, mais pas de gérer les utilisateurs
ni le système du serveur, tâches considérées
comme un pré-requis à l'utilisation de phpDocServ.
Comme expliqué précédemment, ces trois
actions (production, recherche et administration des documents)
sont accessibles par l'intermédiaire d'interfaces web
conviviales pour rendre la tâche plus aisée aux
différents acteurs intervenant dans ce processus de
capitalisation de l'information (de la création à
la suppression des documents en passant par leur consultation).
La gestion des utilisateurs et de leurs droits est assurée
par des fichiers de configuration à placer sur le serveur
web qui héberge phpDocServ. Ceux-ci sont alors utilisés
par le serveur web (Apache) pour limiter l'accès au
serveur de document (lecture seule, lecture/écriture,
administration).
Ce serveur de documents possède une architecture qui
évolue dynamiquement en fonction des documents qui
y sont introduits et en fonction de plusieurs critères.
Des thèmes peuvent être ajoutés à
tout moment (avec contrôle de l'administrateur), des
documents obsolètes peuvent être supprimés/mis
à jour (avec ou sans phase de validation en fonction
des droits de l'utilisateur qui en fait la demande).
Joël GOLLIET