Archives de l’auteur : Jean Millerat

Usages des technologies du web sémantique

L’éditeur Intellidimension (dont on peut regretter que les très intéressants produits constituent une offre tellement fermée qu’elle ambitionne de remplacer les environnements d’exécution du type PHP), présente un rapide panorama des principaux usages des technologies du Web Sémantique : l’intégration de l’information d’entreprise (EII), les portails d’information d’entreprise (EIP), la GED, la business intelligence, la syndication de contenus, l’agrégation d’actualités, les carnets Web, les outils de Personal Information Management.

Des téléphones-appareil photo pour scanner des codes-barres

Network Edge signale que plusieurs éditeurs logiciels proposent des solutions pour transformer votre téléphone portable-appareil photo numérique en scanneur de codes-barres. De multiples applications en perspectives, impliquant la collaboration d’éditeurs de contenu, à commencer par le marketing produit dans la distribution : dans un magasin, vous scannez avec votre téléphone portable le code-barre d’un produit que vous envisagez d’acheter et le fabriquant ou le distributeur vous propose des informations produits complémentaires voire vous recommande d’autres produits, etc.

Sortir de Microsoft Access

Comment extirper le contenu (tables, requêtes, formulaires, états, macros, modules, …) d’une base Access pour le faire migrer vers une base plus saine en vue d’en faire une appli Web ? Il existe plusieurs logiciels qui permettent d’effectuer l’opération d’export :

  • MDBTools, logiciel libre (licence GPL) en version beta, fonctionne sous linux
  • DBTools, freeware qui permet d’importer dans MySQL des schémas et données provenant d’Access, sans requérir de connexion ODBC
  • MySQLFront, freeware similaire à DBTools, permet d’importer des schémas et données dans MySQL, requiert une connexion ODBC à Access, mais ne serait plus supporté par son auteur
  • Access converter, Java Edition, 695$, convertit en Java les macros, modules et autre code VB d’une application Access, convertit les états Access en états Crystal Reports, mais ne semble pas faire migrer les tables et requêtes
  • Access to MySQL v.1.5, shareware à 39.85 $, fonctionne sous Windows, n’extrait que les tables (et sans les jointures), importe le schéma dans une base MySQL
  • MyAccess, shareware. de 30$, add-in pour Access qui convertit le schéma de données en schéma MySQL à condition de disposer d’une connexion ODBC vers la base MySQL cible, ne semble faire migrer que les tables et peut-être les requêtes

Une explication de la problématique de migration d’applications Access est proposée ici. Voir aussi ceci.

Ontology Works

« Ontology Works » fait partie de ces quelques éditeurs de logiciels pionniers dans l’intégration sémantique de données. Cette société commercialise une boîte à outils composée de :

  • un environnement intégré de développement d’ontologies
  • un « fédérateur » dont la fonction est de router des requêtes vers les différentes bases de données intégrées dans le dispositif, à la manière d’un « bus de connaissances »
  • un système de base de données dit « déductif » (et non relationnel) privilégiant la flexibilité et le support des natifs des ontologies à la performance
  • un générateur de schémas de données pour bases relationnelles de manière à rigidifier sous une forme performante (relationnel) un modèle de donnée incarnant des ontologies et donc accessible facilement depuis le « bus de connaissances »
  • un « médiateur » rendant une base relationnelle existante accessible depuis le fédérateur de requêtes (bus)

Cette boîte à outils est un étrange mélange entre d’une part des outils ressemblant aux modélisateurs et générateurs de code à la Rational Rose et d’autre part des composants rappelant les moteurs de jointure et connecteurs des méta-annuaires.
Je regrette qu’il ne s’agisse que d’une boîte à outils « pour l’entreprise » qui suppose notamment que l’entreprise utilisatrice hiérarchise ses ontologies comme autant d’extensions locales d’une ontologie globale. Le dispositif n’est pas apparemment pas conçu pour faciliter le traitement des incohérences ou des contradictions entre ontologies. Par ailleurs, Ontology Works semble faire un usage abusif du terme « OWL ». Chez eux, OWL désigne un « Ontology Works Language » qui n’a peut-être rien à voir avec le « Ontology Web Language » du W3C. De plus, l’offre de cette société semble s’ancrer directement sur XML, sans passer par la case RDF. Ceci explique-t-il cela ?
Pour en savoir plus sur l’offre d’Ontology Works et les concepts tels que le « bus de connaissances », l’intégration sémantique de données, les caractéristiques des bases de données déductives et le rôle de la gestion d’ontologies dans l’entreprise, la foire aux questions de cette société se révèle une source d’information très didactique.

