Archives pour la catégorie Informatique

A Periodic Table of Visualization Methods

A Periodic Table of Visualization Methods présente de Mendeleïve manière un aperçu des grandes méthodes de visualisation d’information complexe. On y retrouve nos préférées: mind maps, treemaps, graphes sémantiques, hype cycle, magic quadrant, diagramme d’Ishikawa, etc. Les amateurs de l’atlas de cybergéographie apprécieront. J’y ai découvert une jolie chose: les diagrammes de tenseurs (également appelés visualisations de champs de tenseurs). Joli. Utile? J’aimerais bien m’amuser avec une bibliothèque python ou java pour générer ce genre de diagrammes de tenseurs… Une fonctionnalité à ajouter à prefuse?

Déployer 40 PCs dans les banlieues

Avec des copains, nous aidons des associations de quartier de banlieues à s’équiper en informatique pour proposer toute sorte d’activités à leurs publics: aide à la recherche d’emploi, atelier création de CV, expression libre pour les jeunes, découverte de l’informatique, formation, recherche d’informations administratives, … Avec l’une de ces associations, nous avons récupéré auprès d’une entreprise 40 ordinateurs que nous allons donc prêter aux assos de quartier. Mais comment automatiser l’installation de ces PC (sous linux)? Comment en assurer la maintenance à distance? Comment en assurer la mise à jour? Bref, comment aider les associations utilisatrices à faire vivre techniquement leur informatique sans avoir à se déplacer à chaque fois dans les quartiers? Et si nous étions capables de gérer 40 PCs, pourrions-nous rêver d’en gérer 40 000 et offrir cette même aide à de plus larges populations d’associations, de bénévoles et d’habitants des quartiers sensibles? et si on passait ensuite aux besoins d’associations avec lesquelles on pourrait travailler en Afrique ou ailleurs?

Le problème est que nous sommes tous nous-mêmes bénévoles, avons un boulot ou des études le jour et une famille la nuit… Nous avons donc très peu de temps pour faire de l’administration de workstations et voulons pourtant simplifier au maximum la vie de ces assos qui n’ont pour ainsi dire aucune compétence informatique poussée. Heureusement, nous avons un peu d’expertise technique ainsi qu’une bonne infrastructure serveurs à notre disposition.

C’est pourquoi nous avons identifié plusieurs logiciels susceptibles de nous être utiles. Les connaissez-vous et avez-vous de bons conseils ou avis à nous donner? Pourriez-vous faire passer ce message à vos geeks préférés pour leur demander leurs conseils? Voici l’état actuel de nos discussions:

Mon pote JM me dit:

> Fred suggere l’utilisation de « system imager »
> pour installer un parc et le gerer a distance, ce qui est une partie des
> questions soulevée par l’usage des machine, et ainsi gagner un temps
> precieux.
>
> J’ai donc trouvé quelques lien dans google,
>
> Cela semble efficace pour faire des clones, et les maintenir.
> http://www.systemimager.org/doc/html/
> http://www.falkotimme.com/howtos/systemimager/index.php
> http://people.debian.org/~jblache/events/sl2004/talks/packages.pdf

J’ai jeté un coup d’oeil à tout ça. J’ai compris qu’il ne faut pas confondre:

  • les cloneurs ou installeurs de machine comme systemimager
  • les gestionnaires de configuration comme bcfg2
  • les utilitaires d’inventaire comme lshw
  • les progiciels de gestion de parc comme GLPI

Ils sont complémentaires (mais pas tous forcément nécessaires pour notre projet) quoique les uns empiètent partiellement sur les fonctionnalités des autres…

Dans tous les cas, puisque les associations ont divers moyens de se connecter à Internet en haut débit (ADSL, câble, …), une bonne idée semble d’équiper ces PC d’un logiciel comme OpenVPN pour être sûr de pouvoir toujours y accéder quelque soit leur configuration réseau.
Les cloneurs/installeurs les + intéressants pour notre projet associatif semblent être:

Les gestionnaires de configuration les + intéressants pour notre projet semblent être:

  • bcfg2, avec notamment ses fonctionnalités de suivi des mises à jour
  • puppet
  • cfengine est + populaire mais + lourd à mettre en place et – moderne

Les utilitaires d’inventaire les + intéressants semblent être:

Et question distribution, en évitant toute guerre de religion, nous hésitons entre:

