Agence de développement de site web à Strasbourg - Alsace, VDN vous propose une présence internet dans les mondes virtuels.

Vol de nuit, Solutions internet innovantes et accompagnement de projets web à Strasbourg, Alsace


Création sites web et solutions Internet Strasbourg-Alsace

UN INTERNET D'AVANCE :
Marketing web, Recherche & Développement, Accessibilité-Interopérabilité, Normes W3C-UWEM-RGAA, Pilotage de projets web, Interfaces Web 2.0, Audits et expertise, Implantations SecondLife, Gestion de contenu, Applications web en ligne, Hébergement sécurisé, Référencements optimisés.
NOS DOMAINES D'INTERVENTION :
Domaines : création sites web à Strasbourg, réalisation sites internet, intranets, extranets, chartes graphiques, sites e-commerce et boutiques en ligne, solutions CMS gestion de contenu, applications web 2.0, prospectives web 3D, développement web mobiles-PDA, solutions collaboratives Wiki.

Les grandes rubriques du site :

Infos et menus :

Sur le site :
>> Rechercher

ABC clavier virtuel

>> Découvrir

Navigation intuitive Utilisez cette fonction pour naviguer dans le site de façon intuitive...

Sur ce Blog :
>> Consulter

Pourquoi ce blog ? Le pourquoi du comment...

Lexique des termes techniques, abréviations et sigles utilisés

>> Articles

  1. Politique culturelle et numérique [7 juin 2009]
  2. Mon iPhone et moi... [24 mai 2009]
  3. "Next Big Thing" : Questionnaire sur l'Internet... [20 mai 2009]
  4. "Next Big Thing" : Le point sur le projet... [18 mai 2009]
  5. Accessibilité : le décret enfin... [16 mai 2009]
  6. Voeux et bonnes résolutions pour 2009 [20 janvier 2009]
  7. Océan bleu : l'innovation comme mer de sérénité... [23 octobre 2008]
  8. Graphic World [3] [16 octobre 2008]
  9. Graphic World [2] [2 octobre 2008]
  10. Une mythologie moderne [3 septembre 2008]
  11. Le cube HMS [3] [08/08/08...]
  12. De l'intérêt des normes, des vastes avantages... [2 août 2008]
  13. Sur ce site... [13 juillet 2008]
  14. Le cube HMS [2] [12 juillet 2008]
  15. A l'heure de la convergence numérique [4 juillet 2008]
  16. 2018 : Oki et Yuko [16 juin 2008]
  17. S... de prestataire ! [10 juin 2008]
  18. La Courbe de Gartner [29 mai 2008]
  19. Utiliser un mobile est-il un handicap ? [15 mai 2008]
  20. Le cube HMS [1] [19 avril 2008]
  21. Au « bon » client... [12 avril 2008]
  22. Jusqu'à ce que... [1er avril 2008]
  23. Graphic World [27 mars 2008]
  24. Mutabilité des "contenus mobiles" [10 mars 2008]
  25. WTML : vous reprendrez bien un peu de pastèque ? [8 mars 2008]
  26. Retour sur la (maigre) sémantique [21 février 2008]
  27. Et 1... et 2... et 3.0 [12 février 2008]
  28. SL accessible ? [5 février 2008]
  29. Mutabilité et convergence [21 janvier 2008]
  30. Validation et mode "quirks" [11 janvier 2008]
  31. Web 3.0 : vers une techno-discrimination ? [2] [7 janvier 2008]
  32. Web 3.0 : vers une techno-discrimination ? [1] [5 janvier 2008]
  33. Pour une discrimination positive : "créer... [19 décembre 2007]
  34. Municipales 2008 à Strasbourg [15 décembre 2007]
  35. Accessibilité et non-discrimination : quelle(s)... [30 novembre 2007]
  36. Contenu unique > utilisateurs multiples [29 novembre 2007]
  37. Quelle restitution ? [28 novembre 2007]
  38. Pour un web non-discriminant : intro [25 novembre 2007]

Vos outils
>> MyVDN ;-)

Vous avez trouvé cette page intéressante ?
Stockez-la ici en favoris... >>> Inscrivez-vous !


Contenu de la page en cours :

Vous êtes sur la page :

Recherche et développement en solutions web3D, web2.0 et mondes virtuels en Alsace

Développement et Technologies