Cartographie de concepts

Certaines grandes entreprises s’intéressent à la cartographie de concepts… sujet qui commence à être à la mode apparemment mais reste en pratique bien souvent du domaine du gadget avec une tendance à l’évolution vers un outil de travail sophistiqué pour analystes professionnels de l’information (mais l’intérêt pratique et la praticité elle-même restent à démontrer). Toujours est-il que pour en savoir plus, outre les liens que j’avais déjà mentionnés, il peut être bon d’aller faire un tour du côté des outils froids du Web, qui consacre un « billet » récent à ce sujet.
Et puis, tant que j’y suis, je vous mets ci-joint des joujoux personnels. L’image ci-dessous est un exemple de cartographie 2D, sans légende, d’un graphe (de concepts, de carottes, de choux, de triplets, de ce que vous voulez…). Les « montagnes » (zones claires) indiquent des régions du graphe qui sont fortement connectées les unes aux autres. Les « vallées » (zones foncées) indiquent des ensembles de liens qui établissent des ponts entre des paquets de noeuds denses mais distants les uns des autres. Cette image est produite par un logiciel que j’ai développé (il y a longtemps) sous Delphi. Le graphe est spécifié sous la forme d’une base de données Paradox (une table pour décrire les noeuds, une autre pour les liens). Et le fonctionnement du logiciel est le suivant : à partir d’un graphe, il produit une cartographie 2D et permet de localiser chaque noeud du graphe sur cette cartographie par un simple survol de votre souris. En effet, lorsque vous déplacez votre souris sur la carto 2D, dans l’interface du logiciel, celui-ci vous indique quels sont les noeuds présents dans la région que vous survolez.
Seul problème : le logiciel n’est pas packagé ; donc pour le faire fonctionner, il faut installer le Borland Database Engine et configurer un alias de base de données dont je ne me souviens plus ; en pratique cela signifie qu’on ne peut le faire fonctionner que si on a Delphi et qu’on sait regarder le source sous Delphi pour configurer DBE comme il faut. Donc je vous prie de trouver le source de ce logiciel intitulé « visurezo » dans le ZIP ci-joint, le tout distribué sous licence GPL.
L’algorithme que j’avais inventé et implémenté dans ce logiciel est connu ailleurs sous le terme de représentation en « treemap ». Cette idée de treemap a été également inventée par ailleurs par d’autres que moi (implémenté notamment dans le très utile utilitaire Sequoiaview). Il s’appuie également sur une implémentation non orthodoxe d’un algorithme classique de lissage elliptique. Le tout agrémenté d’un calcul de densité de frontières, avec un peu d’astuce, d’espièglerie (c’est la vie de … ?). Je résume l’algorithme général : à partir d’un graphe quelconque, on le cartographie en 2D par une treemap, on représente la densité de frontière entre unités élémentaires de la treemap, on applique un lissage elliptique et hop, le tour est joué on obtient une carte 3D projeté sur 2D et représentant les paquets denses de noeuds du graphe. Vous pigez ? Non, c’est pas grave… Ca m’a fait plaisir d’étaler ma pseudo-science. :)
Donc si cette description et l’image à côté vous intéresse, si vous avez une version de Delphi sous la main et que vous avez envie d’en savoir plus, n’hésitez pas à me contacter pour des informations supplémentaires, si besoin. Et faites-moi savoir si jamais vous arrivez à faire tourner le bidule, ça me fera plaisir !
Exemple de cartographie 2D d'un graphe

Tout sur les crédits relais

Encore une info immobilière dont j’ai besoin en vue de mon déménagement : tout savoir sur les crédits relais. Voici une liste d’articles à ce sujet :

Formations Python/Zope/Plone

En 2004, une série de formations Python/Zope/Plone est organisée sur quatre continents par une coallition de huit sociétés prestataires de services spécialisés dans ces technologies. Le cursus complet représente 15 jours pleins (depuis l’initiation Python jusqu’au développement avancé avec Zope et Plone). Les pays dans lesquels ce cursus sera enseigné sont l’Afrique du Sud, la Suisse, l’Allemagne, le Danemark, Irlande, la Grande-Bretagne, l’Australie et les USA (Californie). Ces formations auront lieu, pour la plupart, dans le premier semestre 2004.

