serveur

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

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

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.

 

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

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

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

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

Contexte d’utilisation du logiciel

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

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

Apache Solr : serveur de recherche basé sur lucene

Description
Fonctionnalités générales

Solr est un serveur de recherche qui reprend les fonctionnalités de Apache Lucene et les étend pour ajouter notamment :

Autres fonctionnalités

Solr est optimisé pour les sites à trafic élevé et permet des recherches distribuées ainsi que la réplication de ses index.

Les données à indexer peuvent se trouver dans une base de données, des fichiers texte structurés ou non, accessibles en local ou via HTTP. Il est aussi possible d'indexer des documents 'riches' (PDF, traitement de texte, HTML, etc.) en utilisant Apache Tika.

Des champs dynamiques peuvent être utilisés pour créer des index à la demande.

Des listes de mots vides, de synonymes ou de termes protégés peuvent être définies dans des fichiers de configuration externes au schéma.

 

Interopérabilité

Une API de type REST permet d'envoyer des données (indexation) et de recevoir des données (recherche) via XML, JSON ou en format binaire.

Contexte d'utilisation dans mon laboratoire/service

Dans mon précédent labo, je l'ai intégré à un développement web en PHP, conjointement à une base de données MySQL et eXist-db pour accélérer les fonctionnalités de recherche du site l'Édition électronique des Dossiers de Bouvard et Pécuchet . Je l'ai aussi utilisé intégré à Drupal via le module apachesolr pour le Dictionnaire des journalistes (1600-1789).
SolR est également utilisé comme "moteur d'affichage" sur Calenda, calendrier des sciences humaines et sociales développé par le Centre pour l'édition électronique ouverte (Cléo), MySql n'est plus utilisé que pour ses fonctions relationnelles, des vues étant créées sous forme de document SolR et utilisées pour l'intégralité de l'interface publique. Signalons enfin que le moteur de recherche intégré au site de Plume repose sur Apache SolR.

Environnement du logiciel
Plates-formes

Solr requiert un moteur de servlets et Java 1.5

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes

Sphinx GPL v2

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

Apache Software Foundation

Eléments de pérennité

La fondation Apache sert de support pour le développement et la liste des utilisateurs compte des sites comme : The Whitehouse, Jstor, SourceForge, Cisco, Apple, AT&T, etc.
Des sociétés de service proposent un support payant : http://wiki.apache.org/solr/Support

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

 

Documentation utilisateur

La documentation majoritairement en anglais est rassemblée dans un wiki : http://wiki.apache.org/solr/FrontPage

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

Dans une utilisation conjointe avec Drupal, il est conseillé, comme indiqué dans https://wiki.apache.org/solr/CoreAdmin, de mettre en place des "core", ce qui permet avec une seule installation de SolR de gérer plusieurs instances: développement, recette, production.

Contributions

Les développements de Lucene et de Solr se font conjointement. Les contributions peuvent donc porter sur Lucene http://lucene.apache.org/core/developer.html ou directement sur Solr http://wiki.apache.org/solr/FAQ#Developing

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 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 logiciel validé
  • Création ou MAJ importante : 30/01/12
  • Correction mineure : 13/08/12
Mots-clés

SITools2 : système d'accès aux données scientifiques

Description
Fonctionnalités générales

SITools2 est une plate-forme web conviviale permettant de mettre en place un système de recherche et d'accès aux données à partir d'une ou plusieurs bases de données existantes. SiTools2 permet de prendre en compte et de s'adapter aux structures de nombreuses bases de données qui sont gérées dans divers centres scientifiques, et permet d'éviter des processus lourds et complexes de migration de données.

L'architecture de cette plate-forme est composée :

  • d'un serveur de données exposant des ressources, 
  • d'une interface web pour l'administrateur permettant de configurer l'ensemble des fonctionnalités du serveur, 
  • d'une interface web pour les utilisateurs comportant un portail qui liste les projets, avec un bureau pour chaque projet qui expose l'ensemble des services mis à disposition par l'administrateur, 
  • d'un mécanisme de plugins permettant aux développeurs d'ajouter des fonctionnalités métiers aussi bien au niveau du serveur qu'au niveau du client et de les partager avec une communauté d'utilisateurs. 

