Archives pour la catégorie Architecture

Caractéristiques du modèle open source

Cet article expose quelques caractéristiques du modèle open source : pas de coût de licence logicielle bien sûr, pas de dépendance à un fournisseur, choix élargi de fournisseurs de services, haute flexibilité/possibilité de personnalisation, stabilité accrue, moindre coût matériel (ne nécessite qu’un serveur intel pour linux et non des serveurs haut de gamme), cycles de développement plus rapides.
L’article cite également quelques autres caractéristiques mais qui sont à mon sens plus discutables : meilleure évolutivité, liberté de choix du rythme de déploiement des nouvelles versions, meilleure prise en compte de l’utilisateur final pour le développement de nouvelles fonctionnalités.

Perdez-vous dans un wiki.

Cet entretien avec Ward Cunningham, inventeur du concept des Wikis, offre une présentation assez fidèle des caractéristiques particulières des usages courants des Wikis. Je retiens ces remarques de l’intervieweur (Bill Venners) : …Dans un sens, un wiki est comme une très petite version de l’internet. Il y a de tout un peu partout… … Il est nécessaire de prendre le temps de faire la connaissance d’un site wiki. En y passant du temps, on prend ses marques petit à petit. Au début, on est plutôt perdu et sans repères, lorsque vous débarquez et voyez toutes ces informations qui vont dans tous les sens et ne sont pas organisées pour le lecteur. Ce à quoi Ward Cunningham lui répond : Effectivement, un wiki reste toujours sur le point d’être organisé.
Pour découvrir un wiki francophone et apprendre à vous y perdre, visitez le CraoWiki.

Le meilleur agrégateur RSS

Je tiens à jour ce carnet web, ok. J’ai besoin d’un  » RSS aggregator  » (agrégateurs d’actualités syndiquées au format RSS) pour pouvoir suivre les autres carnets web qui m’intéressent, ok. Mais quel agrégateur de news choisir ? J’ai essayé Amphetadesk… pas mal ! Mais pas vraiment utilisable dès que l’on a plus d’une vingtaine de blogs à suivre (en plus, il m’a eu l’air super gourmand en ressources machine). Même avec son add-on AmphetaOutlines, qui le rend vraiment plus ergonomique, ce n’est pas encore ça. J’ai donc essayé NewsGator : pouah, il a besoin d’Outlook (c’est un plug-in dans Outlook) ! Newzcrawler ? Mouais, pas mal, l’idée d’avoir Microsoft Agent qui lit mes news est séduisante mais cet idiot ne sait apparemment lire les news que lorsque je clique dessus alors que j’aurais espéré qu’il me lise tout un canal ou, encore mieux, un canal agrégé… Sinon, en open source, il y a bien FeedReader avec une fonctionnalité de découvertes de canaux RSS (similaire à celle d’AmphetaDesk ?) qui est séduisante, mais l’ensemble manque encore de fonctionnalités et d’ergonomie. A suivre peut-être la version 3 ?Ah, et puis, il y a aussi Pears qui est pas mal, open source, mais 1/ Pears nécessite l’installation préalable de Python et de bibliothèques Python supplémentaires, 2/ le développeur de Pears n’est pas satisfait de ces bibliothèques et envisage donc de refondre l’application pour lui donner une architecture plus proche de celle d’Amphetadesk (serveur déployé localement sur le poste de l’utilisateur). A suivre aussi…
Après quelques tâtonnements et essais d’agrégateurs, je pense avoir trouvé l’agrégateur qu’il me faut. Il s’agit de FeedDemon, logiciel commercial actuellement gratuit (mais bientôt payant à environ 30-40$ d’après l’auteur). FeedDemon marche bien, accepte un tas de formats de syndications, est convivial, multilingue, ergonomie en trois panneaux et propose notamment un peu de valeur ajoutée après l’agrégation : possibilité de mettre en place des filtres qui affichent les items de tous les canaux qui répondent à certains critères de recherche (comme les CMFTopics mais en plus simple). Bref, un logiciel sympa, efficace et prometteur.
N’empêche que l’avenir reste pour moi l’utilisation de plate-formes de gestion de contenu comme agrégateurs. Et notamment, l’utilisation de Plone comme aggrégateur de News. J’avais réussi à faire tourner CMFNewsFeed et Plone 1.0 pour faire de la belle agrégation. J’attends que Plone 2 soit distribué et que Doug Hellman mette à jour CMFNewsFeed pour s’assurer de la compatibilité avec Plone 2 (j’ai fait quelques essais avec Plone 2 beta 3 et CMFNewsFeed 1.2 mais ça déconne à plein tubes avec, en vrac : des problèmes de dépendances aux versions de Python, des bugs dans le support des proxies, plus des bugs de Plone 2 beta 3 tout court). Je m’y remettrai donc plus tard. Et, en attendant : FeedDemon !

