Archives mensuelles : janvier 2004

Ticle and Rope

The Ticle project is going on. It tries to add semantic abilities to Plone. But do the Ticle guys realize that they are kind of reinventing RDF ? or is it just me ? Wouldn’t they better rely on an existing RDF implementation as the ROPE project is trying to do on a lower layer (trying to equip Zope instead of Plone) ? I’m confused… and impatient to see a semantic Plone (or even Zope) in action ! Anyway, keep on the enthusiastic work guys !

Isonymie ! Isonymy !

Quel bonheur (tout est relatif) ! J’ai trouvé la clef qui va me permettre d’évaluer la probabilité de doublons dans les identifiants que nous utilisons pour nos annuaires… La clef, c’est le terme d' »isonymie ». Ce terme désigne le concept de doublon de patronyme et permet d’évaluer la probabilité que dans un ensemble donné d’individu (un annuaire), il existe deux personnes physiques ayant le même nom de famille. Je cherchais comment évaluer cette probabilité, et c’est en cherchant « patronymes probabilité » sur Google que j’ai trouvé le terme académique : « ISONYMIE ». L’étude de l’isonymie à travers les différentes régions du monde permet d’évaluer cette probabilité de doublons. Pour en dire plus sur l’utilité de la chose : cela permet d’évaluer le risque de doublon d’identifiant calculé à partir des données signalétiques d’un individu. « C’est-à-dire ? » me demandez-vous …
Allez, je vous dis tout : dans un (gros) annuaire de personnes, plutôt que d’attribuer des noms d’utilisateurs sur une concaténation de morceaux du prénom et du nom (jchirac, jacquesc), ou bien afin de créer un matricule dont l’unicité est garantie (même si elle n’est pas absolue), il est souhaitable d’utiliser un algorithme de hashage que l’on applique à certaines informations signalétiques intangibles de l’individu (avec toutes les mesures de protection de la vie privée que cela impose) : prénom et nom (d’état civil, de naissance et sous forme translitérée) et date de naissance. La probabilité de collision de matricule et donc de nom de connexion est calculable à partir des taux d’isonymie observés dans le monde et à partir de la probabilité de collision générée par l’algorithme de hachage (elle-même calculée par le théroème des anniversaires). Il me manquait la première de ces données car j’ignorais le terme d’isonymie et nous n’arrivions pas à trouver des données statistiques sur les probabilités de doublons de patronymes. Maintenant que l’on a tout ça, ya plus qu’à !

Economie solidaire et TIC

Jacques Prades, de universitaire toulousain, étudie la faisabilité de l’exploitation des technologies de l’information pour le bénéfice de projets relevant de l’économie solidaire. Il évoque le « bluff technologique » des discours sur la « démocratie électronique », les « autoroutes de l’information », les « technopôles » ou la « fracture numérique » et considère que :

utilisées sur des terrains en marge où cherchent à se construire de nouvelles socialités, les nouvelles technologies peuvent participer à des logiques économiques novatrices lorsque l’outil nourrit un projet politique.

