Le Retour à la Terre ouvre le 20 août

Logo du Retour à la TerreIl aura fallu la détermination sans faille de Catherine et la motivation exceptionnelle de son équipe pour maintenir le cap et respecter cette date d’ouverture fixée depuis plusieurs mois en dépit de tous les obstacles que l’on rencontre sur ce type de projet…

Le pari est en passe d’être gagné et son magasin « Le Retour à la Terre » ouvrira ses portes le 20 août.

Cette ouverture imminente nous a conduit à mettre en ligne dès ce week-end le site du Retour à la Terre bien qu’il soit encore en construction.

Pour ce site qui présentera non seulement le magasin mais également notre démarche et nos vergers, j’ai souhaité privilégier la facilité de mise à jour et ai choisi de le « motoriser » avec WordPress que Catherine connaît bien puisque c’est également le moteur de son blog.

Le style a été réalisé par Laurent Henriot et appliqué au site sous forme d’un « thème » WordPress spécifique.

Mangez vos mauvaises herbes

Si la promotion assurée à son insu par la DGCCRF a sorti l’ortie de l’ombre et contribué à réhabiliter cette plante y compris dans ses usages alimentaires, beaucoup d’autres « mauvaises herbes » sont non seulement comestibles mais également délicieuses.

Comme Catherine l’a déjà mentionné, nous consommons régulièrement la consoude qui pousse près de la rivière qui coule en bas de notre verger et ce week-end j’ai essayé de consommer d’autres plantes sauvages qui se sont révélées tout aussi délicieuses.

Il existe beaucoup de livres consacrés aux plantes sauvages comestibles ou aux légumes oubliés (beaucoup de nos mauvaises herbes sont en effet des légumes anciens passés de mode) et nous en avons plusieurs dans notre bibliothèque mais j’ai préféré me munir de l’encyclopédie des plantes bio-indicatrices de Gérard Ducerf que je n’avais encore jamais utilisée de cette façon.

J’ai suivi en septembre 2007 la formation de Gérard Ducerf sur les plantes bio-indicatrices organisée par le GRAB-HN et n’ai pas manqué d’utiliser ce guide pour évaluer les terrains que nous avons eu l’occasion de visiter mais je n’avais pas encore tiré parti des indications sur l’usage culinaire de ces plantes. C’est maintenant chose faite…

J’ai commencé par une plante que je connaissais déjà. Une affreuse mauvaise herbe connue sous le nom de « laiteron » que j’avais eu l’occasion de goûter à l‘île Amsterdam. Les ouvriers Réunionnais qui hivernaient avec nous n’avaient pas leurs pareils pour tirer parti des ressources naturelles de l’île et ils nous avaient appris à utiliser cette plante pour parfumer les plats de riz. Depuis, je m’étais rangé à l’avis général et avais réappris à considérer cette plante qui ressemble à un chardon mâtiné de pissenlit comme « mauvaise »…

Gérard Ducerf affirmant que cette plante est comestible crue, j’ai essayé des salades composées constituées de laiteron et d’autres plantes sauvages.

Il n’y a plus beaucoup de laiteron dans notre verger et dans la mesure où ce sont des plantes indicatrices « d’engorgements en eau et en matière organique provoquant des hydromorphismes et des anaérobioses » je ne m’en plaindrai pas! J’ai tout de même trouvé deux beaux pieds, l’un qui est vraisemblablement un laiteron rude (sonchus asper) et l’autre un laiteron des champs (sonchus arvensis).

Leurs feuilles sont fermes, un peu dures et légèrement amères. Elles sont également légèrement épineuses sans aller jusqu’à piquer la langue ou le palais.

Pour les accompagner, j’ai aussi cueilli :

  • des feuilles de pissenlit qui sont un peu plus amères que le laiteron en cette saison,
  • des feuilles d’épilobe hirsute (epilobium hirsutum), une autre « mauvaise herbe » que nous avons tendance à arracher parce qu’elle se montre volontiers envahissante et dont les feuilles un peu duveteuses se révèlent avoir un goût proche de celui de la mâche,
  • des feuilles de petite oseille (rumex ocetosella) au goût agréablement acide,
  • du mouron blanc (stellaria media) au goût très fin,
  • de jeunes feuilles de plantain lancéolé (plantago lanceolata) au léger goût de champignon,
  • des fleurs d’églantine (rosa canina) au goût fruité et sucré
  • des fleurs de pâquerette (bellis perennis).

J’ai essayé plusieurs combinaisons qui se sont avérés aussi bonnes les unes que les autres accompagnées d’huile d’olive et de vinaigre de miel…

