base de données

Base de données
Fiche logiciel à valider
  • Création ou MAJ importante : 05/12/11
  • Correction mineure : 08/03/13
Mots-clés

Chimithèque : Gestion de stock de produits chimiques

Ce logiciel est en cours d'évaluation par la communauté PLUME. Si vous utilisez ce logiciel en production dans notre communauté, merci de déposer un commentaire.
Description
Fonctionnalités générales

Chimithèque est une application qui a été conçue de manière générique, c'est à dire qu'elle essaie de répondre aux besoins de l'ENS, Ecole Normale Supérieure de Lyon, mais aussi d'autres établissements. Elle a été pensée de manière générale par des chimistes et biologiste pour être utilisée par d'autres chimistes et biologistes dans et hors ENS.

Ce logiciel est composé de Fiches Produit et de Fiches de Stockage.

  • une fiche produit contient des informations générales relatives au produit : nom, synonymes, N° CAS, formule brute, formule linéaire, lien vers la FDS (fichier enregistré ou lien internet), pictogrammes de danger et phrase de danger et de prudence (nouvelle et ancienne législation)...
  • une fiche stockage contient des informations concernant un flacon présent dans l'établissement : lieu de stockage, conditionnement, date d'entrée, code barre généré automatiquement, nom du fournisseur, référence du fournisseur.

Il est possible de faire des recherches par nom, formule brute, numéro CAS ou par localisation mais aussi selon leur dansgerosité (tous les inflammable ou tous les CMR, ...)

C'est un outil important pour les services hygiène et sécurité puisqu'il permet de faire des recherches par rapport aux dangers physiques et aux dangers pour la santé.

L'accès aux données enregistrées dans Chimithèque peut être restreint pour certains utilisateurs grâce à un système de droit assez fin : par défaut, tous les utilisateurs ont la possibilité de voir les fiches produit. Ensuite pour chaque utilisateur on peut choisir de lui donner le droit de voir, modifier, créer et/ou supprimer les fiches produit, fiches de stockage, utilisateurs, entrepôts, ... Un utilisateur pouvant créer des utilisateurs ne peut évidemment pas donner plus de droits qu'il n'en a.
Les administrateurs de l'entité ont tous les droits et appartiennent automatiquement à toutes les entités.

Autres fonctionnalités

Chaque utilisateur appartient à une ou plusieurs entité (correspondant à des labos ou équipes de recherche). On définit une ou plusieurs personne(s)  "manager" pour chacune des entité, qui sera/seront la/les personne(s) à contacter.

Dans chaque entité, on peut avoir plusieurs entrepôts dans lesquels on va stocker les produits (fiches de stockage liées à une fiche produit et à un entrepôt)

Pour toute personne ayant les droits correspondants :

  • chaque fiche produit peut être modifiée (création d'un historique), clonée (permettant la création rapide d'une fiche pour un produit ayant seulement une spécificité différente) ou supprimée si elle est orphenile (c'est à dire si aucune fiche de stockage lui est liée).
  • chaque fiche de stockage peut être modifiée (historique), clonée, supprimée (création de fiches de stockage archivées), marquée pour destruction ou empruntée.

 

Interopérabilité

Possibilité d'export CSV (ou HTML) des résultats d'une recherche.

Contexte d'utilisation dans mon laboratoire/service

Actuellement, 150 personnes environ utilisent cette application au sein de l'ENS. Ces utilisateurs sont des biologistes, chimistes, personnels hygiène et sécurité, géologues.
Un peu plus de 4000 fiches produits ont été saisies et environ 2800 fiches produits ont des fiches de stockage associées.
Les retours que nous avons eu sont positifs : assez simple d'utilisation, pas de soucis particulier.

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

Ce que Chimithèque n'est pas :

  1. une base de données de tous les produits chimiques existants dans le monde: l'application est fournie avec X fiches produit (pour X voir sur la page principale) et ces fiches peuvent être échangées grâce à une fonctionnalité d'import/export
  2.  une application immédiatement connectable a des appareils comme de scanners à code barre ou d'autres applications
Environnement du logiciel
Plates-formes

Linux

Environnement de développement
Références d'utilisateurs institutionnels

Actuellement, nous savons que l'application est utilisée à :

  • l'École Nationale supérieure de chimie de Clermont-Ferrand
  • Université de Montpellier
  • IUT de Besançon-Vesoul

Certainement prochainement :

  • Université de St Etienne
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)