Tout est connecté

Cette présentation lors d’un atelier universitaire donne une vision didactique et pragmatique des ambitions du Web Sémantique. Les fonctionnalités que l’on peut attendre d’une application Web s’appuyant sur le Web Sémantique sont par exemple :

  • proposer des rubriques pertinentes en réponse à une recherche en texte libre (proposer des contextes pertinents) : Tiger l’animal ? ou bien Tiger Woods le joeur de golf ?
  • recommander des contenus pertinents (dans le même contexte que la donnée actuellement traitée)
  • proposer des ressources associées à une ressource donnée : pour une personne donnée (le joueur de golf Tiger Woods), proposer les lieux sur lesquels il a été actif, les tournois auxquels il a participé, les joueurs auxquels il s’est confronté…
  • mener un raisonnement compliqué portant sur de multiples ressources décrites par des sources hétérogènes : quels sont les sites de constructions les plus proches de nos usines, sachant que les risques sismiques doivent être prises en compte
  • limiter la surcharge d’information des utilisateurs en ne leur proposant que les informations relatives à des concepts effectivement associés à leur centre d’intérêt

Le chef indien Seattle, en 1854, a dit :

L’humanité n’a pas tissé la toile de la vie. Nous ne sommes qu’un fil de celle-ci. Quoique nous fassions à la toile, nous le faisons à nous-mêmes. Tout est connecté.

Modèle économique de la GPL

Ce mémoire présente la dynamique de coopération qui a fait le succès du modèle open source incarné par la licence de distribution logicielle GPL. Comme l’indique ce mémoire, l’auteur d’un ouvrage distribué sous licence GPL s’interdit par le biais de cette licence de disposer d’une rente (retour sur investissement) lié au capital que représente l’ouvrage qu’il a créé. Le droit de la propriété intellectuelle, dont la finalité est l’accroissement de l’innovation intellectuelle, serait sensé établir un équilibre entre la motivation économique des auteurs et celle des consommateurs. Trop de protection des auteurs et ceux-ci disposeront de rentes élevées mais qui, par effet pervers, rendront l’innovation suivante plus difficile ou moins motivante économiquement. Trop peu de protection et les auteurs perdront leur motivation économique à innover. La licence GPL, s’inscrivant dans le cadre du droit de la propriété intellectuelle, implémente des règles de coopération qui pourraient permettre de retrouver l’équilibre nécessaire au développement de l’innovation.

La coopération, nouvelles approches.

Michel Cornu a publié un document sur les dynamiques relatives au travail collaboratif. Il y introduit des « lois de la coopération » :