Le très léger goût de champignon des jeunes feuilles de plantain m’a donné envie d’essayer autre chose et j’ai tenté une omelette au plantain qui a été un véritable régal.

Que retenir de tout cela?

Tout d’abord, bien entendu, que nos jardins regorgent de ressources culinaires qui poussent naturellement et attendent que nous les cueillons.

Mais ce qui m’interpelle le plus c’est la manière dont nous avons non seulement oublié ces ressources et préféré acheter dans des magasins ce qui pousse naturellement (ce n’est qu’un des nombreux exemples de « marchandisation » de la nature) mais également été poussés à les détruire en utilisant au besoin des herbicides de synthèse plus dangereux les uns que les autres. Nous avons été véritablement conditionnés pour être non seulement des consommateurs mais également les complices de ce processus.

Insaisissables identités numériques

J’ai passé un après midi passionnant à l’atelier « Apparaître, paraître, disparaître » organisé par la Fing.

Les exposés de Dominique Cardon, Philippe Rigaut, Arnaud Belleil et Pascal Levy-Garboua étaient intéressants et, combinés à la discussion qui a suivi, cela me confirme qu’en matière d’identité numérique je dois faire figure de dinosaure puisque je m’obstine à entretenir une seule et même identité numérique et à la rattacher à mon identité physique par des artifices tels que mon éternel tee-shirt XMLfr!

Plutôt que d’essayer de faire un compte rendu qui ferait double emploi avec celui que devrait publier la Fing, je préfère retranscrire ici quelques réflexions qui me sont venues alors que je rentrais chez moi.

Ces discussions ont mis en lumière un besoin de mieux définir la notion d’identité numérique.

Alors que j’ai tendance à considérer mon identité numérique comme la somme de tout ce que l’on trouve à propos de moi sur le web, il m’a semblé que beaucoup de personnes considèrent une identité numérique comme un « compte » sur un site Web. Ainsi, quand il a été question de savoir combien d’identités numériques chacun d’entre nous possédait, il a semblé naturel de compter le nombre d’applications sur lesquelles nous avons créé des comptes.

Michel Desbois a fait remarquer que les choses n’étaient pas si simples et que l’on pouvait avoir plusieurs comptes et donc plusieurs identités sur une seule application.

Certes, mais on peut également, ce qui est mon cas, être dans la situation inverse et avoir une seule et même identité numérique sur plusieurs applications et même sur le Web en dehors de ces applications. Partager une même identité numérique sur plusieurs applications est assez simple : il suffit d’utiliser le même nom ou pseudonyme et de créer des liens entre ces applications.

Quelque soit le rayonnement des grandes applications Web 2.0, il me semble également très important de prendre en compte ce qui est publié sur le Web en dehors de ces applications.

Je suis consultant indépendant et mon identité numérique est ce qui me sert d’action marketing. C’est quelque chose que je constitue patiemment depuis 1999 et j’ai tendance à considérer qu’elle est trop importante pour en confier plus que des bribes à ces sites.

Certains de ces sites ont des conditions d’utilisation qui leur permettraient s’ils le souhaitaient de l’exploiter sans mon accord et d’autres peuvent y ajouter des publicités qui pourraient être contre productives.

De plus et cela semble encore plus important, je ne suis pas certain de pouvoir leur faire confiance pour assurer la pérennité de mon identité électronique.

Depuis 1999, bien des services que l’on croyait immuables ont disparu, ont changé de formule ou ont été achetés par d’autres sociétés.

J’ai écris récemment deux articles l’occasion du huitième anniversaire de XMLfr et du dixième anniversaire de XML et ai eu l’occasion de faire quelques recherches de ressources Web ayant huit ou dix ans. Certains jouent remarquablement le jeu et c’est le cas par exemple de Yahoo! qui assure toujours la redirection des URIs des messages egroups.com vers le même message sur yahoogroups.com. J’espère que ce sera également le cas si Yahoo! est acheté par Microsoft mais la plupart des liens ont disparus, y compris des liens de billets postés sur les blogues O’Reilly.

Si j’avais utilisé plus massivement les services offerts en 1999 ou 2000, beaucoup des documents que j’ai produit à cet époque et qui constituent aujourd’hui mon identité numérique auraient disparu.

Aussi paradoxal ou prétentieux que cela paraisse, je pense donc prendre moins de risques en gérant mon identité numérique en dehors des grands sites Web 2.0!

Ceci dit, aussi simple soit elle, ma définition de l’identité numérique comme étant l’ensemble des informations disponibles sur une personne ou un pseudonyme ne va pas sans poser problème…