Jacques Prades place le développement des TIC comme la poursuite du mouvement de la révolution industrielle, qui a permis l’apparition des prothèses physiques que sont les machines mécaniques, les TIC offrant des prothèses cognitives.
Inspiré par l’image des prothèses cognitives, je soumets à votre sagacité une autre image, mais de mon invention : celles des machines cognicoles. Cette idée consiste à établir un parallèle entre d’une part la mécanisation de l’agriculture qui a permis de passer d’une agriculture « artisanale » à faible productivité à l’agriculture « industrielle » moderne (avec toutes les problèmes sociales et économiques associées et d’autre part l’informatisation de l’économie des services. Plus particulièrement, dans un domaine comme le développement open source, qui me semble relever de mécanismes de développements à caractère d’artisanat à grande échelle, n’y a-t-il pas une opportunité de gains de productivité grâce aux « machines cognicoles » que constituent des outils comme les wikis, les logiciels de bug tracking (bugzilla, …), les logiciels de gestion de source ? De même que l’on parle d’agriculture, peut-on parler de cogniculture pour désigner l’activité qui consiste à produire, manipuler et transformer des savoirs ? Je pense par exemple aux activités d’enseignement, de formation, de conseil, de création de contenus, de recherche, de création de logiciels. Fermons la parenthèse pour poursuivre avec Jacques Prades…
Il évoque le risque de glissement de motivation qui menace les structures de l’économie solidaire :

plus l’activité devient pérenne et plus le fonctionnement quotidien de l’activité économique l’emporte sur le combat politique, phénomène renforcé par l’observateur qui tend à gommer l’acte militant pour ne retenir que les logiques qui fonctionnent. Ces logiques sont toujours tiraillées par l’attraction du marché qui garantit une autonomie de décision vis-à-vis de l’Etat et celle de l’Etat qui tend à institutionnaliser les structures.

Jacques Prades présente ensuite un panorama de l’économie solidaires en distinguant différentes structures économiques dont le mobile est d’ordre politique : des entreprises « classiques » se prétendant solidaires en se dotant de chartes éthiques, l’Etat qui adopte une gestion associative des politiques publiques en déléguant à des associations certaines de ses prérogatives « solidaires », les structures combinant marché et Etat telles que les crèches parentales et les régies de quartier, et certaines structures coopératives innovantes (LETS, …).
La différence principale entre l’économie « classique » et l’économie « solidaire » relèverait de la relation de ces structures à l’innovation. Pour les structures de l’économie classique, l’innovation est un moteur de profit car elle permet le captage de rentes temporaires. Et cette innovation peut être radicale, d’où l’importance managériale de la conduite du changement. Pour les structures de l’économie solidaire, l’innovation est la traduction immédiate d’un mobile politique. Elle porte généralement sur des objets sociaux (innovation sociale). Mais sa mise en oeuvre est rendue plus difficile par des pratiques managériales d’ordre démocratique. Elle prend donc la forme d’innovations incrémentales ou « secondaires ».
L’innovation dans l’économie solidaire émergerait à la frontière entre différentes catégories : à la frontière entre le marchand et le non marchand (l’acteur public gérant des objectifs de marché, et l’acteur privé abusant des ressources publiques), à la frontière entre producteur et consommateur (avec l’émergence de mode de production « raisonnés » et de modes de consommation « militants »). Le modèle de développement des structures d’économie solidaire serait basé sur la multiplication des structures (développement en rhizomes) plutôt que par grossissement par investissement fondé sur des économies d’échelle.
Cette dernière idée suggère que l’application sur le champ de l’économie solidaire des techniques classiques de financement par capital risque ne serait pas pertinente. Pourtant, ces tentatives se multiplient (voir aussi ceci).

Développement externalisé à l’offshore

Vincent Massol, un ancien d’Octo Technologies semble-t-il, fait le point sur l’utilisation des méthodes de développement dites « agiles » dans le cadre de projets de développement externalisés à l’offshore. J’avoue que je n’ai pas encore consulté cet entretien (video). Mais j’ai déjà lu la discussion qui s’en est suivie. J’en retiens les points suivants :

  • les outils d’issue tracking jouent un rôle déterminant dans la mise en place d’un processus efficace de communication avec le sous-traitant
  • à l’offshore, il est plus difficile (voire impossible) pour un chef de projet de deviner l’aisance ou les difficultés rencontrées par les développeurs au quotidien ; d’où le risque de passer à côté d’erreurs graves
  • même en faisant des itérations rapides (livraisons toutes les 2 semaines), il est nécessaire de formaliser (via UML par exemple) les use cases de manière détaillée à chaque itération
  • de fréquents voyages allers-retours sont nécessaires
  • l’équipe offshore doit avoir un chef d’équipe : il n’est pas possible de gérer des relations individuelles multiples à distance
  • il est nécessaire d’avoir des cycles de livraisons courts et d’intégrer chaque livraison de manière continue
  • les tests doivent constituer « l’ultime documentation »
  • les décalages horaires constituent davantage un frein qu’un facteur positif
  • les logiciels de messagerie instantanée sont un moyen très apprécié de coordination quotidienne
  • dès qu’une personne sur site doit travailler en relation avec une personne distante, il est nécessaire d’organiser une rencontre physique préalable faute de quoi la relation interpersonnelle ne peut s’établir correctement et le travail échoue
  • le moindre détail doit être documenté, jusqu’à la position de chaque bouton à l’écran, la police des libellés affichés, etc. faute de quoi la société offshore qui travaille au forfait fournira un résultat ayant des « finitions » défectueuses
  • il est souhaitable d’organiser une réunion quotidienne d’une durée d’au moins une demi-heure avec téléphone + videoconf ou chat + videoconf, à l’heure qui convient le mieux aux deux équipes ; cette réunion doit être préparée à l’avance chaque jour et, sauf exception planifiée, la réunion doit s’interdire tout travail du type « brain storming » (ce n’est pas une réunion de créativité)
  • les échanges en vue de créativité « brain storming » doivent avoir lieu sous forme de texte (wikis, mails, chat, …)

Le carnet Web DCLab fournit des notes et indications complémentaires pour bien travailler avec des sociétés à l’offshore.
Mais… j’apprends que ma société revient sur ses ambitions initiales d’externalisation à l’offshore et adopte un discours plus prudent suite à quelques expérimentations et, surtout, suite à l’apparition d’objectifs stratégiques considérés comme plus prioritaires que l’externalisation à l’offshore. Les inquiétudes sociales liées à la délocalisation d’emplois informatiques contribuent sans doute à ce revirement. Est-ce un signe des temps ? Le signe que les sociétés ajusteraient leurs ambitions aux possibilités réelles des modes de fonctionnement avec des sociétés offshore ? Ou bien le signe d’une prudence dans le discours pour ne pas effrayer la populace ? Ou tout simplement le signe que le gain à espérer de l’externalisation à l’offshore ne suffit pas à placer ce genre d’opérations parmi les top priorités d’une direction informatique ? L’avenir le dira sans doute.

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.