service web

Service, serveur Web
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 : 05/08/13
  • Correction mineure : 04/06/19
  • Rédacteur de la fiche : Vladimir Daric - Institut de Génétique et Microbiologie (UMR 8621) (CNRS, Université Paris Sud)
  • Relecteur(s) : Dirk Hoffmann (Centre de Physique des Particules de Marseille (CPPM-IN2P3))
    Fernando Niño (Legos)
  • Contributions importantes : Une relecture "externe" a été faite par R. Le Gac (CPPM), et prise en charge par Dirk Hoffmann.
  • Responsable thématique : Damien Ferney (Laboratoire de mathématiques - Clermont-Ferrand)
Mots-clés

Django : framework de développement web en python

Description
Fonctionnalités générales

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

ORM (Object-relational mapper)

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

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

Interface d'administration de données

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

URLs élégantes

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

Templates

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

Système de cache

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

Internationalisation (i18n) & Localisation (l10n)

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

authentification

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

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

Autres fonctionnalités

Introspection de la base de données

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

Serveur web de développement

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

Django apps

De très nombreux plugins sont disponibles sur PyPI.

Interopérabilité

Sont nativement supportés :

Et via des adaptateurs non officiels :

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

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

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

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

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

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

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

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

Plates-formes

Linux, OSX, Windows

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

Liste complète de sites utilisant Django

Parmi lesquels :

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

Securité

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

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

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

Astuce

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

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

BeC3 : création d'applications Internet des Objets (IdO)

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 : version 1.0 - novembre 2012
  • Licence(s) : choix en cours, contacter l'auteur
  • Etat : en développement
  • Support : maintenu, développement en cours
  • Concepteur(s) : Sylvain Cherrier, Philippe Valembois, Ismail Salhi, Yacine Ghamri-Doudane.
  • Contact concepteur(s) : sylvain.cherrier@univ-mlv.fr
  • Laboratoire(s), service(s)... : LIGM

 

Fonctionnalités générales du logiciel

BeC3 (Behaviour Crowd Centric Composition) se compose d'un ensemble d'outils qui permettent la création d'applications Internet des Objets (IdO). BeC3 se présente sous la forme d'un site web qui reconnaît et recense l'ensemble des objets D-LITe d'un utilisateur. Il peut alors déployer des Behaviours (des bouts de programmes) sur chacun d'eux, et les combiner pour créer son application, de façon intuitive et dynamique. Un moteur de cohérence contrôle la validité des échanges entre objets. Les utilisateurs peuvent contribuer et alimenter la bibliothèque de Behaviours afin d'améliorer la solution.

Contexte d’utilisation du logiciel

Cette suite de logiciels permet de composer des applications Internet des Objets. Il s'agit d'une preuve de concept (POC) mais l'outil est tout à fait fonctionnel : il nous sert à valider nos travaux, mais peut tout à fait être utilisé pour des applications réelles.

Voir des vidéos pour apprendre son utilisation et une liste d'exemples.

Publications liées au logiciel

En préparation.

Mots-clés

Formation : bases de données XML natives

Cette formation de 3 jours est organisée par MutEC et PLUME. Elle se tiendra à Lyon les 22-23-24 mai 2013.

La formation a pour objectif de faire découvrir les bases de données XML natives aux chercheur-es et ingénieur-es qui manipulent des données XML (corpus textuels, éditions critiques, etc.) mais qui pour diverses raisons n'utilisent pas actuellement de bases de données XML natives. La formation présentera les logiciels BaseX et eXist-db.

Le nombre de places étant limité, la priorité sera donnée aux candidat-es impliqué-es dans des projets de recherche en cours manipulant des données XML.

Date limite d'inscription : 28 avril 2013

Contacts :
- Maud Ingarao maud [dot] ingarao [at] ens-lyon [dot] fr
- Nathalie Arlin nathalie [dot] arlin [at] ens-lyon [dot] fr

Action de formation - Bases de données XML natives