J’ai la chance d’avoir un nom suffisamment peu répandu pour que l’on puisse facilement repérer sur le Web ce qui fait partie de mon identité numérique. Les choses ne seraient pas si simples si j’avais un nom beaucoup plus courant, ou pire, si j’avais le même nom de quelqu’un de beaucoup plus connu. Dans ce cas, comment définir les contours de mon identité numérique?

HTML 5 turns documents into applications

 Voir aussi la version française de cet article sur XMLfr.

HTML 5 is not just HTML 4 + 1

This announcement has been already widely commented and I won’t come back on the detail of the differences between HTML 4.1 and HTML 5 which are detailed in one of the documents published with the Working Draft. What I find unfortunate is that this document and much of the comments about HTML 5 focus on the detail of the syntactical differences between these versions rather than commenting more major differences.

These differences are clearly visible as soon as you read the introduction:

The World Wide Web’s markup language has always been HTML. HTML was primarily designed as a language for semantically describing scientific documents, although its general design and adaptations over the years has enabled it to be used to describe a number of other types of documents.

The main area that has not been adequately addressed by HTML is a vague subject referred to as Web Applications. This specification attempts to rectify this, while at the same time updating the HTML specifications to address issues raised in the past few years.

This introduction does a good job in setting the context and expectations: the goal of HTML 5 is to move from documents to applications and this is confirmed in many other places, such as for instance the section titled “Relationship to XUL, Flash, Silverlight, and other proprietary UI languages”:

This specification is independent of the various proprietary UI languages that various vendors provide. As an open, vender-neutral language, HTML provides for a solution to the same problems without the risk of vendor lock-in.

To understand this bold move, we need to set this back into context.

Nobody denies that HTML has been created to represent documents, but its success comes from its neutrality: even if it is fair to say that Web 2.0 is the web has it was meant to be, the makers of HTML couldn’t imagine everything that can be done in modern web applications. If these applications are possible in HTML, this is because HTML has been designed to be neutral enough to describe yesterday’s, today’s and probably tomorrow’s applications.

If on the contrary, HTML 4.01 had attempted to describe, in 1999, what was a web application, it is pretty obvious that this description would have had to be in the best case worked around and that it might even have slowed down the development of Web 2.0.

This is the reason why I would make to HTML 5 the same kind of criticism I made to W3C XML Schema: over specifying how to use a document is a risk to block creativity and increase the coupling between applications.

While many people agree that web applications should be designed as documents, HTML 5 appears to propose to move from documents to applications. This seems to me to be a major step… backward!

Flashback on HTML’s history

Another point that needs to be highlighted are the relations between HTML 5 and XML in general and XHTML in particular.

HTML 5 presents itself as the sibling of both HTML 4.01 and XHTML 1.1 and as a competitor of XHTML 2.0.

To understand why the W3C is developing two competing standards, we need a brief reminder of the history of HTML.

HTML has been originally designed as a SGML vocabulary and uses some of its features to reduce the verbosity of its documents. This is the case for instance of tags such as <img> or <link> that do not need to be closed in HTML.

XML has been designed to be a simplification of SGML and this simplification does not allow to use the features used by HTML to reduce its verbosity.

When XML has been published, W3C found themselves with a SGML application in one hand (HTML) and a simplification of SGML in the other hand (XML) and these two recommendations were incompatible.

To make these recommendations compatible, they decided to create XHTML 1.0 which is a revamping of HTML to be compatible with the XML recommendation while keeping th exact same features. This lead to XHTML 1.0 and then XHTML 1.1 which is roughly the same thing cut into modules that can be used independently.

One of the weaknesses of HTML being its forms, W3C did also work on XForms, a new generation of web forms and started to move forward working on a new version of XHTML with new features, XHTML 2.0 still work in progress.

The approach looked so obvious that W3C has probably neglected to check that the community was still following its works. With the euphoria that followed the publication of XML 1.0 many people were convinced that the browsers war was over, the interest for HTML which was partly fueled by this war started to decline and the W3C works in this domain didn’t seem to raise that much interest compared to let’s say XML Schema languages or Web Services.

It is also fair to say that the practical interest to move from HTML to XHTML wasn’t (and still isn’t) obvious for web site developers since the features are the same. Migrating a site from HTML to XHTML involves an additional work which is only compensated by the joy of displaying a “W3C XHTML 1.x compliant” logo!

This is also the moment when Microsoft stopped any development on Internet Explorer and Netscape transferred their development to Mozilla.