WTML : vous reprendrez bien un peu de pastèque ?

8 mars 2008


Le concept de WTML

L'accessibilité ou l'interopérabilité d'un contenu web, c'est un peu comme la photographie autrefois : ce n'est pas au moment où elle "apparaît" dans le bain révélateur qu'une image est bonne ou pas, c'est au moment de sa prise de vue... Cadrage, composition, exposition, piqué, richesse de ses hautes et basses lumières, tout ceci le laboratoire ne fait que le révéler : il y a à un moment mise en forme de quelque chose qui était virtuellement présent dans l'intégralité de ses qualités depuis l'acte de déclencher. De même, quoique ce ne soit qu'à l'affichage d'un document web qu'on peut dire s'il est in fine accessible ou pas (ou à quel degré il l'est ou ne l'est pas), ce qui se joue au moment de la restitution est largement tributaire du contenu tel qu'il a été produit dès sa conception. C'est là que se met en place tout ce qui fera ultérieurement un contenu conforme. C'est la raison pour laquelle un site ne pourra jamais être rendu accessible et que l'accessibilité ne sera jamais un patch à rajouter après.

Concernant donc la façon dont un contenu est produit, la quasi-totalité des outils CMS (systèmes de gestion de contenu) disponibles - on peut faire aujourd'hui l'impasse sur les sites codés "en dur" - opèrent de la même manière : l'utilisateur injecte du contenu (disons du texte copié-collé) que de nombreux fonctionnalités permettront ensuite de mettre en forme : titrage, séquençage, enrichissement, etc. On appelle ça un(e) rich text interface .

En fait, c'est un peu plus compliqué. Il y a simultanément écriture d'un contenu avec son balisage et écriture du modèle de page qui va le recevoir pour restitution. Il y a donc une imbrication étroite entre le contenu proprement dit (le texte et ce qui l'accompagne, photos, sons, etc) et le cadre dans lequel il apparaîtra. Le balisage entourant les objets, même si et quoiqu'il puisse être "sémantiquement cohérent", est toujours produit en rapport avec sa structuration finale une fois mis en page. Le CMS produira des titres en h1 et des sous-titres en h2 (je fais ici l'impasse sur les solutions CMS produisant des titres en font-size) parfaitement normalisés tant que ce contenu restera dans le cadre prévu : la mise en page associée au système.

Alors quid des contenus migrants ? Quid des objets importés online ? En gros la situation qui prévaut aujourd'hui est simple à décrire : je garantis des contenus accessibles tant qu'ils relèvent d'une production sous mon contrôle (solution CMS) et pour le reste (liens copiés-collés d'appel à contenu externe) je déplore qu'il(s) invalide(nt) mon document.

Dans l'optique où les contenus vont être amenés à migrer (passer d'un site à l'autre...), à muter (passer d'un UA à un autre...), à converger (se mixer les uns avec les autres...), comment les produire indépendamment de leur usage immédiat ? Un simple exemple : mon outil CMS me produit des textes séquencés en h1 > h4, soit 4 niveaux hiérarchiques de titres/soustitres ; je souhaite partager ces ressources avec un site partenaire qui lui utilise déjà h1 et h2 pour structurer ses propres pages ; ce qui va se passer, c'est que mes structurations vont entrer en conflit avec les siennes. On va avoir au final un double jeu de titres h1 ne décrivant pas du tout le même type d'objets, sans parler des attributs de class ou d'id ! ... Du coup l'utilisateur équipé d'une synthèse vocale naviguant de titres en titres ne comprendra pas la logique de structure (normal, y'en a plus...) et l'affichage sur écran d'ordi présentera deux titres hiérarchiquement et aspectuellement identiques pour deux types d'informations distinctes : question accessibilité on peut mieux faire...

Reste la solution - lourde parce que manuelle - de réinterpréter (via PHP par exemple) les contenus importés pour les rendre compatibles avec la structure-hôte et ainsi maintenir l'accessibilité générale du document.

Les rôles de WTML

L'autre possibilité est de considérer tout contenu comme une "marque blanche", un contenu "neutre" capable d'être absorbé par une structure de document en cohérence avec ses règles propres. Et puisqu'il s'agit de balises, la "marque blanche" devient un "balisage blanc" : un white tag. Et puisqu'il s'agit d'un langage, un white tag markup langage : WTML. Et puisque "weu-teu-meu-leu" veut à peu près dire "watermelon" , il s'agit donc bien pour finir d'une histoire de pastèque ;-)

