Préambule  / Introduction  / Projet 1  / Projet 2  / Projet 3

Mario Culotti

m.culotti@free.fr

Mirepeix le 10 avril 02

Objet : Propositions pour faire d'internet un outil de recherche de partage et de collaboration plus précis et plus fiable.

préambule

Voiçi quelques idées autour d'un projet relatif à un « futur internet », dont l'objectif est de développer des outils pour favoriser l'étude, la reflexion, le partage et le travail collaboratif dans les domaines les plus divers

-Comment permettre de multiples lectures selectives d'un même document en fonction des choix du lecteur (âge, niveau, centres d'intêréts...)

-Comment atteindre des informations relatives à un enseignement, aussi précis soit-il, sans connaître les adresses web où se situent ces informations, ni l'endroit où elles se trouvent dans un document.

-Comment se constituer une base de connaissance personnelle.

-Comment partager ces connaissances avec d'autres.

-Comment développer le travail collaboratif à partir de ces bases de connaissances personnelles et / ou publiques.

-Comment réaliser à la demande, une base de données documentaire sur l'ensemble des sites web, où qu'ils soient, par une simple requête lancée sur internet.

Si vous êtes interpelés par ces questions, et si vous avez envie de vous investir dans la mise en valeur des textes fondamentaux, des enseignements reconnus.... (sans avoir de compétence particulière en informatique), ou si vous êtes intéressés par l'aspect informatique de ce projet, vous pouvez prendre contact avec ?? (pour l'instant Mario Culotti : email m.culotti@free.fr  Un site web consacré à ce projet est en cours de construction.

Préambule  / Introduction  / Projet 1  / Projet 2  / Projet 3

Introduction

Le développement spectaculaire d'internet a décuplé les posibilités d'information et de communication. Cependant l'utilisateur se sent le plus souvent écrasé face à la quasi infinité des choix qui s'offrent à lui. A l'heure où l'on parle de plus en plus de cyberdémocratie, de partage d'informations et de travail collaboratif, on peut appeller de ses souhaits un futur internet qui ne laisserait plus la recherche d'information à la merçi des hasards du surf, mais offrirait une naviguation sûre, précise, qui se cantonne sans difficulté à un domaine ciblé comme par exemple une base de documentaire étendue "à la toile" sur un sujet donné.

Une idée pour avancer dans cette direction serait de créer des métalangages décrivant de manière récursive les divers niveaux sémantiques des documents. Ces métalangages constitueraient une sorte de nouvelle interface entre l'univers conceptuel de l'internaute et l'ensemble des documents qui seraient structurés par ces métalangages. Les recherches sur le web ne se feraient plus sur une base syntaxique mais sur une base sémantique, non plus sur les mots mais sur les idées.

Le moyen d'écrire ces métalangages existe : c'est XML (Extensible Makup Langage).

Le premier projet s'adresse en premier lieu aux spécialistes (non informatique) de domaines (les plus divers tels la littérature, la philosophie, le développement personnel, la religion, l'histoire, la cyberdémocratie, en bref tout document de tout type) susceptibles de s'intéresser à la mise en valeur sémantique de documents en créant les métalangages adaptés.

Ensuite des informaticiens en collaboration avec ces derniers pourraient créer les outils informatiques pour exploiter ces travaux.

Le second projet serait le prolongement du premier en s'attachant à développer des outils de partage et de travail collaboratif sur la base de la création de bases de connaissance personnelle, publique ou privée, sorte de mémoires individuelle ou collective.

Le troisième projet consiste pour l'intant en une ébauche de description des concepts XML pour des non spécialistes qui seraient intéréssés par le premier projet, à savoir la création de métalangages. Ce projet devrait s'enrichir au fur et à mesure des divers travaux réalisés dans les domaines étudiés, et servir ainsi de base pour développer de nouvelles contributions.

Note : nous utilisons içi à dessein le terme de création de métalangage et non de langage, pour bien souligner l'aspect de mise en valeur sémantique qu'il sagit d'effectuer en céant ces métalangages.

Préambule  / Introduction  / Projet 1  / Projet 2  / Projet 3

Projet 1

