dimanche 28 juin 2009

Un air d'opéra

Une nouvelle version (opéra unité v10) du navigateur OPERA est disponible. Cette version a la particularité d'embarquer une serveur HTTP web.
C'est à mon avis une idée intéressante mais à qui pose deux problèmes.

a) La sécurité
Tous les administrateurs Apache savent que le gros du travail d'administrateur est de configurer le serveur pour résoudre ou anticiper des problèmes de sécurité.

b) Le protocole
Le protocole http n'est pas le protocole le plus adapté à une utilisation en Peer to Peer.

De surcroit l'amalgame du serveur dans le client pose un tout bête : Il suffit de profiter d'une faille de securité du serveur pour pénétrer dans la machine et l'infecter. Comment recuperer dans ce cas une version 'propre' avec un client contaminé. Ce type de mariage est interressant dans le cadre d'un logiciel opensource.

samedi 20 juin 2009

Cubes MONDRIAN et ses clients

Dans l'informatique décisionnelle, les cubes sont des composants importants. Ils permettent de visualiser les données suivant des dimensions prédéfinies et de réaliser des transformations. Il est possible de 'creuser' les données jusqu'au niveau de détail , de les faire pivoter autour d'axes temporels ou géographiques.
Dans le domaine du logiciel libre MONDRIAN est le projet phare pour l'agrégation des données en cube. Si MONDRIAN fournit cette structure en cube, il faut lui adjoindre un programme qui lance des requêtes sur ces cubes et qui en restitue les résultats.

Exemple de cube :


Les requetes
Le SQL n'est pas aussi puissant ni adapté pour une structure multi-dimensionnelle, Le langage MDX (Multidimensional Expression) est utilisé comme interface d'interrogation.
Exemple de requête MDX :

SELECT { [Measures].[Store Sales] } ON COLUMNS, { [Date].[2002], [Date].[2003] } ON ROWS FROM Sales WHERE ( [Store].[USA].[CA] ) (source wikipedia)

Il est à noter que le langage MDX a été spécifié par un employé de Microsoft.
Le langage MDX peut etre encapsulé dans du XML devenant ainsi du XML/A (A pour Analyse)

Mondrian est donc un serveur de requete MDX et XML/A. Il transforme une requetes MDX en une série d'instruction SQL pour fournir un cube en réponse.
Mondrian est donc un moteur R-OLAP (R pour relationnel).

Les moteurs OLAP.

On distingue 3 familles de moteur OLAP: les R-OLAP , les M-OLAP et les H-OLAP

  • Les R-OLAP : Relational Online Analytical Processing , ils s'appuient sur des bases de données relationnelles pour produire les cubes. Pour obtenir des temps de traitement corrects,il est nécessaire de recourir à des tables dites 'pivots' (en étoile ou en flocon) . Un pivot représentant un axe du cube (exemples: l'axes temporel , l'axe géographique )
Une table pivot contient une série de clé étrangère et des données agrégées.

Mondrian qui est de type R-OLAP propose d'utiliser en plus des "tables d'agrégation" contenant des données déja pré-calculeés. Le but étant toujours d'obtenir des temps de réponse corrects.

  • Les M-OLAP : Multidimensional Online Analytical Processing. Dans ces moteurs, les cubes ne sont pas issus d'une base de données relationnelle mais directement d'un système capable de stocker et de restituer des données multidimensionnelles. Une requete MDX ne générera pas de SQL.

  • Les H-OLAP : Hybrid Online Analytical Processing. C'est une combinaison de deux modes précédent. Le cube, issu d'une agrégation de table relationnelle est stocké pour restitution dans un format plus adapté à l'analyse multidimensionnelle.
Les clients OLAP.
Le rôle du client est de générer de requêtes MDX ou XML/A , d'afficher le cube résultat et d'offrir des outils de manipulation des cubes.

JPIVOT
Il existe plusieurs projets open-source de client OLAP dont le plus connu est jpivot (suivre ce lien vers le projet).

Voici une copie d'écran de jpivot:


Une description des modifications du cube est donnée sur le blog de cedric Carbone (suivre le lien ici).