The old actors from the browsers war, well represented at the W3C which was one of their battle fields led the way to new actors, Mozilla, Opera and Apple/Safari younger and less keen to accept the heaviness of W3C procedures.

At the same time, the first Web 2.0 applications sparkled a new wave of creativity among web developers and all this happened outside the W3C. This is not necessarily a bad thing since the mission of standard bodies such as W3C is to standardize rather than innovate, but the W3C doesn’t appear to have correctly estimated the importance of these changes and seems to have lost the contact with their users.

And when these users, led by Opera, Mozilla and Safari decided that it was time to move HTML forward, rather than jump into the XHTML 2.0 wagon, they decided to create their own Working Group, WHATWG, outside the W3C. This is where the first versions of HTML 5 have been drafted together with Web Forms 2.0, a sister documentation designed to be an enhancement of HTML forms simpler than Xforms.

Microsoft was still silent on this subject and the W3C saw themselves as editor of a promising new specification, XHTML 2.0 which didn’t seem to attract much attention while, outside, a new specification claiming to be the true successor of HTML was being developed by the most promising outsiders in the browser market.

At XTech 2007, I had a chance to measure the depth of the channel that separates the two communities by attending to a debate between both working groups.

Tim Berners-Lee must have found that this channel was too deep when he took the decision to invite the WHATWG to continue their work within the W3C in a Working Group created for this purpose and distinct from the XHTML 2.0 Working Group that continues their work as if nothing has changed.

HTML 5 or XHTML 2.0?

So, the W3C has now two distinct and competing Working Groups.

Missons are very close

The XHTML 2.0 Working Group develops an extensible vocabulary based on XML:

The mission of the XHTML2 Working Group is to fulfill the promise of XML for applying XHTML to a wide variety of platforms with proper attention paid to internationalization, accessibility, device-independence, usability and document structuring. The group will provide an essential piece for supporting rich Web content that combines XHTML with other W3C work on areas such as math, scalable vector graphics, synchronized multimedia, and forms, in cooperation with other Working Groups.

The HTML Working Group focuses on the continuity with previous HTML versions:

The mission of the HTML Working Group, part of the HTML Activity, is to continue the evolution of HTML (including classic HTML and XML syntaxes).

The conciseness of this sentence doesn’t imply that the HTML Working Group isn’t worried about extensibility and cross platform support since the list of deliverables says “there is a single specification deliverable for the HTML Working Group, the HTML specification, a platform-neutral and device-independent design”and later on “the HTML WG is encouraged to provide a mechanism to permit independently developed vocabularies such as Internationalization Tag Set (ITS), Ruby, and RDFa to be mixed into HTML documents”.

The policy is thus clearly, taking the risk to see a standards war develop, to develop two specifications and let user choose.

XHTML 5 is a weak alibi

We find this policy within the HTML 5 specification that proposes to choose between two syntaxes:

This specification defines an abstract language for describing documents and applications, and some APIs for interacting with in-memory representations of resources that use this language.

The in-memory representation is known as « DOM5 HTML », or « the DOM » for short.

There are various concrete syntaxes that can be used to transmit resources that use this abstract language, two of which are defined in this specification.

The first such concrete syntax is « HTML5 ». This is the format recommended for most authors. It is compatible with all legacy Web browsers. If a document is transmitted with the MIME type text/html, then it will be processed as an « HTML5 » document by Web browsers.

The second concrete syntax uses XML, and is known as « XHTML5 ». When a document is transmitted with an XML MIME type, such as application/xhtml+xml, then it is processed by an XML processor by Web browsers, and treated as an « XHTML5 » document. Authors are reminded that the processing for XML and HTML differs; in particular, even minor syntax errors will prevent an XML document from being rendered fully, whereas they would be ignored in the « HTML5 » syntax.

This section, which by chance is non-normative, appears to exclude that a browser might accept any other HTML document than HTML5 or any XHTML other than XHTML5!

Furthermore, with such a notice, I wonder who would want to choose XHTML 5 over HTML5…

This notice relies on a frequent misunderstanding of the XML recommendation. It is often said that XML parsing must stop after the first error, but the recommendation is much more flexible than that and distinguishes two types of errors:

  • An error is “a violation of the rules of this specification; results are undefined. Unless otherwise specified, failure to observe a prescription of this specification indicated by one of the keywords MUST, REQUIRED, MUST NOT, SHALL and SHALL NOT is an error. Conforming software MAY detect and report an error and MAY recover from it.”
  • A fatal errors is “an error which a conforming XML processor MUST detect and report to the application. After encountering a fatal error, the processor MAY continue processing the data to search for further errors and MAY report such errors to the application. In order to support correction of errors, the processor MAY make unprocessed data from the document (with intermingled character data and markup) available to the application. Once a fatal error is detected, however, the processor MUST NOT continue normal processing (i.e., it MUST NOT continue to pass character data and information about the document’s logical structure to the application in the normal way).”