WTML n'a pas pour objectif de se substituer aux langages du web actuels (HTML, XHTML,...) mais de structurer les contenus en amont de leur traitement par ces langages. A la manière d'XML il se compose de balises faisant sens ; là où il se distingue d'XML c'est que son balisage n'est pas porteur d'une sémantique liée au contenu lui-même (genre <auteur></auteur>) mais à la structuration même du contenu : <article>, <titre>, <soustitre>, <texte>, <citation>, etc. Mais si XML est un langage orienté données, WTML un langage orienté documents.

Si XML est parsé par XSL (pour tous ces termes techniques, voir wikipedia ou les documentations W3C), WTML est incorporé tel quel comme contenu dans les documents web. Mais... mais incorporé comme tel il sera aussi restitué comme tel... il est donc nécessaire de passer WTML par un jeu de filtres pour le parser. Ces filtres peuvent être de plusieurs types, je n'exposerai ici que leur version PHP.

PHP est capable d'inclure (fonction include) du contenu dans le document au moment de la requête sur le serveur et de lui appliquer des traitements particuliers avant distribution aux UA clients. Un de ces traitements possibles est un filtrage WTML : par regex ou str_replace, PHP est capable de transformer une balise <titre> en n'importe quelle balise <h[n]>, ou encore n'importe quelle balise <commentaire> en une balise <blockquote>... C'est là que tout l'intérêt de WTML apparaît : le contenu étant structuré selon un jeu de balises normées (voir plus loin : "internationalisation"), sa restitution, via tout un jeu de filtres, est optimisable pour s'adapter aux contraintes du document-hôte, un peu à la manière d'une syndication RSS par exemple.

Les usages de WTML

1. Soit deux documents appartenant à deux sites distincts. Disons que le premier structure chacune de ses pages par une entête en h1... dans ce cas le filtre (f-WTML) mutera <titre> en <h2>, <soustitre> en <h3>, etc. Le second document en revanche incorporera le contenu WTML dans un groupe de contenus déjà encadré par un jeu de <h[n]>... dans ce cas f-WTML remplacera les balises par des jeux d'équivalences de type <p class="nom-de-classe">.

2. Soit un document unique inclus dans un site mais dont la structure de contenu mutera en fonction de l'UA (voir l'article "Mutabilité des contenus mobiles"). Dans ce cas le filtre f-WTML mutera les <h3> en <ul><li>.

3. Soit un site donné qui change de charte graphique au cours d'une refonte d'identité et/ou de communication globale. Un filtre f-WTML adaptera instantanément l'ensemble des contenus...

Ces trois exemples - on pourrait en inventer des dizaines d'autres - montrent la souplesse et la robustesse de WTML : non seulement les contenus sont indépendants de leurs couches graphiques, événementielles, etc (couplage HTML/XHTML à CSS et JS) mais en plus ils sont indépendants du langage qui les restituera. L'arrivée prochaine d'HTML5, une éventuelle version d'XHTML2 ou l'usage de tout autre langage pour tout autre usage à venir (web 3D ?) ne sont plus synonymes de reprise en main de l'ensemble des documents dont l'auteur de contenus est responsable. De nouvelles balises de type <section> ou <datalist>, annoncée pour HTML5, ne nécessiteront pas la refonte complète des sites existants mais la simple écriture d'une ligne de code dans le filtre f-WTML concerné.

Les structures de WTML

Comme XML dont il s'inspire, WTML est constitué de balises fermantes ou auto-fermantes ; il est d'autre part inclus dans une balise globale <article> :

<article>
<titre>Mon titre d'article</titre>
<intro>Mon texte d'intro</intro>
<soustitre>Sous-titre 1</soustitre>
<texte>Mon texte 1</texte>
<soustitre>Sous-titre 2</soustitre>
<texte>Mon texte 2</texte>
</article>

Selon les besoins, cette balise globale <article> sera ignorée ou filtrée en <div> par exemple et destinée à subir un traitement graphique CSS...

Nommage et internationalisation

