UNIX-like

Logiciels (logiciels libres en majorité) qui fonctionnent sur des systèmes dérivés d'Unix (Linux...) ou ressources (liées aux logiciels) spécifiquement pour ces systèmes
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 12/09/12
  • Correction mineure : 12/09/12
Mots-clés

myProMS : validation, quantification et partage des données de spectrométrie de masse protéomique

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 : 2.7.2 - 06/09/2012
  • Licence(s) : Licence propriétaire - Utilisation académique libre.
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Patrick Poullet, Guillaume Arras, Florent Yvon, Falaye Camara
  • Contact concepteur(s) : myproms@curie.fr
  • Laboratoire(s), service(s)... : INSERM-U900

 

Fonctionnalités générales du logiciel

myProMS est un outil multi-utilisateur (serveur web et base de données) dédié à la gestion, au traitement et au partage des données d'identifications protéiques issues de la spectrométrie de masse. Il accepte les résultats des moteurs de recherche Mascot (avec lequel il communique directement) et Proteome Discoverer.

Les données importées sont organisées en projet dont l'accès est dépendant des droits de chaque utilisateur. Les données d'identification peuvent être validées manuellement ou automatiquement selon différents critères. Une fois validées, les données deviennent accessibles aux différents collaborateurs du projet qui peuvent les analyser pour en extraire des informations biologiques pertinentes. Des fonctionnalités telles que la comparaison (de groupes) d'échantillons et l'enrichissement d'annotations sont proposées pour aider les utilisateurs dans l'interprétation des résultats.

Contexte d’utilisation du logiciel

myProMS est utilisé par les plates-formes et laboratoires de spectrométrie de masse qui souhaitent centraliser, traiter et partager avec leurs collaborateurs les résultats d'identification générés par les moteurs de recherche tels que Mascot et Proteome Discoverer.

Publications liées au logiciel
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 12/09/12
  • Correction mineure : 26/10/13
Mots-clés

X!TandemPipeline : filtrage, édition, regroupement de résultats d'identifications MS

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 : 3.3.0 - 7 juillet 2012
  • Licence(s) : GPL - v3
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Benoit Valot, Olivier Langella
  • Contact concepteur(s) : benoit.valot@moulon.inra.fr
  • Laboratoire(s), service(s)... : Génétique Végétale

 

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

X!TandemPipeline est un logiciel libre qui propose une interface graphique pour visualiser et manipuler des résultats d'identifications de protéines par spectrométrie de masse (MS/MS).

Les principales fonctionnalités sont :

  • Identification de protéines avec le logiciel X!Tandem
  • Chargement de résultats d'identification au format Mascot (.dat) ou X!Tandem
  • Application de filtres statistiques sur les peptides ou les protéines
  • Calcul de taux de faux positifs (FDR)
  • Filtrage de la redondance, regroupement des protéines par fonction
  • Mode "Phopshoprotéomique" pour traiter efficacement les peptides phosphorylés
  • Interface graphique pour visualiser, filtrer, éditer les résultats
  • Export des données au format Open Document (compatible MS Office 2010 ou LibreOffice)
  • Support de la quantification avec l'export au format MassChroQml (MassChroQ)
  • Facile à installer sur tous les systèmes
  • Support via la liste "pappso-tools [at] listes [dot] inra [dot] fr"
Contexte d’utilisation du logiciel

X!TandemPipeline est utilisé au quotidien dans plusieurs plateformes de protéomique. Il permet de fournir des résultats d'identification pertinents très rapidement. Sa faible emprunte de mémoire et sa rapidité d'exécution pour le filtrage et le regroupement des données permettent son utilisation avec les données de spectrométrie les plus récentes (haute résolution, plusieurs Giga octets de données).

Note aux développeurs : la conception de X!TandemPipeline est très modulaire. De nombreux outils utilisés dans ce logiciel sont développés de manière indépendante et peuvent être facilement réutilisés (libodsstream, libproteomicsvg). Ils sont déjà partagés en interne pour le développement des logiciels PAPPSO et toute idée de réutilisation sera la bienvenue... voire même de contributions sur le site SourceSup.

Publications liées au logiciel

