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 logiciel à valider
  • Création ou MAJ importante : 15/10/12
  • Correction mineure : 26/10/12
  • Rédacteur de la fiche : Isabelle Guillet - LIG (Université Joseph Fourier Grenoble, CNRS, Grenoble INP, UPMF, INRIA)
  • Relecteur(s) : Hatem Krit (AMAP)
    Marie-Claude Quidoz (UREC puis CEFE)
  • Contributions importantes : Saïd Oulahal (INRIA)
    Premier rédacteur de la fiche Joëlle Prévost (LIG)
  • Responsable thématique : Jean-Marc Larré (LAAS)
Mots-clés
Pour aller plus loin
  • Fiches logiciel PLUME connexes : AIGLe, OSC

OSE : suivi des effectifs d'un laboratoire

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

OSE (Outil de Suivi des Effectifs dans un laboratoire de recherche) permet pour les personnes présentes dans le laboratoire de :

  • Enregistrer les données utiles pour la gestion et le fonctionnement quotidien.
  • Établir des listes après choix des items, sélections et tri. Les exporter en format tableur.
  • Afficher un trombinoscope comportant le statut et les coordonnées des personnes.
  • Afficher les capacités des bureaux et salles de réunion, les noms des personnes occupant les bureaux.
Autres fonctionnalités

En cours de developpement sous forme de module associé : gestion des missions

Interopérabilité
  • Exportation de données en format tableur.
  • Une API sécurisée permet de soumettre des requêtes à l'application pour obtenir des données non sensibles.
Contexte d'utilisation dans mon laboratoire/service

OSE est utilisé conjointement par les laboratoires LIG et LJK depuis 2006. Il contient plus de 2000 dossiers en cours et autant en archive.

Les gestionnaires et les services RH l'utilisent quotidiennement. L'annuaire en ligne sur le site web du LIG est constitué dynamiquement à partir de OSE, la commission des locaux s'appuie aussi sur OSE.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • Le schéma des données mériterait d'être réorganisé, en particulier pour mieux gérer la notion de personne et de contrat de travail.

  • La gestion des droits des utilisateurs de l'application devrait comporter un niveau supplémentaire (administrateur fonctionnel).
    Peu de documentations, notamment au niveau des manuels d'utilisation et d'administration.

  • Installation difficile : certains aspects de la procédure d'installation et de l'interface graphique du logiciel méritent d'être finalisés.

  • Manque un module d'importation des données au même titre que celui de l'exportation.

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

Coordination des services Moyens Informatiques du LIG (Laboratoire d’Informatique de Grenoble) et du LJK (Laboratoire Jean Kuntzmann)

Eléments de pérennité

OSE est utilisé par les services RH de 2 structures (LIG, LJK) qui ont constitué un comité de pilotage, réuni au moins une fois par an et un comité d'utilisateurs, réuni 2 à 3 fois par an. Son développement et sa maintenance sont réalisés par 0,5 développeur avec le statut de fonctionnaire.

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

Le support est assuré par la liste support-ose [at] imag [dot] fr

Documentation utilisateur

Voir la page d'accueil du site web du projet : http://ose.forge.imag.fr/

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

Étant donné les informations gérées par OSE, pensez à vous rapprocher de votre correspondant CNIL pour faire une déclaration en bonne et due forme.

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

Kadeploy3 : outil de déploiement de systèmes d'exploitation

Description
Fonctionnalités générales

Kadeploy3 est une solution de déploiement pour grappes de calculateurs et fédérations de grappes. Fondé sur des outils et des techniques robustes et adaptées au passage à l'échelle, Kadeploy3 permet de déployer un système d'exploitation sur des centaines de nœuds en quelques minutes sans aucune intervention de l'administrateur. Des expériences réalisées en 2012 ont permis de déployer un système Linux sur 4000 nœuds en moins d'une heure.

Le déploiement d'un système d'exploitation sur une grappe de calculateurs fait intervenir de nombreuses opérations de bas niveau comme le démarrage par le réseau ou encore le partitionnement de disques. Ainsi, Kadeploy3 accorde une attention particulière à la détection et à la gestion des incidents pouvant se produire lors de ces différentes opérations afin de garantir un taux de succès maximal lors des déploiements tout en conservant un temps de déploiement faible.

Kadeploy3 permet d'installer des systèmes Linux, *BSD, Windows et Solaris.

Autres fonctionnalités
  • Gestion de bibliothèques d'images pré-enregistrées et utilisables pendant les déploiements
  • Configuration de chaque nœud après son installation (réglage du hostname, configuration spécifique à un nœud, ...) en spécifiant des scripts de post-installation
  • Gestion des droits de déploiement sur les nœuds permettant la coopération avec un gestionnaire de travaux
  • Génération de statistiques sur les déploiements permettant d'identifier les nœuds ayant des comportements pathologiques dans une grappe
  • Possibilité de contrôle total du mécanisme de démarrage par le réseau d'un nœud afin de réaliser des opérations avancées telles que le démarrage depuis une ISO ou la mise à jour de BIOS.
Interopérabilité

Il est possible de lancer les déploiements en utilisant directement une API fondée sur Distributed Ruby.

Contexte d'utilisation dans mon laboratoire/service

Utilisation à large échelle sur la plateforme expérimentale Grid'5000 qui comprend une dizaine de sites en France, et permet de gérer un total d'une vingtaine de grappes de calculateurs.

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

