gratuit

Gratuit

Journée IMdR : Maîtrise de la composante logicielle pour la sécurité, sûreté et durabilité des systèmes complexes

Fiche ressource Article, événement, site web...
  • Création ou MAJ importante : 11/11/13
  • Correction mineure : 11/11/13
Mots-clés

Journée IMdR : Maîtrise de la composante logicielle pour la sécurité, sûreté et durabilité des systèmes complexes

  • Type de ressource : événement
  • Date de publication du document ou de l'événement : Nov 2012
  • Auteur(s) ou responsable(s) : IMdR (Institut pour la Mesure du Risque)
  • Contact pour plus d'informations : Emile Geahchan

Présentation de l'intervention d'Emile Geahchan (co-Responsable Thématique PLUME Sécurité) sur le thème : "L’usage des logiciels libres dans les systèmes informatiques critiques répond-il aux impératifs de sécurité et de sûreté ?". Le fichier de la présentation est donné ci-joint.

Cette présentation s'est déroulée dans le cadre de la journée IMdR : "Maîtrise de la composante logicielle pour la sécurité, sûreté et durabilité des systèmes complexes". Le support en pièce jointe détaille cette journée.

Merci aux responsables et contributeurs PLUME qui m'ont aidé dans cette tâche délicate.

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 logiciel à valider
  • Création ou MAJ importante : 11/10/13
  • Correction mineure : 11/10/13
  • Rédacteur de la fiche : Alexandre Granier - Plate-forme MRI (CNRS)
  • Responsable thématique : Dirk Hoffmann (Centre de Physique des Particules de Marseille (CPPM-IN2P3))
Mots-clés
Pour aller plus loin
  • Fiches logiciel PLUME connexes : ImageJ
Fiche en recherche de relecteurs
Cette fiche est en recherche de relecteurs. Si vous êtes intéressé(e)s, contactez-nous !

NDPITools : conversion de fichiers NDPI (Nanozoomer Digital Pathology Image) au format TIFF ou JPEG

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

NDPITools est un logiciel permettant de convertir des fichiers NDPI (Nanozoomer Digital Pathology Image) au format TIFF ou JPEG et ce, en consommant peu de mémoire vive. NDPITools se situe dans la tradition des logiciels UNIX qui ne font qu'une chose mais de façon efficiente.

Le format NDPI est un format propriétaire d'Hamamatsu qui stocke des images issues de scanners de lame à différentes résolutions, pour différents niveaux de profondeurs et éventuellement sur plusieurs canaux d'acquisition. Les fichiers obtenus sont très souvent extrêmement volumineux (plusieurs Go), contiennent des images de très haute résolution (par exemple 180000 x 70000 pixels) et difficile à manipuler, voire impossible à ouvrir avec des outils standards comme ImageJ ou GIMP. NDPITools permet d'extraire de façon très rapide des tuiles contenues dans les fichiers NDPI, en précisant un niveau de zoom, un z-index, les coordonnées et la taille de la région à extraire.

NDPITools propose un greffon pour ImageJ afin de rendre possible la manipulation de ses images dans ce logiciel.

Autres fonctionnalités

NDPITools permet également de spécifier la quantité de mémoire maximale à utiliser pour l'extraction et donc de transformer la consommation de mémoire en temps processeur.

NDPITools prend place dans une suite logicielle autour du format NDPI d'une part et de la gestion de gros fichiers TIFF d'autre part. L'idée générale étant qu'un fichier NDPI peut se traiter in fine comme un gros fichier TIFF.

On peut noter entre autres :

  • ndpi2tiff qui permet de convertir le fichier NDPI en un fichier TIFF contenant toutes les images.

  • tiffmakemosaic qui permet de créer une mosaïque au format TIFF ou JPEG à partir d'un fichier TIFF. Il permet également de spécifier la quantité de mémoire maximum à utiliser pour cette opération.

  • tiffastcrop qui permet d'extraire une région rectangulaire d'un fichier TIFF sans charger toute l'image en mémoire.