How to aggregate news from wiki sites

Wiki engines often provide RecentChanges pages that list the wiki pages that were recently modified on a given site. These wiki engines progressively include a syndication feature that publish a RSS feed reflecting this RecentChanges content. But they may not implement syndication properly. Therefore, in a discussion about the ZWiki engine syndication feature, I posted the following enhancement request :

This is an enhancement suggestion for the RSS feeds above (I don’t
feel confident enough in my Zope/Zwiki skills to implement it right
now, and I am a little bit to lazy to do it…). My suggestion is
that, in these feeds, the URL of an RSS item should not be the URL of
the wiki page but the URL of the last historical revision of this
page.
Example : when the page MyPage has been modified, the RSS file should
not link to http://www.mysite.com/MyPage but to
http://www.mysite.com/MyPage/HistoricalRevisions/850.15891.51176.22809
Explanation : The current RSS feeds (see above) link to MyPage. Let’s
say that 5 users change MyPage in the morning of a given day. The
problem is that my RSS aggregator will check the RSS feed, let’s say,
once a day at noon. Then, my RSS aggregator will link to MyPage and
may provide a link to the latest diff of MyPage. It is OK. But, during
the afternoon, 5 additional users come and further change MyPage.
Then, when my RSS aggregator checks the RSS feed again (the day
after), it will not notice that further changes have happened to
MyPage ! The current RSS feed does not allow the aggregator to detect
that new changes have happened because the current RSS feed is not
using the proper resource. The current resource used is the page
itself whereas the paradigm of syndication/aggregation suggests that
the proper elementary resource is the message (the revision or the
diff itself). Or the users of aggregators may not be notified of
recent changes of the wiki resources. And wiki pages will only appear
in a given aggregator once during their whole life. Further changes
may be ignored by the aggregator (because it may say : « I already have
aggregated this URL before ») which is not a good thing and which is
not the fault of the aggregator !
What do you think ?

Another step toward a semantic wiki / bliki / bloki / wikilog

De la vraie science entre midi et deux !

Lorsque je mange un sandwich entre midi et deux (c’est pas bon pour la santé, je ferais mieux d’aller systématiquement à la cantine avec mes collègues), quel grand plaisir que de pouvoir, certes, lire le Dilbert du jour mais aussi de pouvoir regarder une émission de TéléSavoirs, que ce soit un point de situation sur l’exploration martienne ou un exposé sur la modélisation du temps dans le cadre de la physique quantique !
Et puis, ça permet de frimer auprès des collègues : « savais-tu que Poincaré avait inventé la théorie de la relativité presqu’en même temps qu’Einstein ? » ou bien encore « tu as vu, mon café refroidit plus vite que l’univers selon la théorie classique de la cosmologie générale… » ou encore « tu te rends compte : la cosmologie, lorsqu’elle rencontre la physique des particules donne-t-elle vraiment lieu à une théorie de la cosmogonie » et autres sujets loins de la bottom line…

Le capital risque au service du développement durable et de l’innovation sociale

Le Club Professionnel Entrepreneuriat Social de l’ESSEC a organisé une conférence sur le thème du « capital-risque au service du développement durable et de l’innovation sociale ». On y cite la société de capital risque « Afrique Initiatives » de Michel Rocard, la « Société d’Investissement France Active » d’Edmond Maire et l’association à but non lucratif américaine Ashoka. Ces organismes s’inspirent du fonctionnement des sociétés de capital risque « classiques » mais financent des projets de création d’entreprise, en général qui permettent de :

donner priorité aux plus démunis, pour autant qu’ils aient un projet simple, modeste, mais qui tienne la route à terme et soit viable économiquement

L’agrégation de contenus raconté par la FING

La Fondation Internet Nouvelle Génération a publié une interview de deux promoteurs francophones des technologies informatiques de syndication puis d’agrégation de contenus (formats RSS). Quelques extraits :

…les agrégateurs de news sont en train de modifier notre façon de collecter et d’organiser l’information numérique.

Les gros sites d’information n’ont pas à s’inquiéter s’ils se contentent de mettre les titres et résumés des articles dans leurs sources RSS. Les lecteurs doivent toujours aller sur le site Web pour lire l’article, et les publicités affichées sur le site. Les éditeurs doivent donc saisir l’opportunité de tester sans grand investissement une source RSS sur une zone de leur site. RSS est si simple à mettre en oeuvre que ça ne sert à rien de tergiverser pendant des mois, essayez et analysez l’impact