WTML étant d'une part conçu comme un outil de sémantisation structurelle et de l'autre devant être de toute façon parsé par un filtre, rien n'interdit son internationalisation : un simple filtre f-WTML complémentaire assurera la traduction <content> | <contenu> | <inhalt>... De la sorte, toute communauté de développeurs de filtres peut oeuvrer conjointement chacun dans sa langue puisqu'au final <contenu> deviendra <div lang="fr"> et <content> <div lang="en"> si l'on veut... WTML deviendra ce que ses utilisateurs en feront. Il conviendra de s'entendre sur un ensemble de balises basiques (à équivalence HTML "naturelle") et sur des conventions de nommage pour que WTML devienne immédiatement opérationnel.

Produire du WTML

WTML est constitué de 3 ensembles imbriqués :
1. le balisage,
2. un jeu de filtres,
3. les outils de production.

Un outil de production de contenus WTML de type CMS - produire du code en dehors d'un outil de gestion de contenu n'a pas de sens puisque pour être partageable ce dernier doit être autonome - doit être capable d'écrire la sémantique structurelle (le balisage normé) en même temps que le contenu lui-même.

Un fichier WTML est donc constitué en bloc cohérent individualisé, et devient utilisable en tant que tel. Tout l'intérêt de la fonction "white tags/pastèque" réside dans cette indépendance structurelle ; ne pas la respecter, c'est développer du contenu pour rien ; autant alors s'en tenir aux langages courants.

Toute solution de production de contenus peut à moindre coût se transformer en outil de production WTML : il suffit d'affecter dans la rich text interface des contenus de balises WTML aux tags HTML standards.

Stratégie(s) de développement

100% open source (et pour cause...) WTML permettrait à toute communauté de se constituer en productrice de filtres f-WTML ; pour ce faire, si le projet rencontre son public, il conviendra de développer des interfaces d'échanges, et des supports de normes techniques devront être tenus à jour par la communauté ainsi qu'un centre de ressources à télécharger.

Les pistes à explorer sont nombreuses :
- relations entre WTML et XML,
- nommage HTML (correspondances exactes) et non-HTML (contenus sans balisage HTML à "displayer" d'une façon ou d'une autre...),
- versions internationales cohérentes pour filtrage cohérent (l'idée du système de filtrage est de constituer des briques f-WTML opérant les unes à la suite des autres... comment optimiser tout cela en temps-serveur, en gestion de risque de conflits d'instructions, en utilisabilité pratique sans les "usine à gazer", en mises à jour et adaptabilité aux besoins présents et à venir ?),
- interaction avec des solutions "markdown",
- etc.

Quoique tout développeur puisse créer une version de WTML qui lui convienne, le sens de ce projet "innovation" est de constituer un outil commun utile à tous. On peut rêver que demain blogs et sites relaieront des contenus mutualisés construits sur un langage indépendant des langages de restitutions et développé spécifiquement pour cet usage, et qu'après-demain ce langage pourrait, de par sa souplesse et sa robustesse, s'imposer comme norme pour assurer toutes sortes d'interopérabilités.

Commentaires

Pas de commentaires postés
Pour poster un premier commentaire : onglet   RÉPONDRE

Postez votre commentaire

Note 1 : entourez votre texte de * pour le mettre en italique et de ** pour le mettre en gras, sans oublier les espaces :
Passages en  [espace]*italique*[esp.]  et en  [esp.]**gras**[esp.]  dans un texte.

Note 2 : merci de ne pas ajouter de liens (adresses web, URL) à votre commentaire... vous pouvez faire référence à d'autres sites ou blogs mais en "plain text".

Note 3 : vos commentaires ne seront pas consultés avant leur mise en ligne, merci de modérer vos propos.
Tout commentaire hors-sujet ou déplacé sera supprimé.

 

Vous êtes :


Votre mail (n'apparaîtra pas)


Commentaire


Visualisez votre réponse
Votre commentaire
Anti-spam
Pour éviter le spam abusif, indiquez les trois lettres initiales de ce site.



Toute citation est autorisée, accompagnée obligatoirement de la mention ©Vol de Nuit/blog.
Donner le lien de cette page et nous envoyer en retour celui vers votre page où nous sommes cités serait vraiment très 2.0 spirit.


Outils complémentaires :


Vol de nuit 1 rue des petits champs, 67300 Schiltigheim [Strasbourg] | 03 88 18 90 20 | vdn@vol-de-nuit.net

Cliquez pour appeler Vol de nuit 03 88 18 90 20Contact Vol de nuit par mail