Interopérabilité

Formats NDPI (propriétaire), TIFF et JPEG.

Contexte d'utilisation dans mon laboratoire/service

NDPITools intervient dans le cadre d'une application web de base de données d'images. Il permet un visionnage des images NDPI via le web et dans de très bonnes conditions. L'application web affiche les images à l'aide d'un tuilage de petites images à la manière des logiciels en ligne de cartographie. NDPITools agit en arrière plan et permet de créer les tuiles à la demande en utilisant l'option "e". La vitesse d'extraction des tuiles est suffisamment élevée pour reconstruire une image dans un contexte web.

Cette possibilité offerte par NDPITools est très appréciée par les utilisateurs de la base de données d'images et constitue pour une plate-forme d'imagerie une économie substantielle en termes de stockage, puisque les tuiles n'ont pas besoin d'être préparées à l'avance et gardées dans la base de données.

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

Ce logiciel se limite à la manipulation des formats NDPI, très spécifiques. Néanmoins, l'auteur propose également un équivalent pour manipuler les fichiers TIFF.

Environnement du logiciel
Plates-formes

Unix-like, Windows, Mac OS X 10.6+

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

Laboratoire d'Imagerie et Modélisation en Neurobiologie et Cancérologie (UMR 8165)

Références d'utilisateurs institutionnels

Parmis les utilisateurs de NDPITools, on peut mentionner :

  • Laboratoire IMNC
  • Université de Californie
  • Montpellier RIO Imaging
Environnement utilisateur
Documentation utilisateur

Des consignes d'installation et d'utilisation sont disponibles sur le site NDPITools.

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

Exemples d'utilisation :
ndpisplit -m500J60 xx.ndpi
extrait une mosaïque de fichiers TIFF (un pour chaque niveau de grossissement et un pour chaque niveau de Z) de sorte que la quantité de mémoire pour ouvrir ces TIFF n'excède pas 500 Mo.

ndpisplit -g500x500 xx.ndpi
extrait une mosaïque dont chaque fichier TIFF aura une taille de 500 pixels × 500 pixels.

ndpisplit -e xx.ndpi
permet de spécifier quelle partie l'on souhaite extraire du fichier NDPI en précisant le coin supérieur gauche, la largeur, la hauteur ainsi que le niveau de Z et le grossissement.

Fiche logiciel à valider
  • Création ou MAJ importante : 09/10/13
  • Correction mineure : 21/11/13
  • Rédacteur de la fiche : Stéphane Grognet - IREM des Pays de la Loire (Université Université de Nantes)
  • Responsable thématique : Clive Ferret-Canape (INRIA Lille - Nord Europe)
Mots-clés
Pour aller plus loin
Fiche en recherche de relecteurs
Cette fiche est en recherche de relecteurs. Si vous êtes intéressé(e)s, contactez-nous !

Opam : gestionnaire de paquetages pour OCaml

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.
  • Site web
  • Système : UNIX-like, MacOS X
  • Téléchargement
  • Version évaluée : 1
  • Langue(s) de l'interface : anglais
  • Licence : LGPL

    GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29/06/2007, avec exception statique. La base de données des paquetages est sous licence Creative Commons.

Description
Fonctionnalités générales

Gestionnaire de paquetages pour OCaml par compilation à partir du code source.

Ce système rend la fabrication et l'utilisation de logiciels ou bibliothèques écrits en OCaml plus facile.

Autres fonctionnalités

Gestion de plusieurs versions de compilateurs OCaml.

Interopérabilité
  • Opam est censé coopérer avec les systèmes de paquetages antérieurs, les différents systèmes de résolution de dépendances, d'autres outils développés par OCamlPro.

  • Opam lance des scripts shell, ce qui assure suffisamment de souplesse.

  • Opam est testé sous différents systèmes d'exploitations et différentes architectures de processeurs.