(extrait de l'article)



1e : Ajouter ou enlever des champs
2e : Editer la requete MDX
3e : Trier
4e : sauvegarde (dans spago BI uniquement)
5e et 6e :fusion de colonne
7e : a completer
8e : Supprimer des lignes blanches
9e : Intervertir les lignes et les colonnes
10e 11e 12e 13e: Drill (zoomer ,agreger,detailler)
14e 15e : Générer des graphismes
Les 3 derniers icônes permettent de définir les options d’impression PDF et d’exporter en PDF ou en XLS (MS Excel ou openoffice).

JPIVOT est avant tout une librairie de TAG JSP et c'est à l'administrateur de développer son interface graphique.

JPALO



Jpalo est une surcouche à jpivot. Il est moins puissant que ce dernier.

Il est aussi disponible en plugin Eclipse



Pentaho Analysis Tool (PAT)

Outil proposé dans la suite BI Pentaho, il est possible de le faire fonctionner sans Pentaho.


Le projet n'est pas très actif (suivre ce lien).

Jrubik

(site du projet)

Basé aussi sur les librairie de jpivot, son architecture est la suivante:




Quelques exemples







Le client à construire: rpivot
.

Il serait possible de faire une synthèse des projets suivants en proposant l'architecture suivante:

La partie restitution: Rails (exemple rpivot) : Cette interface permettrait de generer des requete XML/A vers un serveur Mondrian. Avec une bonne dose d'AJAX pour les fonctions de mise en forme et de navigation.


La partie protocole : XML/A

La partie cache: L'utilisation de couchDB comme système de cache aurait deux objectifs: Transformer MONDRIAN en modèle Hybride sans toucher au coeur du produit. Pour cela c'est la partie cliente qui serait responsable de la gestion du cache. En plus couchDB par le biais de ses procédures embarquées pourrait servir à faire des calculs locaux (moyenne) . CouchDB propose des fonctions comme MAP et REDUCE.

Rando rollers

Vendredi soir c'était le friday fever : la rando rollers du vendredi soir : 22h à 1 h du matin.
article dans le blog suivre le lien
Après deux ans d'interruption, la rando de reprise fut très physique. La pause était à Hippodrome de Longchamp (circuit de 27 km) mais n'a duré que 10 minutes. On a roulé quelques kilomètres dans l'obscurité totale dans le bois de boulogne.

Nous étions avec charly , vincent et un autre eric et 10.000 personnes.



Le départ:
dscn1241

dscn1242


La tour eifel:

dscn1244

dscn1246

lundi 15 juin 2009

Première expérience avec etherpad


J'ai utilisé dans le cadre de mon travail le site collaboratif eherpad (suivre ce lien).Ce site permet de rédiger collectivement un document. Chaque participant possède sa couleur de police permettant ainsi de suivre les modifications de chacun. J'étais au téléphone avec mes correspondants pendant la rédaction du texte.
Il est possible à la fin d'exporter le document en html,pdf ou en format texte. Un système de versionning est proposé. Le site est gratuit.

Conclusion: c'est amusant et très utile, il faudrait pouvoir visualiser le curseur des autres participants.
Google wave reprend se principe.

Le coup de golf le plus célèbre




Pour certain c'est celui de A.Shepard lors de la mission Apollo 14.
La video est ici (suivre le lien).
Sa tête de fer 6 est monté sur un manche utilisé pour ramasser des échantillons lunaires.
Pour moi le plus fameux est celui de Ben Hogan (fer 1) :C'est le coup ultime.

mardi 2 juin 2009

Les Choristes version allemande

Ce week-end , Villiers sur Marne recevait des allemands de Friedberg et des anglais de Bishop stortford dans le cadre des accords de jumelage.
Nous avons hébergé Jurgen Wagner un journaliste au Wetterauer-zeitung et accessoirement Choriste de BAD Nauheim

Nous avons fait de la WII , nous avons assisté à deux concerts avec les choristes.
Le dernier jour nous sommes allé en ballade à partir du Parc du plateau jusqu'aux bords de Marne.




dscn1213


dscn1215


Le jour du retour en allemagne

Mr Benisti maire de Villiers était là , j'en ai profité pour pour lui glisser un mot sur la préoccupation des habitants du quartier du Bois de Gaumont suite à la suppression de la navette RATP
dscn1218

dscn1216


L'ancienne institutrice des enfants était là :
dscn1219


L'apres midi nous sommes retourné aux bords de marne en rollers

dscn1224


Francine et thierry nous avaient fait un plan de parcours :
dscn1221

Sinon des idées de balade sur ce lien et un plan :