SITools2 s'articule autour de trois concepts importants :

  • la source de données : infrastructure contenant les données (actuellement une base de données relationnelle accessible via l'API JDBC),
  • le jeu de données : exposition d'un sous-ensemble de la source de données par l'intermédiaire d'un service web,
  • le projet : ensemble de jeux de données.

Des services peuvent être ensuite définis à partir de ces trois concepts :

  • définition et exposition du formulaire de recherche,
  • définition et exposition de la recherche OpenSearch,
  • définition et exposition des fonctions de conversion (unité, fonction de transfert),
  • définition et exposition des fonctions de filtrage,
  • définition et exposition de dictionnaires de données,
  • définition et exposition de flux RSS,
  • définition et exposition des plugins.

Comme tout système d'accès, il est important de pouvoir sécuriser l'accès à certaines ressources selon le profil de l'utilisateur. C'est pourquoi SITools2 implémente une gestion complète des utilisateurs (information personnalisable, espace de stockage sur le serveur de données) et permet de sécuriser l'ensemble des ressources en fonction du rôle de chaque utilisateur.

Autres fonctionnalités

Le nombre de données à archiver augmente de façon exponentielle depuis plusieurs années. Ce point a été considéré lors de la conception de SITools2 afin de lui permettre de rechercher des données le plus efficacement possible. Le passage à l'échelle ("scalabilité") de l'application est assurée par une architecture REST.

La réponse du serveur est au format de JSON permettant ainsi de réduire les échanges entre le client et le serveur. 

De plus, la plateforme web a été conçue pour permettre un déploiement aisé par l'intermédiaire d'un processus d'installation qui fonctionne en mode graphique ou en mode ligne de commande.

Interopérabilité

SITools2 est basé entièrement sur une architecture REST, lui permettant de s'interfacer avec n'importe quel langage de programmation. SITools2 supporte également le standard "OpenSearch". D'autres standards d’interopérabilité en astronomie et en observation de la Terre sont en cours d'implémentation.

L'intégration de ces standards et services (Simple Cone Search en astronomie par exemple), ainsi que les formats de sortie pris en charge nativement (csv, bientôt VOTable), permettent à SITools2 d'être utilisé dans le cadre de l'Observatoire Virtuel.

Contexte d'utilisation dans mon laboratoire/service

SITools2 est utilisé dans les laboratoires partenaires du CNES.

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

Les limitations sont les suivantes :

  • les bases de données supportées sont les suivantes : MySQL, PostgreSQL
  • JAVA >= 6 
  • SITools2 ne possède pas une fonction d'insertion de données
  • problèmes d'affichage avec IE 7

Les difficultés :

  • connaître JAVA pour le développement du serveur de données
  • connaître le framework Ext-JS pour le développement du client

Fonctionnalités importantes non couvertes (version 0.9) :

  • la recherche sur différents jeux de données n'est pas actuellement supportée.
Environnement du logiciel
Plates-formes

Unix like, Mac-OS, Windows

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

CNES

Eléments de pérennité

Maintenance supportée par le CNES.

Références d'utilisateurs institutionnels

LAM, IAS, DLR, ETH, Telespazio, EUSOC.

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

Deux listes de diffusion sont disponibles :

  • pour les développeurs : sitools2-developers [at] lists [dot] sourceforge [dot] net 
  • pour les utilisateurs : sitools2-users [at] lists [dot] sourceforge [dot] net
Documentation utilisateur

La documentation est disponible à cette URL : http://sitools2.sourceforge.net/tuto/tuto.html

Contributions

Pour contribuer au logiciel, veuillez contacter jean-christophe [dot] malapert [at] cnes [dot] fr

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

Cacti : métrologie d'équipements et de services informatiques ou réseaux

Description
Fonctionnalités générales

Cacti est un logiciel complet de métrologie de traffic réseau, d'équipements (réseau...) et de services informatiques basé sur RRDTool (fiche plume). Complet dans le sens où il permet de collecter des données de performances sur les différents équipements surveillés, stocker ces données dans des bases, générer des graphes et les visualiser grâce à une interface web.

Collecter des données :

A intervalle donné (5 minutes par défaut), Cacti va collecter des valeurs ou mesurer des temps de réponse grâce à son ordonnanceur intégré. Il existe plusieurs types d'ordonnanceurs, du plus simple écrit en PHP au plus performant écrit en C. Cacti interroge les hôtes principalement par l’intermédiaire du protocole SNMP. Une majorité d'équipements réseaux et informatiques proposent cette fonctionnalité mais si ce n'est pas le cas, Cacti peut aussi interroger via des scripts étendant grandement les possibilités.

Alimenter des bases de données :

Comme dit en introduction, Cacti s'appuie sur RRDTool développé par Tobias Oetiker (http://tobi.oetiker.ch/hp/) qui est également l'auteur des logiciels comme Smokeping ou le célèbre MRTG. Le grand principe de RRDTool est de stocker les valeurs dans des bases de données tournantes à taille fixe, appelées "Round Robin Archive". On ne conserve que les "n" dernières valeurs, les valeurs sont moyennées pour alimenter une autre base portant sur une période de temps plus grande, et ainsi de suite.

Générer des graphes :

S'appuyant sur RRDTool, Cacti fournit une représentation graphique de ces valeurs et de leur évolution dans le temps. Les graphes sont générés en temps réel et l'on peut zoomer ou changer l'échelle de temps. Une arborescence permet de naviguer simplement entre les équipements et les graphes associés.

Proposer une interface :

Cacti permet aux utilisateurs de consulter les graphes à travers une interface web écrite en PHP. Mais elle permet aussi d'effectuer très simplement toute la configuration de l'outil. De plus, afin de permettre une délégation des taches, Cacti propose une gestion des accès très fine.

Exemples de graphes

Le débit réseau entrant et sortant d'un pare-feu :

Le filtrage de spam (avec j-chkmail) :

Détection d'effets de bord suite à une modification de la configuration du serveur de messagerie :

Exemple d'attaque violente qui pourrait faire s'écrouler le service, l'équipe a pu réagir avant :

Autres fonctionnalités

Système de templates

Une des forces de Cacti est de pouvoir grandement réutiliser le travail effectué. Par l'intermédiaire d'un mécanisme de modèles, appelé templates, il est possible d'automatiser plus ou moins la création d’hôtes d'une même famille de matériels. De plus, il est possible d'importer et d'exporter des "templates" ce qui permet le partage entre utilisateurs de Cacti.

Gestionnaire de plugins

Cacti en natif n'embarque pas de gestionnaire de plugins, mais cela est prévu sur la "road map" du projet. Néanmoins, un contributeur a développé un gestionnaire appelé PIA (Plug In Architecture). Pour installer PIA, il est nécessaire de modifier le code de Cacti ce qui rend possible par la suite l'ajout de plugins de façon automatique.

Une liste des plugins proposés par la communauté est disponible ici :
http://docs.cacti.net/plugins

Méthode d'authentification flexible

Cacti propose trois méthodes d'authentification : authentification interne, authentification par annuaire LDAP ou authentification déléguée à Apache. Cette dernière est très intéressante car on va pouvoir utiliser tous les modules existants pour Apache sans pour autant modifier quoi que se soit dans Cacti.

Parmi les modules Apache d'authentification, l'authentification CAS (fiche PLUME) nous intéresse particulièrement. En effet, ce web SSO est très souvent utilisé dans nos établissements, utiliser cette méthode permet à Cacti de s'intégrer parfaitement dans le SI de l’établissement.

Interopérabilité

Utilisation du protocole SNMP

Cacti utilise majoritairement des requêtes SNMP pour interroger les équipements réseaux et autres. Ce protocole est très répandu sur les matériels réseaux tels que les routeurs, les commutateurs, les onduleurs, les sondes de températures, les imprimantes, etc. De plus, sur les systèmes d'exploitations récents, on peut installer ce service et même y ajouter ses OID personnalisés.

Utilisation de scripts

Cacti peut aussi passer par des scripts pour interroger des équipements. Peu importe le langage tant que la sortie est formatée pour Cacti. Ainsi on va pouvoir utiliser des requêtes HTTP, des connections SSH/TELNET ou tout autre moyen pour récupérer les valeurs que l'on souhaite afficher. Il n'y a aucune limite.

Contexte d'utilisation dans mon laboratoire/service

Pour ma part, j'ai mis en place ce produit dans plusieurs DSI (INRA...), en particulier pour la surveillance de leur système d'information. Dans ce sens, j'ai utilisé Cacti pour monitorer une grande variété d'équipements et de services :

  • Pare-feux, switchs, routeurs : trafics entrants/sortants, paquets rejetés.
  • Serveurs Linux : load average, utilisation espace disque, consommation I/O, etc.
  • Service messagerie : nombre de processus, mails entrants/sortants, statistiques j-chkmail, taille de la mailq, connexions pop(s)/imap(s)/smtp, etc.
  • Onduleurs : charges/phases, autonomie, capacité des batteries, températures internes, etc.
  • Sondes : températures, humidités, luminosités.
  • Passerelles TOIP : nombre de communications simultanées.

Ces plateformes sont toujours en production, mes collègues s'en servent régulièrement pour suivre l'évolution de l'utilisation des services ou pour remonter l'origine d'un incident. Ce produit demande un peu de temps lors de la phase de configuration mais son coût d'exploitation est très faible : pas de problème d’espace disque saturé et pas de corruption de bases de données grâce à l'utilisation de RRDTool. Une fois les templates installés, il suffit de les instancier pour chaque nouvel hôte.

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

Supervision limitée

Cacti détecte qu'un hôte n'est pas joignable pour ses besoins internes (pour optimiser le temps de collecte en évitant des timeout inutiles). Mais Cacti n'est en aucun cas un outil de supervision servant à alerter l’administrateur d'un incident. Pour ce besoin, il y a des outils plus pertinents, comme Nagios (fiche PLUME) par exemple.

Interface vieillissante

L'interface de Cacti n'est pas multilingue, elle est proposée à l'heure actuelle seulement en anglais. Néanmoins, il est indiqué dans la road map le support prochain de plusieurs langues.

De plus, l'interface web ne bénéficie pas des avancés du "web 2.0". Il faut cliquer de très nombreuses fois pour configurer quelque chose, trier des listes est un peu long, tout comme naviguer dans l'arborescence de visualisation.

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

Cacti est une application web écrite en PHP, elle s'installe donc depuis les sources sur tout système d'exploitation disposant d'un serveur de documents web, d'un serveur de bases de données et du moteur PHP ainsi que les modules nécessaires.

Quelques distributions proposent Cacti sous formes de package, c'est le cas de Debian et ses dérivés ainsi que Red Hat et ses dérivés.

Logiciels connexes

Nagios :

Nous avons indiqué dans la partie "Limitations et difficultés" que Cacti n'était pas un logiciel de supervision. Dans de nombreux EPST nous retrouvons le couple Nagios/Cacti car ces logiciels sont complémentaires. Nous ne pouvons faire de supervision pertinente sans avoir la métrologie pour définir les bons seuils d'alarme. De même, de la métrologie seule ne nous mettrait pas en capacité de réagir suffisamment vite en cas d'incident sur le SI.

Si vous souhaitez en savoir plus sur le logiciel de supervision Nagios, consultez la fiche dédiée :
http://www.projet-plume.org/fr/fiche/nagios

Weathermap :

Certains administrateurs apprécient d'avoir une vue d'ensemble de leur infrastructure. Weathermap permet de construire une carte des équipements et des liens réseaux. Un code couleur est utilisé pour représenter la charge des liens réseaux, on peut aussi afficher l'état des équipements (up/down) et intégrer des graphes Cacti lorsque la souris survol un objet particulier.

Depuis peu, une nouvelle version de Weathermap est proposée : PHP Weathermap qui est en fait un plugin pour Cacti. Il s'installe donc en quelques instants et s'intègre encore mieux dans l'outil Cacti.

Autres logiciels aux fonctionnalités équivalentes

Cacti est un peu le standard de fait en matière de métrologie mais il existe d'autres outils :

  • MRTG : Logiciel libre développé par Tobias Oetiker et qui a inspiré grandement Cacti.
  • Zabbix : Logiciel libre de supervision et métrologie.
  • Centréon : Surcouche graphique libre pour Nagios proposant un peu de métrologie.
  • Smokeping : Encore un logiciel libre développé par Tobias Oetiker. C'est un outil spécialisé dans les temps de réponses.
Environnement de développement
Eléments de pérennité

Il est toujours difficile d'évaluer la pérennité d'un projet libre. La première release de Cacti (v0.5) a été faite le 23 septembre 2001. C'est un projet qui dure depuis 10 ans, on peut donc supposer qu'il a encore de belles années devant lui.

De plus, la communauté Cacti qui s'exprime à travers le forum officiel est très réactive pour les demandes de support et publie de nombreuses contributions (plugins, templates, scripts...). Il y a plus de 30 000 membres inscrits sur ce forum.

Enfin, on trouve sur internet des tutoriels, des documentations d’installation et des templates supplémentaires. De grands constructeurs proposent même leurs templates, par exemple F5 met à disposition le nécessaire pour monitorer leur loadbalancer :
http://devcentral.f5.com/Forums/tabid/53/aft/16275...

Références d'utilisateurs institutionnels
  • Université Nancy 2 : 1 plateforme (Serveur : 2 coeurs ; RAM : 1Go ; RRD : 65 Mo) surveillant 149 hôtes et 567 indicateurs.
  • INRA

Il existe un sujet sur le forum officiel Cacti traitant des performances et du dimensionnement :
http://forums.cacti.net/viewtopic.php?f=4&t=6206

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

Le forum officiel de Cacti :
http://forums.cacti.net/

Documentation utilisateur

Un excellent tutoriel proposé par Linagora décrivant les concepts de base de Cacti et RRD :
http://linagora.org/_media/contrib/supervision/doc...

Une liste des "templates" les plus utilisés :
http://forums.cacti.net/viewtopic.php?f=12&t=15067

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

MySecureShell : serveur FTP sécurisé avec contrôles d'accès

Description
Fonctionnalités générales

MySecureShell est à la fois un "shell" de connexion, ainsi qu'un serveur FTP sécurisé (appelé «sftp-server » dans le projet).

Le serveur FTP repose sur le protocole sécurisé SSH (SFTP). Le shell permet de mettre en œuvre les règles inscrites dans le serveur SFTP. Ces règles, nommées directives sur le site Web du projet, sont aux nombres de 58. Pour résumer, elles permettent de :

  • gérer les droits d’accès au contenu des répertoires de connexion (lecture/écriture, limites du nombre de fichiers ouverts en lecture/écriture, etc.),

  • gérer le trafic (temps de connexion, bande passante, nombre maximal de connexions sur le serveur, etc.),

  • restreindre l'accès d'un utilisateur à son seul dossier personnel (compte "chrooté").

L’administration du serveur peut être faite à l'aide d'une interface graphique ou en ligne de commandes en éditant un seul fichier de configuration bien documenté. Par exemple, il est possible d’offrir plus de droits à un compte utilisateur en ajoutant quelques lignes dans le seul fichier de configuration.

La granularité poussée des droits des utilisateurs et l’étendue des possibilités de gestion du serveur SFTP sont les principaux atouts de ce projet.

Autres fonctionnalités

Il est possible d'étendre les fonctionnalités de MySecureShell en mettant en place une plateforme d'échange de fichiers volumineux.

Le réglage fin des droits utilisateurs permet par exemple de créer un ou des compte(s) chrooté(s) faisant office de répertoire d'échange accessible depuis Internet. Ainsi, un utilisateur "extérieur" au réseau de l'unité, à qui on communiquerait le login/mot-de-passe d'un compte convenu pourra déposer en toute sécurité (connexion chiffrée) tous les documents à destination de la personne concernée du laboratoire ou du service.

Toutes les explications et quelques scripts écrits en bash pour automatiser la gestion des comptes sont donnés sur le site :
http://pmc.polytechnique.fr/pagesperso/dc/echange....

Interopérabilité

MySecureShell s'appuie sur OpenSSH. Pour optimiser la sécurité, il est donc souhaitable d'avoir une version récente et pleinement fonctionnelle de ce dernier.

Contexte d'utilisation dans mon laboratoire/service

MySecureShell est utilisé en tant que serveur d'échange de fichiers volumineux. Les utilisateurs apprécient le niveau de sécurité qu'offre le service et surtout le niveau de confidentialité.

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

Les utilisateurs doivent savoir utiliser un client FTP supportant le SSH tel que FileZilla.

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

Debian/Ubuntu et CentOS/Fedora.

Pour les autres distributions : sur le site web du projet, le tarball contenant toutes les sources est accessible en téléchargement.

Plates-formes

Multi-plateformes

Logiciels connexes

OpenSSH doit être installé et pleinement fonctionnel AVANT d'installer MySecureShell.

Pour utiliser l'interface graphique des outils d'administration du serveur, l'installation des bibliothèques graphiques de Java est nécessaire.

Sur le site du projet, il est proposé des outils graphiques de monitoring comme :

  • GeekTool (Mac OS X)
  • Samurize (Windows)
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Projet initié par Sébastien Tardif et Pierre Mavro.

Eléments de pérennité

La première version de MySecureShell v0.1 date du 26/09/2004. L'équipe de développeurs est active car le logiciel change de version 1 à 2 fois par an.

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

Pour contribuer au projet, il suffit de se faire connaître à l'adresse e-mail: teka2nerdman [at] users [dot] sourceforge [dot] net

Fiche dév Ens Sup - Recherche
  • Création ou MAJ importante : 14/03/11
  • Correction mineure : 14/05/13

Open melodie : indexation collaborative de grandes masses de données structurées en ligne

Ce logiciel a été développé (ou est en cours de développement) dans la communauté de l'Enseignement Supérieur et de la Recherche. Son état peut être variable (cf champs ci-dessous) donc sans garantie de bon fonctionnement.
  • Site web
  • Système : UNIX-like, Windows, MacOS X
  • Version actuelle : 1.2 - 31 mars 2011
  • Licence(s) : GPL
  • Etat : diffusé en beta, utilisé en interne
  • Support : maintenu, développement en cours
  • Concepteur(s) : José Paumard
  • Contact concepteur(s) : Jose.Paumard@gmail.com
  • Laboratoire(s), service(s)... : L2TI

 

Fonctionnalités générales du logiciel

Qu'est-ce qu'Open melodie ?

Une plateforme logicielle open source et libre de droits

Open melodie est un logiciel serveur, accessible en ligne.
Open melodie est open source, disponible sous licence GPL, donc libre de droits pour toutes les applications, commerciales ou non.

Open melodie peut être installé en environnement Linux / Java / MySQL. L’ensemble des interfaces d’administration et d’accès sont compatibles avec tous les navigateurs récents. Aucune acquisition de licence onéreuse n’est donc nécessaire pour utiliser Open melodie, ni côté client, ni côté serveur.

Gérer ses données avec Open melodie

Open melodie est un outil complet de gestion de données en ligne. À la différence d'autres logiciels, (Access ou Filemaker par exemple), aucune donnée n'est enregistrée sur le poste client. On peut donc commencer un travail sur un poste et le terminer sur un deuxième, sans transfert de fichier.

Travailler en équipe

Afin d'autoriser le travail à plusieurs mains sur de grandes masses de données, Open melodie définit un modèle de sécurité avancé. Il est entre autres possible de déléguer des pouvoirs d'indexation à d'autres personnes, sur tout ou partie de ses données. 

Publier ses données une fois validées

De la version de travail, entièrement privée, à la version publique, destinée à être citée dans une publication, l'indexeur a le contrôle
total de la sécurité de ses données.

Présenter ses données dans sa propre interface

La plateforme propose des connecteurs XML qui permettent à des interfaces tierces d'accéder aux données. Les projets utilisant cette plateforme peuvent donc publier leurs données sous leur propre identité visuelle. Ce principe de double accès est utilisé pour le projet MAVI depuis plus de 6 ans.

Open melodie aujourd’hui

Open melodie est utilisé depuis près d'un an par l’équipe du MAVI (Musée Achéménide Virtuel et Interactif). Environ 25 mille objets ont été indexés, soit plus de 250 mille éléments d’indexation. L'application complète est disponible en ligne à l'adresse http://www.openmelodie.org/. L'ensemble des ressources disponibles en ligne (documentations HTML et PDF, présentations, screencasts) sont accessibles de cette adresse.

Contexte d’utilisation du logiciel

Open melodie est actuellement utilisé activement depuis environ un an par deux équipes : 

Ces deux projets utilisent une instance d'Open melodie installée sur un serveur privé du collège de France. 

Des contacts sont en cours avec deux autres projets :

  • un premier, Biblindex, porté Laurence Mellerin et Dominique Gonnet (Sources Chrétiennes, Maison Orient et Méditerranée)
  • un second, dont le nom reste à définir, porté par Patrick Goujon (Centre Sèvres). 
Publications liées au logiciel
  • Le corpus de textes babyloniens achéménides sur www.achemenet.com : nouveaux processus de mise en ligne, José Paumard et Gauthier Tolini, 55ème Rencontres Assyriologiques Internationales (RAI), 9 juillet 2009, Collège de France, Paris.
  • Circe Italie et Open melodie, José Paumard, Journée d'études CIRCE, 5 avril 2008, INHA, Paris.
Fiche logiciel validé
  • Création ou MAJ importante : 30/03/13
  • Correction mineure : 13/03/14
Mots-clés

NX (Freenx) : connexions graphiques distantes à un bureau Linux / Unix

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

    Les bibliothèques de NX ont été mises en GPL par la société NoMachine. L'implémentation présentée ici utilise ces bibliothèques.

Description
Fonctionnalités générales

La technologie NX est un protocole client-serveur permettant des connexions graphiques distantes, rapides et sures pour accéder à un bureau Linux / Unix à distance. Le protocole est basé principalement sur X11, sur SSH (pour la sécurité) et sur des algorithmes de compression spécifique pour le flux d'images (pour l'interface graphique et la rapidité). Selon l'éditeur, NX est aussi plus facile à utiliser que le protocole X classique. Il est développé par Gian Filippo Pinzari de l'éditeur de logiciels italien NoMachine.