Possibilité de s'inscrire à la liste de diffusion destinée aux établissements extérieurs à l'ENS (infos de mises à jours) : https://listes.cru.fr/sympa/info/chimitheque

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 01/07/11
  • Correction mineure : 11/08/12
  • Auteur de la fiche : Nicolas Goudard (ISM2)
  • Responsable thématique : Dirk Hoffmann (Centre de Physique des Particules de Marseille (CPPM-IN2P3))
Mots-clés

intranet IsM2 : gestion de stock et de commandes de produits chimiques, gestion administrative d'un laboratoire

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système :
  • Version actuelle : 2.3.1 - 01/08/2012
  • Licence(s) : choix en cours, contacter l'auteur
  • Etat : utilisé en interne, en développement
  • Support : maintenu, développement en cours
  • Concepteur(s) : Nicolas Goudard
  • Contact concepteur(s) : nicolas.goudard@univ-cezanne.fr
  • Laboratoire(s), service(s)... : ISM2

 

Fonctionnalités générales du logiciel
  • Gestion de produits chimiques :
  • Inventaire : ajout, modification, suppression, recherche de produits chimiques, identification des risques chimiques
  • Edition des bons commandes pour le magasin de produits
  • Gestion des livraisons de produits en attente
  • Inventaire des appareils scientifiques
  • Gestion des demandes d'ordre de mission (en cours d'évolution)
  • Gestion des demandes de congés (en cours d'évolution)
  • Gestion des contrats de recherche (en cours d'évolution)
  • Annuaire du personnel
  • Gestion des droits d'accès aux différents modules

Prérequis : MySQL 5, PHP 5.3

Installation : décompresser le fichier zip et suivre la notice d'installation (fichier install.txt)

NB :
-Le logiciel utilise un système de template. Il suffit de modifier le fichier de template pour adapter l'intranet à la charte graphique du laboratoire d'installation.

Le logiciel est développé selon un modèle de conception (design pattern) MVC2 / DAO .
Il ne s'appuie sur aucun framework du marché (Zend, Symphony, Doctrine).

Contexte d’utilisation du logiciel

Le logiciel est utilisé en interne dans notre unité pour faciliter la gestion des produits chimiques et la gestion administrative (demandes de congés, demandes d'ordre de mission).

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 01/07/11
  • Correction mineure : 01/07/11
Mots-clés

Atlas sémantique : modélisation en sémantique lexicale

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like
  • Licence(s) : Licence propriétaire - Par le biais du site http://dico.isc.cnrs.fr, une utilisation raisonnable du logiciel (moins de 500 requêtes par jour) est proposée gratuitement.
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Sabine Ploux et Hyungsuk Ji
  • Contact concepteur(s) : sploux@isc.cnrs.fr
  • Laboratoire(s), service(s)... : L2C2

 

Fonctionnalités générales du logiciel

Les Atlas sémantiques (AS) (nom déposé en 2001 auprès de l'UE) sont un modèle géométrique de représentation du sens lexical disponible pour le français, l'anglais, l'espagnol et le portugais (en cours). C'est également un modèle d'appariement entre langues. Par rapport à d’autres paradigmes classiques : modélisation hiérarchique (WordNet) ou analyse sémantique latente (LSA), le modèle géométrique est le seul à offrir l’avantage d’un appariement sémantique multilingue totalement automatisé. Cet appariement s’adapte à la structure sémantique propre à chaque langue, il est indépendant d’une organisation des concepts pré-établie par des experts.

Différentes fonctions sont disponibles dans ce paradigme :

  1. (1) la représentation du sens des mots à partir de synonymes;
  2. (2) la classification hiérarchique des différents sens ;
  3. (3) l’appariement sémantique entre deux langues ;
  4. (4) l’analyse du sens des mots par les liens de co-occurrence : il s’agit du modèle ACOM ;
  5. (5) l’analyse du sens des locutions.
Contexte d’utilisation du logiciel

Auprès du public : ce modèle a montré son utilité auprès du public. Le site des Atlas sémantiques reçoit un nombre très important de requêtes venant du monde entier, c'est l'un des sites les plus consultés du domaine cnrs.fr (source Alexa.com).

Auprès de la communauté scientifique : les bases de données lexicales ont été déposées à l'APP et sont disponibles pour la communauté scientifique. Différents laboratoires les utilisent dans le cadre de recherche portant sur la linguistique computationnelle, le traitement automatique des langues ou en psycholinguistique expérimentale.

Publications liées au logiciel

http://dico.isc.cnrs.fr

Sabine Ploux. (1997) Modélisation et traitement informatique de la synonymie. /Linguisticae Investigationes/. XXI:1.

Sabine Ploux and B.Victorri. (1998) Construction d’espaces sémantiques à l’aide de dictionnaires informatisés des synonymes. /TAL/. 39 :1.

Sabine Ploux and Hyungsuk Ji. (2003). A Model for Matching Semantic Maps Between Languages ( French / English, English / French ). /Computational Linguistics/. 29(2):155-178.

Hyungsuk Ji, Sabine Ploux and Eric Wehrli. (2003) Lexical Knowledge Representation with Contexonyms. In /Proceedings of the 9th MT summit/. 194-201.

Sabine Ploux (inédit, disponible sur le site des AS) La représentation de la sémantique des phrases dans le paradigme géométrique des Atlas sémantiques : Une étude sur les syntagmes de type V-N et N-ADJ.

Sabine Ploux (2007). Enrichir automatiquement des dictionnaires de synonymes et de traduction : une application du modèle géométrique des Atlas sémantiques. Dans les actes des /7èmes journées scientifiques du réseau Lexicologie, Terminologie, Traduction (LTT)/, Tunis.

Ji, H., Lemaire, B., Choo, H., Ploux, S. (2008) Testing the cognitive relevance of a geometric model on a word-association task: A comparison of humans, ACOM, and LSA. /Behavior Research Methods/ 40(4), 926-934.

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 28/06/11
  • Correction mineure : 29/08/13
  • Auteur de la fiche : Laurence Caillat (CPPM)
  • Responsable thématique : Dirk Hoffmann (Centre de Physique des Particules de Marseille (CPPM-IN2P3))
Mots-clés

GestionDocs : gestion de documents d'un service mécanique

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Système : UNIX-like
  • Licence(s) : choix en cours, contacter l'auteur
  • Concepteur(s) : Laurence Caillat (ingénieur qualité), Pierre-Yves Duval (informaticien)
  • Contact concepteur(s) : duval@cppm.in2p3.fr
  • Laboratoire(s), service(s)... : CPPM

 

Fonctionnalités générales du logiciel

OBJECTIF

Dans le cadre de la mise en place d’une démarche Qualité, le service Mécanique du laboratoire CPPM a souhaité faire développer un outil informatique lui permettant :

  • de référencer les documents du service,
  • d’utiliser les données relatives aux travaux du service (études, fabrications en atelier) et achats du service (listing des fournisseurs),
  • de mettre à disposition des utilisateurs ces données à partir d’une page web,
  • de sauvegarder les demandes de travaux et demandes d'achats du service.

Ce système permet au service de :

  • conserver la maîtrise du travail réalisé et vérifier l’adéquation entre le besoin exprimé et le produit réalisé (traçabilité),
  • utiliser ces acquis, voire de les améliorer, dans des projets futurs (Démarche d’amélioration).

DOMAINE D’APPLICATION

Les besoins du service concernent :

  • l’attribution d’une référence automatique,
  • la gestion et la planification des demandes de travaux,
  • la gestion des demandes d’achats,
  • la gestion des ressources (personnel),
  • la gestion de l’ensemble des documents (procédures, plans, Cahier des charges, ...).

Il est prévu de compléter ces fonctions, pour les aspects équipements et non-conformités notamment.

Contexte d’utilisation du logiciel

Le service mécanique du CPPM. Ce logiciel tourne sur un serveur interne au laboratoire et est écrit en PHP/MySQL.

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 06/06/11
  • Correction mineure : 28/09/11
Mots-clés

SIGDEF : système de gestion et de distribution de licences de logiciels

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Système : UNIX-like, Windows
  • Version actuelle : 1.0 - 02/05/2011
  • Licence(s) : GPL, CeCILL - En étude.
  • Etat : utilisé en interne, en développement
  • Support : maintenu, sans développement en cours
  • Concepteur(s) : IRD - DSI - Service Informatique Scientifique : Stéphane DEBARD (conception), Geoffrey PASCAL (conception et développement)
  • Contact concepteur(s) : stephane.debard@ird.fr
  • Laboratoire(s), service(s)... : IRD

 

Fonctionnalités générales du logiciel

SIGDEF est une application informatique conçue de façon suffisamment générique pour répondre aux besoins de distribution et de gestion de licences. Cet outil est à destination des structures informatiques transversales. Il offre la possibilité, à travers deux interfaces (une pour les utilisateurs et une autre pour les administrateurs), d'effectuer des commandes d'activation de licences des logiciels et de les gérer simplement.

1- Interface utilisateur :

  • Identification (avec un annuaire, un fichier .htAccess) ou pas d'identification.
  • Choix du logiciel et de la version (gestion de commandes individuelles ou groupées), choix d'une demande d'installation par les services transversaux ou non.
  • Téléchargement des justificatifs des droits d'utilisation et des raisons d'accès (conventions, contrats, lettres ...).
  • Récapitulatif et acceptation de la charte d'utilisation.

2- Interface administrateur :

  • Validation de la commande (contrôle des informations sur l'utilisateur et ses choix).
  • Envoi de la licence, suite à une validation. La validation et l'envoi de la ou des licences peuvent être faits par un ou plusieurs services.
  • Synthèse et recherche des commandes en cours, validées ou envoyées.

Fonctionnalités non existantes et restant à développer :

  • Exportation des résultats bruts de la synthèse des commandes.
  • Requêtes spécifiques et croisement des données pour effectuer des bilans sur les commandes.
  • ...

Le logiciel est accompagnée d'une documentation complète : installation, utilisation et prise en main ainsi que le document de conception (base de données, workflow).

Contexte d’utilisation du logiciel

Les éditeurs de logiciels permettent contractuellement aux sociétés de mutualiser les achats de licences de plusieurs logiciels afin de diminuer les couts. Les sociétés délèguent la gestion d'un ensemble de licences à des services transversaux en informatique. Ces licences sont souvent des ID ou des fichiers d'activation fournis au gestionnaire sans les accompagner d'un outil de monitoring ou de gestion des commandes.

SIGDEF permet de répondre aux besoins de gestion et de déploiement d'un ensemble de logiciels à une large échelle.

Il est actuellement en production depuis 1 an pour la gestion de licences des logiciels des Systèmes d'Information Géographiques, impliquant deux services d'une DSI concernés dans la validation et l'envoi des licences à ses utilisateurs (200 utilisateurs).

Fiche logiciel validé
  • Création ou MAJ importante : 15/12/12
  • Correction mineure : 04/12/13
Mots-clés
Pour aller plus loin
  • Fiches logiciel PLUME connexes :

SQLite : moteur de base de données sous forme de fichiers

Description
Fonctionnalités générales

SQLite est un moteur de base de données relationnelles transactionnelles très léger (< 300 ko) idéal pour les bases de données mono-poste et mono-application inférieures à quelques Go. Il utilise le langage SQL et est très simple d'utilisation : à la différence d'autres moteurs de bases de données (MySql, PostgreSQL, ...) qui sont des programmes indépendants auxquels un programme utilisateur accède dans une relation 'client-serveur', SQLite est une bibliothèque et fait donc partie intégrante du logiciel utilisateur par l'édition de liens à la compilation ou via des commandes dans le cas où le programme appelant est un script (cf. TCL). Il est à noter que les opérations sont atomiques, ce qui assure l'intégrité de la base. La base de données est stockée dans un fichier dont l'encodage est indépendant de la plateforme, ce qui facilite les déploiements et les portages.

Il n'y a pas de phase d'installation.

Autres fonctionnalités
  • SQLite peut être utilisé dans l'embarqué.
  • SQLite peut aussi bien fonctionner en mode synchrone (chaque opération sollicite le support de stockage) qu'en mode asynchrone (à l'aide des instructions BEGIN ... COMMIT) qui offre alors des performances décuplées au détriment de la fiabilité en cas de défaillance.
Interopérabilité
  • fichier au format .sql,
  • respecte les standards du SQL92 avec quelques exceptions (cf. le paragraphe Limitations),
  • syntaxe des requêtes très semblable à MySql.

Pour ces raisons de nombreux utilitaires (voire même de simples shellscripts) permettent de convertir une base de données depuis et vers SQlite.

Contexte d'utilisation dans mon laboratoire/service

Utilisé au laboratoire IRAP en remplacement de MySql pour une base de données atomiques et moléculaires.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • Pas de gestion de privilèges, d'utilisateurs, ni de droits d'accès
  • Ne supporte pas bien le multithread, chaque processus qui accède en lecture ou en écriture à la base bloque l'accès à la base
  • Impossibilité de supprimer ou de modifier les colonnes d'une table déjà remplie
  • Impossibilité de modifier une vue

Quelques particularités :

  • SQlite ne dispose pas nativement des énumérations (type ENUM),
  • SQlite stocke en mémoire, tous les champs de type INT (tinyint, mediumint, ...) ainsi que BOOLEAN sous une forme unique d'entier signé tout en assurant un forme adaptative lors du stockage sur disque.
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Toutes les versions de gnu/linux.
Les logiciels suivants: Firefox, Skype, bibliothèques standards PHP, Python, certains produits d'Apple et d'Adobe : http://www.sqlite.org/famous.html utilisent sqlite

Plates-formes

Linux, Windows, MAC et Android

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Eléments de pérennité

Utilisé dans les applications Android

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)

Obtenir de ses préférences Firefox la liste des favoris vers des sites français :

sqlite3 ~/.mozilla/firefox/[_nom_de_profile_]/places.sqlite \
'SELECT moz_bookmarks.title,moz_places.url \
FROM moz_bookmarks LEFT JOIN moz_places \
WHERE moz_bookmarks.fk = moz_places.id \
AND moz_bookmarks.title != "null" \ 
AND moz_places.url LIKE "%.fr/";'

Cela effectue une jointure entre deux tables stockant respectivement les intitulés et les URL des favoris.

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 14/03/11
  • Correction mineure : 14/05/13

Open melodie : indexation collaborative de grandes masses de données structurées en ligne

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Version actuelle : 1.2 - 31 mars 2011
  • Licence(s) : GPL
  • Etat : diffusé en beta, utilisé en interne
  • Support : maintenu, développement en cours
  • Concepteur(s) : José Paumard
  • Contact concepteur(s) : Jose.Paumard@gmail.com
  • Laboratoire(s), service(s)... : L2TI

 

Fonctionnalités générales du logiciel

Qu'est-ce qu'Open melodie ?

Une plateforme logicielle open source et libre de droits

Open melodie est un logiciel serveur, accessible en ligne.
Open melodie est open source, disponible sous licence GPL, donc libre de droits pour toutes les applications, commerciales ou non.

Open melodie peut être installé en environnement Linux / Java / MySQL. L’ensemble des interfaces d’administration et d’accès sont compatibles avec tous les navigateurs récents. Aucune acquisition de licence onéreuse n’est donc nécessaire pour utiliser Open melodie, ni côté client, ni côté serveur.

Gérer ses données avec Open melodie

Open melodie est un outil complet de gestion de données en ligne. À la différence d'autres logiciels, (Access ou Filemaker par exemple), aucune donnée n'est enregistrée sur le poste client. On peut donc commencer un travail sur un poste et le terminer sur un deuxième, sans transfert de fichier.

Travailler en équipe

Afin d'autoriser le travail à plusieurs mains sur de grandes masses de données, Open melodie définit un modèle de sécurité avancé. Il est entre autres possible de déléguer des pouvoirs d'indexation à d'autres personnes, sur tout ou partie de ses données. 

Publier ses données une fois validées

De la version de travail, entièrement privée, à la version publique, destinée à être citée dans une publication, l'indexeur a le contrôle
total de la sécurité de ses données.

Présenter ses données dans sa propre interface

La plateforme propose des connecteurs XML qui permettent à des interfaces tierces d'accéder aux données. Les projets utilisant cette plateforme peuvent donc publier leurs données sous leur propre identité visuelle. Ce principe de double accès est utilisé pour le projet MAVI depuis plus de 6 ans.

Open melodie aujourd’hui

Open melodie est utilisé depuis près d'un an par l’équipe du MAVI (Musée Achéménide Virtuel et Interactif). Environ 25 mille objets ont été indexés, soit plus de 250 mille éléments d’indexation. L'application complète est disponible en ligne à l'adresse http://www.openmelodie.org/. L'ensemble des ressources disponibles en ligne (documentations HTML et PDF, présentations, screencasts) sont accessibles de cette adresse.

Contexte d’utilisation du logiciel

Open melodie est actuellement utilisé activement depuis environ un an par deux équipes : 

Ces deux projets utilisent une instance d'Open melodie installée sur un serveur privé du collège de France. 

Des contacts sont en cours avec deux autres projets :

  • un premier, Biblindex, porté Laurence Mellerin et Dominique Gonnet (Sources Chrétiennes, Maison Orient et Méditerranée)
  • un second, dont le nom reste à définir, porté par Patrick Goujon (Centre Sèvres). 
Publications liées au logiciel
  • Le corpus de textes babyloniens achéménides sur www.achemenet.com : nouveaux processus de mise en ligne, José Paumard et Gauthier Tolini, 55ème Rencontres Assyriologiques Internationales (RAI), 9 juillet 2009, Collège de France, Paris.
  • Circe Italie et Open melodie, José Paumard, Journée d'études CIRCE, 5 avril 2008, INHA, Paris.
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 22/02/11
  • Correction mineure : 22/02/11
Mots-clés

FATAL : génération automatique de portail Web pour l'annotation fonctionnelle

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like
  • Licence(s) : CeCILL
  • Etat : diffusé en beta
  • Support : maintenu, développement en cours
  • Concepteur(s) : Sébastien CARRERE
  • Contact concepteur(s) : sebastien.carrere@toulouse.inra.fr
  • Laboratoire(s), service(s)... : LIPM

 

Fonctionnalités générales du logiciel

FATAL automatise le déploiement de portails web nécessaires à l'analyse fonctionnelle de séquences. FATAL a été développé en particulier pour l'analyse de transcrits (clusters d'ESTs typiquement) et peptides associés, mais peut être utilisé pour analyser tout type de séquence.

Le principe est le suivant : à partir d'un lot de séquences et d'un fichier de configuration, FATAL construit un portail web ainsi qu'un lot de scripts afin de :

  1. exécuter des analyses fonctionnelles (interpro, blasts), stocker et indexer les résultats,
  2. générer un portail web comprenant les outils standards de la bioinformatique (navigateur, moteur de recherche, serveur blast, serveur PatScan).
Contexte d’utilisation du logiciel
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 22/02/11
  • Correction mineure : 12/04/12
Mots-clés

ANISEED : modélisateur du développement de l'ascidie

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Version actuelle : ANISEED V3.0 - 03/05/2007
  • Licence(s) : GPL
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Olivier Tassy, Fabrice Daian, Delphine Dauga, Daniel Sobral, Pierre Khoueiry
  • Contact concepteur(s) : Delphine.DAUGA@univmed.fr
  • Laboratoire(s), service(s)... : IBDML

 

Fonctionnalités générales du logiciel

Le système ANISEED (Ascidian Network for In Situ Expression and Embrylogical Data) permet une représentation du développement embryonnaire de l'ascidie au niveau du génome (séquences cis-regulatrices, expressions géniques, annotations de protéines), de la cellule (morphologie, destin, induction, lignée) ou de l’embryon complet (anatomie, morphogenèse).

Le contenu de la base de données peut être exploré par l'intermédiaire d'un navigateur web classique. Une partie des données peut être affichée dans leur contexte génomique via un navigateur d’informations à l’échelle génomique (GBrowse).

Un module additionnel, appelé "3D virtual embryo",  permet de manipuler des représentations tridimensionnelles de l’embryon et de décrire quantitativement les formes et l’organisation des cellules. Ce module permet aussi de combiner les informations moléculaires et embryologiques contenues dans la base à l’embryon virtuel. 

Les ascidies sont des chordés invertébrés marins qui présentent un plan du corps larvaire semblable à celui des vertébrés. Leurs embryons se composent cependant d’un nombre très restreint de cellules et se développent avec un lignage constant. Ainsi, les embryons d’ascidies, permettent de décrire le développement, et les profils d’expression des gènes avec une résolution cellulaire, tout en étant phylogénétiquement proches des vertébrés.

Contexte d’utilisation du logiciel

ANISEED est le premier système intégratif pour l'ascidie et, de ce fait, est largement utilisé dans le secteur de recherche associé.
Au cours des deux dernières années, le système a reçu 51.000 visiteurs uniques, principalement de France, du Japon, des Etats-Unis, et d'Italie, pays regroupant un certain nombre de laboratoires ascidie.

De plus, le caractère générique du système ainsi que ses principes de conception peuvent servir d'exemple pour l'avenir des bases de données d'organisme modèle.

Publications liées au logiciel

Tassy, O., Dauga, D., Daian, F., Sobral, D., Robin, F., Khoueiry, P., Salgado, D., Fox, V., Caillol, D., et al. Digital representation of embryonic development: the ANISEED system.
Genome Research 2010 Oct;20(10):1459-68

Sobral, D., Tassy, O., and Lemaire, P. Highly divergent gene expression programs can lead to similar chordate larval body plans.
Curr Biol. 2009 Dec 15;19(23):2014-9.

Tassy, O., Daian, F., Hudson, C., Bertrand, V., and Lemaire, P. A quantitative approach to the study of cell shapes and interactions during early chordate embryogenesis.
Curr Biol. 2006 Feb 21;16(4):345-58.

Fiche logiciel validé
  • Création ou MAJ importante : 17/11/10
  • Correction mineure : 31/01/12
Mots-clés

PostgreSQL : Système de Gestion de Base de Données Relationnel et Objet (SGBDRO)

Description
Fonctionnalités générales

PostgreSQL est issu du projet postgres, développé à partir de 1986 à l'Université de Berkeley, le projet postgres étant lui-même une réécriture complète de la base de données Ingres... d'où le nom: postgres, une contraction de post-ingres.

PostgreSQL est aujourd'hui un moteur de base de données relationnel distribué sous une licence libre. Le moteur est utilisable grâce à une implémentation du langage SQL très proche de la norme du langage (il y a toutefois quelques extensions). Le degré de compatibilité de chaque commande par rapport à la norme est d'ailleurs détaillé dans la documentation, très complète et extrêmement bien faite.

PostgreSQL est un SGBDR (Système de Gestion de Base de Données Relationnel) extrêmement performant, puissant et flexible, aussi bien pour le développeur que pour l'administrateur. On peut le comparer au SGBD Oracle dont il est d'ailleurs très proche (la plupart des fonctions ont la même signature par exemple). Ainsi, il est aisé de porter des applications d'Oracle vers PostgreSQL.

Autres fonctionnalités
  • Contraintes d'intégrité: des contraintes d'intégrité peuvent être énoncées. Une contrainte d'intégrité est une clause qui conditionne la mise à jour des relations du modèle. Une mise à jour peut être une insertion, une modification ou une suppression. Une relation peut porter sur une seule table ou plusieurs tables (et oui, une table est une relation en soi !). On peut enrichir le modèle relationnel par des clauses sur les attributs d'une relation portant sur une seule table (exemple : NOT NULL -attribut obligatoire-, DEFAULT -valeur par défaut si non spécifié-, UNIQUE -valeur unique pour toute la table-). Sur une relation portant sur plusieurs tables par l'intermédiaire des clés étrangères, il s'agit de s'assurer que la référence d'une clé étrangère est toujours valide. C'est-à-dire qu'elle "pointe" bien sur un enregistrement existant. Il ne s'agit donc pas de le détruire s'il est utilisé par une relation. Par suite, lors de suppression de données, on a la possibilité de déclencher soit une exception si la contrainte venait à être violée, soit des suppressions "en cascade".
  • Types de données : le langage SQL de postgresql fournit de très nombreux types de données, notamment des types "géométriques", qui font de postgresql un outil de choix pour les SIG (Système d'information Géographique grâce à PostGIS http://postgis.refractions.net/). Mais surtout, il est possible de définir ses propres types de données (notion de "domaine", qui s'apparente à la notion d'objet que l'on trouve dans des langages comme java ou C++).
  • Déclencheurs ("Triggers") : des procédures embarquées peuvent être écrites. L'originalité de postgresql réside dans le fait que ces procédures peuvent être écrites dans de nombreux langages. Le langage de base est plpsql, mais il est possible d'écrire ces fonctions en perl, ruby ou python par exemple.
  • BLOBS ( Binary Large Objects) : il est possible d'intégrer à PostgresQL n'importe quel fichier (quelque soit sa taille) sous forme de blob.
  • Schémas : une base de données postgres est composée de un ou plusieurs "schémas". Chaque schéma contient un ensemble de tables. Il est possible d'avoir plusieurs tables de même nom, à condition qu'elles soient dans différents schémas. Une variable permet de définir un "chemin", afin de spécifier dans quels schémas les tables seront recherchées, sans qu'on ait à spécifier leur nom complet. Lorsqu'une base de données est créée, toutes ses tables appartiennent au schéma "public", de sorte qu'on puisse ignorer cette fonctionnalité. Les schémas permettent entre autres de grouper les tables en fonction de leurs droits d'accès.
  • Authentification : PostgresQL supporte l'authentification par rôles ( RBAC ) : un rôle peut contenir d'autres rôles, un rôle peut être utilisé pour se connecter à la base - ou pas. En fait la notion de rôle remplace la notion d'utilisateurs et de groupes. Les autorisations d'accès aux bases de données sont décrites dans un ficher texte édité par l'administrateur de la machine: cela peut sembler plus compliqué que d'utiliser des commandes de la base de données, mais la sécurité est meilleure.
  • Héritage : plusieurs tables peuvent "hériter" l'une de l'autre, ce qui offre de nombreuses possibilités de programmation selon un principe proche de la programmation orientée objets. Par ailleurs, on peut utiliser cette fonctionnalité pour distribuer une grosse table en plusieurs partitions afin d'améliorer les performances des requêtes. Ces partitions peuvent si nécessaire être distribuées sur plusieurs disques différents. Tout cela peut être réalisé de manière entièrement transparente pour l'application.
  • Transaction et journaux de transactions : le paradigme 'ACID' (cf. http://fr.wikipedia.org/wiki/Propri%C3%A9t%C3%A9s_...) est respecté si on utilise le mécanisme de transactions. Les journaux de transactions peuvent être activés, cela permet de réaliser des sauvegardes incrémentales de la base de données. Ces possibilités permettent d'utiliser postgresQL pour de gros projets de bases de données complexes, gérant de gros volumes de données fréquemment mises à jour.
  • Fonctions de hachage : un des points forts de postgres est la possibilité de définir ses propres fonctions de hachage afin d'optimiser les performances des index et donc celles de l'accès des données. Chaque index pourra avoir sa propre fonction de hachage exploitant au mieux les propriétés ensemblistes de la clé ou des attributs concernés. L'objectif est de rechercher au mieux une équidistribution des enregistrements dans la table de "hashage" pour garantir l'optimalité de l'accès des données. Par ailleurs, un index peut comprendre plusieurs niveaux de hashage, ce qui est très intéressant pour les grands ensembles de clés.
Interopérabilité

L'implémentation du langage SQL garantit une bonne interopérabilité, à condition bien sûr de ne pas utiliser les extensions propres à postgresql. Des utilitaires permettent de recopier ("dumper") la base de données dans un fichier d'archivage afin de la sauvegarder et/ou de la réinstaller sur une autre machine.

Contexte d'utilisation dans mon laboratoire/service

PostgreSQL est utilisé à l'INIST par DSpace en production depuis 2005, dans des versions antérieures (7.x).
PostgreSQL 8.3 est utilisé en production depuis octobre 2009 dans I-Revues.

Le LIPM, utilise postgreSQL pour des applications de bases de données développées au laboratoire (bases de données de graines ou de souches bactériennes), ainsi que pour mettre en place des applications bio-informatiques utilisant le modèle Chado.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • PostgreSQL est très bien intégrée au système UNIX, de sorte qu'administrer une base de données postgresQL nécessite une bonne connaissance de l'administration de la machine elle-même.
  • Afin d'avoir de bonnes performances, en particulier lors de requêtes complexes mettant en action de nombreuses jointures, il est nécessaire de modifier certains paramètres du serveur, voire du noyau linux.
  • Attention aux changements de version, la compatibilité ascendante n'est pas toujours parfaitement respectée. Il peut être nécessaire d'avoir plusieurs versions de postgreSQL sur une même machine (cela ne pose pas en soi de problème particulier).
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

PostgreSQL est intégré dans les principales distributions Linux. Il est parfois nécessaire d'utiliser une version qui n'est pas encore - ou plus - distribuée par votre éditeur préféré. Dans ce cas, il est toujours possible de récupérer les sources (les anciennes versions sont encore disponibles, les plus récentes sont toujours maintenues) et de les recompiler. La bonne qualité du code rend cette opération assez simple.

Plates-formes

PostgreSQL est distribué pour les systèmes Linux, FreeBSD, Solaris, Windows et MacOSX

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes

Oracle 9, MySQL, Microsoft SQL Server, Sybase, ....

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

Communauté de développeurs

Eléments de pérennité

La communauté est extrêmement vivante, de nouvelles versions sortent régulièrement (la version 9 vient de sortir)

Références d'utilisateurs institutionnels

Laboratoires et services CNRS, INRA, ...

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

Forum officiel de la communauté francophone : http://forums.postgresql.fr/
Un grand nombre de mailing-lists sont également disponibles : http://www.postgresql.org/community/lists/

Documentation utilisateur
Divers (astuces, actualités, sécurité)
  • Lorsqu'on met à jour ou supprime des enregistrements d'une table, l'espace-disque n'est pas systématiquement libéré : c'est la tâche du "vacuum", qui était implémenté avant la version 8 sous la forme d'un programme séparé: il fallait le lancer régulièrement via un cron. Depuis la version 8 le vacuum se lance automatiquement lorsque la machine n'est pas trop chargée.
  • Pour une base de données utilisée uniquement en lecture (c'est souvent le cas pour certaines applications scientifiques), il est utile après le chargement initial d'utiliser la commande vacuum analyze : cette commande met à jour les tables de statistiques sur la base, qui seront utilisées par l'optimiseur pour construire des requêtes efficaces. Les statistiques ne sont jamais mises à jour si la base n'est pas modifiée.
Syndiquer le contenu