Ludovic Bonhomme, Benoit Valot, Francois Tardieu, Michel Zivy. “Phosphoproteome Dynamics Upon Changes in Plant Water Status Reveal Early Events Associated with Rapid Growth Adjustment in Maize Leaves.” Molecular & Cellular Proteomics: MCP (July 10, 2012). http://www.ncbi.nlm.nih.gov/pubmed/22787273.

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

Serial Cloner : outil d'analyse et de visualisation de séquences d'ADN

Une fiche Dév Ens Sup est en relation avec cette fiche, consultez-la pour plus d'informations :
Description
Fonctionnalités générales

Serial Cloner est un logiciel d'analyse et de visualisation de séquences d'ADN.

Il permet d’une part d’annoter des séquences et de les analyser :

  • analyse : la fenêtre de séquence permet de rechercher des séquences de nucléotides, ou d'acides aminés, des ORF ou des sites de restriction. Il est aussi possible d'analyser la composition en nucléotides ou le Tm d'un fragment ;
  • alignements : localement ou par la fenêtre d'accès internet sur le site BLAST2seq NCBI server ;
  • annotations : l’ajout peut se faire manuellement ou bien automatiquement en utilisant une base de données de séquences enregistrées ou à partir de Genebank. La base de données peut être modifiée ou complétée par l’utilisateur. Les annotations sont visibles dans la fenêtre de visualisation de la séquence ADN mais aussi sur la carte graphique ;
  • traduction : elle peut se faire directement dans la fenêtre de visualisation (permettant par exemple de sélectionner un fragment d’ADN à traduire et de calculer la masse moléculaire de la protéine correspondante ou bien au contraire de sélectionner le fragment d'ADN correspondant à une partie de la protéine seulement). Elle est aussi visible dans la carte de séquence où il est possible d’afficher les 3 phases de traduction, les codons mais aussi les sites de restriction ;
  • visualisation graphique : elle permet une manipulation très intuitive de la séquence. Les fragments peuvent être sélectionnés, extraits ou digérés en vue d’une ligation par exemple

D’autre part, Serial Cloner permet de réaliser virtuellement des sous clonages par enzymes de restriction ou par recombinaison (préparation d’adaptateurs, d’oligonucléotides, PCR puis digestion et ligation ou bien recombinaison) ou de préparer la synthèse de shRNA.
Pour les adaptateurs et les shRNA, il est par exemple possible d'afficher directement les oligonucléotides à commander pour obtenir la construction désirée.

L’interface graphique de Serial Cloner combinée avec l'aide sous forme de bulles permet une prise en main rapide et intuitive.

Interopérabilité

Formats lus par Serial Cloner :

  • Vector NTI
  • MacVector
  • ApE
  • DNAstar
  • pDRAW32
  • GenBank

Formats enregistrés par Serial Cloner :

Contexte d'utilisation dans mon laboratoire/service

Serial Cloner est utilisé quotidiennement dans notre laboratoire pour l’analyse de séquences et la préparation de sous clonages. La compatibilité des fichiers avec d’autres logiciels courants du même type permet également d’échanger des données de façon transparente avec d’autres utilisateurs.

Utilisable sur plusieurs plate-formes et gratuit, il peut facilement être installé sur tous les postes de travail. La prise en main est simple et intuitive grâce à l’interface graphique et à l’aide sous forme de bulles.

Environnement du logiciel
Plates-formes

Programme fonctionnant sous :

  • Mac
  • Windows
  • Linux

La version sous linux n'est validée que sous ubuntu, et il y a moins de fonctionnalités sous linux que sous Mac et windows.

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

Développement assuré par une seule personne.

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

Un forum est disponible pour toutes questions ou suggestions et les réponses aux problèmes sont généralement apportées très rapidement.
http://serialbasics.free.fr/forum/

Documentation utilisateur

Il n'existe pas de documentation mais une fenêtre d'aide peut être affichée au cours de l'utilisation. Elle donne tous les détails des fonctions et les astuces permettant une utilisation optimale.

Fiche logiciel à valider
  • Création ou MAJ importante : 10/09/12
  • Correction mineure : 24/01/13
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 !

FreeRDP : client pour se connecter à un serveur RDP

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

FreeRDP est un fork du projet rdesktop, qui est un client libre pour accéder à un environnement applicatif Windows. FreeRDP fournit une implémentation libre du protocole RDP.

A ce jour, le projet se décompose en divers composants :

  • xfreerdp est un client RDP pour Linux, permettant d’accéder des à sessions sous Windows 2000, 2003 ou 2008 incluant RemoteFX. xfreerdp peut ainsi se connecter vers de multiple serveurs, où chaque fenêtre est une session différente.
  • wfreerdp est un client RDP pour Windows, permettant d’accéder à des sessions sous Windows 2008 incluant RemoteFX.
  • remmina un client multi protocole (RDP, VNC, NX, XDMCP et SSH) écrit en GKT+, permettant d’accéder à un large choix de sessions à distance depuis un même client Unix.
  • freeRDP Servers (expérimental) a pour vocation de fournir un serveur utilisant le protocole RDP pour déporter des sessions distantes sous Unix. Actuellement le code du projet xrdp a été repris, et ne fonctionne qu’avec un backend VNC, en attendant son remplacement par RDP.
  • freeRDP-WebConnect (expérimental) est une passerelle web pour accéder aux sessions RDP depuis un navigateur HTML5 supportant les Canevas et les WebSockets.

Autres fonctionnalités
  • Possibilité de fonctionner en plein écran.

  • Renvoi du son bidirectionnel et autres périphériques (ports séries et parallèles) sur l'ordinateur local.

  • Accès aux applications distribuées par RDP (sans le mode bureau).

  • Support des codex RemoteFX en encodage et en décodage.

Interopérabilité
  • Les OS des serveurs RDP supportés sont : Windows 2000 Server, Windows Server 2003, Windows Server 2008, Windows XP, Windows 7.

  • De nombreuses options permettent d'adapter le matériel client aux spécificités matérielles du serveur et de la connexion (langue du clavier, nombre de couleurs, compression du flux de données, ...).

  • Supporte protocoles de rdp5 à rdp7.1.

Contexte d'utilisation dans mon laboratoire/service
  • Accès aux logiciels fonctionnant sous Windows depuis les postes Unix.
  • A l’IPHC, des serveurs de terminaux sont mis à disposition des utilisateurs Unix pour accéder à la suite MS Office ou à des logiciels d’analyse développés uniquement sous Windows.
  • Accès au report d'affichage de VirtualBox.
Limitations, difficultés, fonctionnalités importantes non couvertes

Le report du son n’est pas supporté sur les versions inférieures à la version 6 de RedHat.

Le client xfreerdp est disponible via le repository EPEL pour CentOS ou Fedora, et intègre les fonctionnalités telles que RemoteFx, RemoteApp, le report du son ou des disques locaux.

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

Il existe des paquets pour les distributions Linux de la famille Debian (.deb) et de la famille Red Hat (.rpm). Vous pouvez trouver la liste complète ici : http://pkgs.org/search/?keyword=freerdp

Plates-formes

Le serveur est disponible pour une majorité des systèmes Linux. Il est possible de le compiler pour les autres distributions : https://github.com/FreeRDP/FreeRDP/wiki/Compilation

Des clients RDP sont disponibles pour Linux, Windows et Mac.

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement
Eléments de pérennité

L’équipe de développeurs a commencé par modulariser le code de rdesktop à partir de 2009, tout en intégrant les évolutions du protocole RDP comme RemoteFX. A partir de janvier 2012, les principales fonctions du protocole RDP 7.1 de Windows 2008 et Windows 7 étaient implémentées.

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

Uniquement une liste de diffusion développeur sur Sourceforge : http://sourceforge.net/mailarchive/forum.php?forum...

Page de manuel : les page d'aide du man existe, et un wiki est disponible À https://github.com/FreeRDP/FreeRDP/wiki

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

xfreerdp peut se connecter avec la ligne de commande suivante vers de multiple serveurs, où chaque fenêtre est une session différente :xfreerdp -k 0x0000040C –g 80% --plugin rdpsnd --no-nla rdpserver

FullCircleMagazine en français

Fiche ressource Article, événement, site web...
  • Création ou MAJ importante : 05/09/12
  • Correction mineure : 27/02/13
  • Fiches logiciel PLUME connexes : Ubuntu
Mots-clés

FullCircleMagazine en français

Le Full Circle Magazine est un magazine en ligne anglophone ayant pour sujet la distribution GNU/Linux Ubuntu et ses dérivés : Kubuntu, Xubuntu et Edubuntu.

Le magazine se définit lui-même comme étant le magazine de la communauté Ubuntu. Mais les sujets abordés tournent plus généralement autour des logiciels libres et Open Source.

Sa parution est mensuelle.

Le numéro 0 du magazine est paru le 15 avril 2007. N'étant qu'un numéro dit de test, le premier numéro officiel du Full Circle Magazine (numéro 1) est paru en juin 2007.

Des équipes de traduction se sont mises en place dans plusieurs pays, les plus actives étant à ce jour les équipes italienne, française, chinoise et hongroise.

Début 2013, le magazine en est à son 70ème numéro.

Le site du magazine : http://fullcirclemagazine.org/

Le site de l'équipe francophone : http://www.fullcirclemag.fr/

Fiche logiciel à valider
  • Création ou MAJ importante : 16/08/12
  • Correction mineure : 16/08/12
  • Rédacteur de la fiche : Thomas Lallart - DSI INRA (INRA)
  • Responsable thématique : Maurice Libes (OSU Institut Pytheas - UMS 3470 CNRS)
Mots-clés
Pour aller plus loin

Apache Archiva : entrepôt d'artefacts au format Maven2

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

Apache Archiva est un entrepôt d'artefacts (d'archives, généralement Java au format jar) Open Source développé par la fondation Apache. Il permet la mise à disposition d'artefacts, au format Maven2 et à travers le protocole HTTP, pour des outils de fabrication tels que Maven, Ivy, BuildR ou Gradle. Ces outils ont la particularité de gérer les dépendances déclaratives et transitives des projets dans des dépôts distants évitant ainsi que le processus de construction d'un logiciel dépende d'artefacts stockés en local ou directement dans le projet. Ce mécanisme sécurise grandement la fabrication des binaires en simplifiant la maintenance et la gestion des changements de versions des dépendances des projets.