Nous cherchons à favoriser l’émergence de comportements de coopération et le développement de résultats collectifs. Nous avons cherché pour cela à identifier plusieurs lois qui permettent d’agir sur l’environnement pour le rendre plus favorable à la réussite du projet.
Pour réaliser ces 3 actions sur l’environnement, le porteur peut s’appuyer sur des lois qui lui facilitent son travail. Ces quelques lois simples mais fondamentales sont décrites en détail dans les chapitres suivants.
La réconciliation de l’intérêt individuel et collectif est favorisée par :
* Un environnement d’abondance qui provoque des mécanismes de contrepartie collectifs (nous verrons que l’abondance est plus fréquente qu’on ne le croit généralement dans certains domaines).
* La mise en place d’une communauté qui multiplie les interactions multiples entre les membres.
* Une nouvelle façon d’évaluer les résultats a posteriori qui implique l’ensemble de la communauté.
Pour multiplier les possibilités sans qu’aucune ne soit critique il faut :
* Réduire les besoins de départ.
* Minimiser au maximum les tâches critiques pour pouvoir en garder la maîtrise.
* Avoir du temps devant soit pour maximiser les opportunités.
Les personnes passent à l’acte grâce à :
* La motivation par la reconnaissance, le plaisir et l’apprentissage.
* La minimisation des risques perçus.
* L’abaissement du seuil du passage à l’acte par la simplicité et la réactivité.
La coopération est obtenue en agissant sur l’environnement plutôt que par la contrainte des personnes.
Le monde actuel en perpétuel mouvement aide à façonner l’environnement pour arriver aux trois conditions qui facilitent la coopération :
* Réconcilier l’intérêt individuel et collectif
* Multiplier les possibilités sans qu’aucune ne soit critique
* Faciliter le passage à l’acte

Il introduit une nouvelle notion de la propriété :

La notion de propriété ne disparaît pas pour autant. Par exemple dans le développement de logiciels libres, assez souvent, une personne détient le droit d’intégrer les modifications proposées par tous. Raymond l’appelle le  » dictateur bienveillant.  » Mais tout le monde peut venir utiliser, copier ou redistribuer librement le logiciel produit collectivement. Tout le monde peut circuler librement sur le territoire du propriétaire et c’est justement cela qui lui donne de la valeur.

Et énonce les règles nécessaires au bon fonctionnement d’une économie du don :

Une économie du don émerge lorsque les biens communs sont abondants.
Celle-ci implique de nouvelles notions de propriété et d’économie.
Les échanges de bien immatériels conduisent normalement à une multiplication de la valeur et à leur abondance. Il est souvent possible de faire des choix qui poussent vers la pénurie ou vers l’abondance.
Il existe des règles du don qui si elles ne sont pas respectées conduisent à des déviations :
1. L’abondance doit être préservée et bien répartie
pour éviter le retour à une économie de la consommation
2. L’évaluation doit être globale et décentralisée
pour ne pas qu’un don particulier serve à écraser l’autre
3. La contrepartie ne doit pas être demandée à celui qui reçoit
pour éviter les dettes…

N’hésitez pas à lire et relire son document pour en savoir plus.

Ceci m’inspire quelques motivations qui pourraient amener des grands groupes privés à open sourcer (adopter une stratégie s’appuyant sur la redistribution en opensource) leurs développements informatiques internes lorsque ceux-ci ne sont pas stratégiques (hors du coeur de métier) :

  • sauvegarder la connaissance de l’application : distribuer la connaissance pour pouvoir en bénéficier ultérieurement sous la forme de services de maintenance
  • disposer d’une maintenance corrective à faible coût : si d’autres acteurs adoptent le code distribué ET si ils redistribuent leurs modifications (y compris leurs corrections), cela offre un retour sur investissement au distributeur initial
  • disposer d’une maintenance évolutive à faible coût : pour les mêmes raisons que ci-dessus
  • améliorer son image auprès d’une communauté d’informaticiens et, indirectement, auprès de la presse informatique
  • renforcer des relations de collaboration gagnant-gagnant avec d’autres groupes similaires
  • influencer l’organisation d’un marché de fournisseurs : en orientant les distributions de code, le Groupe informe les fournisseurs des attentes réelles des utilisateurs
  • minimiser les risques des projets informatiques internes en soumettant certains de leurs aspects au regard critique de la communauté d’utilisateurs/développeurs du code distribué

Serveurs de traitement de transactionnels

Selon le Gartner Group, il faut distinguer les serveurs d’application (selon le modèle J2EE, .Net ou LAMP) des serveurs de traitement de transactions. Ces derniers « resteront une catégorie à part et constitueront un marché destinés à des projets de point et de haut de gamme ». Aucun serveur d’application générique « ne peut égaler les classiques moniteurs transactionnels en termes de qualité de service en entreprise et de fonctionnement éprouvé avec de grosses applications OLTP vitales pour l’activité ». Sur les prochaines années, c’est CICS Transaction Server qui restera « la plateforme préférentielle des applications haut de gamme et très haut de gamme ». D’autres serveurs transactionnels connus sont Tuxedo et IMS Transaction Manager. Et les serveurs d’application de Microsoft, de BEA, d’IBM, d’Oracle et de SAP ne sont pas près de leur arriver pas à la cheville, du moins pour les besoins « haut de gamme ».