We see that on the contrary, the XML recommendation specifies that a XML processor can correct simple errors.

One may argue that what XML considers as a fatal error can be considered by users as simple errors, this would be the case for instance of a <img> tag that wouldn’t be closed. But even for fatal errors, the recommendation doesn’t stipulate that the browser should not display the document. It does require that the parser report the error to the browser but doesn’t say anything about how the browser should react. Similarly, the recommendation imposes that normal processing should stop because the parser would be unable to reliability report the structure of the document but doesn’t say that the browser shouldn’t switch to a recovery mode where it could try to correct this error.

In fact, if browsers are so strict when they display XML documents, this isn’t to be conform to the XML recommendation but because there was a consensus that they should be strict at the time when they implemented their XML support.

At that time, everyone had in mind the consequence of the browsers war that was one of the reasons why browsers accepted pretty much anything that pretended to be HTML. While this can be considered a good thing in some cases, this also means implementing a lot of undocumented algorithms and this leads to major interoperability issues.

The decision to be strict when displaying XML documents came as a new era good resolution and nobody seemed to dissent at that time.

If this position needs to be revisited, it would be ridiculous to throw away XML since we have seen that it isn’t imposed by the recommendation.

The whole way in which the two HTML5 syntaxes are presented is a clear indication thet the XML syntax which was not mentioned in the first HTML5 drafts has been added as a compromise so that the W3C doesn’t look like if they rejected XML, but that the idea is to maintain and promote a non XML syntax.

HTML 5 gets rid of its SGML roots

Not only does HTML 5 rejects XML, but it also abandons any kind of compatibility with SGML and says clearly “while the HTML form of HTML5 bears a close resemblance to SGML and XML, it is a separate language with its own parsing rules”.

This sentence is symptomatic of the overall attitude of the specification that seems to pretend to build on the experience of the web and ignore the experience of markup languages, taking the risk once again, to freeze the web to its current status.

The attitude of the XHTML Working Group is better balanced. Of course, XHTML 2.0 is about building on the most recent web development, but it doesn’t do so without keeping the experience acquired while developing XML and SGML vocabularies.

Technical approaches radically different

Without entering into a detailed comparison, two points are worth mentioning.

XHTML 2.0 is more extensible

Both specifications acknowledge the need to take into account the requirements that have appeared since HTML has been created when these are not correctly supported, but the method to do so is totally different.

HTML 5 has adopted a method that looks simple: if a new need is considered important enough, a new element is added. Since many pages contain articles, a new <article> element is added. And since most pages have navigation bars, a new <nav> element is added…

We have seen with the big vocabularies in document applications what are the limits of this approach: this leads to an explosion of the number of elements and the simplicity turns into complexity. It becomes difficult to choose between elements and pick the right one and since these elements are specialized, they never meet exactly your needs

Using this approach with HTML is more or less a way to transform it into a kind of DocBook clone for the web in the long term.

XHTML 2.0 has taken an opposite approach. The idea is, on the contrary, to start with a clean up and remove any element from XHTML that isn’t absolutely necessary.

It relies then on current practices: how do we do to represent an article or a navigation bar? The most common approach is to use a standard element, often a <div> and hijack the class attribute to apply a CSS style or a JavaScript animation.

The downside is that the values of the class attribute aren’t standardised and that the class attribute is used to convey information about the meaning of an element rather than define the way it should be displayed. This kind of hijack is pretty common since this is also the foundation of microformats.

To avoid this hijack while keeping the flexibility if this approach, XHTML 2.0 proposes to add a role attribute that defines the role of XHTML elements. This attribute can take a set of predefined values together with ad hoc values differentiated by their namespaces.

This method is a way to introduce the same kind of features that will be added to HTML 5 without adding new elements. This is more flexible since anyone can create new values in new namespaces. This also gives microformats a way to build upon something more solid than the class attribute that can be used again to define how elements should be presented.

Documents versus applications

Another important point that differentiate these two specification is their balance between data and applications or treatments.

XHTML 2.0 is built upon the XML stack:

  • The lower level is syntactical and consists of the XML and namespaces recommendations.
  • On top of this layer, the XML infoset defines a data model independent of any kind of treatment.
  • APIs, specific languages (XPath, XQuery, …) and schema languages are built on to of this data model.