Celui qui a essayé de rechercher une information sur internet a pu constater combien cette démarche "aveugle" peut parfois être décourageante. A moins de connaître exactement l'endroit où se situe l'information, on se trouve le plus souvent noyé dans un flot de documents parasites qu'il faut trier un par un pour trouver par hasard ce que l'on cherche.

Aujourd'hui, on pourrait diviser internet en deux mondes : un monde étroit que l'on a expérimenté et où l'on trouve ce que l'on cherche, et un monde vaste où l'on découvre des choses intéressantes au hasard des explorations mais rarement ce que l'on cherche.

La raison de cette situation tient à la pauvreté de la recherche par mot clé dans des index, qui sont les seuls éléments qui nous renseignent sur les documents existants; à tel point que l'on a recours à des publications "papier" pour essayer d'améliorer sa visibilité sur le "net".

L'une des solutions les plus prometteuses à ce problème consiste à mettre en évidence les éléments sémantiques importants d'un document en créant de toute pièce un langage de balises spécifiques au domaine, qui permettrait à la fois une recherche conceptuelle beaucoup plus fine et aussi une structuration sémantique orientée vers les multiples lectures possibles du même document.

Ce projet consisterait à constituer un groupe de travail : sur la création de langages de balises grâce au métalangage XML (Extensible Markup Langage) ainsi que les grammaires correspondantes (Définition Type de Document : DTD, Shémas XML). Il est important de noter que la participation à ce premier groupe ne nécessite pas de compétences particulières en informatique, mais plutôt la capacité de mettre en évidence les divers aspects sémantiques d'un texte, afin d'en dégager une vue significative.

Le premier volet de ce projet pourrait consister à se familiariser avec le métalangage XML, et à intégrer les possibilités nouvelles de création de langages de balises et de grammaires, en prenant en compte les travaux existants. (Ces aspects de formation ne nécessitent pas de compétences spéciales en informatique).

Ensuite pourrait commencer le travail de réflexion sur la mise en valeur de la sémantique des textes en fonction des diverses lectures que l'on peut en faire, sachant que l'outil informatique multiplie à l'infini ces possibilités de lecture. Le groupe de travail devrait comprendre d'une part des spécialistes des domaines abordés, et d'autre part des utilisateurs avertis ou non de ces domaines, de façon à favoriser une dynamique expérimentale.

Comment par exemple structurer sémantiquement un document de façon à favoriser :

- la constitution d'index multiples à la demande.

- la recherche par thèmes.

- la lecture d'un ensemble de documents (où qu'il soient) par centre d'intérêt.

- la mise en relation multiple de tout ou partie d'un document avec tout ou parties d'autres documents situés n'importe où sur la toile du web.

............

Le troisième volet consisterait à réfléchir sur les outils informatiques à développer pour exploiter les textes balisés. A ce stade, le groupe de travail devrait intégrer des spécialistes en informatique susceptibles de dialoguer avec les créateurs de langages et de grammaires, et les utilisateurs, afin de trouver les solutions informatiques adéquates.

Outre la création de langages de balises, XML offre des possibilités très puissantes pour relier des documents ou des parties de documents entre elles (beaucoup plus que sur le "web" actuel ), permettant ainsi de constituer un vaste réseau documentaire sur des sujets ciblés par l'utilisateur. Ainsi, à l'avenir il serait possible de "naviguer" sur internet en restant constamment centré sur un même thème aussi précis soit-il.

