Fedora Commons

Fiche logiciel validé
  • Création ou MAJ importante : 19/04/10
  • Correction mineure : 02/03/13
Mots-clés

Fedora Commons : système de gestion et entrepôt de contenus numériques

  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Téléchargement
  • Version évaluée : 3.2.1
  • Langue(s) de l'interface : anglais
  • Licence : autre

    FedoraCommons intègre un certain nombre de technologies comme un serveur TOMCAT, un utilitaire SAXON et bien d'autre encore. Chacune de ces technologies possède une licence. Elles sont toutes décrites dans l'adresse ci-dessus.

Description
Fonctionnalités générales

Ce logiciel permet d'agréger, à l'intérieur d'objets logiques, des fichiers de données de tout format. C'est un logiciel comparable à une base de données et très rudimentaire quant aux interfaces d'accès aux données. L'accès est nettement orienté pour les machines et les programmes à l'aide des APIs. Pour utiliser FedoraCommons, il faudra donc forcément rajouter une interface cliente qui intègre la création, la modification, la suppression et la consultation des données, éventuellement une authentification si une gestion des droits d'accès est nécessaire. Pour cela vous pourrez vous appuyer sur des services web ou bibliothèques répondant aux standards actuels (JAVA, REST, SOAP, OAI, Dublin Core, etc...).

L'application typique peut être la gestion de livres dans une bibliothèque, chaque livre étant un objet logique possédant des métadonnées (titre, auteur, ISBN, éditeur, nombre de pages, genre, collection, etc...), des données texte associées (quatrième de couverture, extraits, critiques, etc...) et des données numériques associées (image de la couverture, interview de l'auteur, etc...).

Autres fonctionnalités

Pour FedoraCommons, chaque objet est décrit dans un fichier XML. Une donnée proprement dite (des métadonnées, une image, un fichier son, une vidéo, etc...) est un datastream d'un objet. Chaque objet peut contenir une infinité de datastreams qui chacun, à l'intérieur de l'objet, possède un identifiant unique. Il existe quelques datastreams réservés, comme DC qui gère les métadonnées Dublin Core ou RELS-EXT qui gère des relations entre objets décrites au format RDF.

Tous les autres datastreams peuvent être n'importe quelle donnée numérique. FedoraCommons permet de les gérer de 4 manières différentes:

  • Stockées directement dans le repository (1). C'est le cas le plus simple. L'avantage est une plus grande maîtrise du fichier, notamment pour la gestion des droits d'accès. Mais cela implique d'avoir suffisamment de capacité de disque et une garantie de pérennité quant à la qualité de conservation.
  • Données XML stockées en interne. Les données fournies doivent être écrites en XML. Elles seront stockées directement dans le fichier descriptif de l'objet.
  • Référence externe à un fichier. Ce type de datastream permet de gérer des fichiers stockés n'importe où sur un réseau accessible par URL et de faire gérer ce fichier par FedoraCommons comme un datastream stocké directement dans le repository (1). Lorsque cette donnée sera demandée, elle transitera entièrement par le serveur lors de sa retransmission au demandeur, qui ne verra donc pas que le stockage de la donnée est déporté.
  • Référence redirigée vers un fichier. Ce datastream est aussi une URL vers un fichier sur un réseau, mais le demandeur sera redirigé vers l'adresse. Aucune donnée ne passera par le serveur FedoraCommons.

En fonctionnement de base, FedoraCommons demande peu d'installation: un accès à une base de données (MySQL, PostgreSQL, Oracle, Microsoft SQL ou une base intégrée Derby) et un espace disque pour stocker les données (le repository (1)). Voici les fonctionnalités les plus utiles à regarder dans un premier temps:

  • Installation du serveur: toutes les informations pour démarrer avec FedoraCommons se trouvent dans le lien suivant et toute sa sous-arborescence: Installation and Configuration Guide
  • XACML (2): sécurisez l'accès à vos données. Ces fichiers définissent les règles d'accès à vos données. Elles peuvent être globales à votre serveur, mais elles peuvent aussi ne concerner que la façon d'accéder à un certain datastream d'un objet précis. Aidez vous des liens ci-dessous pour écrire vos règles:

  • Les logiciels administrateurs: exécutable java ou services web, ces programmes vous permettront d'administrer ou de consulter vos données... avant d'utiliser les API pour les gérer automatiquement. Ces administrateurs ont principalement une fonction d'outil de maintenance: ils sont rudimentaires, pas forcément ergonomiques et pas configurables.

  • API-A et API-M: services web donnant accès à l'administration du serveur par des programmes manipulant SOAP, REST, ... Documentation officielle
  • Les bibliothèques JAVA: il suffit de récupérer les fichiers .jar d'un serveur installé pour intégrer toutes les fonctions JAVA de FedoraCommons. Vous trouverez la description de ces fonctions dans le JAVADoc
  • RDF: à l'aide du datastream RELS-EXT (3), créez des liens entre vos objets. Vous trouverez dans le lien suivant les informations pour vous familiariser avec le RDF: Digital Object Relationships