Pour l'instant, le logiciel n'embarque pas de scripts d'aide à la création d'environnements. Il est possible de déployer un système en utilisant une archive TGZ/TBZ2 contenant le système de fichiers de celui-ci (adapté aux systèmes type GNU/Linux), une image DDGZ/DDBZ2 (copie bit à bit) d'une partition (plus adapté aux systèmes non-Linux), ou une image FSArchiver pour des déploiements multi-partitions.

Le logiciel s'utilise via une interface en ligne de commande ou en passant par une API réseau mais il n'y a pas d'interface graphique.

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

Paquets disponibles pour Debian et RedHat.

Plates-formes

GNU/Linux

Logiciels connexes
  • Ruby
  • TakTuk : un outil d'exécution de commandes parallèles destiné à passer à grande échelle.
  • MySQL : gestion de la librairie d'environnements pré-enregistrés, fonctionnement interne du logiciel.
Autres logiciels aux fonctionnalités équivalentes
  • RocksCluster : système spécialisé pour la gestion des grappes de calcul
  • CloneZilla : permet de créer une image de sauvegarde d'un disque dur ou d'une partition et de la restaurer (voir aussi DRBL/Clonezilla).
  • SystemImager : permet d'automatiser l'installation et la mise à jour d'un parc de machines tournant sous systèmes Linux.
  • FAI : permet d'installer, configurer et gérer des systèmes Linux.
  • xCAT : permet le déploiement et l'administration de systèmes Linux sur des grappes de calculateurs.
Environnement de développement
Type de structure associée au développement