It took some few years to build this architecture and things haven’t always been that clear and simple, but its big benefit is to separate data and treatments and be just the right one for a weak coupling between applications.

We’ve seen that HTML 5 has cut all its links to XML and SGML and that means that it doesn’t rely on this architecture. On the contrary, this specification mixes everything, syntax, data model and API (DOM) in a single specification.

This is because, as we’ve already seen, HTML 5 is a vocabulary to develop web applications rather than a vocabulary to write documents.

The difference seems important to me in not only in term of architecture but also in term of sustainability. Everyone agrees that XML is one of the best formats for long term preservation of documents. What is true of documents is probably not true of applications and I don’t think a HTML 5 application with a good proportion of JavaScript will be as sustainable as a XHTML 2.0 document.

The architecture on which XHTML 2.0 is built doesn’t prevent people from developing applications, but it dissociates more clearly these applications from the content.

Furthermore, XHTML 2.0 is also trying to develop and promote declarative alternatives such as XForms to define web applications that should be a better fit than JavaScript for documents.

Will the best specification win?

For all these reasons, HTML 5 looks to me as a big step backward and XHTML 2.0 seems to be a much better alternative.

Does that mean that XHTML 2.0 will be the winner or on the contrary, does the fact that HTML 5 is written by those who develop web browsers mean that XHTML 2.0 is doomed?

XHTML 2.0 has a strong handicap, but the battle isn’t lost yet. The HTML Working Group doesn’t expect that HTML 5 becomes a recommendation before Q3 20010 and before that date everything can happen.

It is up to us, the users, to vote with our feet and pen and start by boycotting the HTML 5 features that are already implemented in some browsers.

And short term, certifying that a page us XHTML 1.x valid is a good way to certify that it doesn’t contain HTML 5 features!

Entreprise 2.0, serions nous déjà demain?

J’ai déjeuné aujourd’hui avec Christian Fauré qui fait partie des membres fondateurs de notre planète XMLfr et que je ne connaissais encore que par Internet interposé.

Christian est responsable d’une cellule SaaS (Software As A Service) chez Atos-Origin, une situation idéale pour observer l’impact du Web 2.0 dans les grands groupes.

Il affirme que le bouleversement que j’avais prévu il y a bientôt deux ans dans mon billet Web 2.0 et entreprises 1.0 est en de se produire même si ce n’est pas pour les raisons que j’évoquais.

Ce n’est tant par le biais des usages que cette révolution a commencé que par celui de réduction de coûts. Et cette réduction de coûts qui était le deuxième facteur que j’envisageais dans mon billet ne porte pas tant sur l’utilisation de logiciels libres ou de méthodes agiles que sur l’externalisation de logiciels sous forme de services.

Quel est le lien entre SaaS et Web 2.0?

Ce lien est multiple et porte sur les trois volets du Web 2.0 tels que je les ai décrits :

  • c’est le volet social du Web 2.0 et la convivialité retrouvée sur le Web qui rend acceptable l’externalisation sous forme de services de logiciels à forte interaction avec les utilisateurs tels que les suites bureautiques;
  • le concept de SaaS est indissociable du volet architectural du Web 2.0 qui consiste à considérer le Web comme une plateforme;
  • SaaS s’appuie sur le volet technique du Web 2.0 (XML, HTTP, REST, Ajax, …).

De plus, c’est l’expérience acquise en développant leurs applications Web 2.0 grand public qui donne leur crédibilité aux Google et autres Amazon qui sont aujourd’hui les acteurs incontournables de la lame de fond SaaS.

Si cette analyse se confirme, et je ne vois rien qui puisse l’infirmer, nous sommes à la veille d’une véritable industrialisation de l’informatique qui va profondément bouleverser les services informatiques des entreprises.

Il n’y a rien de très nouveau dans ce que j’expose ici, mais je ne pensais pas que cela se produirait aussi rapidement et que des grands groupes étaient en train de franchir le pas aujourd’hui même.

Des nouvelles de XSV (XML Schema Validator)

Henry Thompson vient d’annoncer une nouvelle version (3.1) de son processeur de schémas XSV.

Pourquoi s’intéresser à XSV alors qu’il y a d’autres implémentations du langage de schémas W3C XML Schema?

XSV est écrit par Henry Thompson et Richard Tobin et Henry Thompson est l’éditeur le plus emblématique de la recommandations W3C XML Schema. XSV est donc une implémentation de référence qui devrait être particulièrement respectueuse de la recommandation et c’est un des outils qui m’ont servi de juge de paix lorsque j’ai écrit mon livre sur ce langage.

