JavaScript

JavaScript (langage de programmation de scripts pour pages web)
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 validé
  • Création ou MAJ importante : 24/10/12
  • Correction mineure : 24/10/12
Mots-clés
Pour aller plus loin

eZ Publish : système de gestion de contenu Web (CMS) puissant, ouvert et évolutif

Description
Fonctionnalités générales

eZ Publish est un système de gestion de contenu Open Source (en anglais CMS, Content Management System) très puissant, ouvert et évolutif, qui permet de développer des sites web dynamiques en mode mono ou multi-sites, créé en 1999 par une société norvégienne eZ systems.

eZ Publish est open source, disponible soit gratuitement, soit dans le cadre d’une solution professionnelle “eZ Publish Premium”, incluant support , garanties et maintenance.

Ses principaux atouts sont :

  • des fonctionnalités intégrées et prêtes à l'emploi répondant aux besoins et attentes courants des webmasters,
  • un environnement technique offrant des possibilités de personnalisation et de création d'extensions inégalées (flexibilité du noyau du moteur de contenu),
  • un modèle économique open source associant tous les atouts des logiciels Open Source (coût, temps de mise en œuvre et transparence),
  • eZ Publish est doté d'un backoffice permettant de décrire les "classes" des objets qui seront utilisés dans chaque site, et d'un frontoffice, qui propose un éditeur de type wysiwyg (avec extension multiupload) ou publication à partir de Word ou OpenOffice,
  • eZ Publish est développé en PHP, s'appuie sur une base de données (MySQL, mais aussi Oracle et PostGreSQL), et a développé son propre langage de template pour décrire le design des pages,
  • une gestion très fine des rôles, droits et groupes d'utilisateurs permet d'organiser la mise à jour du site en équipes,
  • eZ Publish dispose d'un versioning intégré, d'un support multilingue, d'un système de workflow et d'une conception optimisée pour le référencement, d'un moteur de recherche assez sophistiqué (extension eZ Find),
  • un système de caches serveur assez sophistiqué permet d'optimiser la régénération des pages et la vitesse d'affichage du site.
  • eZ Publish est basé sur des standards ouverts et reconnus :
  • PHP5, XHTML, CSS, XML, RSS, WebDAV, LDAP, SOAP, EXIF, OpenOffice.
Autres fonctionnalités

Architecture

  • eZ Publish est développé autour du robuste, populaire et open source environnement LAMP (Linux, Apache, MySQL et PHP).
  • Cependant, eZ Publish peut être également installé sur des serveurs Microsoft, Sun Solaris ou Mac OS X.
  • En plus de MySQL, eZ Publish supporte les bases de données Oracle et PostgreSQL.

Classes de contenu

eZ Publish dispose de datatypes (plus petite entité de stockage disponible) : ce sont par exemple des blocs XML, entier, date et heure, ligne de texte permettant de définir des classes pré-intégrées (ex : article, répertoire, utilisateur, commentaire, ...). On peut également enrichir ces datatypes et classes via développement, en fonction de ses besoins.

Structure interne d'eZ Publish

eZ Publish s'articule autour d'un kernel, de modules (moteur de recherche, gestion des utilisateurs, ...) et de diverses bibliothèques (ezxml, ezpdf, ...). L'arborescence du CMS se décompose ainsi :

Répertoire Contenu
bin Scripts PHP, Perl et shell principalement utilisés pour une maintenance manuelle du système et de mises à jour.
cronjobs Scripts PHP permettant d'automatiser les tâches de maintenance périodiques.
design Fichiers relatifs au design du site.
doc Documentation et fichiers consignant les évolutions et mises à jours des versions de eZ Publish.
extension Système de plugins.
kernel Fichiers du noyau, cœur d'eZ Publish.
lib Librairies générales.
settings Réglages, configuration par site/contexe.
share Fichiers de traductions des contenus statiques.
var Fichiers de cache, logs, et surtout fichiers de contenus uploadés.