J’ai repéré plusieurs discussions à propos des usages combinés ou comparés de certains de ces outils mais aucune ne donne un avis définitif sur la question. Et je ne suis pas sûr que les avis évoqués ici ou là correspondent bien à notre situation:

  • extrêmement peu de temps d’administrateurs système,
  • peu (ou pas) de possibilités d’intervention sur place,
  • gestion (et ré-installations?) via l’Internet et non sur un LAN, ou bien ré-installations automatiques à partir d’un CD
  • hétérogénéité matérielle: nombre et taille des disques différents d’un PC à l’autre par exemple
  • mais usages simples et « standards » de ces workstations: bureautique, Web, mail, IM, quelques jeux… plus un peu de VoIP à l’occasion notamment pour des formations informatiques à distance?

Voici les liens intéressants que j’ai parcourus:

Alors, quel est le bon choix? Quelle est la bonne combinaison d’outils pour être efficaces en prenant le minimum de temps de maintenance et la combinaison la plus rapide à mettre en place? Quels sont vos avis?

Web 2.0 architectures with Java

Here are two things to go beyond Web Services (with ReSTfullness in mind):

Take-away: beyond theory (ReST), there now are concepts (WOA) and tools (restlets) for building composite Web applications without requiring SOAP, WSDL and the whole bunch of overbloated WS-* standards that come with them.

WikiCalc: Web 2.0 spreadsheets wikified

WikiCalc is a nice piece of GPLed software that pusblishes wiki pages that are structured like Excel spreadsheets are: one can view and edit tables, modify calculation formulas in cells, manage their formatting through the web browser, etc. It brings to spreadsheets the inherent advantages of many wikis: ease of use for Web publications, ease of modification, revisions track for undoing unwanted changes by other users, RSS views on recent changes made to the page. It brings to wikis the inherent advantages of spreadsheets: live calculations, nice formatting, compliance with corporate way of thinking and managing things (will we see a WikiSlides with bulletpoints and animations in some future?). More than this, WikiCalc lets spreadsheets grab input data from external web sites and do live calculations from it: some formulas generate HTTP requests to web services in order to retrieve the latest value for a stock quote, weather forecasts, and so on. Last but not least, the flexible architecture of WikiCalc allows an offline use still via the user’s browser and a synchronization mechanism will let the online version get updated once the connection is restored.

A nice 10 min long WikiCalc screencast with audio is available here.

In a former life, I was managing a team of web project managers in a multinational industrial corporation. As my boss wanted to get simple-to-update weekly/monthly status report about every project, we had tried using a wiki page per project in order to publish and update those reports. It was tedious and not nicely formatted for a corporate environment. I imagine that a nice immediate use of WikiCalc would be to let small project teams update project status reports on an intranet, including nicely formatted timelines and budget indicators. It would still maintain the update effort at a minimal and convenient level and would preserve the wiki flexibility of linking to the project documentation and resources.

We knew structured wiki pages for managing forms or category schemes. WikiCalc introduces spreadsheet structures while preserving the open and unstructured spirit of wikis. Next steps for future wikis would be to allow semantic structures to be managed the wiki-way, like in some early semantic wiki prototypes. [update: see Danny Ayers blog entries on how WikiCalc could relate to the Semantic Web vision]

How to video-record what’s happening on your screen? (screencasting)

Here is a nice piece of software for creating screencasts (video recordings of what you can see and do on your screen, for instance for demonstration or training purposes): pyvnc2swf. It is an open source package, running on both Linux and Windows. It requires that you first install:

You then install pyvnc2swf and launch it with a command line such as: c:\Python24\python.exe vnc2swf.py -o test.swf localhost:0 This will launch a nice small GUI from which you can start and stop your recording. This package also provides edition utilities so that you can edit or convert the video file that is created. Several video formats are supported.

In order to protect your machine and prevent any hacker to use your VNC server to take control of your computer, go to VNC options (tightvnc: right click on the tray icon, then « properties » and « Advanced » button for advanced options) and make sure that:

  • you setup a secure password (long enough, with letters, numbers and special characters)
  • you allow loopback connections (connections from your local machine)
  • you ONLY allow loopback connections (refuse any connection coming from anywhere else)
  • you select « query console for incoming connection » so that a popup window will ask for your confirmation everyonce someone (maybe yourself using pyvnc2swf) tries to connect to your VNC server to see (and maybe control) what’s happening on your screen

Combien de temps pour craquer votre mot de passe?