Autres fonctionnalités

Apache Archiva peut également jouer le rôle de "proxy" d'autres dépôts distants. Autrement dit, il est possible de faire en sorte que vos dépôts d'artefacts incluent d'autres dépôts de manière transparente.
Il est également possible de regrouper des dépôts dans un seul groupe de manière à avoir un point d'accès unique sur plusieurs dépôts que ceux-ci soient gérés localement ou bien qu'ils soient distants.

Interopérabilité

Apache Archiva gère ses dépôts au format Maven1 (legacy) ou Maven2. Il s'intègre naturellement avec tous les outils de construction logicielle supportant ce format, notamment Maven, Ivy, BuildR et Gradle.

Contexte d'utilisation dans mon laboratoire/service

Dans le cadre de l'industrialisation de ses développements Java, la DSI de l'Inra utilise le gestionnaire de d'entrepôt d'artefacts Apache Archiva pour ses développements internes et externes avec des prestataires conjointement à Maven et Jenkins.

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

Apache Archiva est distribué sous forme de fichier .war à déployer dans un conteneur Web Java. Il est également fourni avec un serveur Web embarqué mais cette forme de déploiement est déconseillée pour un environnement de production.

Plates-formes

Apache Archiva s'exécute dans un conteneur Web Java et peut donc être déployé sous n'importe quelle plate-forme.