Fichiers de configuration (settings)

  • Les fichiers de configuration par défaut, d’extension .ini, se trouvent dans le dossier settings.
  • Chaque fichier permet de contrôler le comportement d'une partie spécifique du système.
  • Les fichiers fournis par défaut listent exhaustivement et commentent les options disponibles. Ces fichiers de configuration par défaut ne doivent jamais être modifiés ! Il convient à la place de les surcharger. (et typiquement les placer dans le répertoire settings/override/).
  • Le fichier de configuration principal est le site.ini (le fichier settings/override/site.ini est donc le 1er fichier lu par le navigateur si la bonne pratique précitée est suivie).
  • Structure d'un fichier de configuration :
    • Un fichier de configuration est composé de blocs.
    • Chaque bloc contient un ensemble de réglages :
    • # This line contains a comment.
      [DatabaseSettings]
      Server=localhost
      User=allman
      Password=qwerty
      Socket=disabled
      SQLOutput=enabled
      # This line contains another comment.
      [ExtensionSettings]
      ActiveExtensions[]=ezdhtml

Gestion des sites via les siteaccess

  • Une seule instance d'eZ Publish peut gérer plusieurs sites.
  • Les sites sont gérés par le mécanisme de siteaccess, qui constitue un ensemble de réglages (settings).
  • Les siteaccess permettent d'utiliser des configurations (règles) totalement différentes pour chaque site (propre base de données, design dédié, dossier var spécifique).
  • Les règles des siteaccess doivent être spécifiées dans une surcharge globale du fichier de configuration site.ini (/settings/override/site.ini.append.php).
  • Ces règles contrôlent le groupe de paramètres devant être employé dans un cas particulier.
  • Un site eZ Publish classique se compose de deux siteaccess : une interface publique pour les visiteurs et une interface d'accès restreint pour les administrateurs.

Support multi-langue

  • Chaque langue est versionnée indépendamment.
  • La traduction du contenu statique, des éléments de design (menu,liens fixes, …) et messages d'erreurs est faite via i18n.
  • La gestion des langues se fait au niveau du siteaccess (1 par langue, pouvant partager le même design).