(1) le repository est l'emplacement où FedoraCommons stocke ses données. Par défaut c'est sur le disque où est installé le serveur, mais cela peut être un endroit déporté. Il est possible d'utiliser les systèmes déportés comme iRods (dans le cas du projet d'archivage pérenne d'ADONIS), mais aussi SRB, Akubra, Amazon's Simple Storage System (S3) ou Sun Honeycomb.


(2) La description de FedoraCommons qui est faite ici concerne la version 3.2.1 Une version 3.3 est déjà sortie et intègre notamment une gestion approfondies des droits d'accès, Fedora Security Layer (FeSL).


(3) Dans la version 3.3 de FedoraCommons, il existe un autre datastream réservé (RELS-INT)servant aux relations entre datastreams à l'intérieur de chaque objet.

Contexte d'utilisation dans mon laboratoire/service

FedoraCommons est utilisé dans le cadre du projet d'archivage pérenne des données numériques en SHS, à l'initiative du tge-ADONIS ( http://www.tge-adonis.fr/ ) et avec une mise en production dans le premier trimestre 2010. Prévu pour gérer des archives numériques à grande échelle et grâce à sa multitude de fonctionnalités et de standards, il peut facilement s'adapter à de nombreuses utilisations: gérer des livres dans une bibliothèque ou des collections d'œuvres d'arts dans un musée; faciliter la collaboration d'étude ou de recherche dans tous les domaines dont la base de travail peut être numérisée (enregistrement sonore ou vidéo, reconstitution archéologique, manuscrit, etc...).

Limitations, difficultés, fonctionnalités importantes non couvertes

Dans un premier temps, j'ai voulu utiliser FedoraCommons avec les bibliothèques JARGON (https://www.irods.org/index.php/Fedora) pour déposer directement les données dans le système iRods. J'ai eu trop de problèmes (pertes de connexion, impossibilité de reconstruire le système...) pour le recommander... J'utilise actuellement un montage fuse d'un répertoire iRods. Cela n'implique aucune configuration particulière du serveur FedoraCommons.

Environnement du logiciel
Plates-formes

FedoraCommons n'est développé qu'en langue anglaise: documentation et logiciel. Il fonctionne en utilisant une version de JDK (Java SE Development Kit) supérieure ou égale à 5. De ce fait, il peut être installé sur tous les systèmes supportant JAVA: LINUX, UNIX, Windows, Mac...

Autres logiciels aux fonctionnalités équivalentes

DSpace: http://www.dspace.org/ et fiche PLUME http://www.projet-plume.org/fr/fiche/dspace . Il plus orienté pour une utilisation personnelle. Je ne l'ai pas essayé, mais c'est apriori l'équivalent en version personnelle de FedoraCommons. Les deux logiciels fonctionnent dans la même communauté. La licence est une "BSD distribution license"

Environnement de développement
Type de structure associée au développement

FedoraCommons est développé par une communauté internationale: http://www.fedora-commons.org/about/supporters
L'historique du projet est disponible sur le lien suivant: http://www.fedora-commons.org/about/history

Eléments de pérennité

Actuellement, FedoraCommons est peu utilisé en France, mais un nombre croissant d'institutions dans le monde l'utilise: http://www.fedora-commons.org/about/examples Sa pérennité est garantie.

Références d'utilisateurs institutionnels
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur

Racine de la quasi intégralité de la documentation de FedoraCommons: http://fedora-commons.org/confluence/display/FCR30...

Divers (astuces, actualités, sécurité)
Contributions

Commentaires

quelques précisions

D'abord, merci beaucoup pour cette fiche détaillée. Voici quelques précisions.

Je ne suis pas d'accord avec

« L'application typique peut être la gestion de livres dans une bibliothèque. »

Il faut bien comprendre que Fedora Commons est une infrastructure très "bas niveau" pour stocker ou archiver du contenu numérique. Il existe des applications qui fournissent une interface utilisateur à Fedora Commons pour des contextes spécifiques qui peuvent éventuellement rencontrer vos besoins. Fedora Commons serait plutôt une sorte base de données, orientée archivage, dont l'objectif est de stocker des documents numériques (.pdf, .odt, .doc, images, videos, sons, etc...)
Pour une gestion de bilbliothèque, s'orienter vers un système de gestion de bibliothèque, comme Koha.

DSpace n'est pas tout à fait équivalent à Fedora Commons. DSpace est une solution complète, avec interface utilisateur, utilisable dès l'installation. Un équivalent de DSpace est EPrints. Mais Fedora Commons est unique à ma connaissance.
Fedora Commons et DSpace Foundation se sont joints pour créer l'organisation DuraSpace.

Fedora Commons intègre un moteur d'indexation et de recherche
rudimentaire. Pour une recherche plein texte, ou plus avancée, il faut
ajouter un module (Generic Search Service), et éventuellement le coupler
avec un moteur plus puissant, tel que solr.

J'ajouterai que la documentation de certains modules est parfois très succinte, et que le temps d'appropriation de l'ensemble est long.