Logiciels connexes

Les dépôts d'artefacts comme Archiva s'utilisent généralement avec les outils de construction logicielle tels que Maven, Ivy, BuildR ou Gradle.

Autres logiciels aux fonctionnalités équivalentes

Il existe d'autres entrepôts d'artefacts :

- Nexus : qui se décline en une version gratuite et une version commerciale offrant des fonctionnalités complémentaires,

- Artifactory : développé par JFrog qui propose une version Open Source, une version commerciale et une offre en mode SaaS.

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

Développé par la fondation Apache

Eléments de pérennité

Archiva est développé et maintenu par la fondation Apache qui est une des plus grosses communautés de logiciels Open Source.
La roadmap du projet est publié à l'adresse https://cwiki.apache.org/confluence/display/ARCHIV...

Références d'utilisateurs institutionnels

La DSI de l'Inra utilise Apache Archiva comme repository d'artefacts Maven2.

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

La documentation complète est diffusée sous forme de wiki : https://cwiki.apache.org/confluence/display/ARCHIV....

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

Version 1.4 planifiée pour 2012.

Contributions

Contribuer aux projets de la fondation Apache : http://www.apache.org/foundation/getinvolved.html

Fiche logiciel validé
  • Création ou MAJ importante : 12/09/12
  • Correction mineure : 21/05/19