L'une des particularités de XML est de séparer le contenu sémantique d'un document de sa représentation physique sur un support donné (imprimante, écran d'ordinateur, mobiles, machines vocales, braille etc ...). De ce fait, un même document, dont le contenu a été mis en valeur par des balises restera identique à lui même quelle que soit la représentation que l'on voudra lui donner, puisqu'il suffira de lui adjoindre un autre document (les feuilles de style) qui contiendra une façon particulière de le représenter. On aura donc un document de base avec le contenu (balisé) et autant de documents de représentation que l'on souhaite.

On pourrait illustrer l'enjeu de ce projet en le considérant comme une tentative de rapprocher une question, qui se pose quelque part, des éléments de réponses susceptibles de l'éclairer. Or nous savons qu'il existe d'immenses richesses enfouies dans les bibliothèques par exemple, auxquelles une infime minorité de « privilégiés » ont accès. On peut imaginer que demain, d'un seul clic de souris on puisse déterrer tous les trésors relatifs à un sujet donné.

Préambule  / Introduction  / Projet 1  / Projet 2  / Projet 3

projet 2

Puisque les futures communications par internet devraient permettre de collecter de nombreux documents pertinents pour nous, il semble naturel de se poser la question de l'organisation de ces informations selon des critères personnels ou prédéfinis.

L'esprit de ce type d'approche serait de créer une façon intuitive de se constituer une base de connaissance informatique personnelle, non pour le plaisir de thésauriser des informations, mais plutôt pour favoriser l'appropriation par l'étude et la réflexion.

En effet, le paradoxe de notre époque est que nous avons accès à de plus en plus d'informations, mais nous avons de moins en moins de temps à consacrer pour y réfléchir, les méditer, les assimiler. Il en résulte que nous avons tendance à glisser superficielement à la surface d'un flot continu de sollicitations informatives qui arrivent au hasard des "zapping" entre les divers médias.

Si nous réussissons à trouver l'information qui nous intéresse, il est nécessaire de disposer d'outils d'appropriation, c'est-à-dire de pouvoir revenir facilement dessus, la relier à d'autres informations, créer des vues traversant notre base propre de connaissance..., faire en sorte qu'elle alimente notre réflexion et notre créativité.

Dans la première partie de ce projet, on devrait s'interroger sur les outils qu'un utilisateur aimerait avoir à sa disposition pour créer sa base de connaissances personnelles, sans être obligé de devenir un expert en base de données, et sans passer par la création de répertoires et de fichiers, dans le format correct comme on le fait habituellement pour ranger des informations.

Comment classer intuitivement un document, une citation etc... ? Comment relier ces informations entre elles, comment les retrouver, comment créer des vues etc... ?

Par exemple, lorsque je lis un texte, j'aimerais pouvoir classer facilement certains passages selon des critères personnels où proposés, qui me permettent de les retrouver : par auteur, par titre, date, thèmes, mots clés, projets...

Cette démarche pour favoriser l'appropriation pourrait ensuite servir de base pour développer des outils de partage et de communication.

Par exemple, si je suis en train de travailler sur un texte philosophique, j'aimerais pouvoir trouver facilement les personnes qui l'étudient sur le web en même temps que moi et qui souhaiteraient échanger des idées sur ce thème, ou simplement trouver des travaux qui en parlent.

Une idée à exploiter serait, d'une part, de profiter des possibilités de recherche offertes par les langages de balisage issus de XML, et, d'autre part, chacun pourrait rendre publique une partie de sa base de connaissances personnelles de façon à la mettre à disposition de la communauté.

Rien n'empêche par ailleurs de créer des bases de connaissances purement collaboratives, et/ou de partage, qui permettraient à tous ceux qui le souhaitent, soit de s'informer, soit d'apporter une contribution personnelle à un projet commun.

L'enjeu se situe içi dans la réappropriation de l'information et des possibilité de communiquer, afin de ne plus être ballotté au gré des publicités commerçiales, des émissions à la recherche d'audimat et des manipulations diverses des esprits à des fins peu édifiantes. Ensuite, dans un monde où les communications se sont prodigieusemment développées, il est navrant de constater l'appauvrissement des relations interpersonnelles, c'est pourquoi il est primordial à notre avis de se réapproprier aussi ces outils de communication pour les remettre au service de l'homme en favorisant le travail en commun et le partage réel.

Ce projet demanderait une étroite collaboration entre utilisateurs potentiels et informaticiens pour commencer à réfléchir sur une définition plus précise des composantes du projet.

Préambule  / Introduction  / Projet 1  / Projet 2  / Projet 3

Projet 3

Présentation générale des concepts XML

Le but de ce document est de présenter quelques concepts du métalangage XML (Extensible Makup Langage) à des non-informaticiens, de manière à suggérer quelques-unes des nombreuses possibilités nouvelles et puissantes que cet outil peut leur offrir dans le cadre de leurs études, publications, recherches, etc... Nous éviterons autant que faire se peut d'entrer dans les détails techniques qui pourront avantageusement être étudiés dans les ouvrages spécialisés.

Lorsque nous voulons nous informer sur le contenu d'un livre, par exemple, nous pouvons certes lire le livre, mais le plus souvent nous cherchons d'abord à nous faire une opinion sur le contenu en lisant le résumé au dos du livre, la table des matières, l'introduction, et la conclusion...

Nous avons recours en quelque sorte à des "méta-données" qui sont des données qui nous renseignent sur les données contenues dans le livre.

Créer des langages de balises significatives

XML va nous offrir les moyens d'étendre à l'infini cette possibilité de décrire des données sur les données, grâce à la création de langages de balises. Voyons cela sur un exemple.

Une métadonnée relative aux mots : "orange", "pomme", "fraise" pourrait être : fruit.

Un moyen simple de signaler la métadonnée est de créer une notation appelée "balise" ou "élément conteneur" . Ainsi, la balise <fruit> peut être considérée comme une métadonnée pour les contenus "orange", "pomme", "fraise".

L'expression :

<fruit> orange </fruit>

se décompose en une balise ouvrante : <fruit> , une balise fermante

</fruit> et un contenu orange, et nous offre un moyen très simple d'exprimer une information : "orange" et une information sur cette information : les balises <fruit> et </fruit> .

Je peux réïtérer le processus et créer un nouveau jeu de balises : <dessert> et </dessert> qui va nous permettre d'enrichir l'expression :

<dessert>

<fruit> orange </fruit>

<fruit> pomme </fruit>

<fruit> fraise </fruit>

</dessert>

On voit que l'on peut continuer à volonté à enrichir cette expression. Par exemple, en créant de nouveaux jeux de balises <aliment> </aliment> , <repas> </repas> . on obtient ainsi le document XML :

<repas>

<aliment>

<dessert>

<fruit> orange </fruit>

<fruit> pomme </fruit>

<fruit> fraise </fruit>

</dessert>

</aliment> </repas>

Nous venons de créer un document composé d'éléments, que l'on peut développer à notre gré, pour former des structures complexes, qui pourraient par exemple nous permettre de décrire une infinité de menus culinaires. On voit dès maintenant les nombreuses possibilités de recherche que cela autorise, puisque chaque balise créée nous donne accés à un ensemble plus ou moins important de concepts qu'elle encadre...

Dans cet exemple, nous avons utilisé des contenus simples : "orange", "pomme", "fraise", mais rien n'interdit de travailler sur des contenus plus complexes : phrases, paragraphes, document entier, images, bande sonore ou vidéo etc .....

Ajoutons quelques outils pour étoffer notre système de balisage.

A l'intérieur de la balise <fruit> , nous souhaiterions par exemple préciser s'il sagit d'un fruit de culture biologique ou non. Pour cela nous allons créer un attribut "culture bio" dont les valeurs

pourront être : "oui" ou "non". Cela donne :

<fruit culture bio= "oui"> orange </fruit>

ou

<fruit culture bio= "non"> orange </fruit>

Les attributs peuvent être comparés à des adjectifs, et l'on peut créer autant d'attributs que l'on veut pour préciser le contenu de la balise.

XML n'est pas un langage en lui-même, mais une spécification, un ensemble de règles permettant la création de langages de balisage.

Le principe fondamental qui sous-tend la philosophie XML est qu'il peut exister autant de balises que de types d'informations dans un document.

Les espaces de noms

L'une des utilisations des espaces de noms, qui nous intéresse, a pour but de préciser l'appréhention conceptuelle des balises créées. Par exemple, supposons que je crée un espace de nom que j'appelle : "terrestre" et un autre espace de nom : "spirituel". Dans chacun de ces espaces, je peux alors définir des noms de balises qui appartiennent respectivement à ces espaces.

Dans l'espace de nom : "terrestre" je peux par exemple définir les balises : matière, nourriture, amour, cycle, atmosphère, étendue...

Dans l'espace de nom : "spirituel" je peux définir les balises matière, nourriture, amour, élévation, mouvement, rayonnement...

Si dans mon document j'utilise les balises (ouvrantes)

<terrestre:matière> , <spirituel:matière>

<terrestre: nourriture> , <spirituel: nourriture>

<terrestre:amour> , <spirituel:amour>

On voit qu'aucune confusion n'est possible entre les diverses balises décrites ci-dessus, puisque leur appartenance à un espace de nom précise le sens d'interprétation de ces balises.

Les entités

Une entité est une sorte de réserve de contenu que l'on déclare une fois, et que l'on peut utiliser plusieurs fois n'importe où dans un document. Elles constituent une facilité qui rend XML plus facile à écrire.

Les entités servent à tout, depuis le remplacement d'un caractère ésotérique, le remplacement d'une phrase toute faite ou d'un document entier, jusqu'au marquage de la position à laquelle un fichier doit être incorporé dans un document.

A noter que le document que l'on souhaite insérer dans son propre document peut se trouver n'importe où dans le monde, pourvu qu'il soit accessible par inernet.

Les liens XML

Les liens offrent la possibilité de naviguer aisément de documents en documents et ils sont la base de la réussite du web.

Sous XML, les liens, mis en oeuvre par les technologies appelées XLink et XPointer, apportent une nouvelle dimension pour relier les documents :

- les liens sont multidirectionnels : un lien peut être créé dans un document vers un certain nombre de documents destinations situés sur le web, avec la possibilité de revenir au document initial (contrairement à ce qui se passe aujourd'hui)

- les liens peuvent être stockés dans un document externe. Cela peut par exemple grandement faciliter les modifications ultérieures.

- Grâce à la technologie XPointer on pourra indexer des positions arbitraires d'un document XML. En effet, tous les éléments (balises) peuvent être des liens. Cela est l'avantage d'XML qui permet d'inventer de nouvelles balises sans aucune contrainte et de les relier entre elles.

Représentation de documents XML

Un document XML ne se préoccupe pas le moins du monde de la façon dont il sera représenté sur un support donné, il est uniquement fait d'un contenu, et de balises qui mettent en valeur divers aspects de ce contenu. Rien n'y est dit sur la façon de représenter ce doccument.

La représentation du document XML est confiée à un document à part, appelé "feuille de style" qui repose sur une technologie appelée XSL (eXtensible Style sheet Langage).

L'intérêt de séparer le contenu d'un document de sa représentation est de pouvoir représenter tout ou partie d'un document de base (le document XML) de mille et une façon, en créant pour cela autant de feuilles de style que nécessaire.

Par ailleurs la techonologie XSL (eXtensible Style sheet Langage ) comporte un outil puissant : XSLT (XSL Transformation) qui permet de transformer un document XML en un autre document. On peut ainsi transformer un document XML en un autre document XML, ou en un document XHTML ou encore en un document HTML, ou tout simplement en document texte ordinnaire... etc. ..

Enfin il existe une techonologie très puissante appelée XPath qui est utilisée pour exprimer des requêtes de sélection d'éléments dont on a besoin lorsque l'on crée des liens entre documents, mais aussi lorsque l'on veut transformer un document XML en un autre document.

Les définitions de documents types ou DTD

Un document type constitue en quelque sorte un grammaire que l'on crée pour un genre de document donné. Celle-ci va servir de document de référence, contenant les règles d'utilisation d'un langage de balise, pour écrire tous les documents XML que l'on voudra créer et qui appartiennent au genre visé .

La création d'un document type n'est pas obligatoire, mais son utilité se fait sentir dès que l'on souhaite échanger des documents, et créer des applications pour exploiter les documents XML de même type de contenu.

Les Schémas XML

A terme les schémas XML vont remplacer les documents types qui sont limités dans certains domaines, comme celui de la définition des types de données que l'on utilise dans le document (entiers, chaîne de caractères, dates...).

(montrer les diffférences entre DTD et shémas XML nous obligerait à entrer dans des détails techniques qui dépassent le cadre de cet exposé).

Bien entendu cette présentation est loin d'être complète puisque son but était simplement de lever un bout de voile sur les principaux concepts XML.

Préambule  / Introduction  / Projet 1  / Projet 2  / Projet 3