L’autre raison pour laquelle vous pourriez vouloir vous intéresser à XSV est qu’il est écrit en Python et que Python manque très cruellement d’implémentations décentes de W3C XML Schema.

Enfin, XSV permet de visualiser, sous forme d’un document XML suivant un schéma assez peu lisible il est vrai, le fameux « PSVI » (Post Schema Validation Infoset), ce qui est assez rare pour être souligné.

Malheureusement, XSV avait jusqu’à présent deux gros défauts :

  • Henry Thompson a toujours été beaucoup plus intéressé par la première partie de la recommandation dédiée à la structure des documents qu’à la deuxième partie dédiée aux types de données et que l’implémentation de la deuxième partie était très incomplète.

  • XSV exigeait l’utilisation d’un parseur XML (PyLTXML) partiellement écrit en C dont l’installation me laissait des souvenirs épouvantables.

L’annonce mentionnant que ce dernier point était levé, j’ai pensé qu’il était intéressant de tenter à nouveau l’expérience.

J’ai donc essayé d’installer XSV à partir de sources puis à partir de son package Debian sur mon poste de travail (Ubuntu Gusty) et dans les deux cas, les installations se sont passées sans problème notable.

Quelques points méritent toutefois d’être signalés :

  • S’il est vrai que XSV peut se passer de parseur spécifique, il faut dans ce cas installer une version ancienne de « PyXML », un module nécessaire au support de XML sur les premières versions 2.x de Python. La plupart des fonctions de PyXML ont maintenant été intégrées à Python, PyXML n’est plus maintenu et son utilisation peut poser des problèmes de coexistence avec les fonctions intégrées.

  • L’installation du parseur spécifique (PyLtXML) se fait maintenant sans problème que ce soit à partir des sources ou du package Debian. Je pense que cette option est moins risquée que l’utilisation de PyXML.

  • Les packages Debian pour XSV et PyLtXML installent ces bibliothèques sur Python 2.4. Pour les utiliser avec Python 2.5, il faut donc les recopier ou utiliser l’installation à partir des sources.

  • XSV ne semble pas tenir compte de la variable PYTHONPATH pour rechercher les DTDs de XML Schema dont il a besoin. Ce problème peut être résolu en créant des liens symboliques sur ces DTDs.

Sans être parfaite, l’installation est donc effectivement beaucoup plus facile que sur les versions que j’ai utilisé en 2001 et devient à la portée d’un être humain!

En ce qui concerne le support des types de données, la documentation ne mentionne plus dans la liste des restrictions que « le reste des types de données simples notamment les types xs:duration ».

XSV semble donc devenir petit à petit une bibliothèque réellement utilisable, que ce soit pour les programmeurs Python en quête d’une implémentation W3C XML Schema ou pour les gourous XML cherchant une implémentation de référence.

Sun to buy the M from LAMP

Sun has announced their intention to buy MySQL, the number one database for web applications used both by Google et Amazon but also powering most of personal blogs.

Sun has considered that being the M from “LAMP” (Linux, Apache, MySQL, PHP) would be a good way step to be the “.” in “.com” as they used to say in one of their taglines.

This announce has and will be commented at large… Personally, I do hope that this will speed up a better support of XML by MySQL.

I had the opportunity to have a look at XML support in MySQL 5.1 for the chapters about databases in the book “Beginning XML” that I have co-written with Joe Fawcett (he covered SQL Server and wrote two sections about eXist and MySQL). My conclusion is that these features are a good start but there is still a lot of work between they reach something that can match modern databases!

Knowing the long term commitment of Sun to XML, I do hope that this will boost the developments of new XML features.

While we’re speaking of modern databases, one of the leaders in term of XML support is Oracle.

And today is also the date they’ve chosen to announce that they’re buying BEA. what’s the link between these two announcements? It’s a factor 8.5! It will cost $b 8.5 to Oracle to buy BEA and only $b 1 to Sun to buy MySQL.

I don’t want to underestimate the BEA’s business value, but it looks to me that in term of overall visibility and contribution to the net economy, the factor should be the other way round!

That’s probably a good illustration that it remains more difficult to monetize open source than commercial developments.

Sun se paye le M de LAMP

Sun vient d’annoncer son intention d’acheter MySQL, la base de données qui est devenue la principale base de données des applications Web et est utilisée notamment par Google et Amazon mais également par le plupart des blogs.