Mots-clés
Pour aller plus loin

Ant : outil d'automatisation des tâches pour la production d'un logiciel

Description
Fonctionnalités générales

Ant (Another Neat Tool) est un outil de build basé sur XML qui permet d'automatiser la construction de logiciel dans de nombreux langages. Très simple d'utilisation et possédant de nombreuses fonctionnalités, Ant est très répandu dans la communauté Java. Ses principales fonctionnalités sont les suivantes :

  • gestion de la compilation ;
  • génération de pages de documentation ;
  • création de redistribuables ;
  • mise en place de batteries de tests ;
  • grand nombre de tâches disponible et possibilité d'écrire ses propres tâches.
Autres fonctionnalités

Couplage avec des gestionnaires de versions.

Interopérabilité

Un script Ant peut être utilisé dans MAVEN Maven.

Contexte d'utilisation dans mon laboratoire/service

Ant est utilisé dans le cadre de la nouvelle version du logiciel Monolix Monolix

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

Ant ne gère pas nativement les dépendances. Il existe néanmoins le plugin ivy qui permet d'adresser cette préoccupation.

Hormis ce point, la principale contrainte de Ant est sa syntaxe verbeuse.

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

Ant est intégré dans de nombreuses IDEs comme Eclipse, JBuider et Netbeans.

Plates-formes

Unix-like, Windows et MacOSX.

Logiciels connexes

Ant est une application JAVA donc pour lancer un script Ant, la Java Runtime Environnement doit être installée.

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

Ant est développé par la fondation Apache qui est une organisation à but non lucratif développant des logiciels libres.

Eléments de pérennité

Ant est sponsorisé entre autres par Microsoft, Google et HP.

Références d'utilisateurs institutionnels

Ant est utilisé par de très nombreux développeurs dans les laboratoires, mais également dans différentes formations en écoles d'ingénieurs.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)
  • Astuce :
    La structure classique d'une application utilisant un script Ant est la suivante:

    • répertoire src: contenant les fichiers source (xxx.java)
    • répertoire build: contenant les fichiers compilés (xxx.class)
    • répertoire dist: contenant la distribution , le(s) fichier(s) jar à installer chez l'utilisateur (de l'application)
    • répertoire doc: contenant la documentation relative aux classes de l'application déployée

    Le script Ant permettra d'alimenter ces différents répertoires.

  • Exemple d'utilisation, build.xml

    <project>
       <target name="clean" >
          <delete dir="build"/>
       </target>
       <target name="compile" depends="clean" >
          <mkdir dir="build/classes"/>
          <javac srcdir="src" destdir="build/classes"/>
       </target>
       <target name="jar" depends="compile">
          <mkdir dir="build/jar"/>
          <jar destfile="build/jar/HelloWorld.jar" basedir="build/classes">
            <manifest>
               <attribute name="Main-Class" value="oata.HelloWorld"/>
            </manifest>
          </jar>
       </target>
       <target name="run" depends="jar">
            <java jar="build/jar/HelloWorld.jar" fork="true"/>
       </target>
    </project>
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 03/08/12
  • Correction mineure : 03/08/12
Mots-clés

DIRAC : système de calcul distribué sur la grille et sur le cloud

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 : v6r4 - 30.04.2012
  • Licence(s) : GPL
  • Etat : validé (au sens PLUME), diffusé, stable, en développement
  • Support : maintenu, développement en cours
  • Concepteur(s) : Andrei Tsaregorodtsev, Vanessa Hamar, Matvey Sapunov, Ricardo Graciani, Adrian Casajus, Federico Stagni
  • Contact concepteur(s) : dirac-grid-l@in2p3.fr
  • Laboratoire(s), service(s)... : CERN, CPPM, Université de Barcelone

 

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

Le projet DIRAC développe et maintien l'intergiciel de calcul distribué qui permet aux utilisateurs d’accéder aux différentes ressources de calcul comme les grilles de calcul, les clouds, les grappes ou les ordinateurs individuels. Le système DIRAC est complet et fournit tous les services nécessaires pour l'organisation des calculs distribués.