Modules et vues

  • Un module offre une interface web pouvant être utilisée pour interférer avec le système eZ Publish.
  • Certains modules offrent une interface avec des fonctionnalités du noyau, d'autres sont indépendants du noyau.
  • Le système fournit un ensemble de modules couvrant les besoins des tâches journalières les plus courantes.
  • Il est possible d'étendre le système en créant des modules personnalisés pour des besoins spécifiques. Ces modules devront être écrits en PHP (annuaire, agenda....).
  • Un module peut offrir des vues et/ou des fonctions fetch (fonctions d'interrogation).

Design

  • Le design recouvre tout ce qui permet au contenu du site d'être mis en forme et présenté.
  • Un design classique eZ Publish se compose de feuilles de style (CSS), de scripts javascript, de fichiers image (hors images de contenu), de fichiers de polices et de templates.
  • Un siteaccess impose, entre autres choses, le design devant être utilisé.
  • En utilisant différents siteaccess, il est possible de combiner différents contenus et designs.
  • Le code HTML final d'une page peut être une combinaison de fichiers provenant de divers designs.

Mécanisme de fallback

  • Si eZ Publish ne peut trouver un fichier de design spécifique (une feuille de style, un template, une image, etc, ...) dans le design principal, alors il essaie automatiquement de le chercher dans un autre design.
  • La déclaration des designs d'un site se fait dans le fichier site.ini du siteaccess concerné.

Templates

  • Les templates sont une composante fondamentale du design.
  • Un template est un fichier (X)HTML qui décrit la façon dont un type de contenu doit-être visualisé.
  • Tous les fichiers de template possèdent l'extension .tpl.
  • Outre du (X)HTML, un template peut contenir du code eZ Publish.
  • Le code de template eZ Publish permet de requêter le système et de résoudre les problématiques de code usuelles (itérations, conditions, structures de contrôle, conversions, etc, ...).
  • Le code spécifique à eZ Publish doit être placé à l'intérieur d'accolades ( "{" et "}" ).
  • Tout ce qui est compris à l'intérieur d'accolades sera interprété par le parser de template lorsque le template est traité.
  • Tout ce qui est à l'extérieur des accolades sera ignoré et sera envoyé au navigateur sans subir aucun traitement.
  • Le template principal de eZ Publish, nommé pagelayout.tpl, permet entre autres de déterminer la structure graphique du site.
  • Le nom de ce template principal doit être pagelayout.tpl et il doit être placé dans un sous-répertoire nommé templates d’un design.
  • Le template pagelayout.tpl est le template source appelant tous les autres templates.
  • Le système de surcharge de templates permet d'utiliser d'autres templates que ceux par défaut.
  • Exemple de surcharge dans le fichier de configuration override.ini.append.php :
  • # The name of the override.
    [special_folders]
    # The template that should be replace.
    Source=node/view/full.tpl
    # The template that should be used instaed of the one specified as the source.
    MatchFile=special_folder.tpl
    # The directory where the matchfile is located.
    Subdir=templates
    # Condition #1 : activates the override if the object is an instance of the folder class.
    Match[class_identifier]=folder
    # Condition #2 : activates the override if the object being accessed belongs to section number 34.
    Match[section]=34

Extension

  • Une extension peut correspondre à un site et plusieurs extensions peuvent être utilisées par plusieurs sites.
    Exemple: vous pouvez utiliser des extensions regroupant toutes les fonctionnalités identiques pour tous vos sites (export OpenOffice, éditeur wysiwig, vos bibliothèques JQuery, ...), et une extension spécifique à un site en particulier (dans laquelle il sera judicieux de placer votre dossier design/).
  • Elle se compose principalement de fichiers de configuration /settings et de fichiers de mise en forme /design, et éventuellement de modules spécifiques à développer en PHP.

Contrôle d'accès

  • eZ Publish contient un mécanisme de contrôle d'accès permettant de limiter l'accès à certains contenus ou à certaines fonctions.
  • Le système de contrôle d'accès est basé sur les éléments User (Utilisateur), User group (Groupe d'utilisateurs), Policy (Droit) et Role (Rôle).
  • Un User (utilisateur) est défini, sur le système, par un compte utilisateur valide.
  • Un User group (groupe d'utilisateurs) peut-être composé d'utilisateurs et d'autres groupes d'utilisateurs.
  • Un Policy (droit) est une règle autorisant l'accès à du contenu ou à certaines fonctions.
  • Un Role (rôle) est un ensemble nommé de droits.
  • Un rôle peut être assigné à un utilisateur ou à un groupe. Il est possible d'assigner un rôle avec des restrictions supplémentaires (affecter avec limitation).
  • La fonctionnalité permettant de restreindre un rôle est très utile lorsque plusieurs utilisateurs ayant des droits similaires doivent manipuler différentes parties de l'arbre de nœuds de contenu.
  • Plutôt que de créer un rôle pour chaque utilisateur, l'administrateur du site peut créer un rôle générique puis l'assigner avec différentes restrictions aux différents utilisateurs.

Workflows

eZ Publish est livré avec un mécanisme de flux de travail (workflow). Il permet d'effectuer différentes tâches avec ou sans interaction des utilisateurs (par exemple des cronjobs).

Interopérabilité

eZ Publish est développé en PHP et utilise des standard comme MySQL, XML, Ajax, SOAP.

Il est très aisé de développer des procédures en interaction avec d'autres applications externes. Par exemple : extractions des données d'un SI sous Oracle pour implémenter automatiquement les pages d'un site.

La version 5 à venir d'eZ Publish utilisera le framework Symfony 2, et permettra de coder les templates au format TWIG, tout en gardant une compatibilité avec les développements sous les versions précédentes : voir cet article.

Contexte d'utilisation dans mon laboratoire/service

Cas du LIRMM

  • 2 noyaux eZ Publish sont installés dans notre laboratoire :
    • 1 sur le serveur des applications Web utilisateurs (sites internes d'équipe, sites de congrès, ANR...)
    • 1 sur le serveur de notre site institutionnel http://nouveau-site.lirmm.fr
  • Nous utilisons la méthode host;uri, avec authentification ldap (annuaire sécurisé des comptes du laboratoire) pour la partie Intranet.
  • Nous avons développé 2 modules, annu et agenda, pour la recherche dans l'annuaire et la gestion des événements.
  • Nous extrayons les publications de notre site HAL-LIRMM et créons les objets correspondants par cronjobs afin de les afficher sur les pages annuaire et les pages de présentation de nos départements et équipes.
  • Les pages des équipes, les comptes éditeurs et administrateurs de ces pages sont également générées par cronjobs, par extraction des données de notre Système d'Information (sous Oracle 11g).
  • Nous gérons 1 site français et 1 anglais, avec possibilité de traduire les pages dans d'autres langues.
  • Pour la gestion de nos pages annuaire, nous avons créé la classe Lirmm-user à partir de la classe User, dont les attributs sont implémentés par cronjobs également, à partir des données de notre SI, puis la classe Annu-user, qui contient les éléments modifiables par web de chaque page annuaire.
  • Les objets Département et Equipe se décomposent également en objets SI et Web, selon la nature des données affichées sur ces pages.
  • Les administrateurs (accorder des droits d'édition à des groupes) et éditeurs des pages n'ont pas accès au "back office", toutes les mises à jour sont faites en "front office".

Cas de l'Observatoire Midi-Pyrénées

  • Un noyau eZ Publish est utilisé pour l'ensemble des sites web institutionnels.
  • Tous les sites utilisent une extension contenant toutes les fonctionnalités communes, et chaque site utilise en plus, une extension qui lui est spécifique (développements complémentaires et design propre au site).
  • Le service web assure la conception graphique et l'intégration / développement de toutes les interfaces.
  • Les principales fonctionnalités en place dans notre contexte sont :
    • Librairies jQuery (systèmes d'onglets, slideshows, tooltips, menus déroulants, popup (images+iframes), etc, ...)
    • Newsletters
    • Pages profils
    • Multilangues
    • Thésaurus (extension eZ tags)
    • Module de structuration dynamique des pages (extension eZ Flow)
Limitations, difficultés, fonctionnalités importantes non couvertes

La principale difficulté réside dans la compréhension du mécanisme d'affichage et de surcharge (override).

Le language de template est à assimiler, particulièrement la fonction 'fetch' très utilisée dans la déclinaison de l'arborescence du site.

Les notions d'objet, de classe, de noeud, de vue, de cache sont également importantes. Il faut connaître les principes de la programmation Objet.

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

eZPublish n'est intégré dans aucune distribution, cependant l'installation est simple et se fait à partir de l'archive sur http://share.ez.no/downloads, après création d'une base de données dédiée (en UTF-8).

Plates-formes

Toutes les plate-formes LAMP (Linux, Apache, MySQL et PHP) et variantes (WAMP, XAMP). Cependant, eZ Publish peut être également installé sur des serveurs Microsoft, Sun Solaris ou Mac OS X.

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

La société eZ system en collaboration avec la communauté de développeurs participent à l'évolution du CMS, comme indiqué ici.

Eléments de pérennité
  • eZ Publish est un CMS professionnel de renommée internationale utilisé par de grandes entreprises du secteur privé et public, et la communauté est active.

  • A noter que de nombreux contributeurs d'eZ Publish participent au développement de Symfony.

Références d'utilisateurs institutionnels

Les utilisateurs institutionnels connus à ce jour :

Quelques exemples de "mini-sites" projets / ANR / services d'observation / enseignement :

Environnement utilisateur
Documentation utilisateur

Documentation officielle

http://doc.ez.no/

Présentation sur transparent

eZ et le système d'information

Bonnes et mauvaises pratiques d'eZ

Divers (astuces, actualités, sécurité)
  • Il est conseillé de placer le minimum de configuration dans la partie settings/siteaccess/, à savoir uniquement site.ini.append.php pour placer l'ensemble au niveau de l'extension extension/settings.
  • L'utilisation des extensions personnalisées facilite les mises à jours du logiciel et la flexibilité du CMS.
  • Les extensions déclarées dans les fichiers site.ini, sont appelées dans l'ordre inverse. Les templates associés sont donc surchargés dans cet ordre.
  • eZ Publish est disponible avec toute une gamme d'extensions permettant de répondre à la majorité des problématiques de gestion de contenu. Son ouverture à d'autres programmations spécifiques en font un outil très complet et très satisfaisant pour un ingénieur en développement. Pour exemple : 1 stagiaire (1ère année École Ingénieur Informatique) ayant des bases en PHP, a été capable de créer ses templates après 1 jour de présentation et 3 jours d'apprentissage.
Contributions
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 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

Formation sur le développement web pour les ASR: AJAX et JavaScript

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

Formation sur le développement web pour les ASR: AJAX et JavaScript

  • http://www.resinfo.cnrs.fr/spip.php?article56
  • Type de ressource : événement
  • Date de publication du document ou de l'événement : Oct 2012
  • Auteur(s) ou responsable(s) : O. Boebion, M. Contensin, A. Facq, C. Mauro, K. Poutrain
  • Contact pour plus d'informations : magali.contensin@univ-amu.fr

La fédération de réseau RESINFO organise une action nationale de formation "Développement web pour les ASR - AJAX et JavaScript" du 24 au 26 octobre 2012 à Carry-Le-Rouet.

Cette formation a pour objectifs de présenter les technologies web côté client (DOM, CSS, HTML5 et AJAX) et de former les développeurs d'application web et en particulier les ASR aux techniques de développement AJAX et à l'utilisation de bibliothèques JavaScript (framework jQuery, bibliothèques graphiques).

L'inscription est gratuite mais obligatoire via la formation permanente de la DR12.

Le programme et les informations de cette ANF sont accessibles à cette adresse :

http://www.resinfo.cnrs.fr/spip.php?article56

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 : 07/12/11
  • Correction mineure : 07/12/11
Mots-clés
Pour aller plus loin

GeoGebra : pour enseigner et apprendre les mathématiques

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

    GPL pour le code source et CC (Creative Commons Attribution-Noncommercial-Share Alike 3.0 or later) pour l'installation et les traductions.

Description
Fonctionnalités générales

GeoGebra permet notamment de construire des figures de géométrie exactes dites à la règle et au compas (compass and ruler CaR en anglais). Elles sont dynamiques au sens où l'on peut changer la position des objets et la construction change en temps réel. GeoGebra propose une interface utilisateur intuitive basée sur la souris, et néanmoins puissante (outils et commandes variés, multi-fenêtrage, facilité de navigation dans les étapes de la construction d'un objet, exports en applets, images, animations, création d'outils personnels appelées macros).

GeoGebra permet d'étudier des problèmes en arithmétique, algèbre, calcul, géométrie classique et analytique, statistique et calcul des probabilités, mathématiques discrètes, résolution d'équations ou d'inéquations, algèbre matricielle, programmation linéaire, nombres complexes, etc.

Il peut être utilisé par un élève pour réaliser ses propres constructions, ou bien pour faire des explorations et des recherches sur des constructions pré-existantes créées par un enseignant.

Autres fonctionnalités

GeoGebra inclut aussi un tableur qui, à la différence d'autres tableurs, permet d'utiliser dans chaque cellule des types d'objets génériques, numériques ou non (coordonnées, équations, textes...).

GeoGebra peut également être ouvert sous la forme d'applets. Il peut donc aisément être inclus dans une page HTML.

GeoGebra encourage l'échange des productions par le biais du forum, d'un wiki, et d'une plate-forme dédiée, nommée GeoGebraTube, permettant un dépôt et une consultation plus simples. Des vidéos de présentation sont sur YouTube. GeoGebra a aussi des pages FaceBook et Twitter.

Un moteur de calcul formel et est en développement pour la version 4.2.

La visualisation est en 2D, la version 3D est en développement pour la version 5.

Interopérabilité

Les fichiers GeoGebra sont au format XML compressé. Cet archive xlm inclut aussi les outils personnels nécessaires à l'utilisation et les images nécessaires à la visualisation.

On peut utiliser GeoGebra localement ou avec connexion à Internet. Dans les deux cas il suffit d'avoir une plateforme Java localement, il n'est donc pas nécessaire d'installer GeoGebra pour pouvoir voir les applets des constructions géométriques.

Si on choisit d'installer GeoGebra localement, on peut l'installer sur Windows, Mac OS X et diverses distributions Linux (Debian, Ubuntu, OpenSUSE).

Une version pour les mobiles et liseuses (smartphone, iPod, iPad, ...) est actuellement en développement.

Contexte d'utilisation dans mon laboratoire/service

GeoGebra est largement utilisé dans les collèges et les lycées pour l'enseignement de la géométrie, l'algèbre, l'analyse et les probabilités-statistiques. Il est manipulé autant par les professeurs que par les élèves.

Les constructions étant facilement exportables en applets, les élèves peuvent donc y accèder par tous les moyens : pages web wikis, blogs, Moodle, ...

GeoGebra s'utilise aussi en tant qu'outil de conception de diagrammes et graphiques statiques, puisqu'il permet de retravailler des images, replacer des points et des lignes de façon simple et précise.

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

Version 3D en développement.

Environnement du logiciel
Plates-formes

Windows, Mac OS X, GNU/Linux (Debian, Ubuntu, OpenSUSE)

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes

Tout logiciel d'enseignement dédié à la géométrie, par exemple CarMetal est très similaire.

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

Communauté mondiale de développeurs et d'utilisateurs. Soutiens institutionnels (enseignement, recherche) dans plusieurs pays.

Références d'utilisateurs institutionnels

l'Institut International Geogebra regroupe des nombreux centres regionales éparpillées partout dans le monde : http://www.geogebra.org/cms/fr/community-info

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

Nombreuses langues d'interface : français, anglais (UK, US, Australie), espagnol, italien, allemand (Allemagne, Autriche).
Autres : albanais, arabe, basque, bosniaque, bulgare, catalan, chinois (simplifié et traditionnel), cinghalais, coréen, croate, danois, estonien, finnois, galicien, gallois, géorgien, grec, hébreu, hindi, hongrois, islandais, indonésien, japonais, kazakh, lituanien, macédonien, malais, malayalam, marathi, néerlandais, népalais, norvégien (Bokmål, Nynorsk), persan, polonais, portugais (Portugal, Brésil), roumain, russe, serbe, slovaque, slovène, tamoul, tchèque, thaï, turc, ukrainien, vietnamien, yiddish.

L'aide et les manuels d'utilisateur sont aussi traduits à cet ensemble de langues.

Contributions
Fiche logiciel validé
  • Création ou MAJ importante : 28/09/11
  • Correction mineure : 31/07/13
Mots-clés

OpenLayers : bibliothèque javascript pour applications cartographiques

Description
Fonctionnalités générales

OpenLayers permet d'afficher sur une page web des données géographiques sous forme d'une carte glissante.

Il est possible d'intégrer des données issues de plusieurs sources en utilisant les standards TMS, WMS ou WFS (définis par l'Open Geospatial Consortium) et de nombreux formats : WKT, JSON, KML, GML, OSM…

Des contrôles graphiques peuvent être ajoutés pour interagir avec la carte glissante : zoom, affichage et masquage de couche, réglage de l'opacité, ajout de primitives géométriques…

Autres fonctionnalités

La documentation de l'API est générée via Natural Docs : http://dev.openlayers.org/releases/OpenLayers-2.10...

Interopérabilité

Un grand nombre de formats de stockage et d'échange sont pris en charge : GPX, GeoJSON, KML, WKT, GML… Voir la documentation en ligne pour une liste exhaustive.
OpenLayers est une bibliothèque JavaScript et fonctionne donc sur tout navigateur web suffisamment récent.

Contexte d'utilisation dans mon laboratoire/service

Saisie et affichage de données géo-localisées pour des besoins ponctuels.

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

Cette bibliothèque est disponible en paquet sous Debian GNU/Linux, mais s'intègre très facilement par l'inclusion d'un unique fichier JavaScript.

Plates-formes

JavaScript côté client.

Logiciels connexes
  • Un serveur web
  • Un navigateur supportant le JavaScript
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

Communauté de développeurs

Eléments de pérennité
  • Le projet est soutenu par l'OSGEO (Open Source Geospatial Foundation), qui héberge son site de développement (http://trac.osgeo.org/openlayers/) et sa liste de diffusion.

  • Releases fréquentes depuis plusieurs années (2.8 en 2009, actuellement 2.10 stable et 2.11 en beta).

  • Blog des développeurs et site de l'ACI ou ICA.

Références d'utilisateurs institutionnels

Utilisé par le projet OpenStreetMap, de nombreuses collectivités locales pour publier leur SIG ([CRAIG](http://www.craig.fr/), [GéoBretagne](http://www.geobretagne.fr/web/guest/le-visualiseur)) et divers projets de recherche pour publier des résultats.

Cette bibliothèque est également intégrée dans des projets plus complets comme GeoExt, GeoServer ou encore MapFish.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)
Contributions
Fiche logiciel à valider
  • Création ou MAJ importante : 19/05/11
  • Correction mineure : 19/05/11
Mots-clés
Pour aller plus loin
  • Fiches logiciel PLUME connexes : Qt

Wt : framework en C++ pour développer des interfaces graphiques pour applications web

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

Framework de développement en C++ permettant de faire des interfaces graphiques pour applications web.
Les fonctions de ce framework reprennent les principales classes graphiques du framework Qt (en remplaçant le Q par un W) de sorte qu'il est très facile de passer d'une interface en Qt à une interface pour une application Web.

Autres fonctionnalités

  • Support de la majorité des navigateurs (Firefox/Gecko, Internet Explorer, Safari, Chrome, Konqueror, et Opera)
  • Multi plateformes
  • Fonctionne avec ou sans support de JavaScript et Ajax (autant que possible)
  • Support de l'internationalisation
  • Configuration possible des variables de sessions, réécriture d'URL et cookies
  • Support de l'historique de navigation
  • Basé sur un mécanisme d'entrées/sorties asynchrones
  • Gestion des événements (souris, claviers, timers, drag & drop, javascript, ....)
  • "Painting system" (tout format d'images web supportés + SVG, HTML5 canvas, PDF, WebGL)
  • Grand choix de composants graphiques (buttons, checkbox, formulaires, calendriers, menu déroulants, multi-média, ...)
  • Sécurisé par l'utilisation de HTTPS, TLS
  • Implémentation en interne de "Object-Relational mapping" (Interaction SQL C++)
  • Environnement de test disponible

Interopérabilité

De fait de la similitude du Framework Wt avec le framework Qt, il est très facile de passer de l'un à l'autre.
Wt commence également à supporter le fomat WebGL qui permet de faire des applications utilisant OpenGL dans un navigateur Web.

Contexte d'utilisation dans mon laboratoire/service

Utilisé dans le cadre de portage d'application écrite en C++ vers des applications Web, ce framework ouvre de nouvelles perspectives. Les premiers programmes intégrant Wt dans nos applications sont au stade de développement et ne vont pas tarder à sortir (enseignement, développement Web, calcul scientifique...).

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

Bibliothèques disponibles avec le système sous Debian, FreeBSD, Ubuntu. Sinon, une compilation de cette bibliothèque est nécessaire (nécessite un compilateur C++).

Plates-formes

Linux, Mac OSX, Windows

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

Société Emweb (Belgique) : développement du framework Wt. Une version commerciale payante est également disponible.

Eléments de pérennité

Code source libre, gratuit et disponible.

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

Documentation en ligne, tutoriels et exemples, tout se trouve ici : http://www.webtoolkit.eu/wt#/documentation

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

Tester les exemples en ligne : http://www.webtoolkit.eu/wt#/examples

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