Etat de l’art du Web Sémantique

La RoadMap technique du projet de recherche OntoWeb présentait un état de l’art des technologies avancées du Web Sémantique. J’en retiens les technologies suivantes :

  • ProPer, une « ontologie pour l’entreprise », propose à travers un outil de démonstration une manière d’améliorer la gestion des connaissances par les directions des ressources humaines en s’appuyant sur la technologie OntoBroker. Les individus et leurs compétences peuvent être identifiées à partir des documents bureautiques qu’ils ont produits lorsque ceux-ci ont été annotés conformément à une ontologie de gestion des ressources humaines. Bien entendu, cela suppose non seulement des coûts de gestion de cette ontologie mais surtout que les documents en question soient assidument annotés !
  • Methontology est une méthodologie pour construire et gérer des ontologies en partant de rien ou bien à partir d’ontologies existantes ; cette méthodologie est en partie implémentée dans WebODE, environnement de développement d’ontologies ; elle a été utilisée dans le secteur de la chimie, de la gestion des produits polluant, de la gestion informatique matérielle et logicielle, du domaine des ions mono-atomiques, des silicates, … ; il s’agit de la plus éprouvée des méthodologies de construction d’ontologies.

Les outils et environnements de gestion d’ontologie (et notamment de construction) fournissent une interface graphique pour « ontologistes ». Leurs critères différenciateurs sont notamment leur capacité à gérer des ontologies multilingues et leur richesse en fonctionnalités de travail collaboratif. Certains outils (ou extensions) sont spécifiquement destinés à la fusion ou l’intégration d’ontologies existantes. D’autres, directement liés au contexte du Web Sémantique, sont destinés à l’annotation de ressources Web selon des ontologies données. Enfin, certains outils ont pour fonction de permettre la résolution de requêtes sur des ontologies ; il s’agit peu ou prou de moteurs d’inférence.

  • CO4 (Cooperative Construction of Consensual knowledge bases) est un produit de l’INRIA qui permet à des utilisateurs de former des groupes qui permettent la gestion, par consensus, des propositions d’évolution des bases de connaissance qui leur sont propres (l’unanimité est requise pour accepter une évolution) ; les groupes d’utilisateurs peuvent également souscrire à des ontologies gérées par d’autres groupes (autres domaines de compétences).
  • IODE (Integrated Ontology Development Environment) est une suite commerciale d’outils de gestion d’ontologie
  • JOE (Java Ontology Editor) est un outil Java de construction et de visualisation d’ontologies conçu par une université américaine
  • OntoMarkup Annotation Tool, comme son nom l’indique, est un outil facilitant l’annotation sémantique de documents
  • OntoMat est un outil Web d’annotation DAML+OIL.
  • Cerebra est un moteur d’inférence RDF commercial.
  • Extensible Open RDF (EOR) est un outil open source de gestion de bases RDF
  • Jena est une collection d’outils RDF implémentés en Java par HP
  • OntoBroker est un moteur d’inférence utilisé par le W3C comme implémentation de référence pour le Web Sémantique
  • rdfDB est une base de données RDF open source simple mais évolutive
  • RDF Gateway est un service de requête RDF ainsi qu’un moteur d’inférence commercial
  • RDFStore est un ensemble de modules Perl open source pour la gestion de bases de données RDF
  • RedLand est une autre API de haut niveau pour la gestion de bases et modèles RDF
  • Triple est un moteur de requête DAML+OIL