Le système d'ordonnancement de travaux avec les agents-pilotes améliore considérablement l'efficacité d’utilisation des ressources de calcul surtout pour les grandes communautés d'utilisateurs.

Le système de gestion de données donne accès aux différents types de stockage et fournit un service de Catalogue des Fichiers puissant avec la possibilité de définir les métadonnées d'utilisateur.

Le système de réplication de données permet d'automatiser les déplacements des fichiers avec des scénarios complexes.

Presque toutes les fonctionnalités de DIRAC sont accessible à partir du portail Web. L’accès est complètement sécurisé avec les certificats grille d'utilisateur.

Le service Web DIRAC permet de compléter les portails Web des applications existantes avec un moteur puissant d’exécution des travaux sur la grille.

Le logiciel DIRAC fournit un cadre de développement qui permet d'ajouter vite de nouveaux services nécessaires pour les applications particulières tout en respectant les règles de sécurité et en intégrant de nouveaux composants avec le reste du système. Cela permet de l'adapter facilement aux besoins de nouvelles communautés d'utilisateurs.

Contexte d’utilisation du logiciel

Le logiciel DIRAC est utilisé par plusieurs collaborations scientifiques dans le domaine de la Physique des Hautes Énergies et de l'Astrophysique, par exemple, l'expérience LHCb au LHC au CERN, Belle au KEK au Japon, BES au IHEP en Chine, etc. Il est aussi utilisé par des communautés dans les autres domaines, par exemple, le projet biomedical VIP (CREATIS, Lyon).
Le système DIRAC est désormais fourni comme un service par le projet France-Grilles ouvert aux utilisateurs français et étrangers.

Publications liées au logiciel

A Tsaregorodtsev et al, DIRAC3 : The New Generation of the LHCb Grid Software, 2010 J. Phys.: Conf. Ser., 219 062029

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

Stratuslab : distribution complète de cloud IaaS

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 : v2.0 - 25 June 2012
  • Licence(s) : Autre - Apache-2, AGPL
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : StratusLab Collaboration (CNRS, UCM, GRNET, SixSq, TID, et TCD)
  • Contact concepteur(s) : support@stratuslab.eu
  • Laboratoire(s), service(s)... : IBCP, LAL, Universidad Complutense de Madrid (Madrid, Espagne), GRNET (Athènes, Grèce), SixSq (Genève, Suisse), Telefónica I+D (Madrid, Espagne), Trinity College Dublin (Dublin, Irlande)

 

Fonctionnalités générales du logiciel

logo stratuslab La distribution contient tout le nécessaire au déploiement  d'un cloud de type "Infrastructure-as-a-Service" (IaaS) : réseau, stockage et gestion des machines virtuelles.

De plus, StratusLab propose des fonctionnalités innovantes comme le "Marketplace" qui facilite le partage des "virtual appliances", la gestion du service qui permet le déploiement et l'extension de services multi-machines, le support pour des scenarios multi-clouds.

StratusLab supporte de nombreux systèmes d'exploitations comme CentOS 6.2, Fedora16 et OpenSuSE 12.1 et est bien adapté au déploiement de clouds tant publics que privés. Le client StratusLab écrit en Python propose une interface simple en ligne de commandes pour accéder aux infrastructures cloud StratusLab depuis Linux, Mac OS X ou des machines Windows.

Le code source de la distribution est disponible sur GitHub.

 

Contexte d’utilisation du logiciel

StratusLab est utilisé au LAL pour une des infrastructures de référence de StratusLab, un cloud public ouvert à tous pour un usage non commercial. Les autres infrastructures de référence StratusLab sont opérées par GRNET en Grèce. Le LAL opère également une seconde infrastructure de cloud, privée, pour le déploiement de services internes au laboratoire ; les services existants sont tranférés graduellement sur cette infrastructure.