Combien de temps faudra-t-il à un pirate pour deviner votre mot de passe? Avec un PC rapide et dans de bonnes conditions, il lui suffira de 30 secondes si votre mot de passe ne contient que 6 lettres, toutes en minuscules. Si vous avez mis des majuscules et des chiffres dans votre mot de passe de 7 caractères, il faudra 4 jours de calcul. Si vous passez à un mot de passe de 8 caractères contenant lettres majuscules et minuscules, chiffres et signes de ponctuation, il lui faudra tout de même 23 ans… à moins qu’il ne s’agisse d’un gouvernement ou d’une organisation équipée d’un super-calculateur, auquel cas 83 jours de calculs intensifs en viendront largement à bout!

L’Etat, mauvais client

Cette chronique de Bertrand Lemaire (LMI) au sujet des appels d’offres des marchés publics de l’Etat m’a rappelé combien les administrations centrales gèrent mal leurs décisions d’achat. Les administrations centrales de l’Etat, d’une manière générale, me semblent être des organisations bien malades, souvent bien plus malades que les bureaucraties privées. Leur difficultés à acheter des prestations informatiques n’est qu’un symptôme parmi tant d’autres. Les SSII qui font affaire avec elles sont peut-être à plaindre mais elles y trouvent quand-même leur compte. C’est surtout les fonctionnaires qui y travaillent et les citoyens qu’ils sont sensés servir que j’aurais tendance à plaindre. Pauvres de nous…

Davantage d’offres d’emploi pour les informaticiens en France

+28% en 2005, +34% à +46% prévus en 2006, c’est le nombre d’offres d’emploi pour informaticiens en France. Fin 2005, près d’un tiers des offres de recrutement de cadres concernaient des informaticiens, surtout en SSII. Et la demande est particulièrement forte pour les chefs de projet avec un profil plutôt « business » et les programmeurs et architectes Java ou .Net. Les causes? Départs à la retraite de nos anciens et baisse du nombre de diplômés en informatique. Ca devrait être bon pour mon porte-monnaie, tout ça.

Les mashups

Les mashups, c’est cette activité très à la mode (« Web 2.0 ») qui consiste à combiner (agréger) des services Web existants pour en faire un « mashup » à votre sauce et développer ainsi un nouveau business. Il existe autant de mashups possibles que de combinaisons de services Web.
Problème pour l’opérateur de site Web qui envisage de publier un service Web: est-ce que cela va me rapporter de l’argent ou ne vais-je pas, au contraire, perdre du traffic direct et donc des revenus publicitaires? Matt McAlister s’est penché sur la question.

InfoCards: bien ou mal ?

On se souvient de Microsoft Passport et du rejet de cette technologie par la communauté des développeurs. Microsoft revient à l’assaut avec les InfoCards qui seront présentes dans IE 7, Active Directory et Windows Vista. Techniquement, cette solution paraît beaucoup plus intéressante et plus respectueuse de la vie privée. Son inventeur, Kim Cameron, est connu pour être l’un des inventeurs des méta-annuaires (à l’époque où il était CTO de ZoomIt). C’est LE gourou de la gestion d’identité. Il a proposé les 7 « lois » de l’identité qui forment le cahier des charges du système de gestion des identités idéal : viable, fiable et respectueux de la vie privée. Bref, c’est quelqu’un dont on peut penser beaucoup de bien. Pour en savoir plus, rien ne vaut un bon petit podcast de chez IT conversations.
Pour autant, son invention doit susciter la méfiance. Que va en faire Microsoft ? Comment Microsoft va-t-il l’utiliser pour asseoir sa domination sur l’industrie informatique ? Encore une bonne techno promise à un succès commercial qui fera grincer les dents des développeurs libres ? Il faut le craindre.

Mise en relation par le web sémantique

Le projet européen de recherche Vikef vise à développer des technologies de mise en relation de personnes grâce aux technologies du Web Sémantique. Principale application envisagée: la mise en relation de professionnels dans des salons et de scientifiques lors de conférences. Lancé en avril 2004, le projet prendra fin en mars 2007. Ce projet est mené notamment par Xerox, l’insitut Fraunhofer et Telefonica.
Spontanément, je ne peux m’empêcher de me réjouir d’un tel projet et de m’inquiéter de l’utilisabilité des applications qui vont en découler: va-t-on demander aux utilisateurs de modéliser leurs centres d’intérêts? Ca ne me paraît pas très réaliste. Je demande à voir !

$64 million for the NSA to mine through social networks of terrorists (and US citizens ?)