Les outils les plus souvent cités pour la gestion d’ontologies sont OntoEdit, Protégé2000 et WebODE. Ils sont appréciés pour leur architecture n-tiers et leur support de bases de données sous-jacentes (il s’agit donc de surcouches), leur support d’ontologies multilingues et leur support de méthodologies de construction d’ontologies. Un autre document du projet de recherche OntoWeb examine plus en détails les qualités, caractéristiques et fonctionnalités à comparer lors du choix de tels outils.
Voici quelques exemples de projets d’application de ces technologies :

  • Le service de recherche sémantique du Marchmont Observatory propose un outil de recherche sémantiquement enrichie dans une base de données de « bonnes pratiques » relatives à la formation continue
  • MyPlanet est une application Web destinée à permettre à un laboratoire de recherche de mettre en forme et de publier des scénarii de manière à constituer des propositions d’actions de recherche.
  • Le projet On-To-Knowledge (OKT) cherche à faciliter les démarches de knowledge management dans les grandes organisations
  • OntoWeb cherche à faciliter la communication entre les différents groupes d’individus impliqués dans des recherches relatives aux technologies du Web Sémantiques, notamment à travers une application de recensement de technologies, l’ OntoRoadMap
  • PlanetOnto est une application de portail d’organisation permettant une gestion personnalisée et appuyée sur des ontologies, de la publication, de la diffusion et de la recherche d’actualités et de documents
  • La plate-forme SMART-EC est sensée assurer la gestion du cycle de vie d’offres de services combinées entre plusieurs fournisseurs et un consommateur, depuis la définition du service jusqu’aux transactions de distribution du service, avec pour finalités l’implémentations d’applications de e-commerce permettant un achat unique d’objets multiples fournis par des sites de e-commerce distincts
  • WebKB-2 est une application pour la construction collaborative de catalogues « pages jaunes »
  • Community-Web (C-Web) est une application Web dont l’objectif est la constitution de bases de connaissances centrées sur des communautés d’intérêts
  • SEAL (SEmantic portAL) est une approche pour la gestion et l’exploitation de sites portails sur la base de méta-données

Mapping relationnel-RDF

D2R Map est un langage XML permettant d’établir la correspondance (« mapping ») entre un modèle de données relationnel et le modèle de données en graphe du Web Sémantique (triplets RDF + ontologies OWL). Les inventeurs de D2R Map en proposent une implémentation Java qui permet donc d’exporter en RDF les données de n’importe quelle base accessible via JDBC ou ODBC.

Devriez-vous utiliser RDF ? Un exemple concret

Enfin un exemple complet de raisonnement sur l’opportunité d’adopter la technologie RDF, sur un cas réel ! Le cas en question concerne un projet relatif à l’agrégation de contenu : « Atom ». L’article commence par un point sur les quatre piliers actuels des technologies du Web Sémantique ainsi que les critiques dont chacun peut parfois être l’objet :

  • le modèle de données RDF ; mais est-il pertinent ? est-il suffisament spécifique ?
  • la syntaxe de sérialisation de RDF en XML (XML/RDF) ; mais n’est-elle pas trop complexe ? à quoi sert-elle puisqu’elle n’est pas vraiment lisible par un être humain ?
  • les outils RDF tels que rdflib pour Python ; mais en existe-t-il assez ? sont-ils assez murs ?
  • la vision du Web Sémantique ; mais est-elle réaliste ?