Contexte d'utilisation dans mon laboratoire/service

La version 0.4 de la bibliothèque ocamlmath existera sous forme de paquetage Opam.

Environnement du logiciel
Plates-formes

Archlinux, Debian, Ubuntu, Mac OS X.

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

Société OCamlPro.

Eléments de pérennité

Le financement de la société OCamlPro est assuré par différents intervenants publics ou privés :

Le projet Opam s'inscrit dans la plate-forme OCaml Labs de l'Université de Cambridge.

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

Ces ressources sont décrites sur la page github d'Opam : https://github.com/OCamlPro/opam, dans le paragraphe Community.

Documentation utilisateur
Contributions

Il est possible de contribuer à Opam via sa page github.

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

Trinity : assemblage de-novo de séquences RNAseq

Description
Fonctionnalités générales

Trinity est un programme pour réaliser l’assemblage de-novo de données NGS de type RNAseq.

Trinity regroupe 3 modules indépendants (Inchworm, Chrysalis et Butterfly) qui sont utilisés séquentiellement pour le traitement de données de type RNAseq. Trinity utilise une approche basée sur des graphes de 'de Bruijn'. Chaque graphe individuel est représentatif de la complexité transcriptionnelle pour un locus ou gène donné. Le traitement de chaque graphe permet d’extraire les différentes isoformes d’épissage et de séparer les transcrits provenant de gènes paralogues. La séquence de traitement est la suivante :

  • Inchworm assemble les données RNAseq en séquences de transcrits, générant le plus souvent un transcrit majoritaire correspondant à l’isoforme dominante. Les portions spécifiques des transcrits d’épissages alternatifs sont également assemblées.
  • Chrysalis clusterise les contigs assemblés par Inchworm et construit un graphe de 'de Bruijn' pour chaque cluster. Ce graphe représente la complexité transcriptionnelle d’un gène donné (ou set de gènes qui partagent des séquences communes). Chrysalis répartit le jeu de lectures donné en entrée sur ces graphes disjoints.
  • Butterfly traite les graphes individuellement. Il réconcilie les données de graphes obtenues par Chrysalis avec les lectures (pairées et non pairées) correspondant à ces graphes afin de reconstruire une séquence linéaire pour chaque isoforme de transcrit ou gènes paralogues.

Usage :

Trinity est lancé en utilisant le script Trinity.pl qui se trouve dans le répertoire d’installation.

Trinity accepte des données de type « paired-end », « mate-pair » ou « single-end », orientés ou non orientés, bien que les performances soient meilleures sur des reads orientés.

Les données doivent être au format fastq ou fasta.

 

Exemples de ligne de commande :

Trinity.pl --seqType fq --JM 10G --left reads_1.fq --right reads_2.fq --CPU 6

L’assemblage Trinity peut également se faire par étape si nécessaire, en exécutant indépendamment Inchworm, Chrysalis et Butterfly avec des options spécifiques de Trinity.pl

 

Sorties de Trinity :

L’expérience montre que l’exécution de Trinity demande ~1/2 heure à 1 heure par million de paires de reads.

Après complétion, Trinity a créé un fichier de sortie Trinity.fasta dans le répertoire de sortie spécifié (trinity_out_dir par défaut) , contenant les différents transcrits assemblés.

 

Données test :

Trinity est distribué avec un jeu de données test « sample_data/test_Trinity_Assembly/ ».

Lancer le script shell « runMe.sh » exécutera le processus d’assemblage avec Trinity sur ces données.

Lancer le script shell « runMe.sh 1 » exécutera l’analyse postérieure de l’assemblage incluant l’alignement des lectures sur l’assemblage avec Bowtie ainsi que l’analyse d’abondance avec RSEM.

Autres fonctionnalités

