Il est préférable de gérer les métadonnées d'un document dans une
base de données relationnelles plutôt que de les placer dans le titre d'un document dans un système de fichiers. Par exemple, Projetx_document2_20150101_v01.doc perdu dans un dédale de sous-dossiers, dédoublés sur plusieurs serveurs.
Pour
tenter de résoudre ces problèmes simplement, voici un modèle de
données d'un système de gestion électronique des documents (GED)
de base, avec une recherche par métadonnées. Accès aux documents par
un plan de classification. Les catégories de métadonnées ainsi que les types
de relations entre documents font partie du référentiel Dublin
Core. L'URL de la ressource ou l'URL des documents joints se trouvent dans le champ "texte".
L'ordre
d'affichage de la classification est spécifié dans le champ code
constitué d'une mnémonique hiérarchique de 5 caractères. Un plan
de classification permet :
D'obtenir
un tri logique. Par exemple, A000-Analyse, B000-Conception,
C000-Réalisation, D000-Formation
D'utiliser
un sentier d'accès compact pour spécifier la localisation d'un
document. Par exemple, en spécifiant C101/DocumntY, plutôt que
tout le sentier d'accès: C:/Réalisation/ProjectX/Étape01/DocumentY
De
faciliter la recherche : chaque document classé dans une même
rubrique a des liens de filiation, de proximité sémantique. Par
exemple, il est possible d'effectuer une recherche sur les plantes
en utilisant les 3 premiers caractères (58*) ou être plus
spécifique et d'effectuer une recherche sur les arbres (582*)
Il
est possible de suivre le cycle de vie d'un document avec son statut
(en création, en révision, actif, semi-actif et inactif) ainsi que
par des relations entre les différentes versions du document.
La
classification ou taxonomie est une discipline. Elle découle de deux
des quatre préceptes du discours de la méthode de Descartes:
Diviser
chacune des difficultés afin de mieux les examiner et les résoudre.
Établir
un ordre de pensée, en commençant par les objets les plus simples
jusqu'aux plus complexes et divers, et ainsi de les retenir toutes
et en ordre.
La
table relation définie les relations entre documents. Le type de
relation du Dublin Core concerne une version antérieure, une copie,
un document dérivé, etc.
Logiciel
libre
L'implantation de ce modèle avec des logiciels libres utilise le SGBD Postgresql et PHP, avec le framework Symfony:
Modèle de données
Application sur GitHub
Une infrastructure logicielle libre
Autres projets
Des projets sur lesquels j'ai contribué:
Cit@tion
Légis Québec
Fichier Gonzague Ducharme
GED avec Oracle Apex:
Démo GED APEX (admin/qweadmin) 
(source)