Le projet Atom cherche à créer un format de syndication / agrégation de contenu et une API distribuée (service Web) pour l’exploiter. Les membres de ce projet ont pesé le pour et le contre des 4 séries d’arguments et de contre-arguments sur l’utilisation des technologies du Web Sémantique. Ils en ont conclu que le modèle est particulièrement intéressant car, contrairement à XML seul, il impose d’expliciter les collections d’objets (il faut créer un « conteneur » pour pouvoir énumérer des objets). En cela, ce modèle est plus rigoureux qu’une utilisation d’un modèle XML spécifique. Il apporte une valeur ajoutée certaine pour le cas d’Atom.
Par contre, la syntaxe XML/RDF est beaucoup trop complexe là où une syntaxe XML spécifique offre une meilleure lisibilité. L’intérêt de la syntaxe XML/RDF est qu’elle explicite les namespaces auxquels on fait référence et facilite ainsi la fusion de données RDF provenant de sources hétérogènes. Intégrer des données XML non RDF de sources hétérogènes impose de définir des correspondances (mapping) entre ces données une à une. Cependant, l’objet du projet Atom est justement d’homogénéiser un périmètre restreint de données (les données de gestion de contenu de sources d’actualités) et non de permettre l’intégration de ces données dans des périmètres plus larges (intégrer des actualités et des données d’une application comptable par exemple). L’intérêt de la syntaxe XML/RDF n’a donc pas été jugé suffisant. Les personnes qui voudront aggréger des données au format XML Atom à d’autres sources de données via des mécanismes de Web Sémantique (ontologies) sont invitées à employer XSLT pour ramener les données Atom dans un format RDF.
Cependant, c’est tout de même dommage de se priver de cette opportunité d’intégrer des données Atom dans le Web Sémantique. C’est pourquoi la syntaxe officielle d’Atom certes relèvera d’un modèle XML spécifique, mais la transformation XSLT d’Atom vers XML/RDF sera inclue dans la spécification d’Atom. Ainsi, les férus du Web Sémantique n’auront pas besoin de réinventer la roue chacun de leur côté. Ces derniers disposent certainement d’outils RDF tels que rdflib, et ces outils fournissent des moteurs XSLT qui leur permettront donc d’agréger de manière quasi-transparente les données d’Atom pour les rendre exploitables dans leur API RDF préférée.
En fait, le projet Atom aurait sans doute adopté RDF comme modèle ET comme syntaxe si la communauté d’utilisateurs de RDF avait été plus mure et donc plus grande. Etant encore relativement réduite, Atom préfère rester simple et n’adopter que le modèle (et non la syntaxe), tout en prévoyant une passerelle syntaxique vers le Web Sémantique grâce à XSLT.

Tim Berners-Lee à la Société Royale

L’inventeur du Web Sémantique (et du Web tout court) a présenté son invention à la Société Royale des sciences en Grande-Bretagne. Et si le Web devenait une base de données géante, reliant à la fois des documents lisibles par les êtres humains et des données compréhensibles par les machines, d’une manière utile à la fois aux humains et aux machines ?
Selon Tim Berners-Lee, le Web Sémantique couvre une partie de la problématique d’EAI (Enterprise Applications Integration) mais avec une approche qui consiste non pas à essayer d’intégrer des applications (c’est l’approche des Services Web sur le mode RPC tels que SOAP) mais surtout à intégrer les données produites ou consommées par ces applications. Les produits logiciels exploitant le modèle de données RDF (« tout est un triplet ») permettent de constituer des hubs de données qui relient entre eux des documents (les fameux « contenus ») et des données de bases de données relationnelles existantes. Ces hubs permettent de traiter l’ensemble de ces données en faisant abstraction de leur forme originale.

Economie du Web Sémantique

Jim Gray, rapporte William Grosso, estime qu’un point d’équilibre économique existe pour la conception de toute architecture informatique distribuée : 10 000 instructions par octet de trafic réseau. Au-délà, il est opportun de distribuer les traitements. En deça de 10 000 instructions par octet, le coût réseau est trop important, et il est économiquement préférable de centraliser les traitements. William Grosso se demande si cela n’implique pas que le modèle économique du Web Sémantique n’est pas viable : le coût du transport des données (RDF…) à aggréger en vue de traitements serait prohibitif et ne pourrait être supporté que par de grosses infrastructures centralisatrices (telles que Google ?) auxquelles les utilisateurs finaux accèderaient plutôt que d’effectuer eux-même une agrégation « locale » et des traitements distribués.
A cela, les commentateurs répondent ceci :

  • les applications informatiques, dans le Web Sémantique, n’auront pas forcément besoin de volumes énormes de données : pas besoin de tout savoir sur tout pour pouvoir effectuer des raisonnements
  • les données peuvent être agrégées selon des genres de chaînes alimentaires : plutôt que d’agréger directement toute les données utiles, on peut n’aggréger que des données résultats de digestions déjà effectuées par d’autres aggrégateurs (travailler sur de la matière moins brute, déjà transformée)
  • le Web Sémantique n’impose pas ni n’interdit de mode d’agrégation (centralisé ou distribué), il donne simplement une normalisation du modèle de données général (celui des triplets RDF)