Fiche ressource Article, événement, site web...
  • Création ou MAJ importante : 24/04/13
  • Correction mineure : 10/07/13
  • Auteur : Maud Ingarao (Institut d'Histoire de la Pensée Classique - ENS Lyon)
Mots-clés

Action de formation - Bases de données XML natives

  • Type de ressource : formation / cours
  • Date de publication du document ou de l'événement : mai 2013
  • Auteur(s) ou responsable(s) : Maud Ingarao (maud.ingarao @ ens-lyon.fr) (ENS-Lyon) et Nathalie Arlin (nathalie.arlin @ ens-lyon.fr) (ENS-Lyon)
  • Contact pour plus d'informations : Maud Ingarao (maud.ingarao @ ens-lyon.fr) (ENS-Lyon) et Nathalie Arlin (nathalie.arlin @ ens-lyon.fr) (ENS-Lyon)

MutEC Projet PlumeARC5

MutEC et le Projet Plume, avec le soutien de la Région Rhône-Alpes, organisent une

Formation aux bases de données XML natives

du 22 au 24 mai 2013

au Centre Blaise Pascal, ENS de Lyon
Salle des travaux pratiques
Bâtiment LR6
46 allée d'Italie
69007 Lyon
Plan d'accès

Cette formation a pour objectif de faire découvrir les bases de données XML natives aux chercheur-es et ingénieur-es qui manipulent des données XML (corpus textuels, éditions critiques, etc.) mais qui pour diverses raisons n'utilisent pas actuellement de bases de données XML natives.

La formation présentera les logiciels BaseX (enseignement en anglais) et eXist-db (enseignement en français), et se déroulera en trois temps :

Mercredi 22 mai 2013 - Ma première application web avec eXist-db - 9h30-17h30

Formateurs
Michel Jacobson (Service interministériel des Archives de France)
Clément Plancq (Laboratoire de linguistique formelle, UMR 7110)

Jeudi 23 mai 2013 - Ma première application web avec BaseX - 9h30-17h30 (enseignement en anglais)

Formateurs
Christian Grün (Université de Constance, Société BaseX)
Sous réserve : Michael Seiferle (Société BaseX)
Sous réserve : Alexander Holupirek (Université de Constance, Société BaseX)

Vendredi 24 mai 2013 - 9h30-15h30

Présentation de MutEc et du Projet PLUME et sa plate-forme - présentation en PDF Présentation au  format  PDF
Temps encadré où les stagiaires pourront travailler avec leurs propres données XML.
Evaluation de la formation

Le nombre de places étant limité (20 places), une sélection sera effectuée et la priorité sera donnée aux candidat-es impliqué-es dans des projets de recherche en cours manipulant des données XML.

Pré-requis : XML, XPath. Connaissances en XSL et/ou XQuery recommandées.

La formation est gratuite. Les frais de déplacement, d'hébergement et de repas sont à la charge des participant-es.

Date limite d'inscription : 28 avril 2013

Formulaire d'inscription : https://a2l.projet-plume.org/limesurvey/index.php?sid=16172

Contacts :
- Maud Ingarao maud.ingarao @ ens-lyon.fr
- Nathalie Arlin nathalie.arlin @ ens-lyon.fr

MutEC - http://www.mutec-shs.fr/
PLUME - https://www.projet-plume.org/

Voir aussi : http://www.mutec-shs.fr/action-formation-bases-don...

Fichier attachéTaille
2013maimutecplateforemplume.pdf442.11 Ko
Fiche logiciel validé
  • Création ou MAJ importante : 09/01/13
  • Correction mineure : 06/11/13
Mots-clés

GLOP : gestion des absences (congés, missions) du personnel d'un laboratoire CNRS

  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Version évaluée : décembre 2012
  • Langue(s) de l'interface : français
  • Licence : unknown

    GLOP n'est pas distribué en dehors du CNRS pour le moment. Si vous souhaitez l'utiliser (dans un laboratoire CNRS ou autre), contactez l'auteur et assurez vous d'avoir une licence ou un accord d'utilisation.

Description
Fonctionnalités générales

GLOP (Gestion LOcale de personnel) est une application web écrite en Java qui permet aux agents de faire des demandes de mission et de congés depuis leur poste de travail avec leur butineur préféré, aux responsables de valider ces demandes de la même façon et au gestionnaire du laboratoire de gérer aisément les absences et les missions : les principales règles de calcul des congés sont prises en compte par l'application.
Cela permet au directeur du laboratoire d'avoir un planning des personnes présentes au laboratoire.

GLOP est composé :

  • d'une application web qui permet à chaque agent de faire une demande de congé ou de mission et au responsable de l'agent de valider cette demande,
  • d'une autre application web destinée au gestionnaire de personnel pour la gestion des dossiers des agents et la configuration de l'application.

Remarque : ces applications Web Java sont téléchargées depuis le serveur avec Java Web Start. Il faut donc s'assurer que le mimetype jnlp est associé à l'application java.

Les dossiers du personnel sont initialisés et mis à jour à partir des données des applications de gestion de personnel du CNRS (SIRHUS et LABINTEL). Les différents statuts des personnels d'une unité CNRS sont pris en compte (CDD/permanents) de même que les différentes tutelles (CNRS/Université).

Autres fonctionnalités

GLOP inclut les fonctionnalités suivantes pour chaque agent :

  1. faire une demande de congé ou de mission
  2. signaler une absence professionnelle
  3. afficher son solde de jours de congés
  4. afficher son propre planning d'absence
  5. gérer son compte épargne temps (CET)
  6. visualiser le planning des absences de son service ou groupe, mais aussi celui de tout le laboratoire
  7. gérer des plages horaires de travail

GLOP inclut les fonctionnalités suivantes pour un responsable de service :

  • valider les demandes de congé ou de mission (le responsable est averti par mail de la demande de congé ou de mission)

GLOP inclut les fonctionnalités suivantes pour le gestionnaire du personnel :

  1. extraire les données des bases SIRHUS et LABINTEL
  2. gérer les rôles des agents dans GLOP
  3. gérer l'organigramme (les services, les groupes)
  4. gérer le dossier de chaque agent (CET, reliquat, attribution de congés)
  5. calculer le droit à congé pour l'année pour tous les agents selon la quotité, le reliquat, les jours de fermeture du laboratoire, l'organisme d'appartenance des agents
  6. GLOP est multi-profil, c'est à dire qu'on peut gérer plusieurs organismes d'appartenance (profil CNRS, profil Université, profil CEA)
  7. définir une politique de laboratoire, c'est à dire attribution du nombre de jour de congés, déclaration des jours de congés pour tout le laboratoire, ...

Voici deux exemples d'écrans de GLOP :

  • L'écran d'accueil de GLOP pour l'agent :

  • Le solde des congés :

Interopérabilité

Le serveur applicatif est hébergé au Centre de Calcul de Lyon.

Il n'y a pas de dossiers de personnel à télécharger en local par le gestionnaire. Par contre, l'application WEB est téléchargée sur le poste de travail de l'utilisateur par Java Web Start.

Contexte d'utilisation dans mon laboratoire/service

Nous utilisons GLOP depuis plus de 6 ans. Cela simplifie beaucoup la vie des membres du laboratoire : nous pouvons faire des demandes de congés ou de mission sans nous déplacer au service du personnel du laboratoire, et notre responsable peut valider ces demandes sans se déplacer non plus. Le calcul des jours restants est fait automatiquement et nous pouvons consulter notre solde de congés à tout moment. De même l'affichage du planning permet de savoir quels sont les collègues présents au laboratoire.

Les postes de travail du laboratoire sont en MacOS, en Windows ou en Linux.

Les butineurs principalement utilisés sont :

GLOP est bien adapté aux gros laboratoires bien structurés avec des services, des groupes de recherche, des groupes de projet, où, du fait de notre implication dans de grosses collaborations internationales, les missions sont très nombreuses.

Mais de plus "petits" laboratoires CNRS ont fait le choix de GLOP pour ses multiples fonctionnalités.

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

Pour utiliser ce logiciel, il faut être un laboratoire du CNRS et en faire la demande au LAPP. Les demandes passent d'abord par le LAPP auprès de Thierry Le Flour essentiellement et ensuite celui-ci sollicite le Centre de Calcul pour l'ouverture des accès ORACLE et l'infocentre du CNRS pour les extractions de données SIRHUS/LABINTEL.

La politique d’utilisation et d'installation de GLOP actuellement mise en œuvre est très simple : toute unité CNRS en faisant la demande peut bénéficier de son installation après avoir évalué l’intérêt de l'outil à travers une version de démonstration disponible depuis le WEB.

Autre limitation : les congés ne peuvent pas être posés de manière rétro-active par l'agent lui-même, par contre le gestionnaire du personnel peut le faire.

Environnement du logiciel
Plates-formes

Linux, MacOS, Windows

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

Ce logiciel a été développé au LAPP pour les besoins propres du laboratoire, puis son usage s'est répandu dans plusieurs laboratoires à l'IN2P3 d'abord puis dans d'autres laboratoires du CNRS en dehors de l'IN2P3. Actuellement, une trentaine de laboratoires répartis sur toute la France et représentant plusieurs disciplines scientifiques utilisent GLOP quotidiennement.
Il est maintenu par son auteur avec le soutien de la direction de son laboratoire.

Eléments de pérennité

Le logiciel est maintenant bien abouti et sa maintenance a le soutien de la direction du LAPP.

L'auteur du logiciel est réactif et très patient !

Références d'utilisateurs institutionnels

La liste des laboratoires utilisant GLOP fin 2011 :
APC (in2p3), CNSNM (In2p3), DR11 (CNRS Grenoble), DSI (CNRS Toulouse/Meudon), IAP (CNRS Paris), IAS (CNRS Orsay), ICSN (CNRS Gif) , IPNL (In2p3 Lyon), IRISA (CNRS Rennes), ISV (CNRS Gif), ITAV (CNRS Toulouse), INT (CNRS Marseille), LAPP (In2p3), LAPTH (In2p3), LEBS (CNRS Gif), LEGI (CNRS Grenoble), ISTerre (CNRS Grenoble), LLR (In2p3), LNCMI (CNRS Toulouse/Grenoble), LPNHE (In2p3), LPSC (In2p3), NED (CNRS Gif), NEEL (CNRS Grenoble), SBR (CNRS Roscoff), ULISSE (CNRS Annecy)

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

Suivi du développement : http://glop.in2p3.fr/GP/GLOPSuivi.html

Documentation utilisateur

La documentation utilisateur riche et précise est disponible en aide en ligne dans l'application.
On peut aussi consulter sur le web une ancienne version de la documentation pour se faire une idée des fonctionnalités disponibles à cette époque.

Fiche logiciel validé
  • Création ou MAJ importante : 27/11/12
  • Correction mineure : 27/11/12
Mots-clés
Pour aller plus loin

HTML KickStart : framework HTML5/CSS/JQuery

Description
Fonctionnalités générales

HTML KickStart est un ensemble de fichiers proposant des fonctionnalités HTML5/CSS3/Jquery prêtes à l'emploi pour vos différents projets Web. Son utilité est donc de pouvoir produire rapidement des sites Web avec des fonctionnalités dynamiques et ergonomiques intéressantes.

Pour l'utiliser, il suffit de télécharger le package et d'appeler les fichiers CSS et Javascript dans les en-têtes de vos fichiers HTML. Du côté de vos pages codées en HTML, il ne restera plus qu'à donner les bonnes valeurs aux attributs "class" pour activer les fonctionnalités voulues.

Autres fonctionnalités

Les fonctionnalités présentes dans HTML KickStart sont les suivantes :

  • Fonctions typographiques prédéfinies (heading/blockquote/address, ...)
  • Listes (ordonnées/non ordonnées)
  • Menus déroulants (horizontaux/verticaux)
  • Tableaux (dont tableaux ordonnables en fonction des balises d'en-têtes)
  • Infos bulles (tooltips)
  • Traits horizontaux
  • Librairies d'icônes via les polices "icomoon" (plus besoins d'images)
  • Boutons CSS3
  • Système d'onglets (tabs)
  • Fil d'ariane (breadcrumbs)
  • Grilles flexibles (grids/column)
  • Galerie
  • Lightbox
  • Diaporama (slideshow)
  • Insertion de médias (vidéos/flash/cartes/calendriers)
  • Formulaires (systèmes d'auto-complétion)
Interopérabilité

Toutes les fonctionnalités proposées sont en théorie compatibles avec les navigateurs courants. Nous avons cependant constaté quelques légers bugs avec Internet Explorer (< version 9).

Contexte d'utilisation dans mon laboratoire/service

Nous intégrons la plupart de ces fonctionnalités dans nos réalisations de sites Web.

Nous utilisons le CMS eZ Publish pour nos créations, et nous avons développé une extension utilisant les fonctionnalités de ce "wireframe" HTML.

Limitations, difficultés, fonctionnalités importantes non couvertes
  • Aucune difficulté apparente à l'installation ni à l'utilisation.
  • Attention toutefois à l'intégration des fichiers Javascript sur un site utilisant déjà des fonctionnalités identiques gérées par d'autres sources Jquery (possibilité de conflits dans le "DOM").
Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Le paquetage HTML KickStart est indépendant de toute distribution.

Logiciels connexes
  • Un serveur Web, comme "Apache" par exemple.
  • Les bibliothèques JavaScript en général.
Environnement de développement
Type de structure associée au développement

Un développeur particulier, Joshua Gatcke.

Eléments de pérennité

HTML Kickstart commence à être intégré dans des outils comme par exemple le framework PHP Symfony, avec ce "bundle".

Références d'utilisateurs institutionnels

Observatoire Midi-Pyrénées, LAAS, DSI du CNRS.

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

La documentation utilisateur est constituée d'exemples de codes pour chaque fonctionnalité, accessible en local via le package téléchargé, ou directement en ligne : http://www.99lime.com/elements/.

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 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
Syndiquer le contenu