Sun aura sans doute considéré qu’être le M de « LAMP » (Linux, Apache, MySQL, PHP) est sans doute un bon moyen d’être de « . » de « .com » pour reprendre une de leurs anciennes taglines!

Cette annonce sera sans doute amplement commentée. Pour ma part, j’espère que ce rachat signifiera un meilleur support de XML par MySQL.

J’ai eu l’occasion de me pencher sur le support de XML par MySQL 5.1 pour le chapitre consacré aux bases de données du livre « Beginning XML » que j’ai coécrit avec Joe Fawcett (je lui ai laissé le soin de présenter SQL Server et ai consacré deux sections à eXist et MySQL). Ma conclusion est que si ces fonctionnalités sont un bon début, il y a encore bien du chemin à faire pour que le support de XML par MySQL soit digne d’une base de donnés moderne.

Compte tenu de l’implication historique de Sun dans XML, j’espère que ce rachat va accélérer le mouvement.

Puisque nous parlons de base de données modernes, une des références en matière de support de XML est sans doute Oracle.

C’est également aujourd’hui que ce dernier annonce le rachat de BEA. Quel rapport y a t-il entre ces deux annonces? Le rapport est de 8,5! Il en coûtera 8,5 milliards de dollars à Oracle pour acquérir BEA alors que Sun ne déboursera qu’un petit milliard de dollars pour acheter MySQL.

Sans vouloir sous estimer la valeur de BEA, il me semble qu’en terme de visibilité et de contribution au Web et à la « nouvelle économie », le rapport devrait être dans l’autre sens!

C’est sans doute la preuve qu’il reste plus difficile de valoriser des développements de logiciels open source que des développements commerciaux.

To XForms or not to XForms?

Yahoo! has released Yahoo! Mobile Developer Platform sous le nom de « Blueprint » and the news has been widely commented by XForms fans: Micah Dubinko states that “Yahoo! introduces mobile XForms” and Erik Bruchez “Yahoo! goes XForms

The roadmap published by Yahoo! appears to be much more cautious and just says “Much of Blueprint’s philosophy and syntax comes from XForms”.

The developers’ guide clearly shows that if Yahoo! did borrow elements from the XForms recommendation, these elements do not belong to the XForms namespace, cohabit with elements similarly borrowed to XHTML and elements that are specific to Yahoo! and are declared under a single namespace.

The result seems as different from XForms than WAP Forum’s WML was different from XHTML.

If the defenders of a declarative approach can celebrate the fact that this approach has been preferred by Yahoo! over a more procedural approach based on JavaScript, I think that this is an overstatement to say that this is a success for XForms.

XForms has been designed to be user agent agnostic and the development of a Basic version has even been started for low end terminals.

Mobiles were obviously a target for XForms from the beginning and the adoption by Yahoo! of a not really compatible clone can on the contrary be seen as a new failure.

This is especially regrettable for a technology that has a huge technical potential.

 

XForms ou pas XForms?

Yahoo! vient d’annoncer sa plateforme de développement pour mobiles (Yahoo! Mobile Developer Platform) et la nouvelle a été immédiatement relayée par les fans de XForms : Micah Dubinko titre « Yahoo! introduit XForms sur les mobiles » et Erik Bruchez « Yahoo! adopte XForms ».

La feuille de route publiée par Yahoo! est nettement plus prudente puisqu’elle se contente de dire que « beaucoup de la philosophie et de la syntaxe de Blueprint viennent de XForms ».

Lorsque l’on se penche sur le guide du développeur, on s’aperçoit que Yahoo! a effectivement emprunté des éléments de la recommandation XForms, mais que ces éléments ont été changés d’espace de noms et cohabitent avec des éléments empruntés de la même manière de XHTML et des éléments propres à Yahoo!.

Le résultat n’est donc pas plus proche de XForms que le WML du WAP Forum n’était proche de XHTML.

Si les défenseurs d’une approche déclarative peuvent se féliciter qu’elle ait été préférée par Yahoo! à une approche plus procédurale qui se serait appuyée sur JavaScript, je pense donc très exagéré de parler de succès pour XForms.

XForms a été conçu pour séparer la logique des formulaire de saisie de leur représentation de manière à pouvoir être exécuté sur différents types de terminaux et le développement d’une version « basique » a été lancée.

Les mobiles faisaient clairement partie des cibles de XForms et ont peut au contraire interpréter cette adoption d’un clone non vraiment compatible de XForms par Yahoo! comme un nouvel échec.

C’est d’autant plus regrettable que les implémentations de cette technologie montrent qu’elle représente un potentiel technique remarquable.