La sagesse émerge…

Le Web Sémantique, en pratique

Internetnews essaie de montrer que le Web Sémantique a commencé à s’étendre en dehors du champ théorique pour entrer en pratique. Ses champs d’applications sont les moteurs de recommandation mais surtout l’intégration et la réutilisation des données. Son premier domaine pratique est celui du blogging (carnets web tels que celui que vous êtes en train de lire). Les « carnetiers » (« bloggers ») seraient les premiers à expérimenter le réseau social caractéristique du Web Sémantique. Avec des outils tels que trackback (dont je n’ai toujours pas compris le fonctionnement) et la syndication (ah ! ça, je connais !), les technologies proches de RDF permettent d’exploiter de manière intégrée des données informatiques provenant de divers sites Web et, ainsi, de rendre tangibles des liens de proximité entre les personnes qui produisent ou gèrent ces données (d’où l’idée d’un « réseau social »).
Les technologies du Web Sémantique trouvent également des domaines d’application dans la gestion des profils et préférences des utilisateurs de l’informatique ainsi que dans la gestion des références inter-documents telles que les citations des publications scientifiques.
L’article d’Internetnews cite ensuite quelques initiatives importantes d’éditeurs misant sur les premières technologies du Web Sémantique : HP avec Jena et « HP Haystack », Sun avec SwoRDFish, l’OSAF avec Chandler et, enfin, MovableType le célèbre outil de blogging.

Les services Web ont besoin du Web Sémantique

Suite à une conférence sur les services web, un article de xmlhack.com constate que non seulement la moitié des participants connaissaient plus ou moins la technologie RDF mais aussi que les technologies du Web Sémantique, orientées données ou documents, offrent un potentiel d’intégration des processus d’entreprise bien plus important que la conception « classique » des Services Web, orientée API et appel à des procédures distantes. On retrouve là le classique constat de la supériorité architecturale de REST sur les modèles RPC.
Un commentateur suggère que cette prise de conscience vient du constat que, certes, SOAP n’est pas très compliqué à mettre en oeuvre (quoique pas très utile en soi), mais que WSDL ne servirait finalement pas à grand-chose.

Développement rapide (RAD) avec Zope

Le produit zetadb associé au serveur d’application Zope est sensé permettre de faire du développement rapide d’application Web à partir d’une base de données. L’idée de ce produit est la suivante :

  1. A l’aide de votre gestionnaire de base de données préféré (on pourrait utiliser Access par exemple), vous générez votre structure de données.
  2. Vous lancez zetadb dans Zope et lui indiquez où se trouve votre base de données puis répondez à ses questions au sujet de la manière dont vous souhaitez employer ces données.
  3. Grâce à vos réponses et à votre structure de données, zetadb créé dans Zope les objets correspondants à vos données et pouvez donc gérer vos données à travers ces objets.
  4. Vous pouvez utiliser ces objets pour générer des écrans Web (à l’aide de modèles ZPT) ou bien pour générer des rapports sous forme de document bureautiques (au format OpenOffice).

Des templates HTML propres : ZPT

Pour construire des applications Web, il convient d’isoler le mieux possible le code de présentation (mise en forme, affichage, graphisme, …) du code de logique (règles de contrôle, structures de données, traitements). C’est pourquoi de nombreuses technologies de templating existent : elles consistent à proposer un modèle de présentation (le template) qui puisse être entièrement et sans risques manipulé par un graphisme ignorant le code logique. C’est ensuite un moteur de templating qui fusionne le modèle de présentation produit par le graphiste ou l’assembleur de pages avec le code logique prouit par le développeur ou programmeur.
L’une des technologies de templating les plus abouties est celle du Template Attribute Language (TAL) qui est implémenté dans les Zope Page Templates (ZPT) mais existe également en Perl (PETAL), PHP (PHPTAL) et Java (JavaZPT). Pour comprendre ZPT, rien de mieux que la FAQ ZPT, cet article pour débutant en ZPT et ce tutoriel.