Une version est en cours de publication : la version 4, qui voit le client se nommer "NoMachine Player", et se doter de fonctionnalités supplémentaires, en plus de sa nouvelle interface. On peut désormais enregistrer les sessions, connecter des périphériques locaux au serveur distant (version payante), modifier dynamiquement la fenêtre d'affichage et la qualité, et gérer les sessions de façon plus intuitive. Il est aussi possible désormais de déporter le son et la vidéo (non testé).

Autres fonctionnalités

Le logiciel existe sous forme propriétaire, payant mais aussi avec une version open source : http://freenx.berlios.de/ décrite dans cette fiche

Certaines distributions GNU/Linux ont un client propre (knx, ...), les autres doivent se contenter du client offert par NoMachine.

Interopérabilité

Fortement dépendant de openssh (fiche PLUME).

Contexte d'utilisation dans mon laboratoire/service

A l'Institut de Mathématiques de Bordeaux, nous avons 2 serveurs NX : l'un pour la bureautique et un autre en tests pour la visualisation (post-traitement graphique).
Ce logiciel est aussi utilisé à l'ESRF (European Synchrotron Radiation Facility).
L'IRSTEA Bordeaux utilise ce logiciel pour les connexions distantes aux serveurs de calcul Linux depuis des postes de travail Windows.

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

OpenSUSE, Debian, Mandriva, RedHat-like, MInt, Ubuntu

Plates-formes

Linux, Mac OS, Windows

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

NoMachine, société italienne, qui vend aussi le logiciel en version serveur, http://www.nomachine.com

Eléments de pérennité

Le site web de la société annonce 3,5 millions d'utilisateurs et 3500 utilisateurs enregistrés. Les versions open source assurent la pérennité de ces logiciels.

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

La page de support du produit payant : http://www.nomachine.com/support.php
Le produit gratuit est documenté : http://freenx.berlios.de/info.php

Documentation utilisateur
Syndiquer le contenu