Le laboratoire IBCP opère un cloud StratusLab à destination de la recherche en bioinformatique. Cette infrastructure publique de cloud est disponible pour les utilisateurs du réseau RENABI. Un portail, adapté aux beosins des utilisateurs de la bioinformatique facilite l'utilisation de ce cloud et simplifie l'accès aux "virtual appliances" et aux bases de données. Des déploiements commerciaux existent aussi comme celui de la plate-forme ESA's SCOS-2000 pour des processus d'ingénierie logicielle ou celle de Atos Helix Nebula pour un usage scientifique.

Publications liées au logiciel

Toutes les publications du projet sont disponibles dans :

Le chapitre de l'ouvrage "European Research Activities in Cloud Computing" contient une description générale du projet StratusLab et de la distribution "cloud".

Fiche logiciel validé
  • Création ou MAJ importante : 24/07/12
  • Correction mineure : 04/06/19
Mots-clés
Pour aller plus loin
  • Fiches logiciel PLUME connexes : ,

Groovy : langage dynamique sur la machine virtuelle Java

Description
Fonctionnalités générales

Groovy est un langage et un écosystème destinés à s’exécuter sur la machine virtuelle Java. Introduisant des concepts inspirés de Ruby et Python tout en conservant continuité et cohérence au sein de l’environnement Java, il est totalement interopérable avec lui.

L’objectif avoué de Groovy n’est pas de supplanter Java, mais de fournir un outil complémentaire plus simple et plus productif aux utilisateurs de l’univers Java.

Langage

Groovy est, tout comme Java,  un langage orienté objet.

La syntaxe

La syntaxe de Groovy repose volontairement sur celle de Java, afin de faciliter la courbe d’apprentissage des développeurs Java. Elle s’enrichie de simplifications ou des raccourcis syntaxiques (dit «syntactic sugar» ou «sucres syntaxiques») dictés par le pragmatisme et la lisibilité.

Parmi les éléments remarquables, citons :

  • les listes ou dictionnaires sont nativement symbolisés comme élément de langage 
  • le point-virgule de fin d’instruction ou les try/catch sont facultatifs
  • Les importations des bibliothèques java les plus utilisées sont implicites
  • Les classes java usuelles (String, File, Date…) sont complétées par des méthodes pragmatiques

Dynamisme

Groovy est un langage dynamique dont les instructions sont interprétées à l’exécution permettant une plus grande souplesse d’usage que le typage statique. Groovy utilise la méta programmation, il est ainsi possible de faire évoluer en cours d’exécution des définitions ou des comportements de classes ou d’objets sans avoir à recompiler le programme. Par exemple on peut ajouter contextuellement ou durablement des méthodes à des classes ou des objets. Il est aussi possible de l'utiliser pour écrire des scripts.

Les invocations de méthode dynamiques autorisent l’utilisation du typage canard (duck typing), fournissant une approche polymorphique plus souple que l’application stricte des mécanismes de typage par héritage ou implémentation d’interface.

Approche statique

Depuis la version 2.0, il est possible d'utiliser une approche statique sur certaines portions de code pour bénéficier de la sureté de fonctionnement ou des performances associées.

Ceci est réalisé à l'aide d'annotation:

  • La vérification statique de code via l'annotation @TypeChecked
  • La compilation statique via l'annotation @CompileStatic

Langage fonctionnel

Groovy permet d’utiliser le paradigme de programmation fonctionnel par le biais des fermetures (closures).
Une fermeture est une entité prenant des paramètres en entrée et fournissant un résultat en sortie. Une fermeture étant un bloc d’instructions manipulable comme un objet, elle peut être passée en paramètre à une fonction, appliquée à des collections.

Eléments de langage propres à un domaine

Groovy permet de définir des éléments de langage propres à un domaine métier  (Domain Specific Language)  en s’appuyant sur les possibilités offertes.

Citons :

  • la faculté de modéliser des structures arborescentes complexes,
  • la faculté de surcharger les opérateurs courants, globalement ou contextuellement ,
  • d’utiliser des fermetures,
  • la faculté de capturer des appels de méthodes manquantes et y répondre pour implémenter des conventions de nommage.

Intégration dans l’univers Java

Groovy est dédié à l’univers Java et s’y intègre parfaitement sans effort particulier.

Indifférenciation au niveau JVM