Laboratoire de recherche (équipes AlGorille d'Inria Nancy - Grand Est) et communauté Grid'5000.

Eléments de pérennité

Tous les clusters de Grid'5000 fonctionnent grâce à Kadeploy3, ce qui représente 10 sites (en France) comprenant, au total, une vingtaine de clusters.

Références d'utilisateurs institutionnels

Inria (10 sites Grid'5000, une vingtaine de clusters).

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

Articles scientifiques concernant Kadeploy3 :

Contributions
Fiche logiciel à valider
  • Création ou MAJ importante : 14/10/12
  • Correction mineure : 15/10/12
  • Rédacteur de la fiche : Jean-Philippe Magué - Pôle de Diffusion des Savoirs - Atelier des Humanités Numériques (ENS de Lyon)
  • Responsable thématique : Maud Ingarao (Institut d'Histoire de la Pensée Classique - ENS Lyon)
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 !

eSciDoc : système de gestion de ressources numériques

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

Projet commun à la Max Planck Gesellschaft et au FIZ Karlsruhe, eSciDoc se présente comme un environnement de e-recherche. Construit autour de l'entrepôt de données Fedora Commons, eSciDoc expose un certain nombre de services offrant aux chercheurs, bibliothécaires, etc, la possibilité de développer des applications pour gérer, manipuler et publier leurs données.

Autres fonctionnalités

eSciDoc est présenté comme ayant une architecture orientée service structurée en trois couches : l'infrastructure eSciDoc, les services communs, et les solutions (ou applications) eSciDoc. En fait, la couche la plus externe, les solutions eSciDoc, sont des applications entièrement fonctionnelles, très spécifiques, construites à partir de l'infrastructure et des services communs. Le développement d'une nouvelle application basée sur eSciDoc s'appuiera donc, de la même manière, sur ces deux couches internes.

Les solutions eSciDoc disponibles sont :

- PubMan, une application de gestion de publications ;

- Faces, une application pour la gestion d'une corpus de portraits illustrant différentes expressions faciales ;

- Sengbusch Collection, une application qui regroupe l'ensemble des publications du Professeur Dr. Reinhold von Sengbusch, biologiste et ancien directeur du Max Planck Institut für Kulturpflanzenzüchtung ;

- VIRR, un environnement collaboratif pour la gestion d'un corpus sur la législation dans le Saint Empire Romain.

L'infrastructure eSciDoc regroupe les fonctionnalités les plus génériques :

- organisation des données et des métadonnées,

- accès aux données,

- gestion des versions,

- authentification et autorisations,

- statistiques…

Les services communs sont des fonctionnalités plus haut niveau : fournisseur de données OAI-PMH, gestion de listes d'autorités, extraction de métadonnée techniques, gestion d'identifiants uniques, recherche, export, ...

Interopérabilité

L'infrastructure eSciDoc comme les services communs sont implémentés sous forme de services web, chaque service ayant une interface SOAP et une interface REST. eSciDoc peut donc s'intégrer facilement dans n'importe quel environnement logiciel. De plus, il existe un client Java, lui-même construit sur ces services web, permettant d'interagir avec eSciDoc avec des classes représentant les objets manipulés par eSciDoc

Contexte d'utilisation dans mon laboratoire/service

Nous avons testé eSciDoc comme infrastructure commune à plusieurs projets de corpus numériques.

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

eSciDoc est une plateforme complexe, relativement lourde à mettre en place. Chaque service web a son propre schéma XML pour décrire les données à échanger avec lui. Il semble que la multiplication des schémas rende compliqué les développements utilisant directement les services web. Néanmoins, utilisant le client Java, nous n'avons pas été exposé à cette complexité.

Environnement du logiciel
Plates-formes

JBOSS sous Linux/Unix.

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

Une page du site d'eSciDoc est consacrée à la pérennité du projet. La Max Planck Gesellschaft et le FIZ Karlsruhe reconnaissent tous deux le caractère stratégique d'eSciDoc pour leur développement et ont signé un accord de coopération pour la poursuite du développement du logiciel.

Environnement utilisateur
Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 08/10/12
  • Correction mineure : 27/08/13
Mots-clés

TOMUSS : tableur web collaboratif pour la gestion pédagogique des étudiants

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 : 5.2.5 - 21/08/2013
  • Licence(s) : GPL
  • Etat : diffusé, stable
  • Support : maintenu, développement en cours
  • Concepteur(s) : Thierry Excoffier
  • Contact concepteur(s) : thierry.excoffier@univ-lyon1.fr
  • Laboratoire(s), service(s)... : LIRIS

 

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

TOMUSS est un tableur web dont l'objectif est de simplifier la gestion pédagogique des étudiants et des enseignements. Il permet :

  • de saisir des notes, du texte, des présences dans des tables (une par enseignement et semestre) et d'associer un commentaire à la valeur saisie ;
  • d'afficher l'historique des modifications des cellules des tables ;
  • de gérer facilement les enseignements avec de nombreux intervenants ;
  • de calculer des moyennes pondérées en tenant compte des absences justifiées ou non, des devoirs non rendus ou impossibles à noter ;
  • d'importer et exporter sans erreur les données dans d'autres tableurs ou les applications officielles des scolarités (APOGÉE par exemple) ;
  • de gérer les justificatifs d'absence, les dispenses et les conditions spéciales d'examen ;
  • de faire des calculs statistiques pour déterminer des problèmes de notation ;
  • de diffuser leurs notes aux étudiants de façon individuelle ;
  • de faire un suivi personnalisé des étudiants en consultant une page synthétisant les informations saisies dans les enseignements qu'ils suivent ;
  • de filtrer et trier les données avant de les traiter ;
  • de faire saisir aux étudiants des valeurs dans le tableau (prise de rendez-vous, choix de sujet...) ;
  • d'avoir les trombinoscopes et les listes d'adresses mails ;
  • de gérer les enseignants référents pédagogiques et leurs étudiants ;
  • de voir en temps réel les modifications faites sur les tableaux.

Les enseignants peuvent facilement obtenir leurs listes d'étudiants, de mails, les trombinoscopes, feuilles d'émargement et bien sûr calculer les moyennes sans saisir de formules compliquées. On peut très facilement filtrer les étudiants qui ont une mauvaise note pour les convoquer à une séance de soutien, ou bien afficher la liste des étudiants qui ont un justificatif d'absence pour le jour de l'examen.

Les étudiants voient l'ensemble des informations les concernant qui ont été saisies dans TOMUSS. Ils ont accès au nom de la personne qui a fait la saisie de la note, au commentaire et à la date de saisie. Il peuvent connaître le rang de leur note dans le groupe, s'abonner à un flux RSS pour être tenu au courant des dernières notes saisies. La transparence du processus permet aux étudiants de prévenir rapidement les enseignants quand il y a une erreur de notation, ceci évite les corrections après le jury.

La scolarité dispose d'un outil spécialisé pour la saisie des justificatifs d'absence et des dispenses d'assiduité. Les conditions spéciales d'examen sont simplement saisies dans une table particulière, ceci permet la traçabilité de toutes les opérations. Les utilisateurs peuvent créer des tables (visibles ou non par les étudiants) pour la gestion de la scolarité, par exemple pour suivre les étudiants en mobilité internationale.

Les administrateurs TOMUSS le configurent en modifiant des tables. Ils peuvent définir des hiérarchies de groupes d'utilisateurs (en plus de celles de l'annuaire LDAP). Pour chacune des fonctionnalités de TOMUSS on peut lister les utilisateurs y ayant accès. Ils disposent de nombreux outils pour surveiller le bon fonctionnement du système.

TOMUSS est un outil très souple et généraliste qui peut-être utilisé pour autre chose que la gestion des étudiants. Il peut être adapté très facilement à son environnement car le coeur de TOMUSS et les modifications locales sont clairement séparés, permettant ainsi de faire des mises à jour simplement.

Pour installer TOMUSS il est nécessaire d'avoir un serveur Unix avec Python ainsi qu'un service web d'authentification des utilisateurs. TOMUSS est directement utilisable s'il y a un service CAS (Single Sign-On) et que les groupes d'étudiants sont stockés dans un annuaire accessible via LDAP.

Contexte d’utilisation du logiciel

TOMUSS a commencé à être utilisé en 2008 à l'Université Lyon 1 dans le cadre du plan licence afin de faciliter le suivi des étudiants.
Chaque semestre, 100000 valeurs sont saisies par plus de 300 enseignants, et il reçoit un million de visites de 6000 étudiants qui viennent voir leurs notes.

Publications liées au logiciel

Pour essayer TOMUSS sur le site de démonstration : http://demo710.univ-lyon1.fr/TOMUSS/=super.user

Une liste plus détaillée des fonctionnalités avec des copies d'écran : http://perso.univ-lyon1.fr/thierry.excoffier/TOMUSS/fonctionnalites.html

La documentation utilisateur : http://perso.univ-lyon1.fr/thierry.excoffier/TOMUSS/doc_table.html

La documentation technique nécessaire pour adapter TOMUSS à son environnement (listes d'étudiants, photos...) : http://perso.univ-lyon1.fr/thierry.excoffier/TOMUSS/DOCUMENTATION/Welcome.xml

Les «comment faire pour» en vidéo : http://perso.univ-lyon1.fr/thierry.excoffier/TOMUSS/TUTORIALS/howto.html

La page d'accueil en anglais : http://perso.univ-lyon1.fr/thierry.excoffier/TOMUSS/home.html

Fiche logiciel validé
  • Création ou MAJ importante : 06/10/12
  • Correction mineure : 04/04/13
  • Rédacteur de la fiche : Cyril Bordreuil - un des concepteurs de erCV - Laboratoire de Mécanique et Génie Civil (Université Montpellier 2, CNRS)
  • Contributions importantes : Edward Romero
  • Responsable thématique : Dirk Hoffmann (Centre de Physique des Particules de Marseille (CPPM-IN2P3))
Mots-clés
Pour aller plus loin

erCv : analyse d'images lors d'un procédé de soudage

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

Le logiciel permet le traitement et l'analyse d'images lors d'un procédé de soudage. Le procédé de soudage à l'arc induisant de fortes perturbations, des algorithmes couplant traitement d'images basiques, géométrie algorithmique et analyse de graphe ont dû être mis en œuvre. La bibliothèque est développée en C++ pour les applications nécessitant un traitement rapide et quelques fonctionnalités ont été portées dans python.
La bibliothèque peut intéresser toute personne cherchant des algorithmes pour détecter des contours entre phase liquide et solide dans un environnement perturbé ou non.

Autres fonctionnalités

Les algorithmes prennent en compte la possibilité d'une nuisance optique au niveau des images et l'ensemble des algorithmes introduisent à différents des paramètres permettant de gérer les perturbations optiques induite par l'arc.

Interopérabilité

Le logiciel est développé en C++, compilé avec CMake. Les analyses sont interfacées dans python.
La plupart des analyses accepte un tableau numpy en entrée. Cela permet d'accepter un grand nombre de format d'images après chargement dans l'interpréteur python.

Contexte d'utilisation dans mon laboratoire/service

Quelques personnes du laboratoire utilisent erCv pour la détection de profils lors d'interaction solide liquide lors d'un procédé à l'arc. Le logiciel permet la fermeture de contour délimitant les interfaces entre phase solide et liquide. Différents types d'analyses sont disponibles: bain de fusion, gouttelette en vol libre, solidification de métal liquide. erCv est utilisé quasi quotidiennement pour extraire certaines caractéristiques géométriques (surface, position du centre de masse). Ses performances en terme de temps de traitement sont très bonnes et permettent d'envisager son utilisation pour du contrôle en temps réel.
Après plus de 2 ans d'utilisation, les algorithmes se sont avérés robustes (trés peu de mauvais traitement).

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

Aujourd'hui, erCv ne traite qu'une seule image et ne peut rendre compte du comportement tridimensionnel des interfaces.
Des binaires peuvent être générés sur demande (excepté sous Windows).

Environnement du logiciel
Plates-formes

Le logiciel a été compilé au laboratoire sous Mac et Linux (Ubuntu 11.04).

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes

Les développeurs ne connaissent pas d'équivalent pour l'analyse des interfaces en cours de soudage distribué en libre ou commercial.

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

Le projet a été initialement développé au cours d'un projet ANR TEMMSA.

Eléments de pérennité

Le logiciel est maintenu à travers une plateforme de travail collaborative. Le logiciel évolue en fonction de l'utilisation dans les travaux de recherche du laboratoire et devrait être maintenu sur le prochain quadriennal.

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

L'auteur du logiciel offre du support pour l'installation et les premiers réglages. Avec le logiciel, une série d'exemples est présentée dans le répertoire d'exemples.

Documentation utilisateur

La documentation utilisateur est générée à partir du répertoire de travail avec Doxygen, moyennant la commande "make docs" dans le répertoire : il faut alors ouvrir le fichier index.html présent dans le répertoire build/docs/doc/html. Pour une prise en main rapide, se référer au Wiki du dépot GitHub.

Contributions

Pour contribuer au logiciel, il convient de contacter l'auteur. Ensuite, un accès développeur peut être autorisé sur le dépôt de code sur demande.

Fiche logiciel validé
  • Création ou MAJ importante : 16/07/13
  • Correction mineure : 19/06/14
Mots-clés
Pour aller plus loin

BusyBox : utilitaire regroupant beaucoup d'exécutables Unix pour systèmes embarqués à contrainte mémoire forte

Description
Fonctionnalités générales

Le projet BusyBox, souvent appelé le "couteau suisse des GNU/Linux", combine un grand nombre d'utilitaires systèmes Unix/Linux en les réunissant en un seul exécutable portant le même nom que le projet. BusyBox intègre entre autres un shell (ash), un serveur HTTP, un serveur FTP, un serveur TFTP, un serveur DHCP, et bien d'autres.

BusyBox permet de réduire considérablement l'empreinte mémoire des utilitaires systèmes et des programmes : de 4 Ko à 1 Mo suivant le mode de compilation (bibliothèques statiques ou dynamiques) et le nombre d'utilitaires. Les systèmes embarqués sous GNU/Linux, aux ressources matérielles limitées, utilisent en très grande majorité BusyBox. Ce dernier est installé dans la plupart des "boxes" fournies par les fournisseurs d'accès à Internet, dans les logiciels embarqués pilotant les routeurs, dans les distributions dites "lives" (exécution du système d'exploitation sans installation) sur CD/DVD ou sur clé USB comme Knoppix.

C'est un outil incontournable dans le monde de l'embarqué. Par défaut, tous les utilitaires systèmes Unix/Linux les plus utilisés (bzip2, cp, date, echo, sed, ls, tar, which, ...) ainsi que beaucoup de logiciels serveurs (HTTP, FTP, TFTP, DHCP, ...) sont proposés à la compilation. Toutefois, il est possible de les choisir un à un à l'aide d'un menu intuitif pour qu'ils soient ou non inclus dans l'exécutable final.

Autres fonctionnalités
  • C'est un exécutable unique qui utilise son propre nom ($0) afin de déterminer quel utilitaire exécuter (fonctionne aussi avec les liens matériels ou symboliques)
  • Il peut remplacer jusqu'à 200 utilitaires standards de la "Single Unix Specification"
  • Peut remplacer "init" et "udev"
Interopérabilité

BusyBox entre dans le cadre de la conception d'un système embarqué. C'est un élément du système d'exploitation. C'est pourquoi il est indispensable d'avoir un chargeur de démarrage, un noyau Linux et un système de fichiers fonctionnels pour utiliser BusyBox. Cependant, ce dernier peut être testé en "chrootant" le répertoire contenant l'ensemble des bibliothèques et l'exécutable BusyBox. En général BusyBox est cross-compilé sur un processeur x86 pour une architecture ARM ou MIPS.

Contexte d'utilisation dans mon laboratoire/service

Le Laboratoire de Physique de la Matière Condensée utilise une carte électronique embarquée pour piloter à distance un oscilloscope numérique sur une expérience scientifique de type RMN (Résonance Magnétique Nucléaire). Le chargeur de démarrage, le noyau Linux et l'ensemble du système de fichiers de la carte électronique ont été complètement ré-installés et personnalisés pour l'expérience scientifique. BusyBox est pleinement fonctionnel sur cette carte embarquée.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • Ne fonctionne que sous GNU/Linux (il existe un projet OpenSolaris)
  • Tous les exécutables Unix/Linux ne sont pas inclus dans BusyBox.
  • Une fois compilé, pour tester le bon fonctionnement de BusyBox, il faut "chrooter" le répertoire (ce qui n'est pas toujours sans erreur).
  • Certains exécutables n'ont pas autant d'options que les versions classiques (Exemple: find)
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

L'écrasante majorité des cartes pilotées par GNU/Linux et vendues dans le commerce contiennent BusyBox. Il est possible de concevoir sa propre carte embarquée et d'y inclure un chargeur de démarrage (bootloader), un noyau Linux, un système de fichiers minimaliste (les répertoires /etc et /dev) et BusyBox (à la suite de sa compilation sont créés automatiquement l'exécutable et les répertoires /bin, /lib, /sbin et /usr).
En outre, la quasi totalité des distributions GNU/Linux fournissent les binaires, ainsi que les sources de BusyBox.
BusyBox existe aussi pour le système Android (dans le "market" de Google).

Plates-formes

GNU/Linux, Android, et toutes les plateformes matérielles supportées par gcc

Logiciels connexes
  • gcc, linux, init, udev
  • Dropbear = Client et serveur SSH "all in one" qui tient en environ 100k.
  • SSMTP = Agent de Transport de Mail extrêmement simple.
  • ntpclient = Client NTP minuscule. A partir de la version 1.16.x, BusyBox a aussi un applet ntpd.
  • Lua = Langage de script Brésilien, léger, complet et populaire.
  • forth = Langage bien connu pour écrire des programmes petits et rapides, vieux de plusieurs décennies, très utilisé de OpenBIOS au séquencement des moteurs contrôlés par ordinateur.
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

L'auteur initial du projet est Bruce Perens (développeur et avocat). Les développeurs actifs sont Erik Andersen, Rob Landley, Denys Vlasenko et beaucoup d'autres.

Eléments de pérennité

Utilisé dans l'écrasante majorité de systèmes embarqués tournant sous GNU/Linux.

Références d'utilisateurs institutionnels

Quelques exemples connus par l'auteur et les relecteurs de la fiche.

  • CENBG
    • Projet ALEA (Acquisition Linux Embarquée & Autonome), également utilisé en industrie via la valorisation CNRS
  • LAAS
    • Dans quadcopter industriel, adapté au labo
    • Dans des routeurs utilisant OpenWRT pour différents types de passerelles wifi/filaire/3G pour robots d'extérieur
    • Sur un développement maison : capteur autonome d'efforts (genre bâton de relais de course à pied) avec cartes CPU Gumstix
  • CC-IN2P3
    • Sur matériel Director 48000 de la société Brocade (connexion de dérouleurs de bandes des Storagetek aux serveurs) équipé avec FabricOS
    • Cartes de prise en main à distance (DRAC) pour l'accès à distance à un millier de serveurs environ
  • Utilisation (personnelle) dans un téléphone/agenda
  • La distribution "linux minimisé" plopLinux, utilise BusyBox.

Visiteurs de la fiche, si vous connaissez le produit et voulez bien partager votre expérience, utilisez les commentaires en bas de page pour ajouter une description de votre projet.

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

Voici le lien contenant une définition de l'ensemble des commandes principales contenues dans BusyBox : http://www.busybox.net/downloads/BusyBox.html

Il existe également une Foire Aux Questions (F.A.Q.) : http://www.busybox.net/FAQ.html

Un bref résumé "Busybox in a nutshell" a été rédigé par Pierre Ficheux, un des leaders francophones en programmation Linux embarqué : http://pficheux.free.fr/articles/lmf/hs24/busybox/bb_nutshell.pdf

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

L'URL suivant vous dirige vers un émulateur où vous pourrez tester BusyBox dans sa version 1.20.0 :
http://www.busybox.net/live_bbox/live_bbox.html

Tapez ensuite la commande : busybox | more

Vous verrez alors la version de BusyBox et l'ensemble des utilitaires compilés pour l'émulateur.

Tapez ensuite la commande ls -l /bin/ls

Vous verrez alors que cet exécutable est en vérité un lien symbolique vers busybox.

Contributions

La procédure pour contribuer au projet est expliquée à la page : http://www.busybox.net/developer.html

Fiche logiciel validé
  • Création ou MAJ importante : 01/08/13
  • Correction mineure : 01/08/13
Mots-clés
Pour aller plus loin

Exhibit (Simile widget) : visualisation web de données hétérogènes et interfaces internet riches

Description
Fonctionnalités générales

Exhibit est l'une des réalisations du projet Simile (Semantic Interoperability of Metadata and Information in unLike Environments) du MIT.

Exhibit est un framework écrit en javascript pour la visualisation web de données hétérogènes et le développement d'interfaces internet riches. Ce framework peut donc contribuer à la réalisation de RIA (Rich Internet Applications).

Exhibit fournit diverses possibilités de visualisation de données et de métadonnées : frise chronologique (à plusieurs échelles), carte géographique, tableau "triable", vignettes, graphiques, ...

Il offre également des fonctionnalités de recherche simple et de filtre (recherche à facettes). Ces facettes peuvent être présentées sous forme de liste simple ou hiérarchique, sous forme de nuage, d'images (exemples en ligne de réalisation), ...

Les filtres servent à restreindre les données à afficher dans l'interface et ceci de manière synchronisée entre les différentes vues : facettes, frise, carte, ... 

Autres fonctionnalités

Les données, quel que soit leur format de départ (XML, etc.), doivent être transformées au format JSON. Cette conversion peut notamment être effectuée en utilisant une autre réalisation du projet Simile : Babel.

Interopérabilité

Développé en javascript, Exhibit fonctionne a priori sur tout navigateur, sous réserve des comportements spécifiques de chaque navigateur dans l'exécution de javascript. Par exemple, la taille de la pile, différente selon les navigateurs, peut entraîner des différences de comportement (cf. par exemple les mesures fournies dans l'une des réponses à ce fil de discussion).

Contexte d'utilisation dans mon laboratoire/service
Limitations, difficultés, fonctionnalités importantes non couvertes

La lecture de la source de données JSON est très sensible pour ne pas dire capricieuse (espaces, fins de ligne...). Il arrive que la source de données JSON ne soit pas lue alors qu'elle est valide. Il est donc conseillé de supprimer tous les sauts de lignes et indentations dans la source JSON pour éviter les problèmes.

Stabilité : fin 2012, la version 2.2 a été déplacée à une URL différente et légèrement modifiée, sans préavis. Nos sites qui appelaient cette librairie sont donc tombés en panne. Il est conseillé de copier la librairie sur ses propres serveurs par sécurité.

Environnement du logiciel
Plates-formes

La bibliothèque doit être déposée sur un serveur web.
Les interfaces web qui l'utilisent doivent inclure l'appel à la bibliothèque et être accédées via un navigateur gérant le javascript.

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

MIT (Massachusetts Institute of Technology)

Eléments de pérennité
  • Une version Exhibit 3.0 est en cours de développement. La version Scripted est disponible. La version Staged, dont la visée est le passage à l'échelle pour les très grosses masses de données, est en bêta2. Comparaison v2.2 / v3.0
  • La liste de discussion compte près de 1500 membres, l'activité y semble régulière.
Références d'utilisateurs institutionnels
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Fiche logiciel à valider
  • Création ou MAJ importante : 21/09/12
  • Correction mineure : 21/09/12
  • Rédacteur de la fiche : Denis Coupvent-Desgraviers - Laboratoire de Physique de la Matière Condensée (CNRS, Ecole Polytechnique)
  • 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 : BusyBox
Fiche en recherche de relecteurs
Cette fiche est en recherche de relecteurs. Si vous êtes intéressé(e)s, contactez-nous !

U-Boot : BIOS et chargeur de démarrage noyau pour système embarqué

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

U-Boot pour Universal Bootloader est un projet mené par l'entreprise allemande DENX Software.

U-Boot est à la fois un BIOS et un chargeur de démarrage noyau Linux pour cartes électroniques capables d'embarquer une distribution GNU/Linux. U-Boot comprend également un ensemble de commandes et de variables permettant une grande souplesse de la configuration initiale des cartes électroniques.

La partie BIOS de U-Boot permet de configurer le nom de la carte, les adresses IP de la carte, du DNS et de la passerelle, le masque réseau (netmask), l'adresse MAC du port Ethernet, l'initialisation du contrôleur mémoire, etc.

La partie chargeur de démarrage permet de configurer la façon la plus appropriée pour démarrer le système d'exploitation GNU/Linux embarqué. Par exemple, en phase de développement, il est coutumier de charger sur la carte le noyau Linux par TFTP puis de lancer son exécution afin de le tester en condition réelle. U-Boot va permettre également de communiquer au noyau un ensemble d'informations pour que celui-ci puisse, par exemple, monter son système de fichiers par NFS après la phase de démarrage.

Pour résumer, U-Boot est capable d'initialiser une carte électronique et de démarrer le système d'exploitation GNU/Linux depuis n'importe quel support : mémoire FLASH (NAND/NOR), mémoire RAM, carte SD, clé USB, réseau.

Autres fonctionnalités

U-Boot contient un certain nombre de variables pré-définies. Il est possible de définir des variables contenant une suite d'instructions. Il suffit alors de faire appel à la commande run "le-nom-de-la-variable" pour exécuter les instructions. Certaines commandes peuvent être abrégées.

U-Boot permet de lire et d'écrire dans différentes zones mémoire. Il peut aussi copier des images binaires de la RAM vers la mémoire FLASH.

Interopérabilité

U-Boot entre dans le cadre de la conception d'un système embarqué. C'est un élément indispensable pour pré-configurer et démarrer le système d'exploitation GNU/Linux. Il est possible de tester et de se familiariser avec le fonctionnement de U-Boot en l'émulant dans QEMU.

Contexte d'utilisation dans mon laboratoire/service

Mon laboratoire utilise une carte électronique embarquée pour piloter à distance un oscilloscope numérique sur une expérience scientifique de type RMN (Résonance Magnétique Nucléaire). Le chargeur de démarrage, le noyau Linux et l'ensemble du système de fichiers de la carte électronique ont été complètement ré-installés et personnalisés pour l'expérience scientifique. U-Boot est pleinement fonctionnel sur cette carte embarquée.

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

U-Boot s'installe sur des cartes électroniques pourvues de processeur PowerPC, ARM, MIPS, SH4, x86, etc...

Cependant, malgré le fait que U-Boot supporte un grand nombre de cartes embarquées, il est possible que celle avec laquelle vous travaillez ne puisse accueillir U-Boot.

Après téléchargement et décompression de l'archive contenant les sources de ce dernier, il convient de vérifier dans le répertoire /bord si la carte en votre possession possède déjà les fichiers de configuration pour accueillir U-Boot. Dans la négative, il faudra soit vous adresser à votre fabriquant/revendeur de carte soit de développer ou de télécharger sur Internet le fichier de configuration propre à votre carte.

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

U-Boot est le chargeur de démarrage de référence dans le monde de Linux embarqué. Bien sûr, il en existe bien d'autres. U-Boot est conçu pour fonctionner sur un grand nombre d'architectures différentes (x86, ARM, SH4, MIPS, ...). Il est aisément installable et configurable. Il est spécialisé dans le chargement et l'exécution du noyau Linux.

Plates-formes

U-Boot peut théoriquement fonctionner dans n'importe quelle carte électronique dotée de processeur ARM, x86, SH4, MIPS...

Autres logiciels aux fonctionnalités équivalentes
  • Grub - chargeur de démarrage Linux pour processeur x86
  • RedBoot - chargeur de démarrage Linux pour processeur ARM, PowerPC, SH4, MIPS...
  • ARMboot - chargeur de démarrage Linux pour processeur ARM
  • ppcboot - chargeur de démarrage Linux pour processeur PowerPC
  • YAMON - chargeur de démarrage Linux pour processeur MIPS
  • EtherBoot/gPXE - chargeur de démarrage Linux par le réseau Ethernet pour processeur x86
  • PXELinux - chargeur de démarrage Linux par le réseau Ethernet pour processeur x86
Environnement de développement
Type de structure associée au développement

Le projet est mené et développé par l'entreprise allemande DENX Software engineering. Toutes les sources sont sous licence GPLv2 ce qui les rend pleinement accessibles et modifiables.

Eléments de pérennité

Le projet existe depuis 2002. La communauté et le support sont réactifs.

Références d'utilisateurs institutionnels

En général, les revendeurs ou concepteurs de cartes électroniques embarquées installent U-Boot par défaut. Si ce n'est pas le cas, il y a fort à parier qu'un développeur a déjà adapté U-Boot pour la carte. En fouillant un peu sur Internet, il sera alors possible de dénicher le fichier de configuration indispensable au moment de lancer la compilation de U-Boot.

Voici ci-dessous une liste non-exhaustive de concepteurs/revendeurs français et étranger vendant leurs cartes avec U-Boot déjà installé.

  • France :

http://www.armadeus.com/francais/
http://www.pragmatec.net/Produits/produit_fr.htm
http://www.eukrea.com/
http://www.lextronic.fr/

  • Étranger :

http://www.acmesystems.it/
http://www.embeddedarm.com/index.php
http://www.friendlyarm.net/

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

Il existe également une Foire Aux Questions (F.A.Q.) : http://www.denx.de/wiki/DULG/Faq

Documentation utilisateur

Toute la documentation est dans la langue de Shakespeare : http://www.denx.de/wiki/U-Boot/Documentation

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

Le chargeur de démarrage peut fonctionner sans lancer l'exécution du noyau Linux. Mais cela représente peu d'intérêt au vu de la finalité de sa fonction.

Contributions

Ce lien explique le processus de contribution : http://www.denx.de/wiki/U-Boot/DevelopmentProcess

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 18/09/12
  • Correction mineure : 18/09/12
  • Auteur de la fiche : Dominique Caron (Laboratoire de Physique Charles Coulomb Montpellier)
  • Responsable thématique : Anne Durand (CLEO)

AIGLe : système Collaboratif d'Information et de Gestion de Laboratoire

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like
  • Version actuelle : 4.3.3-1 - Juillet 2012
  • Licence(s) : GPL
  • Etat : validé (au sens PLUME)
  • Support : maintenu, développement en cours
  • Concepteur(s) : Dominique CARON, Laboratoire Charles Coulomb Université Montpellier II
  • Contact concepteur(s) : dominique.caron@univ-montp2.fr
  • Laboratoire(s), service(s)... : L2C, ERIC (Lyon 2), ICG (UM2), IBMM (UM1), MIO (Aix Mrs)

 

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

Système d'Information coopératif, AIGLe permet de gérer :

  • La production scientifique : dépôt/modification et récupération (automatique et/ou manuelle) depuis et vers HAL/TEL/CEL et vers arXiv/PubMed_Central (via HAL).
  • L'import de documents bibliographiques depuis EndNote, arXiv, PubMed et Web of Sciences (sous réserve d'abonnement).
  • Le repérage des notices bibliographiques dans un fichier csv exporté de l'OST (Observatoire des Sciences et des Techniques).
  • La réservation de salles.
  • La réservation de matériel.
  • L'organisation de congrès/séminaires.
  • La gestion de la bibliothèque.
  • La gestion de documents internes.
  • Les votes, enquêtes, sondages au sein du laboratoire.
  • Les absences du personnel.
  • Les informations sur le personnel (contrôle avec la base Labintel et/ou Harpège).
  • Les missions.

AIGLe est fourni avec un plugin SPIP générant des pages web à partir d'informations disponibles dans sa base de données (annuaire, trombinoscope, page perso, publications, bibliothèque, séminaires, colloques, congrès, etc ... ).

Le plugin est compatible avec le CMS Fastboil et peut également être utilisé sans CMS ou même, en utilisant des 'iframe', avec n'importe quel CMS.

AIGLe étant modulaire, il est possible de ne pas utiliser tous les services.

Autres fonctionnalités :

  • AIGLe est capable de récupérer seul et sans intervention manuelle, les publications du laboratoire déposées sur HAL, par les collaborateurs d'autres laboratoires.
  • Aide à détecter :
    • Les doublons HAL
    • Les noms des auteurs de son laboratoire mal orthographiés sur HAL
    • Les noms de revue mal orthographiés sur HAL
    • etc...

NB: il n'est pas très difficile de transformer AIGLe en mini-instance de HAL en ajoutant par exemple des métadonnées propres à son laboratoire dans les publications, ou même de nouveaux types de publications.

A noter également :

  • Authentification des utilisateurs via pwauth (unix), imap(s), ldap(s) ou depuis la base MySQL.
  • Ecrit en PHP et utilise une base de données MySQL.

Contexte d’utilisation du logiciel
  • Utilisation coutumière de quasiment tous les chercheurs et ita/iatos de mon laboratoire (L2C) pour : réservation de salle, de matériel, déclaration des absences, dépôt de publication, gestion des séminaires, déclaration des invités, recherche de livre dans la bibliothèque (plus de 3000 livres au L2C), annonce de congrès, workshop, utilisation du plugin SPIP pour notre site Web, etc, ...

  • Utilisation quotidienne par la documentaliste de mon laboratoire L2C : dépôt de publications, gestion de la bibliothèque.

  • Il est aussi utilisé quotidiennement à l'ICG, Institut Charles Gérhardt, principalement pour la gestion et le dépôt des publications.

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

JSAGA : implémentation en Java de la specification SAGA (Open Grid Forum)

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

    Certains adaptateurs (plugins) peuvent avoir une licence différente à cause de leurs dépendances externes. L'acceptation de ces éventuelles licences supplémentaires est demandée par l'assistant d'installation si les plugins concernés sont cochés par l'utilisateur.

Description
Fonctionnalités générales

JSAGA est une bibliothèque en java qui implémente la spécification de l'Open Grid Forum SAGA. Elle propose des adaptateurs (plugins) pour divers environnements de calcul et de stockage. Ainsi elle permet une utilisation uniforme de différents systèmes de soumission et suivi de calculs distribués (gLite, Globus, Unicore, ARC) et de différents systèmes de gestion de données (iRODS, LFC, SRM, GsiFTP) à partir de simples URLs.
La liste (en évolution constante) des adapteurs existants est donnée sur http://grid.in2p3.fr/jsaga/adaptors.html .

Autres fonctionnalités

En plus de l'API java, cette bibliothèque est également utilisable depuis le langage python grâce à la bibliothèque JPySAGA.

Contexte d'utilisation dans mon laboratoire/service

JSAGA est un des socles d'un logiciel de gestion de workflow pour le calcul scientifique distribué (www.openmole.org).
Il est aussi utilisé dans la plateforme de la société maatG France dans le cadre de différents projets tels que neuGRID4You (http://neugrid4you.eu/), Sim-e-Child (http://www.sim-e-child.org/), GINSENG (http://e-ginseng.org/), etc...

Environnement du logiciel
Plates-formes

JSAGA s’exécute sur la machine virtuelle java en version supérieure à 1.5.

Autres logiciels aux fonctionnalités équivalentes

SAGA C++ pour une implémentation en langage C++ de la même spécification SAGA.

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

Le centre de calcul de l'IN2P3 est à l'origine de JSAGA, le développe et le maintient. Il est aidé par différents contributeurs pour l'ajout de nouvelles fonctionnalités et la correction de bug : http://grid.in2p3.fr/jsaga/contributors.html

Eléments de pérennité

JSAGA est développé de manière régulière depuis plusieurs années par deux développeurs de l'IN2P3 au cœur de la communauté ainsi que de nombreux contributeurs externes.

Références d'utilisateurs institutionnels

Une liste non exhaustive de logiciels utilisant JSAGA peut être trouvée ici : http://grid.in2p3.fr/jsaga/projects.html

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