It seems like the NSA is conducting a 3,5 years long $64 million worth research program on data mining maybe based on the eavesdropping of domestic and foreign phone calls and email exchanges. This program is called NIMD which stands for Novel Intelligence from Massive Data. Their approach is said to be based on the analysis of the social networks of people communicating one with another.

Invention d’un système de coaching automatique sur téléphone mobile

[Ceci est le résumé de l’une de mes réalisations professionnelles. Je m’en sers pour faire ma pub dans l’espoir de séduire de futurs partenaires. Plus d’infos à ce sujet dans le récit de mon parcours professionnel.]

En 2005, le projet de recherche informatique MobiLife, mené conjointement par 22 entreprises et universités européennes, dispose d’un logiciel pour téléphone mobile qui permet à un sportif de visualiser son contexte d’entraînement : rythme cardiaque, lieu, heure… En tant qu’ingénieur de recherche, je suis chargé d’inventer un système exploitant ce type de données pour offrir à l’utilisateur des recommandations personnalisées et dépendant du contexte. Je propose aux partenaires un scénario utilisateur qui est accepté puis j’en supervise l’implémentation. J’implémente une partie du système côté serveur (J2EE) et côté téléphone (J2ME). L’application devient ainsi capable d’apprendre les habitudes d’entraînement du sportif, bonnes ou mauvaises, de prédire ses prochains choix d’exercice, de les comparer à ce que recommenderait un entraîneur expert dans les mêmes conditions et, sur cette base, d’alerter le sportif par des petits clips videos personnalisés sur son téléphone : « Attention, il est tard et après 2 exercices de course sur le tapis roulant, vous avez habituellement tendance à trop forcer sur l’exercice suivant ; vous devriez plutôt passer sur le vélo pour un exercice de difficulté moyenne de 10 minutes« . Le système inventé est transposable dans d’innombrables situations de mobilité : coaching alimentaire, formation continue, gestes pour l’environnement, guides touristiques,… A l’occasion d’une journée portes ouvertes des laboratoires Motorola, j’organise la démonstration de cette application devant 40 journalistes et analystes européens.

Critiques du web sémantique

Le Web Sémantique est l’objet de nombreuses critiques. On reproche principalement à cette vision technologiste son manque de pragmatisme. Voici les références de deux articles illustrateurs de ces critiques.

Clay Shirky soutient que la gestion d’ontologies n’est pas une sinécure et que les technologies de « social tagging »/ »folksonomies » sont une alternative beaucoup plus adaptée à l’Internet que ne l’est la vision du Web Sémantique des spécialistes des ontologies. Selon moi, l’alternative proposée (le social tagging) est bonne mais la critique anti-ontologies est exagérée car je ne pense pas que la vision de Tim Berners-Lee du web sémantique soit autant portée sur une modélisation ontologique top-down des connaissances que l’on veut bien le dire. Bref, pour moi, la solution d’avenir ce serait quelque chose du genre « semantic social tagging ». Cet article est un bon point de départ pour découvrir les folksonomies, comparées à la modélisation ontologique des connaissances.

Sur un ton plus comique, on peut trouver une libre reprise d’un sketch des comiques anglais « Monty Python » qui se moque de l’approche top-down des spécialistes du web-sémantique ; la critique est aisée depuis que Tim Berners Lee a été adoubé chevalier par la reine d’Angleterre… Elle n’en reste pas moins tout à fait amusante et intéressante.

Au passage, je vous suggère une manière simple de se représenter le web sémantique : imaginez que le web devienne non pas simplement un gros document hyper-texte mais également une grosse base de données. Avec le web sémantique, les applicatifs (agents ou non) pourront « librement » traiter des données produites par d’autres applications.

How to ReSTfully Ajax

Here are some pointers for learning more about the Ajax programming model and how to properly design your Ajax application :

While I am mentionning the Representational State Transfer (ReST) architecture style, here are some additional and valuable resources on this topic :

Publications, brevets et innovations en tant que chercheur aux Motorola Labs

[Ceci est le résumé de l’une de mes réalisations professionnelles. Je m’en sers pour faire ma pub dans l’espoir de séduire de futurs partenaires. Plus d’infos à ce sujet dans le récit de mon parcours professionnel.]

