service informatique

Logiciel installé généralement par un service informatique (DSI, CRI, ...) sur un serveur ou ressource destinée aux informaticiens
Fiche logiciel validé
  • Création ou MAJ importante : 04/11/13
  • Correction mineure : 04/11/13
  • Rédacteur de la fiche : Pascal Mietlicki - Service informatique vice-rectorat de Nouvelle-Calédonie (Ministère de l'éducation nationale)
  • Relecteur(s) : Stéphane Deraco (DSI CNRS)
  • Responsable thématique : David Rousse (CNRS DSI)
Mots-clés

Talend Open Studio : solution d’intégration de données open source

Description
Fonctionnalités générales

Talend Open Studio for Data Integration est une solution d’intégration de données open source flexible et puissante. C'est un ETL (Extract Transform Load) open source basé sur Eclipse.

Il permet d'interagir avec les données de votre Système d'Information, les intégrer, les mettre en forme, les transformer, ...

L'interface générale vous permet de créer des "jobs" qui contiendront le workflow voulu, un workflow étant un ensemble d'activités qui s’enchaînent via l'utilisation de "composants". Comme dans un système standard d'entrée / sortie, vous avez des composants en entrée (input) et en sortie (output) qui vous permettent d'obtenir le résultat voulu (export CSV, envoi d'email pour indiquer les erreurs le cas échéant, etc). Ces composants s'interfacent entre eux via un ensemble d'"interactions" (linéaire, en cas d'erreur, en parallèle).

Un exemple typique est le fait de vouloir alimenter une base de données à partir d'autres bases tout en adaptant les données à votre convenance. Pour ce faire, vous créez un ou plusieurs "jobs", puis des composants d'entrée de base de données (tMysqlInput par exemple), puis vous récupérez le contenu de la table désirée pour laquelle vous transformez vos données (par exemple, passer d'un champ texte vers un champ date) via un composant de type tMap dont le résultat en sortie alimentera une autre base de données (tPostgresqlOutput par exemple).

Une fois terminé, il ne vous reste plus qu'à exécuter le job soit en mode débogage soit en mode normal, ce dernier étant évidemment plus rapide, avec les variables d'entrée voulues (nom de la base, nom du serveur, autres paramètres) en utilisant des variables de "contextes". En effet, vos "jobs" peuvent être paramétrés, et vous pouvez également avoir différents types de "contextes" (par exemple dév, pré-prod, prod).

Une des fonctionnalités les plus intéressantes est le fait de pouvoir générer des scripts en Perl ou Java pour exécuter vos "jobs" directement sur vos serveurs. Ainsi vous pouvez les exporter et les planifier pour s'exécuter aux heures voulues. Vous pouvez même créer un "job" qui sera en écoute d'une modification (par exemple modification d'un fichier) et qui sera alors exécuté lorsque cet événement surviendra.

Autres fonctionnalités

Talend Open Studio vous permet de créer et de générer toute la documentation de votre projet. Il utilise, pour cela, le formalisme UML. Vous pouvez indiquer des commentaires, des informations sur chaque composant de votre projet.

Etant basé sur Eclipse, vous pouvez aussi intégrer votre propre code à votre projet. Vous pouvez également y intégrer des classes ou objets ce qui vous permet de les utiliser sur plusieurs jobs différents.

Talend Open Studio permet également de traiter des problématiques proches de l'intégration des données, comme des projets de MDM (Master Data Management) et de qualité de données.

Interopérabilité

Compatible avec quasiment tous les standards du marché, une liste est visible sur :
http://www.talendforge.org/components/

Si, toutefois, un composant n'existait pas, vous pouvez le créer vous-même et le proposer à la communauté (http://www.talendforge.org).

Contexte d'utilisation dans mon laboratoire/service
  • Nous l'utilisons comme un générateur de script. Le grand atout de Talend Open Studio est de pouvoir générer des scripts très facilement, son interface est intuitive et vous permet d'effectuer très rapidement ce que vous auriez mis des semaines à coder.
  • Exemple typique : alimentation d'une base de données à partir de plusieurs bases de données différentes, création de Web Services, export LDIF paramétré du LDAP, enchaînement de tâches, création d'une IHM Java pour alimenter une base depuis un fichier CSV, ...
Limitations, difficultés, fonctionnalités importantes non couvertes
  • En cas de difficultés, il y a pléthore d'informations sur le Web :
    http://www.talendforge.org
    https://help.talend.com

  • Talend étant une entreprise française, vous n'aurez donc pas de difficultés à trouver des informations dans la langue de Molière.

Environnement du logiciel
Plates-formes

Logiciel Java

Logiciels connexes

Eclipse

Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Éditeur professionnel, communauté associée.

Eléments de pérennité

Basé sur Eclipse, forte communauté d'utilisateurs et de contributeurs. De plus, Talend est une entreprise en expansion et propose tout un ensemble de services tiers, autour de l'ESB en particulier (services qui, si cela vous intéresse, sont payants).

Références d'utilisateurs institutionnels

Entre autres utilisateurs institutionnels, on peut citer :
- L'Université Toulouse 1.
- L'INRA.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)
  • Une multitude de composants existent :
    http://www.talendforge.org/components/

  • Un projet intéressant à créer serait d'avoir un composant IHM qui permettrait d'exporter une fonctionnalité présente sur Talend Open Studio (lorsque le job est exécuté depuis Open Studio), mais actuellement non présente quand le job est exporté et exécuté, qui est de renseigner les paramètres d'entrée du job. Ce composant afficherait une IHM dynamique permettant à l'utilisateur de saisir ces paramètres (une fenêtre avec les différents types de variables en entrée tel qu'un calendrier pour les dates, une zone de saisie pour le texte, un champ adresse IP ou DNS pour le serveur, etc).

Contributions

Principalement via Talend Exchange (informations sur http://www.talendforge.org/) :
http://www.talendforge.org/exchange/

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

Plade : plate-forme de recherche de similarité sur du code source

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
  • Version actuelle : version en préparation
  • Licence(s) : GPL - Affero GPL v3
  • Etat : en développement
  • Concepteur(s) : Michel Chilowicz (LIGM)
  • Contact concepteur(s) : michel.chilowicz @ univ-mlv.fr
  • Laboratoire(s), service(s)... : LIGM

 

Fonctionnalités générales du logiciel

Plade est une plate-forme de recherche de correspondances de code source similaire développée en Java et Python. La recherche de similarité a des applications variées telles que la réorganisation du code au sein d'un projet par factorisation de redondances ou la mise en évidence d'opérations de copie légitime ou non entre différents projets. Dans l'hypothèse d'une copie non légitime, des opérations d'édition entre le code original et sa copie peuvent être présentes. Plade cherche à identifier les portions de code présentant une similarité exacte ou approchée suite à des opérations d'édition.

Trois axes sont actuellement développés par Plade :

  1. L'usage de représentations abstraites et transformées pour le code source. Il s'agit par cette première étape de gommer certaines opérations d'édition (modification de formatage, renommage d'identificateurs...). Plade propose des représentations par séquences de lexèmes ou arbres de syntaxe (avec intégration de graphe d'appel), ces représentations pouvant être caractérisées par des niveaux d'abstraction variables. Elles sont obtenues à partir d'analyseurs lexicaux et syntaxiques externes (Plade gère actuellement les langages C++ et Java).

  2. L'utilisation de méthodes algorithmiques pour localiser et caractériser des similarités sur ces représentations. Plade ne s'oriente pas vers des méthodes de comparaison extensive de paires déterminant des chemins d'édition entre séquences ou arbres. L'approche privilégiée s'oriente vers une technique d'indexation d'empreintes de séquences ou sous-arbres avec différents profils d'abstraction pour ensuite réaliser des requêtes sur ces bases constituées. Les éléments locaux quasi-similaires retrouvés peuvent ensuite être consolidés pour former des macro-similarités. Une approche permettant la recherche de facteurs similaires sur des séquences de lexèmes par indexation de suffixe est notamment employée : elle permet de lier des groupes de correspondances avec prise en compte des relations de chevauchement. Une application pratique est la factorisation de graphes d'appel d'un jeu de projets en un graphe d'appel commun ; ce graphe peut comprendre des fonctions factorisées issues de plusieurs projets ce qui révèle la copie de code.

  3. La présentation des résultats de similarité trouvés à destination d'un utilisateur humain. Plade permet d'évaluer et filtrer les correspondances trouvées selon différents critères structurels, contextuels et statistiques. Une interface graphique basique de visualisation est proposée permettant de replacer dans leur contexte les similarités. Un service web (Tartan) permet de transmettre des projets, soumettre des travaux d'indexation et de recherche de similarité et récupérer leur résultat.

Plade est architecturé autour des modules suivants :

  • Complade (companion for Plade) qui propose une bibliothèque Java implantant les structures et algorithmes afférents couramment utilisés par Plade (graphes génériques et plus spécifiquement graphes de facteurs répétés, tables d'indexation, etc.).
  • Plade-core qui implante les primitives de définition et manipulation des représentations issues du code source et de modélisation et d'évaluation des correspondances.
  • Plade-parsers proposant des exemples de représentations concrètes de code source sous la forme d'arbres de syntaxe (augmentés par des graphes d'appel de fonctions) et de séquences de lexèmes pour les langages Java et C++. Ce module peut être étendu afin de supporter facilement de nouveaux langages.
  • Plade-fact qui s'emploie à fusionner des graphes d'appel de projets en graphe commun avec factorisation des portions de code en fonctions partagées (outlining permissif).
  • Plade-fingertree qui se préoccupe des problématiques d'indexation adaptative et parcimonieuse des représentations (séquences et arbres) à plusieurs échelles et à l'aide de plusieurs niveaux d'abstraction.
  • Plade-cons qui s'intéresse à la consolidation de correspondances locales en macro-similarités.
  • Plade-gui qui propose une interface graphique Swing de visualisation et évaluation de jeux de correspondances.

Ces différents modules principalement développés en Java sont organisés autour de modules d'interfaçage en Python (Pyplade) permettant la réalisation rapide de scripts afin d'assurer l'indexation de code et la recherche de similarité en combinant les différentes approches proposées. Une implantation de service web (Tartan) reposant sur la plate-forme Plade est également en cours de développement.

Plade est encore actuellement en phase de développement interne ; une version sous licence libre Affero GPL sera prochainement accessible en ligne.

Contexte d’utilisation du logiciel

Plade a été initié pendant la thèse de doctorat de l'auteur, et a été principalement testé en interne pour retrouver des similarités sur du code source issu de projets soumis par des étudiants.

Publications liées au logiciel
Fiche logiciel validé
  • Création ou MAJ importante : 30/09/13
  • Correction mineure : 30/09/13
Mots-clés

InterProScan : identification dans un jeu de séquences des signatures protéiques d'intérêt

Description
Fonctionnalités générales

InterProScan est un environnement logiciel qui permet d'identifier dans un jeu de séquences des signatures protéiques d'intérêt en scannant des banques de motifs et signatures de référence et en utilisant des algorithmes détectant des biais de composition (SEG, TMHMM, Signal-P).

En utilisant plusieurs méthodes de reconnaissance, il effectue des recherches de signatures protéiques dans 11 bases de données de motifs ou domaines protéiques telles que PROSITE, PRINTS, Pfam, ProDom, SMART ou TIGRFAMMs. Chacune de ces bases de références utilisent des méthodes différentes d'identification (HMM, profils, etc.) et de manière plus ou moins automatique.

Usage

Un site WEB est mis à la disposition de la communauté par l'EBI, mais cette fiche se penchera sur le retour d'expérience lié au déploiement d'un environnement sur une plate-forme, permettant de traiter de larges jeux de données (ex : 100 000 séquences).

InterProScan s'utilise aussi via un script frontal qui se charge de lancer les différentes comparaisons. Ces traitements peuvent s’exécuter sur un cluster. La parallélisation des traitements s'effectuera alors en deux étapes

  • tout d'abord par le découpage en sous jeu de données ("chunk") des séquences dont la taille sera définie par l'administrateur,
  • et par l’exécution en parallèle des différentes recherches  (une quinzaine dont par exemple hmmer sur la banque tigrfams) pour chaque sous jeu de données.

InterProScan est capable de traiter des séquences nucléiques et protéiques au format FASTA (multiple). Pour les séquences nucléiques, une traduction selon les 6 phases de lecture est automatiquement effectuée.

Exemple de ligne de commande

iprscan -cli -i mydataset.fasta -email myemail@mydomain -seqtype n -iprlookup -goterms -o mydataset.out -verbose

Fichiers résultats

Interproscan génère des fichiers de sorties pour chaque traitement sur les différents chunks. Un post traitement permet de filtrer et corriger certains hits. Au final, un fichier merged.raw est généré pour chaque chunk. Enfin, Interproscan concatène l'ensemble de ces résultats en un seul fichier. Il existe un fichier résultat par comparaison lancée, ainsi qu'un fichier de synthèse. Un jeu de test permet aussi de vérifier que l'outil fonctionne correctement en local.

Autres fonctionnalités

Le fichier RAW peut etre converti en divers formats (xml|ebixml|raw|html|txt|gff3) via le script converter.pl fournit dans la distribution.

Interopérabilité
  • Connexion aux environnements de calcul de type SGE 6.x, LSF et PBS.

  • Utilisation de la suite BioMaj pour mettre à jour automatiquement les banques de données associées.

  • Le site de l'EBI propose des accès Web Services (SOAP & REST).

Contexte d'utilisation dans mon laboratoire/service

InterProScan est principalement utilisé pour des traitements automatiques sur de gros volumes de séquences d'intérêt.
Les résultats donnent une information factuelle (présence/absence de domaines/sites) permettant l'annotation de protéomes. Le couplage avec la GeneOntologie ainsi que la structuration en arbre des domaines/familles InterPro permet de générer des annotation fonctionnelles synthétiques.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • L'installation nécessite de disposer d'un environnement de type plate-forme.

  • La mise à jour des banques implique également une indexation à chaque miuse à jour

  • La version 5 devrait lever certains verrous en rendant l'application plus modulaire et intégrable à des pipelines et traitement annexes.

Environnement du logiciel
Plates-formes

Environnement Linux disposant du langage PERL.

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

Développement opéré par l'EBI.

Eléments de pérennité
  • Logiciel très utilisé par la communauté.

  • Correctifs et évolutions fréquents.

  • Banques de données mises à jour fréquemment.

Références d'utilisateurs institutionnels
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Fiche logiciel validé
  • Création ou MAJ importante : 13/09/13
  • Correction mineure : 13/09/13
  • Rédacteur de la fiche : Olivier Langella - UMR de Génétique Végétale (CNRS, INRA, AgroParisTech, Université Paris Sud)
  • Relecteur(s) : Loïc Dachary (dachary.org)
    David Rousse (CNRS DSI)
  • Contributions importantes : Loïc Dachary
  • Responsable thématique : Gilian Gambini (CNRS DSI)
Mots-clés
Pour aller plus loin

Ceph : système de stockage distribué

Description
Fonctionnalités générales

Ceph est un système de stockage résilient, auto réparant et distribué.

Il contient trois composants : objets, bloc et système de fichiers.

Le stockage objet est accessible par une API spécifique et disponible dans plusieurs langages ou bien via radosgw, une interface REST qui offre une compatibilité pour les applications écrites pour S3 ou Swift.

Rados Block Device (ou RBD) donne accès à des périphériques en mode bloc qui sont divisés et répliqués sur l'ensemble du cluster.

Le dernier composant est encore expérimental : un système de fichiers conforme à POSIX et conçu pour maximiser les performances, permettre le stockage de grands ensemble de données et maximiser la compatibilité avec les applications existantes.

Autres fonctionnalités

Ceph peut permettre le stockage direct d'objets binaires et de métadonnées associées (interface de programmation disponible).

Interopérabilité

Interface REST S3 et Swift, compatibilité POSIX du système de fichiers, intégration dans le kernel linux, kvm et libvirt. Intégration dans OpenStack et Apache CloudStack.

Contexte d'utilisation dans mon laboratoire/service

Ceph est utilisé en production dans la plateforme PAPPSO. Le cluster de stockage est composé de 3 serveurs bi-processeurs et d'un switch gigabit. La capacité actuelle est de 34 To (17 To utiles). Un cluster de calculs de 3 machines utilise ce cluster : chaque nœud de calcul peut profiter d'une bande passante maximum dépendante du nombre de cartes réseaux.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • Ceph est à utiliser avec précaution : la partie RBD et REST (accès par périphérique bloc et compatibilité S3 et Swift) est considérée comme stable, mais la partie système de fichiers est encore considérée par les développeurs comme "expérimentale".

  • Le projet est très actif (une version de développement toutes les deux semaines, une version stable tous les trois mois). De nombreuses améliorations sont régulièrement apportées et les régressions sont vite corrigées.

  • Pour ce qui est de la fiabilité, il résiste extrêmement bien aux problèmes matériels et aussi aux erreurs humaines.

  • Les performances sont correctes (90 Mo/s en lecture/écriture avec accès concurrents) et l'espace de stockage est extensible très facilement (achat de disques, cartes réseaux ou serveurs supplémentaires).

  • Gros avantage enfin, le matériel est standard (pas de fiber channel, RAID, ...), les coûts sont donc faibles et l'on n'a pas besoin de prévoir l'espace de stockage à l'avance.

Il est donc nécessaire d'établir une stratégie pour assurer un service de qualité en production basé sur Ceph :

  • installer uniquement les versions stables publiées tout les trois mois,
  • mettre à jour les versions stables lorsqu'une version de maintenance est disponible, deux semaines après sa publication,
  • ne pas utiliser le système de fichiers.
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Debian GNU/Linux, Ubuntu, RedHat, CentOS

Plates-formes

GNU/Linux uniquement (effort de portage sur Mac OS embryonnaire).

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes

Lustre, GlusterFS, MooseFS, Riak

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

La société Inktank créée en 2012 emploie la plupart des développeurs Ceph. Elle fournit une offre complète de support aux entreprise pour les projets de stockage.

Eléments de pérennité
  • Ceph est un logiciel libre sous licence LGPL. Son développement est très ouvert et respecte les us et coutumes de la communauté Open Source (release often, release soon) : serveur git accessible, mailing liste ouverte, IRC très actif, organisation de la roadmap par des conférences publiques (Ceph Design Summit), ...

  • Le noyau Linux intègre le client Ceph depuis sa version 2.6.34.

  • libvirt intègre le protocole Ceph.

  • kvm intègre le protocole Ceph.

  • OpenStack supporte nativement Ceph.

Références d'utilisateurs institutionnels
  • Université de Nantes
  • INRA
  • Cloudwatt (hors ESR).
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Contributions
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 03/09/13
  • Correction mineure : 03/09/13
Mots-clés

tabwebexp : tableur web de saisie d'expériences multi-utilisateurs

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, MacOS X
  • Version actuelle : 1 - 2012
  • Licence(s) : choix en cours, contacter l'auteur
  • Etat : utilisé en interne
  • Support : maintenu, sans développement en cours
  • Concepteur(s) : Gérard Henry
  • Contact concepteur(s) : www.latp.univ-mrs.fr/~henry
  • Laboratoire(s), service(s)... : LATP

 

Fonctionnalités générales du logiciel

Cette application est destinée à stocker les données d'une expérience. Par rapport à un simple tableur, elle permet de réunir simplement les saisies faites par plusieurs expérimentateurs, et de garder un historique des saisies. Cette caractéristique est essentielle dans le post-traitement. Les données à saisir sont variées et en grande quantité.

Pendant le post-traitement, il est important de différencier les mesures de chaque expérimentateur. Cet aspect multi-utilisateurs a conduit au choix d'une application web, et à la mise en œuvre d'une base de données.

Les fonctionnalités sont :

  • authentification et gestion de session par utilisateur
  • saisie pour tous les sujets par jour ou pour tous les jours par sujet
  • extraction des données selon certains critères (par utilisateur, pour tous les utilisateurs, les plus récentes)
  • plusieurs formats d'exportation (txt, csv, monolix)
  • graphiques avec choix des courbes par sujet, expérimentateur, site, ...

L'installation de cette application nécessite un serveur web et le module python. Le développement s'appuie sur le framework Django.

Contexte d’utilisation du logiciel

L'application est en cours d'utilisation depuis le printemps 2012, par des pharmaciens et des mathématiciens, et dans le projet ANR Memorex.

L'application est déployée sur un serveur d'applications de mon laboratoire, le LATP.

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

solvqual : qualification de solveurs pour matrices creuses

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
  • Version actuelle : 1.1.0 - février 2011
  • Licence(s) : choix en cours, contacter l'auteur
  • Etat : en développement
  • Support : maintenu, développement en cours
  • Concepteur(s) : Gérard Henry
  • Contact concepteur(s) : www.latp.univ-mrs.fr/~henry
  • Laboratoire(s), service(s)... : LATP, GDR Momas

 

Fonctionnalités générales du logiciel

Il s'agit de permettre à des utilisateurs d'expérimenter différents solveurs sans autre contrainte que l'écriture de leur matrice dans le format XDR.

Les fonctionnalités principales sont :

  • authentification
  • stockage des matrices et des résultats à long terme
  • garantie d'exécution dans un environnent précis afin de procéder à des comparaisons
  • possibilité de soumission en masse
  • état des ressources
  • réception d'un mail lorsque les résultats sont disponibles
  • graphes des résultats
  • publication pour comparaison avec d'autres utilisateurs (sous réserve que les méthodes employées pour générer la matrice le permettent)
  • disponibilité de solveurs UMFPACK, DUNE-ISTL, et PETSc (pour éviter une installation locale)
Contexte d’utilisation du logiciel

Cette application a été développée à l'occasion de la conférence FVCA6 (The International Symposium on Finite Volumes for Complex Applications) qui a eu lieu en juin 2011.

Une nouvelle version est en cours de développement, des matrices (au format XDR) pour le Benchmark 3D pourront être testées, et l'accès à des librairies parallèles sera proposé. Elle est déployée sur le serveur d'applications de mon laboratoire, le LATP.

Publications liées au logiciel

Robert Eymard, Gerard Henry, Raphaele Herbin, Florence Hubert, Robert Klöfkorn, Gianmarco Manzini, 3D Benchmark on Discretization Schemes for Anisotropic Diffusion Problems on General Grid, Proceedings Finite Volumes for Complex Applications VI (June 2011), Editors: J. Fořt, J. Fürst, J. Halama, R. Herbin, F. Hubert, en cours de publication.

La présentation dans la séance Benchmark est disponible ici : http://marian.fsik.cvut.cz/~fvca6/slides/142/.

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 22/08/13
  • Correction mineure : 22/08/13
  • Auteur de la fiche : Yohan Colmant (Univ de Valenciennes et du Hainaut Cambrésis - Service informatique)
  • Responsable thématique : Raphaël Tournoy (Centre pour la Communication Scientifique Directe)

ORI-OAI : Outil de Référencement et d'Indexation pour un réseau de portails OAI-PMH

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.

 

Une fiche logiciel décrit plus en détail ce développement, consultez la pour plus d’informations : ORI-OAI
Fonctionnalités générales du logiciel

Destiné principalement aux universités et grandes écoles, l'Outil de Référencement et d'Indexation pour un réseau de portails OAI-PMH ORI-OAI vise la mise en place d'un système ouvert, en logiciel libre, permettant :

  • de gérer et de publier tous les documents numériques produits par les établissements universitaires,
  • de les partager avec d'autres établissements,
  • de les valoriser par une indexation de qualité,
  • de les rendre accessibles, à distance et selon les droits définis, dans des interfaces ergonomiques.

La mission du projet ORI-OAI est aussi le développement de communautés OAI-PMH : il propose une implémentation de référence du protocole OAI-PMH ainsi que les outils nécessaires à la mise en place de ces communautés et à la bonne intégration aux communautés existantes.

Contexte d’utilisation du logiciel

ORI-OAI est utilisé dans les établissements d'enseignement supérieur pour le référencement de tous les types de ressources numériques : thèses et autres publications, ressources pédagogiques, offres de formation, ...

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 08/08/13
  • Correction mineure : 29/08/13
Mots-clés

GesCommLab : gestion des commandes pour laboratoires de la fonction publique

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.0 - 2012-12-10
  • Licence(s) : Autre - Licence MIT
  • Etat : diffusé en beta
  • Support : maintenu, développement en cours
  • Concepteur(s) : Aubin Thomas
  • Contact concepteur(s) : aubin.thonas at igh.cnrs.fr
  • Laboratoire(s), service(s)... : IGH

 

Fonctionnalités générales du logiciel

GesCommLab propose à travers une interface web de gérer les produits disponibles à l'achat, passer et centraliser des commandes, et afficher différentes statistiques sur les commandes passées.

Pour cela, le logiciel offre différentes vues :

  • produits : chaque utilisateur peut commander les produits désirés. Chaque produit est caractérisé par un nom, un type, une description, un fournisseur, une référence et un prix unitaire. Si le produit n'existe pas, chaque utilisateur a la possibilité de le créer et ainsi alimenter la base de données.
  • commandes : les commandes y sont classées sous deux catégories, en attente de commande et en attente de livraison. Les utilisateurs peuvent donc y renseigner les numéros de bons de commande et les références de livraison. Les dates correspondantes sont alors enregistrées également.
  • historique : l'historique des commandes livrées, avec des outils de recherche dédiés.
  • statistiques : des statistiques y sont présentées et classées par mois, avec génération de graphiques.

Le logiciel est développé en PHP+Javascript (JQuery AJAX) et requiert une base de données MySQL.

Contexte d’utilisation du logiciel

Le logiciel est voulu comme une interface simplifiée de gestion des commandes pour les laboratoires de la fonction publique. Ils permettent de centraliser les commandes et donc de faciliter le travail de la personne en charge de celles-ci.

Fiche logiciel validé
  • Création ou MAJ importante : 05/08/13
  • Correction mineure : 05/08/13
  • Rédacteur de la fiche : Vladimir Daric - Institut de Génétique et Microbiologie (UMR 8621) (CNRS, Université Paris Sud)
  • Relecteur(s) : Dirk Hoffmann (Centre de Physique des Particules de Marseille (CPPM-IN2P3))
    Fernando Niño (Legos)
  • Contributions importantes : Une relecture "externe" a été faite par R. Le Gac (CPPM), et prise en charge par Dirk Hoffmann.
  • Responsable thématique : C FC (Inria)
Mots-clés

Django : framework de développement web en python

Description
Fonctionnalités générales

Django est un framework de développement d'applications web. Il est conçu selon le modèle MVC et dans le respect de la philosophie DRY.

ORM (Object-relational mapper)

Django fournit un ORM (mapping objet-relationnel). Le modèle de données dans Django se présente comme une classe Python. Une fois celui-ci définie, l'ORM génère une interface d'accès aux données (API) en Python très complète.

Il est également possible de continuer d'écrire les requêtes en SQL.

Interface d'administration de données

Une application d'administration de données est fournie avec le framework. Celle-ci génère automatiquement l'interface HTML, très personnalisable, pour administrer les données.

URLs élégantes

Facile à utiliser, le mappeur d'urls (contrôleur) n'impose aucune contrainte. L’écriture d’applications REST devient un jeu d'enfant.

Templates

Un langage de templates intuitif et extensible permet de bien séparer la présentation du traitement et des données.

Système de cache

Pour des sites à fort trafic, Django offre plusieurs stratégies de cache. Pour cela vous pouvez choisir d'utiliser la mémoire vive, la base de données ou le système de fichier. Pour ne citer que ces deux solutions, Django peut facilement être couplé avec Squid ou memcached.

Internationalisation (i18n) & Localisation (l10n)

Django intègre les outils nécessaires permettant l'internationalisation des applications mais également la localisation de dates et nombres.

authentification

Django fournit son propre système d'identification et d'authentification. Celui-ci gère également des groupes. Il est possible de coupler celui-ci, à l'aide de plugins, avec LDAP, Kerberos ou Apache (et Shibboleth).

L'ensemble de permissions existantes peut aisément être étendu pour correspondre à vos besoins.

Autres fonctionnalités

Introspection de la base de données

Django peut analyser la structure de la base de données et générer le modèle.

Serveur web de développement

Le serveur web fourni permet de démarrer le développement très rapidement. Aucune configuration additionnelle n'est nécessaire.

Django apps

De très nombreux plugins sont disponibles sur PyPI.

Interopérabilité

Sont nativement supportés :

Et via des adaptateurs non officiels :

  • Sybase SQL Anywhere
  • IBM DB2
  • Microsoft SQL Server 2005
  • Firebird
  • ODBC
Contexte d'utilisation dans mon laboratoire/service

Dans le cadre de développement d'applications web, nous utilisons beaucoup Django avec le plugin Django admin site. Celui-ci permet une grande personnalisation et nous donne la possibilité de fournir des interfaces de gestion de données très rapidement.

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

Django n'est pas un CMS ni un serveur d'application.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

La méthode conseillée est d'utiliser easy_install ou pip donc la distribution du PyPI (aka the CheeseShop).

Django est également présent dans la plupart de distributions Linux sous forme de package.

Généralement les mises à jour sont d'abord disponibles sur PyPI.

Plates-formes

Linux, OSX, Windows

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement
Références d'utilisateurs institutionnels

Liste complète de sites utilisant Django

Parmi lesquels :

  • Criminocorpus, UMR 8560 Centre A. Koyré, Ministère de la Justice (Direction de l’administration pénitentiaire), Sciences Po (Centre d’histoire), Université Paris 5 Descartes (Service historique de la Bibliothèque inter-universitaire de médecine de Paris), Archives nationales d’Outre-Mer
  • Dezède, laboratoires CÉRÉdI (EA 3229, université de Rouen), GRHIS (EA 3831, université de Rouen) et IRCL (UMR 5186, CNRS)
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)

Securité

Les applications web sont des cibles privilégiés pour les attaques informatiques. Django offre une sécurité accrue par rapport à d'autres solutions de ce type. La protection contre attaques les plus courantes est prise en charge par le framework : Cross site scripting (XSS), Cross site request forgery (CSRF), injection SQL, Clickjacking.

Un chapitre dans le documentation Django est consacré à la secutité.

Les alertes de sécurité sont annoncées sur cette liste.

Astuce

Il est préférable d'installer Django dans un environnement virtuel créé à l'aide de virtualenv. De cette manière Django dispose de son propre interpréteur Python. Il est alors possible de contrôler les versions de toutes les librairies dont votre application a besoin, de manière dissociée de celles du système hôte.

Fiche logiciel validé
  • Création ou MAJ importante : 25/07/13
  • Correction mineure : 01/06/14
Mots-clés
Pour aller plus loin
  • Fiches logiciel PLUME connexes : , , , ,

taskfreak : gestionnaire de tâches simple à utiliser, au travers d'une interface web en PHP

Description
Fonctionnalités générales

taskfreak est un gestionnaire de tâches. Il permet de créer des projets, des tâches à effectuer dans ces projets, des contextes d'utilisation et des utilisateurs pour ces projets. Il permet d'affecter les tâches aux utilisateurs et d'en suivre l'état au travers de pourcentages d'avancement.

Via une interface web simple et ergonomique et des fonctionnalités basiques, on suit simplement l'avancement d'un projet ou d'une tâche jusqu'à son achèvement. On peut conserver et consulter l'historique pour un éventuel rapport d'activités.

L'intérêt de taskfreak est sa simplicité d'utilisation et des fonctionnalités basiques de suivi de tâches et de projets, c'est ce qui fait tout son intérêt. taskfreak permet d'effectuer :

  • la création d'un projet,
  • la création de "contextes" d'exécution (réunions, tâches à effectuer, téléphones, etc, ...),
  • la création de tâches à effectuer, les tâches étant "publiques" ou "internes"
    • les tâches "publiques" sont visibles de tous les utilisateurs,
    • les tâches "internes" ne sont visibles que par les participants à un projet donné.
  • l'affectation de priorités aux tâches de 1 (peu urgent) à 5 (urgent),
  • l'affectation des tâches à des utilisateurs,
  • l'affectation de pourcentage d'avancement des tâches de 0 à 100%.

taskfreak se veut conforme à la méthode GTD (Getting Things Done) qui est une méthode d’organisation de travail visant à faciliter le choix, les priorités et l'ordonnancement des tâches pour ne pas se perdre dans l'ensemble des tâches à faire.

Autres fonctionnalités

taskfreak gère différents types d'utilisateurs qui ont des droits et permissions différents :

  • "Administrateur", a tous les pouvoirs,
  • "Chef de projet", peut créer un projet, des utilisateurs, des tâches publiques et internes,
  • "Participant", peut créer de nouvelles tâches publiques et internes,
  • "Invité", ne peut que consulter les tâches publiques.

taskfreak est proposé sous 3 versions différentes, qui sont par ailleurs toutes sous licence GPL :

  • la version "originale" en version mono ou multi utilisateurs,
  • la version "Time tracking" en beta-test,
  • la version "Enterprise" en développement.

NB : cette fiche Plume concerne uniquement la version dite "originale".

Contexte d'utilisation dans mon laboratoire/service

taskfreak est utilisé au sein du service informatique de notre institut pour lister et gérer de manière simple et rapide l'ensemble des projets et des tâches en cours et les attribuer à ceux qui en ont la charge. Nous l'utilisons un peu comme une "TODO list" plus élaborée qu'une feuille papier, permettant de mieux ordonner les tâches et en suivre l'avancement.

En fin d'année, taskfreak permet de lister l'ensemble des opérations qui ont été faites et facilite la rédaction d'un rapport d'activités.

taskfreak est utilisé également par une équipe de direction du laboratoire pour affecter les tâches administratives à effectuer au sein de l'équipe.

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

Malheureusement, taskfreak ne propose pas d'authentification sur un backend d'authentification LDAP. Les comptes sont donc simplement des comptes locaux dans la base interne SQL de taskfreak.

taksfreak est un gestionnaire de tâches à effectuer, simple avec des fonctionnalités basiques. Il n'a pas d'outils évolués de gestion de projet comme un calendrier intégré, une messagerie interne, ni de "diagramme de Gantt", etc, ... et ne possède donc pas toutes les fonctionnalités évoluées que nécessitent une gestion de projet plus complète, comme peut le faire par exemple Redmine.

Environnement du logiciel
Plates-formes
  • taskfreak est écrit en PHP, il faut simplement un environnement Apache, MySQL (version > 3.23) ou SQLite et PHP (version > 4.3.1) pour faire tourner taskfreak sur tout type de système d'exploitation (Linux, MacOS, Windows).

  • Côté client, les navigateurs suivants sont validés pour taskfreak : Mozilla Firefox 1.0+, IE 5.0+, Safari, Google Chrome, Opera 7.0+

Autres logiciels aux fonctionnalités équivalentes

Gestionnaires de projets :

Gestionnaires de temps et de suivi des activités :

Environnement de développement
Type de structure associée au développement
Eléments de pérennité

taskfreak est un logiciel créé en 2005. L'historique du projet montre que le projet a été depuis lors bien suivi et a fait l'objet de nombreuses évolutions et corrections de bugs.
La version 0.6.4 stable date de 2010.
La distribution n'a plus évolué depuis, mais un plugin pour le CMS WordPress a été développé en 2013
- http://www.taskfreak.com/home/news/read/wordpress-...
- http://wordpress.org/plugins/taskfreak/

Le projet a beaucoup de contributeurs et de traducteurs dans une vingtaine de langues.

Références d'utilisateurs institutionnels
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)
Syndiquer le contenu