Au niveau de la Machine Virtuelle Java, un code Groovy ne peut être distingué d’un code Java, les deux sont exécutés sous forme de bytecode Java. En effet, Groovy utilise les mêmes outils que Java en insérant des étapes supplémentaires de compilation pour honorer ses fonctionnalités, et son résultat est un ensemble de fichiers .class similaires. De même que Groovy utilise des classes Java, il est possible d’utiliser des classes issues de code Groovy dans un code Java.

La conséquence, c’est qu’aux niveaux organisationnel et opérationnel, il n’y a aucun différence entre du Java et du Groovy : tous les deux s’organisent en archive JAR, se déploient et s’exécutent de la même façon.

Facilitation des standards

Groovy propose un certain nombre de fonctionnalités pour faciliter l’utilisation de standards de fait :

  • Les bases de données 
  • Tests unitaires
  • XML
  • Ant (équivalent de Make dans l’univers Java, outil très puissant et très répandu)
  • Expressions régulières
Autres fonctionnalités

Groovy, de par son écosystème, propose un ensemble de fonctionnalités étoffées à travers différentes frameworks ou modules. La liste complète peut être consultée ici.

Parmi ceux-ci, citons les plus remarquables ou les plus pertinents pour la communauté ESR.

Grails

Grails est un framework de développement agile d’application web reprenant les principes validés par le framework RubyOnRails tels que :

Grails s’appuie sur des frameworks industriels et constitue un écosystème particulièrement riche en soi, comptant plus de 400 extensions.

Gorm

Bibliothèque permettant d’appliquer le pattern ORM (« Object-Relation Mapping ») : http://grails.org/GORM

Gldapo

Equivalent de GORM dans l’univers LDAP, mais surtout facilite l’utilisation de LDAP dans l’univers Java : http://gldapo.codehaus.org/

GroovyLab

Utilisation de bibliothèques de type Mathlab en Groovy : http://code.google.com/p/groovylab/

Groosh

Module permettant d’interagir avec le système d’exploitation à travers son shell : http://groovy.codehaus.org/Groosh

Contexte d'utilisation dans mon laboratoire/service

Nous utilisons groovy à la DSI du CNRS depuis plusieurs années. Le langage groovy est utilisé comme "couteau suisse" dans plusieurs tâches qui bénéficient de l’écosystème Java.

Modélisation des règles de gestion d’une entrée LDAP

En utilisant la fonction de builder et une bibliothèque LDAP, nous avons modélisé les règles de gestion des entrées LDAP de nos annuaires d’authentification sous une forme lisible et compréhensible.

Scripts d’administration et maintenance des annuaires LDAP

Des scripts d’administration et maintenance d’annuaires LDAP sont entièrement écrits en groovy, ce qui, de par sa nature, permet de les écrire ou les adapter directement sur des serveurs, à l’aide d’un simple éditeur de texte (vi) et sans avoir besoin d’un éditeur spécialisé (comme Eclipse), avec une très grande aisance.

Reprise et extraction de données

De nombreux programmes d’extraction ou reprise de données sont écrits en groovy. L’usage natif des dictionnaires (Map), des listes et des fermetures associés à la facilité d’évolution sont parfaitement adaptés à ce genre d’opérations à la fois itératives dans leur constructions et jetables par nature.

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

La principale limitation est la vitesse de lancement. Il y a déjà la lenteur propre au démarrage de la Machine Virtuelle Java qui recharge et revalide l'ensemble des classes avant d'exécuter le programme appelé. Ensuite, si Groovy est utilisé en mode script (régénération des classes à partir des sources), le temps de compilation s'ajoute au précédent, entrainant des latences pouvant aller jusqu'à plus d'une dizaine de secondes.

Environnement du logiciel
Plates-formes

Toutes les plates-formes supportant Java

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

Le projet de développement du langage Groovy est lancé par James Strachan en 2003, puis repris fin 2004 par Guillaume Laforge. Doté d’une forte communauté, la structure de développement est maintenant semblable à celle des projets d'une fondation, basé sur la méritocratie et la mise à disposition de développeurs par des éditeurs professionnels.

Eléments de pérennité

Groovy bénéficie d'une forte communauté d'utilisateur et de contributeurs. Il est logistiquement et financièrement soutenu par des sociétés majeures et pérennes de l’univers Java Spring Source, division du géant VMWare.

 

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

La documentation utilisateur est référencée dans http://groovy.codehaus.org/Documentation

Syndiquer le contenu