En 2005, je rejoins les laboratoires de recherche appliquée de Motorola. Je prends la direction de l’équipe française en charge des systèmes de raisonnement et d’apprentissage automatiques pour la personnalisation des contenus et applications mobiles. En deux ans, je co-écris 1 livre technologique cofinancé par l’Union Européenne, 2 brevets et 3 publications académiques. En tant que représentant de Motorola au pôle de compétitivité Cap Digital, je rencontre les dirigeants de plusieurs jeunes entreprises innovantes parisiennes et, sur la base de ces partenariats possibles, je propose à ma hiérarchie 6 projets d’innovations. Je propose une dizaine de projets d’innovation pour notre incubateur interne « Early Stage Accelerator » et j’obtiens le feu vert et un coach pour démarrer l’incubation de 3 de ces projets dans les domaines de la publicité personnelle non invasive, des guides interactifs de programmes TV et de l’édition de contenus personnalisés pour téléphones. Malheureusement, suite aux mauvaises ventes de téléphones en Inde et en Chine, Motorola se restructure et ferme peu après tous ses centres de recherche en Europe.

Comparator

Comparator is a small Plone product I recently hacked for my pleasure. It’s called comparator until it gets a nicer name, if ever. I distribute it here under the GNU General Public License. It allows users to select any existing content type (object class) and to calculate a personnalized comparison of the instances of this class. For example, if you choose to compare « News Items », then you select the news items properties you want to base your comparison upon (title, creation date, description, …). You give marks to any value of these properties (somewhat a tedious process at the moment but much room for improvement in the future, there). Comparator then let’s you give relative weights to these properties so that the given marks are processed and the compared instances are ranked globally.

It’s a kind of basic block for building a comparison framework, for building Plone applications that compare stuff (any kind of stuff that exists within your portal, including semantically agregated stuff). Let’s say that your Plone portal is full of descriptions of beers (with many details about all kinds of beers). Then adding a comparator to your portal will let your users give weights to every beer property and rank all the beers according to their personal tastes.

Comparator is based on Archetypes and was built from an UML diagram with ArchgenXML. Comparator fits well in my vision of semantic agregation. I hope you can see how. Comments welcome !

Le bidouilleur mobile a toujours tor

Actuellement, je suis pas mal en déplacement. Aujourd’hui, j’arrive dans une salle informatique en libre-service d’une entreprise et j’essaie de me connecter au Net avec mon portable.

Première chose à faire, trouver de l’électricité car ma batterie est à plat. Pas de problème, je débranche un écran et lui pique sa prise. Je le remettrai en partant comme j’aurais aimé le trouver en arrivant, bien sûr. :)

Ensuite, il me faut du réseau. OK, je vérifie que les postes sont configurés en DHCP et je pique une prise RJ45 au poste devant lequel je suis. Ca marche, mon portable est accepté par le réseau local. L’administrateur réseau m’avait bien sûr donné son autorisation pour cette opération…

Maintenant, passons aux choses sérieuses : accéder au Net. Visiblement, les postes de cette salle ont des Internet Explorer qui sont configurés sans proxy. Effectivement, depuis mon portable, en désactivant le support proxy de mon Firefox, j’accède au Web sans encombre.

Oui, mais comment relever ma boîte aux lettres en POP ? Il y a un firewall qui montre les dents entre le Net et moi. Thunderbird m’insulte en me disant qu’il s’est fait jeter et que le cerbère de service refuse de le laisser sortir du réseau.

Heureusement, en bon bidouilleur mobile, j’ai mon routeur à l’oignon préféré, à savoir TOR. Je lance donc Tor sur mon portable. Celui-ci arrive à se faufiler par-dessus le firewall et m’ouvre un accès au monde extérieur. J’indique à Thunderbird d’utiliser Tor en tant que proxy SOCKS. Pas de problème, me voici sur le Net en POP !

Idem si je veux accéder à la TV ou la radio en ligne avec Winamp, je configure Winamp pour attaquer un proxy HTTP que j’installe sur mon portable (Privoxy). Et ce proxy relaie mes paquets de communication vers Tor en tant que proxy SOCKS.

Plus fort encore, votre firewall bloque les accès Web ? mais vous avez un proxy SOCKS d’entreprise qui peut vous ouvrir votre accès au Net ? Vous pouvez alors « socksifier tor » grâce à un petit utilitaire du style FreeCap et faire ainsi de belles acrobaties de bidouilleur mobile. Par contre, vous veillerez encore une fois, auparavant, à demander à votre administrateur réseau l’autorisation de faire de telles acrobaties. Il se pourrait qu’elles fassent hérisser les cheveux sur la tête d’un responsable local de la sécurité informatique trop zélé. Attention à ne pas vous mettre en TORT !

Bref, Tor, voila un joli joujou pour vous assurer une meilleure connexion au Net même dans des réseaux trop contraints. Bravo à l’EFF.