RSS constitue une alternative aux newsletters email :

Avec RSS, […] c’est l’utilisateur qui contrôle son abonnement. […] vous pouvez surveiller les actualités d’un volume de sites beaucoup plus important. Ceci sans le stress associé aux emails. […] Les newsletters email sont […] de plus en plus vécues comme une agression […]

Et la boucle de la production-syndication-agrégation de contenus est bouclée grâce aux carnets web :

Grâce à RSS, chacun peut en effet à la fois publier sa propre source d’informations et s’abonner à d’autres sources.

Copyleft : Les documents libres

On connaissait les logiciels libres (open source), appelés ainsi car leur licence d’utilisation privilégie leur liberté d’utilisation (ni frais d’acquisition, ni abonnements, mais aussi droit de redistribuer et surtout de modifier le logiciel) au détriment de la possibilité d’un profit sous la forme d’une vente de leurs licences d’utilisation. Le mouvement « open source » a également gagné le terrain de la presse et de l’édition, avec la création de licences de distribution « libre » comme la licence « Creative Commons ». L’idée est simple : dans le cadre du droit d’auteurs, les auteurs d’un document ou ouvrage autorisent leurs lecteurs à copier, modifier et redistribuer ce contenu comme bon leur semble… à condition de le redistribuer également sous une licence de type « open source » (ces conditions peuvent varier). La licence Creative Commons est la transposition au monde de l’écrit de la licence GPL du monde informatique.

Comparaison des éditeurs HTML WYSIWIG en ligne

Les éditeurs HTML WYSIWIG (What You See Is What You Get) en ligne sont des logiciels qui permettent à des utilisateurs de mettre en forme des pages Web simplement à l’aide de leur navigateur Web habituel, sans avoir à installer de produit sur leur poste de travail (sans avoir à installer des produits tels que Dreamweaver de Macromedia par exemple). Pour faire plus simple, on appelle ces logiciels, des éditeurs TTW (Trough-The-Web). Cette étude universitaire compare les meillleurs éditeurs TTW actuels, parmi lesquels le fameux Epoz.

Le meilleur / le pire de la gestion de contenu

CMSWatch a établi une synthèse des principales fonctionnalités attendues pour un logiciel de gestion de contenu et a attribué des mentions aux principaux produits du marché. Pour prendre deux produits que je connais, voici ce qu’il en sort :

  • Teamsite d’Interwoven : bon en « services de bibliothèques », et en dynamisme du club des utilisateurs, mauvais en gestion des utilisateurs et des rôles, en gestion des métadonnées et des taxonomies
  • Zope : bon en gestion des utilisateurs et des rôles, en indexation et capacité de recherche, en niveau de compétences des équipes de support, en « Good Value » (va savoir ce que ça veut dire…), mauvais en gestion des métadonnées et des taxonomies et en ergonomie

Un commentaire personnel : le fait d’avoir rangé Zope parmi les outils de gestion de contenu me semble démontrer une mauvaise connaissance de Zope, de la part de CMSWatch. En effet, Zope n’est pas un produit de gesion de contenu mais un serveur d’application (ou encore un environnement d’exécution). Certes, Zope est souvent utilisé pour construire des applications de gestion de contenu. Mais si CMSWatch avait voulu faire un travail vraiment professionnel, ils auraient noté Plone plutôt que Zope. Plone est effectivement un produit de gestion de contenu. Du coup, Plone n’aurait sans doute pas eu de point négatif en matière d’ergonomie puisque la qualité de son interface utilisateur est justement l’un de ses principaux points forts (sans compter tous les avantages du serveur Zope sous-jacent).

Comprendre REST

Pour répondre à une question posée sur ce carnet, voici ma collection de liens vers les ressources que j’ai trouvées les plus abordables pour comprendre ce qu’est le modèle architectural REST (REpresentational State Transfer) (par ordre décroissant de digestibilité) :

Test: WordPress peut écrire en différé

Je suis en train de tester une fonctionnalité de mon logiciel de blogs: WordPress. Cette fonctionnalité consiste à publier un message anti-daté. Par exemple, je publie ce message aujourd’hui (début janvier 2007) mais je l’anti-date à début janvier 2004. La question que je me pose est la suivante: est-ce pour autant que mon message va apparaître en dernier dans un flux RSS, va-t-il y être visible ou non? J’espère que non. Vérifions.