Les analyses suivantes, en aval de l’assemblage, font partie de la suite Trinity :

  •  Alignement des lectures RNAseq sur les transcrits assemblés par Trinity pour visualiser dans IGV et estimer l’abondance utilisant RSEM.
  •  Utilisation de edgeR et Bioconductor pour l’analyse d’expression différentielle des transcrits.
  •  Extraction des régions potentiellement codantes pour des protéines à partir des transcrits.
Interopérabilité
  • En entrée : fasta, fastq, colorspace fasta, colorspace fastq
  • En sortie : fasta
Contexte d'utilisation dans mon laboratoire/service

Trinity est essentiellement utilisé pour l’assemblage de-novo de données RNAseq :

  • pour lesquelles il n’y a pas de génome disponible,
  • pour lesquelles le génome est fragmenté ou non annoté,
  • pour des applications où un assemblage de-novo est nécessaire (par exemple RNAseq d'individus mâles avec un génome de référence femelle...).
Limitations, difficultés, fonctionnalités importantes non couvertes
  • Pour l’assemblage avec référence (génome annoté), la suite Tophat/Cufflinks est préférable.
  • Trinity fonctionne avec Bowtie et non Bowtie 2.
  • Trinity est gourmand en mémoire vive (RAM).
Environnement du logiciel
Plates-formes

Linux, Mac, Windows

Logiciels connexes
  • Bowtie est un logiciel d’alignement de séquences NGS et est nécessaire pour l'alignement des lectures sur les assemblages et la quantification.
  • Visualisateurs d'alignement (tabletIGV ...).
Autres logiciels aux fonctionnalités équivalentes

SOAPdenovo-Trans (GPLv3), Oases (GPLv3), ABySS (freeware), CLC (propriétaire).

Environnement de développement
Eléments de pérennité

Fréquentes mises à jour, et équipe très réactive, du Broad Institute du MIT et de l'université hébraïque de Jérusalem, pour apporter de l’aide et / ou des conseils en cas de problème.

Références d'utilisateurs institutionnels

Trinity est aujourd’hui largement utilisé dans le domaine de l’assemblage de-novo de données RNAseq.

Environnement utilisateur
Documentation utilisateur
Divers (astuces, actualités, sécurité)

FindStat : the Combinatorial Statistic Finder

Fiche ressource Article, événement, site web...
  • Création ou MAJ importante : 07/10/13
  • Correction mineure : 07/10/13
Mots-clés

FindStat : the Combinatorial Statistic Finder

FindStat est à la fois une base de données et un service web pour les chercheurs en combinatoire.

La combinatoire est l'étude des ensembles finis d'objets. A ces objets, on associe souvent des nombres qu'on appelle des statistiques. Par exemple, à une permutation [2,4,1,3], on associe le nombre d'inversion (ici 3 inversions : 2 et 1, 4 et 1, 4 et 3). FindStat se propose de répertorier les différents objets combinatoires et les statistiques qui leur sont associées.

Le service web permet à un chercheur de savoir si les nombres qu'il obtient dans ses calculs correspondent à une statistique connue dans la base de données. Par ailleurs, les objets combinatoires sont liés par de nombreuses bijections et certaines statistiques se comprennent mieux sur certains objets que sur d'autres. FindStat utilise Sage et Sage-Combinat pour appliquer toutes les transformations connues sur les objets entrés par l'utilisateur et ainsi décupler le nombre de statistiques à comparer.

Publications associées :

Sarah Biley and Bridget E. Tenner
Fingerprint Databases for Theorems
AMS Notices, September 2013,
http://www.ams.org/notices/201308/rnoti-p1034.pdf

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 logiciel validé
  • Création ou MAJ importante : 12/09/13
  • Correction mineure : 19/02/14
Mots-clés

KiCad : CAO électronique pour circuits imprimés

Description
Fonctionnalités générales

KiCad est un logiciel de conception CAO pour circuits imprimés (PCB) qui intègre :

  • gestionnaire de projet ;
  • saisie schématique et création de composants ;
  • placement-routage (layout) jusqu'à 16 couches et création d'empreintes ;
  • visionneur-éditeur de fichiers gerber ;
  • calculatrice spéciale.

Cet article utilise des termes de jargon professionnel. Pour une introduction au sujet, lire par exemple ceci au sujet de la conception de circuits intégrés.

Gestionnaire de projet

Le gestionnaire de projet (GP) donne une vision générale du projet. Il montre l'arborescence du projet (dossiers/fichiers) et permet de naviguer au sein de cette arborescence. Le GP qui est également responsable de la gestion des fichiers grâce aux fonctions classiques ouvrir/renommer/effacer et aussi une fonction d'archivage (fichier zip). Enfin, il donne accès aux différents composants de la suite cités ci-dessous.

Saisie de schématique avec Eeschema

La partie "saisie de schématique" du logiciel offre plusieurs fonctionnalités :

  • saisie hiérarchique ;
  • bus ;
  • numérotation des composants automatique et hiérarchique ;
  • génération de la liste des composants (BOM, Bill Of Materials) en prenant en compte les champs ajoutés par l'utilisateur aux composants ;
  • labels locaux, hiérarchiques ou globaux ;
  • importation d'images bitmap.

La génération de la netlist dans plusieurs formats (natif, orcadPCB2, cadStar et Spice) se fait directement depuis Eeschema. Le résultat d'une saisie schématique est plutôt propre et l'impression se fait aisément puisque le paramétrage de la feuille impose le choix d'un format de papier et inclut en conséquence le cartouche.

Routage avec Pcbnew

Routeur manuel qui offre de nombreuses options aisément utilisables :

  • Vérificateur de règles de conception (DRC, design rule check) en temps réel : lorsque l'utilisateur trace une piste, le logiciel regarde en temps réel si cette dernière est cohérente avec les règles préalablement définies (en particulier largeur de pistes et distances aux autre éléments).
  • Affichage sélectif des lignes de connexion (ratsnest, pour une définition en anglais, voir ici) : on peut choisir le niveau de ratsnest que l'on souhaite afficher. Il est donc possible de les cacher, les afficher, les afficher pour un ou plusieurs composants. Il est aussi possible de n'afficher que le ratsnest de la piste en cours de traçage.
  • Choix du niveau de détails affichés : plan en mode contour ou plein, piste en mode contour ou plein, via en mode contour ou plein, pads en mode contour ou plein. Toutes ces options sont indépendantes les unes des autres.
  • routage automatique : peut se faire depuis KiCad directement (interne) ou depuis un outil externe à KiCad, ce dernier générant alors un fichier compatible avec Spectra.
Interopérabilité
  • Tous les fichiers produits et utilisés par KiCad sont des fichiers ASCII, la documentation fournit la spécification détaillée des différents formats.
  • Génération de netlist dans plusieurs formats (natif, orcadPCB2, cadStar et Spice).
Contexte d'utilisation dans mon laboratoire/service

L'auteur (au laboratoire Subatech) utilise ce logiciel pour la conception de toutes ses cartes. Jusqu'à présent, il a conçu 3 cartes 4 couches :

  • une carte d'alimentation pour un ASIC ;
  • une carte numérique ;
  • une carte d'interface vide/Xénon liquide avec via (connections) non débouchant.

Les cartes ont été produites et testées avec succès.

Il a également conçu une carte analogique 6 couches, produite, reçue, câblée et testée avec succès.

Au CINaM, ont été réalisé à peu prés 6 ou 7 circuits imprimés dans le domaine professionnel. Il s'agit de petites carte de quelques centimètres carrés avec peu de composants. Le but principal, dans chacun des cas, étant de réaliser un circuit imprimé qui fasse l'interface entre des appareils de mesure (via des prises BNC) et la prise de contact (au moyen de pointes de touches directement soudé sur le CI) sur des échantillons de nos chercheurs afin d'en faire les caractérisations électriques.

Dans le domaine personnel, un des relecteurs a réalisé quelques (environ 4 ou 5) petites cartes également telles que : interface série, carte d'alimentation simple, capteurs divers, ...

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

Pas de routage de lignes différentielles.

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

De nombreuses distributions offrent KiCad dans leurs dépôts (par exemple Debian, Fedora, Ubuntu (voir aussi instructions pour installation sur Ubuntu)).

Plates-formes

GNU/Linux, Windows, Mac OS X

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
  • gEDA, gratuit, sous licence libre (GPL) : c'est un logiciel qui semble lui aussi très performant. Pas d'argument en sa faveur, ni en sa défaveur puisque je ne l'ai pas testé.
  • Eagle, payant, sous licence propriétaire.
Environnement de développement
Type de structure associée au développement

Communauté de développeurs très active et internationale.

Eléments de pérennité
  • Ce projet, initié par Jean-Pierre Charras, chercheur a Grenoble au GIPSA-LAB et enseignant en électronique à l'IUT de Saint Martin d'Hères est maintenant mature et soutenu par une communauté de développeurs extrêmement active et d'utilisateurs de nombreux pays : http://iut-tice.ujf-grenoble.fr/kicad/

  • Cette communauté comprend trois développeurs principaux ainsi qu'une douzaine de contributeurs réguliers.

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

Sur la page de documentation, on trouve des didacticiels d'assez bonne qualité, les documents de référence pour les deux composants principaux de la suite, à savoir Eeschema et Pcbnew.

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

Pour l'installation, il est possible de prendre la version des dépôts de sa distribution ou de télécharger une version binaire sur le site de KiCad.

Une troisième possibilité consiste à télécharger la version dans des dépôts Launchpad. Cette version se divise en deux sous branches : testing et stable. La branche stable peut à tout moment être intégrée à une distribution stable du logiciel. La version testing, quant à elle, intègre les dernières mises à jour, ce qui rend de fait cette distribution un peu plus instable. On active l'une des deux sous-branches à la pré-compilation (cmake).

Il existe aussi un dépôt Launchpad pour les bibliothèques KiCad : https://code.launchpad.net/~kicad-lib-committers/k...

A noter qu'il existe dans KiCad des fonctionnalités de scripts en python.

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

getDP : solveur éléments finis

Description
Fonctionnalités générales

Discrétisation de systèmes d'équations aux dérivées partielles en 1D, 2D et 3D. Méthode d'éléments finis mixtes (Nédélec et Raviart-Thomas) et d'ordre élevé. Définition du problème dans un fichier de données (ASCII) dont la syntaxe est proche de l'écriture mathématique de la formulation faible correspondante.

Interopérabilité

Format de fichier de maillage: .msh (format utilisé par le mailleur gmsh)
Format de fichiers de sortie: .pre .res .pos (format .pos utilisé pour l'exploitation avec gmsh)

Interfaçage très simple avec Gmsh pour la génération du maillage et pour l'exploitation des résultats.

Contexte d'utilisation dans mon laboratoire/service

J'ai utilisé GetDP très fréquemment durant mes 3 années de thèse au Laboratoire Ampère (UMR5005) pour la résolution de problèmes d'électromagnétisme dans le domaine fréquentiel. Le logiciel offre une grande liberté pour définir les formulations faibles. J'utilise actuellement GetDP occasionnellement pour la résolution de problèmes spécifiques et comme référence de calcul par la méthode des éléments finis.
GetDP est très bien documenté et bénéficie d'une communauté active et très réactive par l'intermédiaire d'une "mailing list" des utilisateurs et développeurs.

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

La prise en main demande un investissement important.

Environnement du logiciel
Plates-formes

Windows, Linux, Mac OS X

Logiciels connexes

Gmsh (GPL) : très utile pour la génération de la géométrie, du maillage et pour l'exploitation des résultats (http://www.projet-plume.org/fiche/gmsh).

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

Université de Liège

Eléments de pérennité

Créé en 1997. Mailing list active. Dernière version : mars 2006.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Syndiquer le contenu