FR2805375A1 - SYSTEM FOR SHARING INFORMATION ON A COMPUTER NETWORK - Google Patents

SYSTEM FOR SHARING INFORMATION ON A COMPUTER NETWORK Download PDF

Info

Publication number
FR2805375A1
FR2805375A1 FR0007249A FR0007249A FR2805375A1 FR 2805375 A1 FR2805375 A1 FR 2805375A1 FR 0007249 A FR0007249 A FR 0007249A FR 0007249 A FR0007249 A FR 0007249A FR 2805375 A1 FR2805375 A1 FR 2805375A1
Authority
FR
France
Prior art keywords
information
container
user
added
links
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR0007249A
Other languages
French (fr)
Inventor
Enrico Maim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FR9914151A external-priority patent/FR2805373A1/en
Priority claimed from FR0004207A external-priority patent/FR2807179A1/en
Application filed by Individual filed Critical Individual
Priority to FR0007249A priority Critical patent/FR2805375A1/en
Priority to PCT/FR2000/003157 priority patent/WO2001035269A2/en
Publication of FR2805375A1 publication Critical patent/FR2805375A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9562Bookmark management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/014Force feedback applied to GUI

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Un système de partage d'informations sur un réseau informatique comprend : un premier ensemble d'informations organisées comprenant au moins un premier contenant et une pluralité de premières informations accessibles via le ou chaque premier contenant,un second ensemble d'informations organisées comprenant au moins un second contenant et une pluralité de secondes informations accessibles via le ou chaque second contenant,des moyens pour établir une correspondance entre le ou chaque premier contenant et un second contenant dit correspondant, des moyens permettant à un utilisateur d'ajouter des informations dans le premier ensemble d'informations, des moyens permettant à un utilisateur d'ajouter des informations dans le second ensemble d'informations,des moyens d'intercommunication par réseau entre les premier et second ensembles d'informations, ces moyens étant aptes, lors d'un ajout d'une information accessible via un premier contenant, à suggérer le même ajout dans le second contenant correspondant. Application notamment à l'amélioration de la contribution réciproque entre données personnelles et données collectives sur l'Internet.An information sharing system on a computer network comprises: a first set of organized information comprising at least a first container and a plurality of first information accessible via the or each first container, a second set of organized information comprising at least a second container and a plurality of second information accessible via the or each second container, means for establishing a correspondence between the or each first container and a second said container, means for a user to add information in the first set of information, means enabling a user to add information in the second set of information, network communication means between the first and second sets of information, said means being capable, during a adding information accessible via a first container, to suggest the same addition in the s econd corresponding container. Application in particular to the improvement of the reciprocal contribution between personal data and collective data on the Internet.

Description

La présente invention concerne d'une façon générale un système de gestionThe present invention relates generally to a management system

d'une pluralité d'ensembles d'informations organisées, notamment d'informations  of a plurality of organized information sets, including information

personnelles sur réseau.personal network.

Plus précisément, la présente invention vise à permettre à chaque individu d'une communauté d'organiser ses informations et de les partager de façon sélective en communauté sur l'Internet ou au sein d'un réseau privé (" intranet "), avec notamment des fonctions de construction collective d'informations de mêmes catégories et de suggestion automatique d'informations lorsqu'elles appartiennent à  More specifically, the present invention aims at enabling each individual in a community to organize his information and selectively share it in community on the Internet or within a private network ("intranet"), with particular functions of collective construction of information of the same categories and automatic suggestion of information when they belong to

des catégories données.given categories.

Arrière-plan On connaît déjà dans l'état de la technique le concept dit de << marque-page" (" Bookmark ") qui permet à un individu d'établir et de mémoriser des liens vers ses pages de serveurs favorites, un tel concept étant présent dans les navigateurs Intemrnet actuels. La présente invention vise plus spécifiquement à combiner et organiser, au sein d'une même interface utilisateur, différents éléments d'informations, créés ou recueillis à partir de différentes sources, par exemple en les extrayant d'autres pages  BACKGROUND The so-called "bookmark" concept, which enables an individual to establish and memorize links to his favorite server pages, is already known in the state of the art. The present invention aims more specifically at combining and organizing, within the same user interface, different pieces of information, created or collected from different sources, for example by extracting them from different sources. other pages

de serveurs Internet.Internet servers.

Un autre objet de la présente invention est de faire en sorte que chaque élément d'information ajouté adopte, de manière transparente ou semiautomatique, une catégorie ou une sous-catégorie déterminée de l'ensemble d'informations organisées  Another object of the present invention is to ensure that each added piece of information transparently or semiautomatically adopts a defined category or subcategory of the organized information set.

dont on souhaite qu'il permette l'accès à cet élément d'information.  it is hoped that it will allow access to this piece of information.

Un autre objet de la présente invention est de faire en sorte que des éléments d'informations non-confidentiels insérés dans l'ensemble d'informations d'un utilisateur puissent être consultés par les autres utilisateurs, dans le cadre de leur propre ensemble d'informations, c'està-dire insérés par ces derniers dans un  Another object of the present invention is to ensure that non-confidential information items inserted into a user's information set can be viewed by other users as part of their own set of information. information, that is to say inserted by them in a

contenant propre ad hoc afin de les visualiser.  container own ad hoc for viewing.

En d'autres termes, l'invention vise à proposer des moyens d'intercommunication tels que l'ajout d'un nouvel élément d'information dans une catégorie donnée par un utilisateur donné revienne à publier cet élément d'information en association avec cette catégorie, en allant donc bien au delà de ce que permettent les marque-pages  In other words, the purpose of the invention is to propose means of intercommunication such that the addition of a new piece of information in a given category by a given user amounts to publishing this piece of information in association with this category, thus going well beyond what bookmarks allow

équipant les navigateurs Internet actuels.  equipping current Internet browsers.

Un autre objet encore de l'invention est de faire en sorte que les utilisateurs qui alimentent ou consultent les éléments d'information puissent le faire dans des  Another object of the invention is to ensure that the users who feed or consult the information elements can do so in

conditions d'anonymat.conditions of anonymity.

Par ailleurs, l'invention vise également à proposer que le fait pour un utilisateur d'ajouter dans une catégorie un élément d'information représente une "déclaration d'intérêt" qui puisse être exploitée dans le cadre de nouveaux modèles économiques, selon lesquels, en réaction à de telles déclarations d'intérêt, d'autres informations  Moreover, the invention also aims to propose that the fact that a user adds a piece of information to a category represents a "declaration of interest" that can be exploited in the context of new business models, according to which, in response to such expressions of interest, other information

peuvent être proposées (notamment à la vente) à l'utilisateur de façon automatique.  may be offered (especially for sale) to the user automatically.

La présente invention vise également à proposer le recours à un système ouvert de vocabulaires de catégories, qui référence les éléments d'information et leurs contenants. Compte-tenu du fait que des catégorisations effectuées par des utilisateurs sont sujettes à erreurs (involontaires ou volontaires), un autre objet de la présente  The present invention also aims to propose the use of an open system of category vocabularies, which references the information elements and their containers. In view of the fact that categorizations made by users are subject to errors (involuntary or voluntary), another object of the present

invention est de proposer des moyens d'auto-épuration par les utilisateurs eux-  invention is to propose means of self-purification by the users themselves.

mêmes, sur la base d'un degré qualitatif de contribution, exploitable par transitivité.  same, on the basis of a qualitative degree of contribution, exploitable by transitivity.

Un autre objet de l'invention est de préserver l'anonymat des utilisateurs.  Another object of the invention is to preserve the anonymity of the users.

La présente invention vise également à suggérer ou recommander automatiquement de nouvelles informations à chaque Utilisateur en fonction de ses déclarations  The present invention also aims at automatically suggesting or recommending new information to each user according to his statements.

d'intérêts ou de goûts.interests or tastes.

Résumé de l'invention Ainsi l'invention propose un système de partage d'informations entre au moins deux utilisateurs sur un réseau informatique, caractérisé en ce qu'il comprend: un premier ensemble d'informations organisées comprenant au moins un premier contenant et une pluralité de premières informations accessibles via le ou chaque premier contenant, un second ensemble d'informations organisées comprenant au moins un second contenant et une pluralité de secondes informations accessibles via le ou chaque second contenant, des moyens pour établir une correspondance entre le ou chaque premier contenant et un second contenant dit correspondant, des moyens permettant à un utilisateur d'ajouter des informations dans le premier ensemble d'informations, des moyens permettant à un utilisateur d'ajouter des informations dans le second ensemble d'informations, des moyens d'intercommunication par réseau entre les premier et second ensembles d'informations, ces moyens étant aptes, lors d'un ajout d'une information accessible via un premier contenant, à suggérer le même ajout dans le second  SUMMARY OF THE INVENTION Thus, the invention proposes a system for sharing information between at least two users on a computer network, characterized in that it comprises: a first set of organized information comprising at least a first container and a plurality of first information accessible via the or each first container, a second set of organized information comprising at least a second container and a plurality of second information accessible via the or each second container, means for establishing a match between the or each first container; containing and a second said container, means for a user to add information in the first set of information, means for a user to add information in the second set of information, means for network intercommunication between the first and second sets of information, these means being apt when adding information accessible via a first container, to suggest the same addition in the second

contenant correspondant.corresponding container.

Des aspects préférés, mais non limitatifs, du système selon l'invention sont les suivants: - chaque information accessible via un classeur appartient à un groupe comprenant des contenus directs, des références à des contenus situés dans d'autres ensembles d'informations organisées et des sous-contenants via lesquels d'autres informations  Preferred, but not limiting, aspects of the system according to the invention are the following: each information accessible via a workbook belongs to a group comprising direct contents, references to contents located in other organized information sets and Sub-containers via which other information

sont accessibles.are accessible.

- lesdites références à des contenus sont constituées par des liens.  said references to contents are constituted by links.

- le premier ensemble de d'informations organisées fait partie d'un serveur et est destiné à être accessible par une pluralité d'utilisateurs d'une communauté, et il est prévu une pluralité de seconds ensembles d'informations organisées constituant des  the first set of organized information is part of a server and is intended to be accessible by a plurality of users of a community, and there is provided a plurality of second sets of organized information constituting

ensembles privés propres à une pluralité d'utilisateurs.  private sets specific to a plurality of users.

- les informations accessibles via les contenants du premier ensemble d'informations organisées sont constituées par l'union de toutes les informations accessibles via les  the information accessible via the containers of the first set of information organized is constituted by the union of all the information accessible via the

contenants correspondants des seconds ensembles d'informations organisées.  corresponding containers of the second sets of organized information.

- tous les ensembles d'informations organisées comprennent une structure organisée  - all organized information sets include an organized structure

de contenants.of containers.

- les structures organisées sont arborescentes.  - the organized structures are arborescent.

2 0 - tous les ensembles d'informations organisées comprennent la même structure  2 0 - all organized information sets include the same structure

organisée de contenants.organized containers.

- le système comprend, en association avec un ensemble d'informations organisées dans lequel un ajout d'information a été suggéré, une mémoire contenant un  the system comprises, in association with a set of organized information in which an addition of information has been suggested, a memory containing a

indicateur d'état de processus de suggestion.  Suggestion process state flag.

- l'indicateur d'état peut prendre les valeurs " Suggéré ", " Accepté " et " Refusé ".  - the status indicator can take the values "Suggested", "Accepted" and "Rejected".

- le système comprend un moyen permettant de ne supprimer d'un ensemble d'informations organisées une information qui y a été préalablement ajoutée qu'après vérification des indicateurs d'état associés aux autres ensembles d'informations  the system comprises a means for deleting information previously added to a set of organized information only after checking the status indicators associated with the other sets of information

organisées concernant ladite information ajoutée.  organized on the said added information.

- la vérification des indicateurs d'état consiste à vérifier que tous possèdent la valeur " Refusé >>. - le système comprend en outre des moyens d'avertissement aptes, lorsqu'une information de type contenu préalablement ajoutée dans un ensemble d'informations organisées est destinée à être supprimée, à informer de ladite suppression désirée tout utilisateur d'un autre ensemble d'informations organisées possédant une référence vers ce contenu, et des moyens permettant à chaque utilisateur de dupliquer ledit  the verification of the state indicators consists in verifying that all have the value "Refused", the system also comprises suitable warning means, when a content-type information previously added in a set of organized information is intended to be deleted, to inform of said desired deletion any user of another set of organized information having a reference to this content, and means allowing each user to duplicate said

élément de contenu vers ledit autre ensemble d'informations organisées.  content element to said other set of organized information.

- lesdites informations incluent des liens vers des contenus externes au système.  said information includes links to contents external to the system.

- chaque ensemble d'informations organisées permet d'accéder également à des  - each set of organized information also provides access to

informations dont l'ajout ne donne lieu à aucune suggestion.  information the addition of which does not give rise to any suggestion.

- les moyens d'intercommunication comprennent des moyens pour dériver d'un contenant d'origine d'un premier ensemble d'informations organisées vers un contenant de destination d'un second ensemble d'informations organisées les informations accessibles via ledit contenant d'origine, lesdits moyens d'établissement de correspondance étant aptes, en réponse auxdits moyens de dérivation, à établir une correspondance entre le contenant d'origine et le contenant  the means of intercommunication comprise means for deriving from an original container of a first set of organized information to a destination container of a second set of organized information information accessible via said original container said correspondence means being responsive, in response to said derivation means, to a correspondence between the original container and the container

de destination.of destination.

- en réponse auxdits moyens de dérivation, les moyens d'établissement de correspondance sont également aptes à établir une correspondance entre le contenant  in response to said derivation means, the correspondence means are also able to establish a correspondence between the container

de destination et le contenant d'origine.  destination and the original container.

- les moyens d'intercommunication comprennent en outre des moyens aptes, lors de la mise en oeuvre des moyens de dérivation, pour sélectivement accepter et refuser  the means of intercommunication furthermore comprise means suitable, during the implementation of the diversion means, for selectively accepting and refusing

l'accessibilité desdites informations via le contenant de destination.  accessibility of said information via the destination container.

- les moyens de dérivation sont aptes à effectuer des dérivations en chaîne entre  the derivation means are capable of conducting chain derivations between

plusieurs ensembles d'informations organisées.  several sets of information organized.

- les moyens de dérivation sont aptes à fusionner, dans un contenant de destination  the derivation means are able to merge into a destination container

donné, des informations accessibles via une pluralité de contenants d'origine.  given information accessible via a plurality of original containers.

- le système comprend des moyens aptes, lors de la suppression dans un contenant de l'accessibilité d'une information par ce contenant, préserver l'accessibilité de cette  - the system includes suitable means, when removing in a container the accessibility of information by this container, preserve the accessibility of this

information via un contenant d'archivage.  information via an archive container.

- lorsque l'accessibilité d'une information précédemment ajoutée via un contenant est supprimée, les moyens d'intercommunication ne sont plus aptes à suggérer l'ajout de cette information dans le ou les contenants correspondants d'autres ensembles  when the accessibility of previously added information via a container is removed, the means of intercommunication are no longer able to suggest the addition of this information in the corresponding container or containers of other sets

d'informations organisées.organized information.

- les moyens d'intercommunication comprennent des moyens pour référencer, à partir d'un contenant d'origine d'un premier ensemble d'informations organisées vers un contenant de destination d'un second ensemble d'informations organisées, les informations accessibles via ledit contenant d'origine, lesdits moyens d'établissement de correspondance étant aptes à établir une correspondance entre le contenant d'origine et le contenant de destination en réponse auxdits moyens de référencement seulement si un utilisateur du contenant de destination a accepté le  the means of intercommunication comprise means for referencing, from an original container of a first set of information organized to a destination container of a second set of organized information, the information accessible via said original container, said means for establishing correspondence being able to establish a correspondence between the original container and the destination container in response to said referencing means only if a user of the container of destination has accepted the

référencement desdites informations.  referencing said information.

- le système comprend un ensemble d'informations organisées comprenant une 3 0 pluralité de contenants catégorisants, et les contenants de chaque autre ensemble d'informations organisées sont au moins en partie des correspondants desdits  the system comprises a set of organized information comprising a plurality of categorizing containers, and the containers of each other set of organized information are at least partially corresponding to said

contenants catégorisants.categorizing containers.

- tous les contenants de chaque autre ensemble d'informations organisées sont nécessairement des correspondants desdits contenants catégorisants. chaque contenant possède un nom, et il est prévu des moyens, lors de l'adjonction dans un ensemble d'informations organisées d'un contenant correspondant à un contenant catégorisant, pour nommer celui-ci indépendamment du nom du contenant  all the containers of each other set of information organized are necessarily correspondents of said categorizing containers. each container has a name, and means are provided, when adding in a set of organized information a container corresponding to a categorizing container, to name it regardless of the name of the container

catégorisant.categorizing.

- les moyens de dérivation sont également aptes à dériver une pluralité de contenants organisés selon une structure de contenants, ladite structure de contenants étant  - The derivation means are also able to derive a plurality of containers organized according to a container structure, said container structure being

préservée lors de la dérivation.preserved during the diversion.

-chaque ensemble d'informations organisées comprend une structure arborescente de contenants, et le système comprend en outre des moyens pour représenter au moins des contenants de niveaux les plus élevés dans la structure arborescente sous  each organized information set comprises a container tree structure, and the system further comprises means for representing at least the highest level containers in the tree structure under

forme de classeurs.form of binders.

- le système comprend en outre des moyens pour représenter des contenants de  the system further comprises means for representing containers of

niveau le plus bas dans la structure arborescente sous forme de pages de classeur.  lowest level in the tree structure in the form of workbook pages.

- le système comprend des moyens pour représenter des éléments de contenu 2 5 accessibles via des contenants formant des pages sous forme de calques appliqués sur  the system comprises means for representing content elements accessible via containers forming pages in the form of layers applied to

la page considérée.the page considered.

- chaque ensemble d'informations organisées comprend une structure arborescente de contenants, et le système comprend en outre des moyens pour représenter, dans des zones voisines d'un écran d'utilisateur, la structure arborescente d'un ensemble d'informations organisées propre audit utilisateur et la structure arborescente d'un  each set of organized information comprises a tree structure of containers, and the system further comprises means for representing, in zones adjacent to a user screen, the tree structure of a set of organized own information user and the tree structure of a

autre ensemble d'informations organisées du système.  another set of organized system information.

- les moyens de dérivation sont commandés par une opération de glisserdéposer effectuée sur ladite représentation des structures arborescentes. - les moyens de référencement sont commandés par une opération de glisserdéposer  the derivation means are controlled by a drag-and-drop operation performed on said representation of the tree structures. the referencing means are controlled by a drag-and-drop operation

effectuée sur ladite représentation des structures arborescentes.  performed on said representation of the tree structures.

- le système comprend en outre des moyens de notation de contribution en fonction du résultat des suggestions d'ajout d'informations entre deux ensembles  the system further comprises contribution notation means according to the result of suggestions for adding information between two sets

d'informations organisées.organized information.

- les moyens de notation de contribution comprennent une pluralité de variables de contribution aptes à varier dans un sens lorsqu'une suggestion d'ajout d'information est acceptée et dans le sens opposé lorsqu'une suggestion d'ajout d'information est refusée. - il est prévu une variable de contribution par couple d'ensembles d'informations  the contribution notation means comprise a plurality of contribution variables able to vary in one direction when a suggestion of adding information is accepted and in the opposite direction when a suggestion of adding information is refused. a contribution variable per pair of sets of information is provided

2 0 organisées.2 0 organized.

- le système comprend en outre des moyens de notation de similarité entre informations accessibles via deux contenants appartenant à deux ensembles d'informations organisées, en fonction du nombre d'informations ajoutées après  the system further comprises means for similarity notation between information accessible via two containers belonging to two sets of organized information, as a function of the number of information added after

2 5 suggestion d'un contenant vers l'autre et réciproquement.  2 5 suggestion of a container towards the other and vice versa.

- les moyens de notation de similarité comprennent une pluralité de variables de similarité aptes à varier dans un sens lorsqu'une suggestion d'ajout d'information est acceptée et dans le sens opposé lorsqu'une information dont l'ajout a été  the similarity notation means comprise a plurality of similarity variables able to vary in one direction when a suggestion for adding information is accepted and in the opposite direction when information whose addition has been added

3 0 précédemment accepté est supprimée.  3 0 previously accepted is deleted.

- il est prévu une variable de similarité par couple de contenants correspondants.  a similarity variable is provided for each pair of corresponding containers.

- les moyens d'établissement de correspondance entre des contenants de deux ensembles d'informations organisées sont aptes à être mis en oeuvre entre deux contenants non préalablement correspondants deux-à-deux, mais appartenant à une chaîne de contenants correspondants deux à deux, en fonction de la valeur des variables de contribution et/ou de similarité relativement aux ensembles  the means for establishing correspondence between containers of two sets of organized information are able to be implemented between two containers which are not previously corresponding in pairs, but belonging to a chain of corresponding containers two by two, in a function of the value of the contribution and / or similarity variables in relation to the sets

d'informations organisées associés.  associated organized information.

- le système comprend des moyens pour neutraliser le processus de suggestion entre ensembles d'informations organisées lorsqu'une notation de contribution et/ou de  the system includes means for neutralizing the suggestion process between sets of information organized when a contribution notation and / or

similarité concernant lesdits ensembles est inférieure à un seuil.  similarity concerning said sets is less than a threshold.

- les moyens d'intercommunication sont aptes à suggérer ledit ajout d'information  the means of intercommunication are able to suggest said addition of information

pendant une durée limitée.for a limited time.

- il est prévu, lors de l'ajout d'un contenant dans un ensemble d'informations organisées, des moyens pour déterminer si ce contenant est susceptible en soi ou non  - when adding a container to a set of organized information, provision is made for determining whether the container is susceptible in itself or not.

d'être mis en correspondance avec un autre contenant.  to be mapped to another container.

D'autres aspects, buts et avantages de la présente invention apparaîtront mieux à la  Other aspects, objects and advantages of the present invention will become more apparent

lecture de la description détaillée suivante d'une forme de réalisation préférée de  reading the following detailed description of a preferred embodiment of

celle-ci, donnée à titre d'exemple non limitatif et faite en référence aux dessins annexés, sur lesquels les figures 1 à 13 illustrent schématiquement différents états et comportements d'un procédé de gestion d'affichage selon l'invention, les figures 14 à 17 sont des vues schématiques en perspective illustrant le 3 0 comportement de deux éléments d'affichage superposés et des zones associées selon une généralisation de l'invention, la figure 18 est une vue en plan des différentes zones exploitées, la figure 19 représente deux positions possibles d'un élément d'affichage donné, la figure 20 indique une symbolique de représentation des états du système de gestion d'affichage, la figure 21 est un diagramme d'états-transitions du système, la figure 22 illustre par une modélisation en section, transversalement au plan de l'affichage, les comportements illustrés sur la figure 21, les figures 23 à 25 sont des vues schématiques en perspective illustrant le comportement du système de l'invention avec trois éléments d'affichage superposés, la figure 26 illustre par une modélisation en section, transversalement au plan de l'affichage, le comportement d'un système selon l'invention appliqué à une pluralité  this, given by way of nonlimiting example and with reference to the accompanying drawings, in which Figures 1 to 13 diagrammatically illustrate different states and behaviors of a display management method according to the invention, FIGS. 17 are diagrammatic perspective views illustrating the behavior of two superimposed display elements and associated zones according to a generalization of the invention, FIG. 18 is a plan view of the various zones exploited, FIG. possible positions of a given display element, FIG. 20 indicates a representation symbol of the states of the display management system, FIG. 21 is a state-transition diagram of the system, FIG. 22 illustrates by modeling. in section, transversely to the plane of the display, the behaviors illustrated in FIG. 21, FIGS. 23 to 25 are schematic perspective views illustrating the the behavior of the system of the invention with three superposed display elements, FIG. 26 illustrates by a sectional modeling, transversely to the plane of the display, the behavior of a system according to the invention applied to a plurality of

d'éléments d'affichage superposés.  superimposed display elements.

les figures 27 à 31 illustrent les différentes étapes du comportement d'un procédé de gestion d'affichage selon l'invention, appliqué à des fenêtres d'un système d'exploitation, 2 5 la figure 32 illustre une structure de liens entre pages ajoutés par un utilisateur selon la présente invention, la figure 33 illustre la combinaison de la Toile et d'une toile personnelle constituée par de tels liens ajoutés, la figure 34 illustre schématiquement la façon de créer l'association entre une page et ses liens ajoutés, la figure 35 illustre une façon d'afficher une page et les liens ajoutés qui y ont été associés, les figures 36a à 36c illustrent un exemple de combinaison de liens ajoutés, la figures 37 illustre différentes opérations permettant de créer des liens ajoutés entre pages, les figures 38 et 39 illustrent l'application d'un mécanisme de gestion d'affichage selon l'invention à une superposition de pages pourvues de leurs liens ajoutés, la figure 40 illustre un agencement d'affichage différent des liens ajoutés associés à des pages, la figure 41 illustre la correspondance entre les opérations de création de liens ajoutés et le stockage de tels liens ajoutés, la figure 42 illustre de façon analogue à la figure 41 une correspondance dans le cas o les liens ajoutés incluent également des liens ajoutés inverses, la figure 43 illustre schématiquement un mode de stockage des liens ajoutés la figure 44 illustre schématiquement un premier mode d'obtention via réseau d'une page et des liens ajoutés qui y ont été associés, la figure 45 illustre schématiquement un deuxième mode d'obtention via réseau 3 0 d'une page et des liens ajoutés qui y ont été associés, les figure 46 à 51 illustrent six exemples de manipulations de pages et de liens ajoutés dans le cadre de pages contenues dans des répertoires d'utilisateur, les figures 52 et 53 illustrent deux modes de présentation de liens mémorisés ou liens ajoutés de deuxième rang en relation avec une page courante la figure 54 illustre un exemple d'interface d'accès à l'utilisateur dans le cadre d'une page à laquelle sont associés des liens ajoutés, la figure 55a illustre un exemple d'interface utilisateur dans laquelle à une page sont associés d'une part des liens ajoutés, et d'autre part une sélection de répertoires proches, la figure 55b illustre un détail d'affichage d'une page et de liens ajoutés associés permettant de changer un attribut d'un lien ajouté, la figure 56 illustre dans une représentation standard UML un diagramme de classe pour les liens ajoutés et leur attribut précité, la figure 57 présente de manière schématique les principes d'accès direct aux liens ajoutés et aux répertoires, les figures 58 et 59 illustrent schématiquement les fondements du mode de calcul primaire de proximité entre répertoires pour une page courante donnée, la figure 60 illustre schématiquement les fondements du mode de calcul de proximité transitive entre répertoires pour une page courante donnée les figures 61 à 63 illustrent schématiquement les fondements de trois modes évolués de calcul de proximité entre répertoires, la figure 64 illustre deux modes de représentation graphique d'un lien ajouté associé à une page, la figure 65 illustre schématiquement l'accès direct aux répertoires, la figure 66 illustre un détail d'affichage d'un répertoire et des liens qu'il contient permettant de changer un attribut d'un lien, la figure 67 illustre dans une représentation standard UML un diagramme de classe pour les liens et leur attribut précité, la figure 68 illustre schématiquement le placement de contenants dans un document, la figure 69 illustre schématiquement l'importation d'un contenu d'un contenant dans un autre, la figure 70 illustre schématiquement la dérivation d'un contenant, la figure 71 illustre schématiquement l'importation d'un contenu d'un document vers 2 0 un contenant d'un autre document, la figure 72 illustre schématiquement le principe de composition des contenus, la figure 73 illustre schématiquement le principe de structuration de références entre 2 5 éléments, la figure 74 illustre schématiquement l'accès indirect à une page sur la Toile par l'intermédiaire du système, 3 0 la figure 75 illustre schématiquement le procédé mis en oeuvre par le système, la figure 76 illustre schématiquement deux contenants, la figure 77 illustre schématiquement le procédé d'importation, la figure 78 illustre schématiquement le procédé d'importation d'un contenu dans un contenant de catégorie différente, la figure 79 illustre schématiquement des containers imbriqués, les figures 80a et 80b illustrent schématiquement le procédé de dérivation, la figure 81 illustre schématiquement une structure infinie de dérivation, la figure 82 illustre schématiquement un exemple simple de structure de document, la figure 83 illustre schématiquement le principe de stockage des attributs des contenus, la figure 84a illustre un exemple d'interface utilisateur dans laquelle à une page sont 2 0 notamment associés des liens ajoutés et des liens sur des contenus dans un contenant, la figure 84b illustre un exemple d'interface utilisateur dans laquelle figurent des cases à cocher << Demandeur >> et " Offreur ", la figure 85 est un diagramme de classe en représentation UML d'une structure hiérarchique de Contenants d'informations utilisée selon un troisième aspect de la présente invention, la figure 86 est un diagramme de classe incluant la notion de Profil d'Utilisateur, la figure 87 est une autre illustration de l'organisation de Profils, Contenants et Contenus, la figure 88 est un diagramme de classe dans lequel sont introduites les notions de Référence à Contenu (lien vers contenu) et de popularité de Contenu, la figure 89 est un diagramme de classe dans lequel sont introduites les notions de Contenu Direct et de Contenu Indirect, la figure 90 illustre un avantage essentiel d'une forme de réalisation de base de l'invention, la figure 91 est un diagramme de classe illustrant la notion de Référence en cascade, la figure 92 illustre un principe de propagation de profil, les figures 93 et 94 illustrent la création de liens correspondant à la propagation de Profils de la figure 92, 2 0 la figure 95 illustre un autre principe de propagation de profil, les figures 96 et 97 illustrent la création de liens correspondant à la propagation de Profils de la figure 95, 2 5 les figures 98 et 99 illustrent des créations de liens occasionnées par un processus de Référencement, la figure 100 est un diagramme de classe intégrant les notions de propagation de Profils et de Référencement de Profils, les figures 101 à 104 illustrent quatre configurations possibles de transition de liens, les figures 105 à 107 illustrent des créations de liens concernant l'archivage d'éléments et leur restauration, la figure 108 illustre un principe de collecte de Profils sous forme d'un ensemble de fichiers communs, la figure 109 est un diagramme de classe mettant en oeuvre le principe de la figure 108, la figure 110 illustre une construction d'arborescence dans le cadre du principe de la figure 108, la figure 111 est un diagramme de classe reprenant l'ensemble des principes des figures 85 à 110, la figure 112 illustre une structure arborescente de classeurs selon la présente invention, la figure 1 13 est un diagramme de classe intégrant cette notion de classeurs, la figure 114 illustre la structure d'une base de données SQL associée à l'organisation en classeurs, 2 5 la figure 115 illustre une table de classeurs, la figure 116 illustre une table d'éléments propres à l'utilisateur dans un classeur, la figure 117 illustre une table de liens, la figure 118 illustre la création d'un élément <" Dérivé ", la figure 119 illustre la suppression d'un sous-élément propre non Dérivé, les figures 120a à 120c illustrent la suppression d'un sous-élément propre Dérivé, la figure 121 illustre une table de liens lors de la restauration d'un sous-élément, la figure 122 illustre le comportement de sous-éléments " implicites ", 1 0 la figure 123 illustre une table de liens correspondante, la figure 124 illustre l'acceptation de sous-éléments implicites, la figure 125 illustre une table de liens correspondante, la figure 126 illustre le refus d'un sous-classeur implicite, la figure 127 illustre la table de liens correspondante, la figure 127a illustre un exemple possible d'interface utilisateur, la figure 128 illustre une mesure de proximité entre deux Profils, la figure 129 illustre une autre mesure de proximité possible, la figure 130 illustre les contenus respectifs de deux pages de classeurs d'utilisateurs, organisées selon deux critères communs, la figure 131 illustre des suggestions par Recommandation Collaborative, la figure 132 illustre les deux pages de classeurs d'utilisateurs après insertion d'un élément accepté, la figure 133 illustre ces deux mêmes pages de classeurs, avec des insertions d'éléments acceptés en des positions répondant à d'autres critères, la figure 134 illustre une architecture de serveurs permettant, avec le présente invention, de mettre en oeuvre des fonctions d'anonymat et de commission sur  FIGS. 27 to 31 illustrate the various steps of the behavior of a display management method according to the invention, applied to windows of an operating system, FIG. 32 illustrates a structure of links between added pages. by a user according to the present invention, Fig. 33 illustrates the combination of the Web and a personal web consisting of such added links, Fig. 34 schematically illustrates how to create the association between a page and its added links, FIG. 35 illustrates one way of displaying a page and the added links associated therewith, FIGS. 36a to 36c illustrate an example of a combination of added links, FIG. 37 illustrates various operations for creating links added between pages, FIGS. 38 and 39 illustrate the application of a display management mechanism according to the invention to a superposition of pages provided with their added links, FIG. it is a different display arrangement of the added links associated with pages, FIG. 41 illustrates the correspondence between the added link creation operations and the storage of such added links, FIG. 42 illustrates in a similar way to FIG. in the case where the added links also include reverse added links, Figure 43 schematically illustrates a storage mode of the links added; Figure 44 schematically illustrates a first mode of obtaining via a network a page and links added thereto; Figure 45 schematically illustrates a second method of obtaining a page network and associated links associated therewith, and FIGS. 46 to 51 illustrate six examples of manipulations of pages and links added to the page. pages contained in user directories, Figures 52 and 53 illustrate two modes of presentation of stored links or links added from rank 54 in relation to a current page FIG. 54 illustrates an exemplary user access interface as part of a page with associated links added, FIG. 55a illustrates an example of a user interface in FIG. which on one page are associated on the one hand links added, and secondly a selection of close directories, Figure 55b shows a display detail of a page and associated added links to change an attribute of an added link, FIG. 56 illustrates in a UML standard representation a class diagram for the added links and their aforementioned attribute, FIG. 57 schematically presents the principles of direct access to the added links and to the directories, FIGS. 59 schematically illustrate the fundamentals of the primary calculus of proximity between repertoires for a given current page, Figure 60 schematically illustrates the foundations of the calculation method transitive proximity between directories for a given current page FIGS. 61 to 63 schematically illustrate the foundations of three advanced modes of computation of proximity between directories, FIG. 64 illustrates two modes of graphical representation of an added link associated with a page, the FIG. 65 schematically illustrates the direct access to the directories, FIG. 66 illustrates a display detail of a directory and the links it contains making it possible to change an attribute of a link, FIG. 67 illustrates in a standard UML representation. a class diagram for the links and their attribute, Figure 68 schematically illustrates the placement of containers in a document, Figure 69 schematically illustrates the import of a content from one container to another, Figure 70 schematically illustrates the derivation of a container, FIG. 71 schematically illustrates the import of a content of a document to a container of a container. Another document, FIG. 72 schematically illustrates the principle of content composition, FIG. 73 schematically illustrates the principle of structuring references between elements, FIG. 74 schematically illustrates the indirect access to a page on the Web via Figure 75 schematically illustrates the process implemented by the system, Figure 76 schematically illustrates two containers, Figure 77 schematically illustrates the import process, Figure 78 schematically illustrates the process of importing the system. a content in a container of different category, Figure 79 schematically illustrates nested containers, Figures 80a and 80b schematically illustrate the derivation process, Figure 81 schematically illustrates an infinite branch structure, Figure 82 schematically illustrates a simple example of document structure, Figure 83 schematically illustrates the principle of storing the attributes of the contents, FIG. 84a illustrates an example of a user interface in which on a page are notably associated added links and links on contents in a container, FIG. 84b illustrates an example of an interface in which there are check boxes "Applicant" and "Offerer", FIG. 85 is a class diagram in UML representation of a hierarchical structure of Information Containers used according to a third aspect of the present invention, the Figure 86 is a class diagram including the notion of User Profile, Figure 87 is another illustration of the organization of Profiles, Containers and Contents, Figure 88 is a class diagram in which the notions of Reference are introduced. Content (link to content) and Content Popularity, Figure 89 is a class diagram that introduces the concepts of Direct Content and Content In 90 illustrates a basic advantage of a basic embodiment of the invention, FIG. 91 is a class diagram illustrating the notion of cascaded reference, FIG. 92 illustrates a principle of profile propagation, FIGS. FIGS. 93 and 94 illustrate the creation of links corresponding to the Profile propagation of FIG. 92, FIG. 95 illustrates another profile propagation principle, FIGS. 96 and 97 illustrate the creation of links corresponding to the propagation of Profiles. In FIG. 95, FIGS. 98 and 99 illustrate link creations caused by a referencing process, FIG. 100 is a class diagram incorporating the notions of Profile Propagation and Profile Referencing, FIGS. 101 to 104. illustrate four possible link transition configurations, Figures 105 through 107 illustrate link building for archiving and restoring elements, Figure 108 illustrates a collection principle of Profiles as a set of common files, Fig. 109 is a class diagram implementing the principle of Fig. 108, Fig. 110 illustrates a tree construction as a part of the principle. of FIG. 108, FIG. 111 is a class diagram showing all the principles of FIGS. 85 to 110, FIG. 112 illustrates a tree structure of binders according to the present invention, FIG. 13 is a class diagram incorporating this concept of workbooks, Fig. 114 illustrates the structure of a SQL database associated with the organization in workbooks, Fig. 115 illustrates a workbook table, Fig. 116 illustrates a table of user-specific items. in a workbook, Figure 117 illustrates a table of links, Figure 118 illustrates the creation of a <"Derived" element, Figure 119 illustrates the deletion of a sub-element not Derived, Figures 120a to 120c illustrate the deletion of a derived sub-element Derivative, Figure 121 illustrates a link table when restoring a sub-element, Figure 122 illustrates the behavior of sub-elements "implicit", 1 0 Figure 123 illustrates a corresponding link table, Figure 124 illustrates the acceptance of implicit sub-elements, Figure 125 illustrates a corresponding link table, Figure 126 illustrates the rejection of an implicit sub-file, Figure 127. illustrates the corresponding link table, FIG. 127a illustrates a possible example of a user interface, FIG. 128 illustrates proximity measurement between two profiles, FIG. 129 illustrates another possible proximity measurement, FIG. 130 illustrates the respective contents of FIG. two pages of user workbooks organized according to two common criteria, Figure 131 illustrates suggestions by Collaborative Recommendation, Figure 132 illustrates the two pages of binders of users after inserting an accepted element, FIG. 133 illustrates these two same workbook pages, with insertions of elements accepted in positions that meet other criteria, FIG. 134 illustrates a server architecture allowing, with the present invention, to implement anonymity and commission functions on

opérations de commerce électronique.  e-commerce operations.

la figure 135 schématise le comportement séquentiel d'une pluralité d'objets, selon un quatrième aspect de la présente invention, la figure 136 illustre la notation normalisée " UML >", la figure 137 illustre un exemple simplifié de diagramme de classe, la figure 138 illustre le diagramme d'état-transition pour l'exemple précité, 2 0 la figure 139 représente un objet simplifié comportant une méthode, la figure 140 illustre par un exemple simplifié une équivalence entre attribut d'une classe et lien entre deux classes, la figure 141 illustre l'équivalence entre une action sur transition et un état intermédiaire à transition sortante automatique, la figure 142 illustre l'ajout d'un pseudo-état à un diagramme d'état-transition standard, la figure 143 illustre un exemple simplifié d'un objet possédant deux types d'actions, la figure 144 illustre un exemple enrichi de l'exemple simplifié de la figure 137, la figure 145 illustre le comportement d'un objet de la figure 144, la figure 146 illustre le principe de décomposition des états d'un objet, la figure 147 donne un exemple d'un objet auquel est appliqué le principe illustré sur la figure 146, la figure 148 illustre l'objet après transformation selon ce principe, la figure 149 illustre la structure d'un message émis par l'objet, la figure 150 illustre le comportement de base d'un séquenceur en réponse à un tel message, la figure 151 illustre la notion de cycle utilisée selon l'invention, la figure 152 illustre le comportement d'objets sous contrôle du séquenceur pour certains types de cycles, la figure 153 illustre par un diagramme d'état-transition le comportement du 2 5 séquenceur avec le contrôle illustré sur la figure 152, la figure 154 reprend la figure 148 avec un enrichissement, la figure 155 illustre le même enrichissement dans le cas o un objet possède un 3 0 certain type d'actions, la figure 156 illustre une succession de messages mémorisés par le séquenceur, la figure 157 illustre le diagramme d'état-transition du séquenceur avec une fonction de gestion d'historique, la figure 158 illustre une exploitation additionnelle par le séquenceur des messages de la figure 156, la figure 159 illustre par un diagramme d'état-transition le comportement du séquenceur modifié en conséquence, la figure 160 illustre le diagramme d'état-transition complet du séquenceur, la figure 161 illustre les diagrammes d'état-transition initiaux de six objets dans un exemple de mise en oeuvre de l'invention, la figure 162 indique les nouveaux diagrammes d'état-transition des objets selon l'aspect de l'invention illustré jusqu'ici, la figure 163 illustre le diagramme de séquence de certains événements et actions 2 0 dans unecertaine phase pour ce même exemple, la figure 164 illustre un extrait de la liste de messages correspondante, la figure 165 illustre le diagramme de séquence dans une autre phase, la figure 166 illustre un extrait correspondant de la liste de messages, la figure 167 illustre le diagramme de séquence dans une troisième phase, 3 0 la figure 168 illustre un extrait correspondant de la liste de messages, la figure 169 illustre le diagramme de séquence d'un autre type d'action géré par le séquenceur, la figure 170 illustre un exemple d'objets et de leurs liens, la figure 171 illustre une structure arborescente d'objets et de liens, la figure 172 illustre de façon plus détaillée une telle structure arborescente, la figure 173 illustre un chemin entre objets utilisé selon un cinqième aspect de l'invention, la figure 174 illustre une composition particulière de liens dans un chemin, la figure 175 illustre le principe de regroupement de certains objets d'une structure arborescente, la figure 176 illustre l'application d'un tel regroupement à des zones de visualisation associées à des objets, la figure 177 illustre des liens en relation avec la proximité entre zones de visualisation, la figure 178 illustre des regroupements d'objets selon le même principe, avec une granularité croissante, la figure 179 illustre deux possibilités de transformations de liens, la figure 180 illustre par un diagramme UML simplifié deux types d'objets, à savoir objet proprement-dit ou élément de collection, les figures 181 et 182 illustrent une première phase d'un procédé de connexion entre objets, la figure 183 illustre sous une autre forme un regroupement d'objets, la figure 184 illustre un certain nombre d'actions dans une structure arborescente d'objets en liaison avec des objets d'affichage regroupés sur un objet constituant une zone de visualisation, la figure 185 illustre le diagramme de séquence correspondant, les figures 186 à 189 illustrent une application du cinquième aspect de l'invention à des liens de composition changeants, la figure 190 illustre une liste de messages de séquenceur conforme au cinquième aspect de l'invention dans le contexte des figures 186 à 189, la figure 191 illustre une transition d'objet dans le cadre d'un perfectionnement du cinquième aspect de l'invention, la figure 192 illustre le principe d'une connexion anticipative entre objets, la figure 193 illustre une telle connexion anticipative sous la forme d'un diagramme UML, la figure 194 illustre le diagramme de séquence correspondant, les figures 195 et 196 illustrent deux modes de connexion anticipative d'objets, en fonction du type d'objet, la figure 197 illustre l'architecture de base d'un serveur de données partagées et de postes clients, la figure 198 illustre la manipulation d'objets partagés par deux utilisateurs de postes clients, la figure 199 illustre un principe de réplication mixte selon un sixième aspect de l'invention, la figure 200 illustre le même principe, appliqué au cas o les objets partagés sont gérés par deux serveurs, la figure 201 illustre les diagrammes d'état-transition pour un exemple de quatre objets, dont trois sont de types différents, la figure 202 illustre le comportement de ces quatre objets lors d'une transition causée par l'utilisateur sur l'un des objets, la figure 203 illustre le comportement associé au niveau de deux listes de messages, 2 0 respectivement du côté d'un poste client et du côté d'un serveur, la figure 204 illustre une codification d'objets utilisée sur la figure 205, la figure 205 illustre la propagation d'une transition à partir d'un poste client vers un 2 5 serveur et vers d'autres postes clients, la figure 206 illustre le même principe de propagation dans le cas o il existe deux serveurs, 3 0 la figure 207 est un schéma de l'architecture des moyens de communication entre les postes clients et le serveur, la figure 208 est un diagramme de séquence d'une procédure de connexion entre poste client et serveur, la figure 209 est un schéma analogue à celui de la figure 207, illustrant les flux d'informations lors d'un appel de méthode, les figures 210 et 211 sont des diagrammes de séquence correspondants, la figure 212 est un diagramme de séquence illustrant la fin d'une connexion, les figures 213 et 214 sont des diagrammes de séquence illustrant l'attribution de verrous à des objets, les figures 215 et 216 sont des diagrammes d'état- transition illustrant les comportements de verrous sur un objet, les figures 217 et 218 sont des diagrammes de séquence illustrant une demande de verrou de lecture et d'écriture d'un poste client à un serveur, la figure 219 est une autre forme de diagramme de séquence illustrant un temps de latence dans le processus d'attribution du verrou, la figure 220 est un diagramme de séquence illustrant une demande de verrou de 2 5 lecture d'un poste client à un serveur, la figure 221 est une autre forme de diagramme de séquence illustrant un temps de latence dans le processus d'attribution du verrou, les figures 222 à 224 illustrent une situation de blocage mutuel lors de l'attente de verrous entre objets, la figure 225 illustre un exemple de demandes et attributions de verrous sur les axes des temps logiques de deux postes clients en association avec un tel blocage mutuel, la figure 226 illustre deux situations correspondant respectivement à un blocage mutuel et à l'absence d'un tel blocage, la figure 227 illustre le recours à un compteur pour délier des situations de blocage mutuel, la figure 228 illustre des propagations de transitions entre cinq objets, afin d'illustrer une fonction de retour en arrière, la figure 229 illustre l'état de listes de messages correspondants côté serveur et côté client, la figure 230 illustre d'autres propagations de transitions dans le même exemple, la figure 231 illustre l'état correspondant de la liste de messages côté serveur, la figure 232 illustre d'autres propagations de transitions encore dans le même  FIG. 135 schematizes the sequential behavior of a plurality of objects, according to a fourth aspect of the present invention, FIG. 136 illustrates the standardized notation "UML>", FIG. 137 illustrates a simplified example of a class diagram, FIG. 138 illustrates the state-transition diagram for the aforementioned example, FIG. 139 represents a simplified object comprising a method, FIG. 140 illustrates by a simplified example an equivalence between attribute of a class and link between two classes. Figure 141 illustrates the equivalence between a transition action and an automatic outgoing transition intermediate state, Figure 142 illustrates the addition of a pseudo state to a standard transition state diagram, Figure 143 illustrates an example. a simplified example of an object with two types of actions, Figure 144 illustrates an enriched example of the simplified example in Figure 137, Figure 145 illustrates the behavior of an object in the figure 144, Figure 146 illustrates the principle of decomposition of the states of an object, Figure 147 gives an example of an object to which is applied the principle illustrated in Figure 146, Figure 148 illustrates the object after transformation according to this In principle, FIG. 149 illustrates the structure of a message sent by the object, FIG. 150 illustrates the basic behavior of a sequencer in response to such a message, FIG. 151 illustrates the notion of cycle used according to the invention. FIG. 152 illustrates the behavior of sequencer-controlled objects for certain types of cycles, FIG. 153 illustrates by a state-transition diagram the behavior of the sequencer with the control illustrated in FIG. Figure 155 illustrates the same enrichment in the case where an object has a certain type of action, Figure 156 illustrates a succession of messages stored by the sequencer, the fi Figure 157 illustrates the sequencer state-transition diagram with a history management function, Figure 158 illustrates additional operation by the sequencer of the messages of Figure 156, Figure 159 illustrates with a state-transition diagram. the behavior of the sequencer modified accordingly, FIG. 160 illustrates the complete state-transition diagram of the sequencer, FIG. 161 illustrates the initial state-transition diagrams of six objects in an exemplary implementation of the invention, FIG. 162 shows the new state-transition diagrams of objects according to the aspect of the invention illustrated so far; FIG. 163 illustrates the sequence diagram of certain events and actions in a certain phase for this same example, Fig. 164 illustrates an excerpt from the corresponding message list, Fig. 165 illustrates the sequence diagram in another phase, Fig. 166 illustrates a corresponding excerpt from the list. In Figs. 167 illustrates the sequence diagram in a third phase, Fig. 168 illustrates a corresponding extract of the message list, Fig. 169 illustrates the sequence diagram of another type of action managed by Sequencer, Figure 170 illustrates an example of objects and their links, Figure 171 illustrates a tree structure of objects and links, Figure 172 illustrates in more detail such a tree structure, Figure 173 illustrates a path. between objects used according to a fifth aspect of the invention, Fig. 174 illustrates a particular composition of links in a path, Fig. 175 illustrates the principle of grouping certain objects of a tree structure, Fig. 176 illustrates the application of such a grouping to viewing areas associated with objects, FIG. 177 illustrates links in relation to the proximity between viewing areas, FIG. groupings of objects according to the same principle, with increasing granularity, FIG. 179 illustrates two possibilities of link transformations, FIG. 180 illustrates by a simplified UML diagram two types of objects, namely object proper or collection element. FIGS. 181 and 182 illustrate a first phase of a connection method between objects, FIG. 183 illustrates in another form a grouping of objects, FIG. 184 illustrates a number of actions in a tree structure of objects. in connection with display objects grouped on an object constituting a viewing area, FIG. 185 illustrates the corresponding sequence diagram; FIGS. 186 to 189 illustrate an application of the fifth aspect of the invention to changing composition links; FIG. 190 illustrates a list of sequencer messages according to the fifth aspect of the invention in the context of FIGS. 186 to 189, FIG. To illustrate an object transition as part of a refinement of the fifth aspect of the invention, Figure 192 illustrates the principle of an anticipatory connection between objects, Figure 193 illustrates such an anticipatory connection in the form of a diagram. UML, Figure 194 illustrates the corresponding sequence diagram, Figures 195 and 196 illustrate two modes of anticipatory connection of objects, depending on the type of object, Figure 197 illustrates the basic architecture of a data server Figure 198 illustrates the manipulation of shared objects by two users of client computers, Figure 199 illustrates a principle of mixed replication according to a sixth aspect of the invention, Figure 200 illustrates the same principle, applied. In case the shared objects are managed by two servers, Figure 201 illustrates the state-transition diagrams for an example of four objects, three of which are of different types, Figure 2 02 illustrates the behavior of these four objects during a transition caused by the user on one of the objects, FIG. 203 illustrates the behavior associated with the level of two message lists, respectively on the side of a client station. and on the server side, Fig. 204 illustrates an object coding used in Fig. 205, Fig. 205 illustrates the propagation of a transition from a client station to a server and to others. Figure 206 illustrates the same principle of propagation in the case where there are two servers, Figure 207 is a diagram of the architecture of the communication means between the client stations and the server, Figure 208 is a sequence diagram of a connection procedure between the client and the server, FIG. 209 is a diagram similar to that of FIG. 207, illustrating the information flows during a method call, FIGS. 210 and 211 are Correct sequence diagrams Figure 212 is a sequence diagram illustrating the end of a connection, Figures 213 and 214 are sequence diagrams illustrating the allocation of locks to objects, Figures 215 and 216 are state diagrams. transition illustrating the lock behaviors on an object, Figs. 217 and 218 are sequence diagrams illustrating a read and write lock request from a client station to a server, Fig. 219 is another form of block diagram. a sequence illustrating a latency in the lock allocation process, FIG. 220 is a sequence diagram illustrating a lock request to read from a client station to a server, FIG. 221 is another form of diagram. sequence illustrating a latency in the lock allocation process, Figures 222 to 224 illustrate a mutual blocking situation when waiting for locks between objects, Figure 225 illustrates an example of e requests and allocation of locks on logical time axes of two client stations in association with such mutual blocking, Figure 226 illustrates two situations respectively corresponding to a mutual blocking and the absence of such blocking, Figure 227 illustrates the use of a counter to unblock mutual blocking situations, Figure 228 illustrates transitions propagations between five objects, to illustrate a backward function, Figure 229 illustrates the status of corresponding message lists side server and client side, Figure 230 illustrates further propagation of transitions in the same example, Figure 231 illustrates the corresponding state of the server-side message list, Figure 232 illustrates other propagation of transitions still in the same

exemple,example,

la figure 233 illustre l'état correspondant de la liste de messages côté client, la figure 234 est un diagramme d'états et de messages illustrant une situation de conflit entre serveur et client, les figures 235 à 238 illustrent au niveau de la liste des messages côté serveur les  Fig. 233 illustrates the corresponding state of the client-side message list, Fig. 234 is a state-and-message diagram illustrating a server-client conflict situation, Figs. 235-238 illustrate at the list level of the client-side message list. server-side messages

3 0 étapes de résolution du conflit.  3 0 steps to resolve the conflict.

Introduction de la descriptionIntroduction of the description

On va présenter dans la suite dans six chapitres, différents systèmes et procédés - liés entre eux - visant d'une façon générale des perfectionnements à des outils informatiques liés à l'Intemrnet et plus généralement à l'informatique partagée via réseau. Le chapitre I vise en particulier des perfectionnements à la gestion de l'affichage sur écran d'éléments graphiques tels que des pages de la Toile, des parties de pages ou encore des fenêtres d'un système d'exploitation, dans différentes circonstances telles  We will present in the following in six chapters, different systems and processes - related - aimed generally at improvements to computer tools related to Intemrnet and more generally to shared computing via network. Chapter I aims in particular at improvements to the management of the on-screen display of graphic elements such as pages of the Web, parts of pages or even windows of an operating system, in different circumstances such as

que le chargement de pages ou des opérations de glisser-déposer.  as the loading of pages or drag-and-drop operations.

Le chapitre II vise, en utilisant notamment la gestion d'affichage du chapitre 1, à permettre à un utilisateur de créer des liens personnels entre des pages de la Toile, et  Chapter II aims, in particular by using the display management of Chapter 1, to allow a user to create personal links between pages of the Web, and

vise également différentes techniques pour mettre à profit ces liens créés.  also aims at different techniques to take advantage of these created links.

Le chapitre III vise, en utilisant notamment les techniques de liens créés du chapitre Il, différentes techniques d'enrichissement mutuel des connaissances notamment via  Chapter III aims, using in particular the linkage techniques created in Chapter II, different techniques of mutual enrichment of knowledge, particularly via

l'Internet. Il reprend à cet égard des notions exposées dans le chapitre Il.  the Internet. In this respect, he reiterates the concepts set out in Chapter II.

Le chapitre IV concerne quant à lui les applications orientées objet et des moyens destinés à rendre déterministe le comportement de telles applications lorsqu'elles  Chapter IV concerns object-oriented applications and means to make deterministic the behavior of such applications when they

sont partagées notamment via l'Internet.  are shared especially via the Internet.

Le chapitre V vise, dans la lignée des applications partagées du chapitre IV, à proposer des techniques d'exécution telles applications qui s'affranchissent au moins  Chapter V aims, in line with the shared applications of Chapter IV, to propose execution techniques such as applications that are at least

en partie des problèmes de bande passante faible ou limitée.  in part, low or limited bandwidth issues.

Le chapitre VI concerne enfin, toujours dans le cadre d'applications orientées objet 3 0 partagées et en liaison particulière avec les chapitres IV et V, des techniques permettant de faciliter la bonne exécution partagée d'applications possédant  Finally, chapter VI concerns, again in the context of object oriented applications 30 shared and in particular with chapters IV and V, techniques making it possible to facilitate the good shared execution of applications having

différents types d'objets.different types of objects.

Chapitre I - Gestion de zones d'affichage superposées (Figures 1-27) En référence tout d'abord à la figure 1, on a représenté schématiquement une page interactive P. telle qu'une page en langage HTML, qui doit être chargée sur un réseau lent et/ou irrégulier tel que l'Intemrnet, et qui est volumineuse (quelques  Chapter I - Management of superimposed display areas (FIGS. 1-27) With reference first of all to FIG. 1, there is shown schematically an interactive page P. such as a page in HTML language, which must be loaded on a slow and / or irregular network such as Intemrnet, which is large (some

dizaines de Kilo-octets, voire plus de cent Kilo-octet, ou même plus).  tens of kilobytes, or even more than one hundred kilobytes, or even more).

Cette page est décomposée en deux zones d'affichage ZI et Z2 couvrant ensemble, typiquement, une fenêtre d'un logiciel de navigation sur Internet. Dans l'exemple de la figure 1, un élément de page E2 est chargé dans la zone ZI, tandis qu'un élément  This page is broken down into two display areas ZI and Z2 covering, typically, a window of a browser software on the Internet. In the example of Figure 1, a page element E2 is loaded in the zone ZI, while an element

de page E5 est chargé dans la zone Z2.  of page E5 is loaded in zone Z2.

L'une de ces zones (la zone ZI en l'occurrence) est définie comme pouvant <"tolérer" le recouvrement de l'affichage de la page P par l'affichage d'éléments  One of these zones (the ZI zone in this case) is defined as being able to "tolerate" the overlapping of the display of the page P by the display of elements

1 5 externes.1 5 external.

Autrement dit, la décomposition en zones permet de distinguer une zone (Z1) dans laquelle l'affichage de l'élément courant ('élément E2) peut être recouvert (entièrement ou partiellement) par l'affichage d'un (ou plusieurs) éléments qui 2 0 n'appartiennent pas à la page interactive P. Bien entendu, les zones en question pourraient être de n'importe quelle forme, et  In other words, the zone decomposition makes it possible to distinguish a zone (Z1) in which the display of the current element (element E2) can be covered (entirely or partially) by the display of one or more elements. which do not belong to the interactive page P. Of course, the zones in question could be of any shape, and

constituées de parties (sous-zones) contiguës ou non.  consist of parts (sub-areas) contiguous or not.

2 5 Selon la présente invention, on vise à faire patienter l'utilisateur pendant le chargement de la page interactive, l'idée de base consistant à lui présenter au préalable un élément supplémentaire (élément El dans les schémas qui suivront) dont la caractéristique essentielle est d'être légère en termes de volume de données à  According to the present invention, it is intended to make the user wait during the loading of the interactive page, the basic idea of presenting him beforehand with an additional element (element E1 in the diagrams that will follow) whose essential characteristic is to be light in terms of volume of data to

transmettre, en étant par exemple constituée d'un simple texte introductif, c'est-à-  transmit, for example by being a simple introductory text, that is to say

3 0 dire très rapidement chargeable.  3 0 very quickly loadable.

La figure 2 illustre l'élément El affiché dans la zone ZI après avoir été chargé.  Figure 2 illustrates the element El displayed in the zone ZI after being loaded.

L'affichage de cet élément El est effectuée dans la zone ZI afin de pouvoir recouvrir par la suite l'affichage de certains éléments de la page interactive (et plus précisément l'élément E2) quand ceux-ci seront chargés. On va maintenant décrire un certain nombre de détails de mise en oeuvre concrète de l'invention. Section 1- Stabilité de l'affichage de l'élément El La durée de chargement cumulée des éléments E2 et E5 destinés à constituer la page P n'étant pas exactement prévisible, et par ailleurs la durée nécessaire à l'examen complet par l'utilisateur du contenu de l'élément El - c'est-à-dire la durée de lecture du texte qu'il contient étant dépendante des capacités et de l'attention de l'utilisateur, il est avantageux que l'élément El reste affiché jusqu'à que l'utilisateur l'ôte de sa propre initiative. Il est en effet désagréable pour l'utilisateur de se voir  The display of this element El is carried out in the zone ZI in order to be able to cover later the display of certain elements of the interactive page (and more precisely the element E2) when these will be loaded. We will now describe a number of details of concrete implementation of the invention. Section 1- Stability of the display of the element El The cumulative loading time of the elements E2 and E5 intended to constitute the page P not being exactly predictable, and moreover the duration necessary for the complete examination by the user of the content of the element El - that is to say, the duration of reading of the text it contains being dependent on the capabilities and attention of the user, it is advantageous that the element El remains displayed until the user removes it on his own initiative. It is indeed unpleasant for the user to see each other

tout à coup privé d'un texte il est en train de lire.  Suddenly deprived of a text he is reading.

2 0 L'approche adoptée, qui va maintenant être décrite plus en détail en référence à la figure 3, est la suivante: dès la fin du chargement des éléments E2 et E5 initialement nécessaires à l'exécution de la page interactive P, tout ou partie de la zone Zl dans laquelle doit être affiché l'élément El sert de " zone sensible ", de manière à ce que, quand le pointeur d'une souris (ou tout autre périphérique d'entrée de la machine 2 5 constituant un dispositif de pointage) entre dans cette zone ZI (et sans qu'un clic de souris ne soit nécessaire), l'affichage de l'élément El est automatiquement remplacé  The approach adopted, which will now be described in more detail with reference to FIG. 3, is as follows: as soon as the loading of the elements E2 and E5 initially necessary for the execution of the interactive page P is complete, all or part of the zone Z1 in which the element El is to be displayed serves as a "sensitive zone", so that when the pointer of a mouse (or any other input device of the machine 25 constituting a device pointing point) enters this zone ZI (and without a mouse click being necessary), the display of the element El is automatically replaced

par celui de l'élément E2.by that of element E2.

On observera ici que l'on peut équiper la machine de moyens (bouton, fenêtre de 3 0 dialogue ou autre) permettant alors à l'utilisateur de déclarer le cas échéant que par la suite, il ne souhaite plus voir l'élément El affiché. Ce moyen peut par exemple être  It will be observed here that one can equip the machine means (button, dialogue window or other) then allowing the user to declare if necessary that subsequently, he no longer wishes to see the El element displayed . This means can for example be

un sous-élément d'interactivité dans E2 ou El.  a sub-element of interactivity in E2 or El.

Section 2- Ré-affichage de l'élément El  Section 2- Re-viewing the El Element

Sauf indication contraire explicitement donnée par l'utilisateur comme indiqué ci-  Unless explicitly stated otherwise by the user as indicated above

dessus, on prévoit alors que l'utilisateur puisse retrouver ultérieurement l'élément E1 de sa propre initiative et le plus facilement possible, par exemple dans le cas o il  above, it is then expected that the user can retrieve the element E1 later on his own initiative and as easily as possible, for example in the case where he

l'aurait ôté par erreur.would have removed it by mistake.

Or, après le remplacement de l'élément E1 par l'élément E2, puisque l'élément E2 doit offrir à l'utilisateur toutes ses propres possibilités d'interactivité (liens hypertexte, etc.) dans la zone d'affichage Z1, il est avantageux que cette zone ZI ne serve pas à déclencher l'opération inverse, c'est-à-dire le remplacement de l'élément  However, after the replacement of the element E1 by the element E2, since the element E2 must offer the user all his own possibilities of interactivity (hyperlinks, etc.) in the display area Z1, he is advantageous that this zone ZI is not used to trigger the opposite operation, that is to say the replacement of the element

E2 par l'élément E l.E2 by the element E l.

Pour satisfaire à cette contrainte, et comme illustré sur la figure 4, au moment o l'élément E2 est affiché, on prévoit que tout ou partie de la zone d'affichage Z2 dans laquelle est affiché l'élément E5 devienne à son tour << zone sensible "; l'élément E1  To satisfy this constraint, and as illustrated in FIG. 4, at the moment when the element E2 is displayed, it is provided that all or part of the display zone Z2 in which element E5 is displayed becomes in turn < <sensitive area ", element E1

pourra ainsi être ré-affiché dès la détection de l'entrée du pointeur dans cette zone.  can be re-displayed as soon as the pointer input is detected in this zone.

Toutefois, dès que l'élément El a été de nouveau affiché, il faut que l'élément ES 2 0 offre toutes ses propres possibilités d'interactivité. C'est alors, comme précédemment, tout ou partie de la zone Zl (contenant alors l'élément El) qui  However, as soon as the element El has been displayed again, the ES element 20 must have all its own possibilities for interactivity. It is then, as before, all or part of the zone Zl (then containing the element El) which

redevient zone sensible. Ceci est illustré sur la figure 5.  becomes a sensitive area. This is illustrated in Figure 5.

Les comportements des figures 4 et 5 peuvent, dans la présente forme de réalisation, être enchaînés à l'infini, aussi longtemps que l'utilisateur n'a pas appelé d'autres pages. Bien évidemment, tant E2 que E1 peuvent aussi posséder des sous-éléments d'interaction, constituant d'autres zones sensibles, pour respectivement amener et  The behaviors of Figures 4 and 5 may, in the present embodiment, be chained to infinity, as long as the user has not called other pages. Of course, both E2 and E1 may also have interaction sub-elements, constituting other sensitive zones, for respectively bringing and

3 0 enlever l'élément El.Remove the element El.

On va maintenant décrire en détail différents déroulements du procédé selon l'invention. Cas 1: Le pointeur de la souris se trouve initialement dans la zone Z2 Il s'agit du cas o, au moment o les éléments nécessaires à l'exécution initiale de la page interactive P sont finis d'être chargés, le pointeur de la souris se trouve dans la  We will now describe in detail different sequences of the process according to the invention. Case 1: The mouse pointer is initially in zone Z2 This is the case where, at the moment when the elements necessary for the initial execution of the interactive page P are finished to be loaded, the pointer of the mouse is in the

zone d'affichage qui ne contient pas l'élément E1.  Display area that does not contain the E1 element.

Le déroulement du procédé est alors le suivant: - l'élément E1 est chargé et affiché en premier, et reste affiché tant que les éléments nécessaires à l'exécution initiale de la page interactive P (à savoir les éléments E2 et ES) ne sont pas encore chargés; - l'élément El reste affiché, même après chargement des éléments E2 et E5, tant que le pointeur actionné par la souris n'effectue pas une entrée dans la zone d'affichage Zi contenant l'élément E1; 2 0 - c'est seulement lors d'une telle entrée qu'il est remplacé par les éléments E2 et E5 - au cas o le pointeur est ensuite amené dans la zone d'affichage Z2 qui ne contient  The sequence of the process is as follows: the element E1 is loaded and displayed first, and remains displayed as long as the elements necessary for the initial execution of the interactive page P (namely the elements E2 and ES) are not not yet loaded; the element El remains displayed, even after loading the elements E2 and E5, as long as the pointer actuated by the mouse does not make an entry in the display zone Zi containing the element E1; 2 0 - it is only during such an entry that it is replaced by the elements E2 and E5 - in case the pointer is then brought into the display zone Z2 which contains

pas l'élément E2, l'élément E1 est affiché à nouveau (E2 peut rester affiché ou pas).  not element E2, element E1 is displayed again (E2 can remain displayed or not).

2 5 Cette séquence est présentée dans le diagramme de la figure 6.  This sequence is shown in the diagram of FIG.

Cas 2. Le pointeur de la souris se trouve initialement dans la zone Z1 Il s'agit du cas o, au moment o les éléments E2 et E5 nécessaires à l'exécution 3 0 initiale de la page interactive P ont été chargés, le pointeur de la souris se trouve dans  Case 2. The mouse pointer is initially in the zone Z1 This is the case where, at the moment when the elements E2 and E5 necessary for the initial execution of the interactive page P have been loaded, the pointer of the mouse is in

la zone d'affichage ZI qui contient l'élément El.  the ZI display area that contains the element El.

Dans ce cas l'élément El reste affiché aussi longtemps que le pointeur n'est pas sorti de la zone Z1, puis à nouveau entré dans celle-ci; c'est seulement dans ce dernier cas  In this case the element El remains displayed as long as the pointer has not left the zone Z1, and then entered again therein; it's only in the latter case

que l'élément El est remplacé par les éléments E2 et ES sur l'écran d'affichage.  that the element El is replaced by the elements E2 and ES on the display screen.

Cette séquence est présentée dans le diagramme de la figure 7.  This sequence is shown in the diagram of Figure 7.

Approche dite de " streaming " Bien entendu, dans tous les cas, les éléments E2 et E5 de la page interactive P pourront être transmis dans une approche dite de " streaming ", approche classique dans laquelle des éléments d'une page sont affichés et exécutés avant que la page soit entièrement chargée. Il n'est en effet pas nécessaire d'attendre que la totalité de ces  The so-called "streaming" approach Of course, in all cases, the elements E2 and E5 of the interactive page P can be transmitted in a "streaming" approach, a conventional approach in which elements of a page are displayed and executed. before the page is fully loaded. It is indeed not necessary to wait until all of these

éléments de la page soient chargés pour activer la ou les " zones sensibles ".  elements of the page are loaded to activate the "sensitive areas".

On va présenter ci-après une approche de " streaming " pour l'élément El, qui dans  We will present below a "streaming" approach for the element El, which in

le présent exemple est constitué par deux sous-éléments El. 1 et E 1.2.  the present example consists of two sub-elements El. 1 and E 1.2.

Plutôt que d'attendre la fin du chargement complet de l'élément El, les parties distinctes E 1.1 et E 1.2 de l'élément E 1 (qui peuvent être par exemple principalement  Rather than waiting for the end of the complete loading of the element El, the distinct parts E 1.1 and E 1.2 of the element E 1 (which can be for example mainly

du texte) peuvent être chargées et affichées successivement, dans l'ordre de lecture.  text) can be loaded and displayed successively, in the reading order.

Le principe d'affichage des éléments en fonction des déplacements du pointeur de la  The principle of displaying the elements according to the movements of the pointer of the

souris peut rester identique, comme le présente le schéma de la figure 8.  The mouse may remain identical, as shown in the diagram of Figure 8.

En variante, le comportement des différentes parties de l'élément E1 peuvent être dissociées, selon les règles énoncées ci-dessous et décrites en référence aux figures 9 à 12, sur lesquelles chaque " fenêtre " a pour but de montrer d'une part les nouveaux éléments affichés en réaction à l'action de déplacement du pointeur de la souris 3 0 présentée dans la fenêtre immédiatement précédente, le cas échéant, d'autre part une nouvelle action de déplacement de la souris dont l'effet est montré dans la fenêtre  Alternatively, the behavior of the different parts of the element E1 can be dissociated, according to the rules set out below and described with reference to FIGS. 9 to 12, on which each "window" aims to show on the one hand the new elements displayed in response to the movement action of the mouse pointer 30 presented in the immediately preceding window, if any, on the other hand a new movement action of the mouse whose effect is shown in the window

suivante, le cas échéant.following, as appropriate.

Règle 1 Il s'agit ici d'un simple rappel du principe déjà énoncé dans le paragraphe " Cas 2: Le pointeur de la souris se trouve initialement dans Z1 ": Dans le cas o, au moment de la fin du chargement des éléments E2 et E5 de la page interactive P. le pointeur de la souris se trouve dans la zone ZI, les déplacements du pointeur n'ont pas d'effet tant que le pointeur n'est pas amené en dehors de la zone  Rule 1 This is a simple reminder of the principle already stated in the paragraph "Case 2: The mouse pointer is initially in Z1": In the case where, at the moment of the end of the loading of the elements E2 and E5 of the interactive page P. the mouse pointer is in the ZI area, the pointer moves have no effect until the pointer is brought out of the area

ZI (c'est-à-dire introduit dans la zone Z2) puis retourné ensuite dans la zone Z1.  ZI (that is, introduced into the zone Z2) and then returned to the zone Z1.

Ceci est illustré sur la figure 9.This is illustrated in Figure 9.

Règle 2 Le déplacement du pointeur de la souris, de la zone Z2 à la zone Z1, déclenche le remplacement de l'affichage du seul sous-élément touché par le sous-élément correspondant de la page interactive. Dans l'exemple illustré sur la figure 10, l'entrée du pointeur dans la région affectée au sous-élément El.1 de l'élément El provoquera  Rule 2 Moving the mouse pointer from Z2 to Z1 causes the display of only the sub-element affected by the corresponding sub-element of the interactive page to be replaced. In the example illustrated in FIG. 10, the entry of the pointer in the region assigned to the sub-element El.1 of the element El will provoke

son remplacement par un sous-élément E2.1 de l'élément E2, tandis que l'autre sous-  replaced by a sub-element E2.1 of element E2, while the other sub-element E2.1

élément E 1.2 de l'élément El restera intact.  element E 1.2 of element El will remain intact.

Règle 3 Cette règle aborde la réversibilité du comportement défini par la règle 2: si le pointeur revient ensuite dans la zone Z2, même en étant passé par d'autres régions entre-temps, mais à condition d'avoir automatiquement défait les remplacements causés entre-temps, l'affichage de l'élément E2.1 est remplacé par celui de l'élément  Rule 3 This rule addresses the reversibility of the behavior defined by rule 2: if the pointer then returns to the Z2 zone, even if it has passed through other regions in the meantime, but provided that the replacements caused between -time, the display of element E2.1 is replaced by that of element

3 0 E 1.. Ceci est illustré sur la figure 10.  This is shown in Figure 10.

Les schémas des figures 1 1 et 12 présentent d'autres exemples de mise en oeuvre de la réversibilité, tels que décrits ci-dessous Règle 4 Le déplacement du pointeur de la souris de la région occupée par le sousélément E2.1 à la région occupée par le sous-élément El1.2 déclenche le remplacement de l'affichage du sous-élément E 1.2 par celui du sousélément correspondant E2.2 de la  The diagrams of FIGS. 11 and 12 show other examples of implementation of reversibility, as described below. Rule 4 The displacement of the mouse pointer from the region occupied by sub-element E2.1 to the occupied region by the sub-element El1.2 triggers the replacement of the display of the sub-element E 1.2 by that of the corresponding sub-element E2.2 of the

page interactive.interactive page.

Règle 5 Cette règle décrit une forme de réversibilité de la règle 4: si le pointeur retourne de la région du sous-élément E2.2 à à la région du sous-élément E2.1, même en étant passé par d'autres régions entre-temps mais à condition d'avoir automatiquement défait les remplacements causés entre-temps, l'affichage du sous-élément E2.2 est  Rule 5 This rule describes a form of rule 4 reversibility: if the pointer returns from the region of sub-element E2.2 to the region of sub-element E2.1, even passing through other regions between -time, but provided that the replacements caused in the meantime are automatically undone, the display of sub-element E2.2 is

remplacé par celui du sous-élément E 1.2. Ceci est illustré sur la figure 1 1.  replaced by that of sub-element E 1.2. This is illustrated in Figure 1 1.

Le schéma de la figure 12 présente une variante de mise en oeuvre de la règle 5.  The diagram of FIG. 12 presents an alternative embodiment of rule 5.

Supposons qu'après le parcours suivant du pointeur de la souris: Z2 - El. 1 (qui devient E2.1) ---El.2 (qui devient E2.2) le pointeur de la souris soit amené de la région occupée par le sous-élément E2.2 jusque dans la zone Z2. Ceci, du fait qu'il ne s'agit pas un retour au sens de la Règle  Suppose that after the following path of the mouse pointer: Z2 - El. 1 (which becomes E2.1) --- El.2 (which becomes E2.2) the pointer of the mouse is brought from the region occupied by sub-element E2.2 to zone Z2. This, because it is not a return within the meaning of the Rule

3, n'engendre pas le remplacement du sous-élément E2.2 par le sousélément E1.2.  3, does not result in the replacement of sub-element E2.2 by sub-element E1.2.

Règle 6 Cette règle consiste à rendre l'opération ci-dessus réversible: si le pointeur retourne de la zone Z2 à la région occupée par le sousélément E2.2, même en étant passé par d'autres zones entre-temps mais à condition d'avoir automatiquement défait les remplacements causés entretemps et si le retour s'effectue avant un " seuil temporel " donné, l'opération est considérée comme étant défaite. Ceci est illustré sur la figure 12. Cette forme de réalisation permet avantageusement de ne plus appeler les sous-éléments constituant l'élément initial E1 lorsqu'une période de  Rule 6 This rule consists of making the above operation reversible: if the pointer returns from zone Z2 to the region occupied by sub-element E2.2, even if it has passed through other zones in the meantime but provided that to have automatically defeated the replacements caused meanwhile and if the return is carried out before a given "time threshold", the operation is considered as being defeated. This is illustrated in FIG. 12. This embodiment advantageously makes it possible to no longer call the sub-elements constituting the initial element E1 when a period of

2 0 temps prédéterminée s'est écoulée pendant laquelle l'utilisateur est resté sur les sous-  The predetermined time elapsed during which the user remained on the sub-

éléments de l'élément E2, ce qui est révélateur par exemple d'un début de travail de  elements of element E2, which is indicative of, for example, a beginning of

l'utilisateur sur l'élément E2.the user on the element E2.

Section 3 - Exemples d'applications du présent chapitre Dans le cadre d'applications Internet ou autres, le procédé selon l'invention peut être  Section 3 - Examples of applications of this chapter In the context of Internet or other applications, the method according to the invention can be

complété par exemple par des éléments présentés dans le diagramme de la figure 13.  supplemented for example by elements presented in the diagram of Figure 13.

Les informations portés par les éléments qui y sont représentés sont par exemple les suivantes: Elément El: texte (et le cas échéant image et/ou son, etc) introductif ou d'accueil, l'essentiel étant que sont chargement soit relativement rapide comparativement aux éléments E2 et E5 (constituant par exemple la page principale du site); Elément E3, occupant initialement la zone Z2: par exemple un message du type " Prière de patienter; la page interactive est en train d'être chargée >>; Elément E4, remplaçant l'élément E3 dans la zone Z2: par exemple un message du type " Le chargement minimal de la page interactive est terminé "; Elément E2 la partie de la page principale occupant la zone Z1;  The information carried by the elements which are represented there are for example the following: Element El: text (and where appropriate image and / or sound, etc.) introductory or host, the essential being that are loading is relatively fast compared elements E2 and E5 (constituting for example the main page of the site); Element E3, initially occupying zone Z2: for example a message of the type "Please wait, the interactive page is being loaded" Element E4, replacing element E3 in zone Z2: for example a message of the type "The minimum loading of the interactive page is finished"; Element E2 the part of the main page occupying the zone Z1;

Elément E5 la partie de la page principale occupant la zone Z2.  Element E5 the part of the main page occupying zone Z2.

L'homme du métier saura aisément mettre en oeuvre l'invention dans une machine par exemple du type ordinateur personnel (au standard " PC ", " MacOS " (marque déposée), etc.), comportant un processeur, des mémoires, et entrées/sorties, un écran d'affichage et une liaison avec un serveur délocalisé, ceci par exemple par programmation de routines appropriées en liaison avec le protocole de chargement 2 0 des éléments depuis le serveur, sachant notamment que - la définition de "zones sensibles >> pour un pointeur de souris ou analogue - la détection de la présence du pointeur dans ces zones, - la détection de fin de chargement de différentes pages HTML ou de leurs éléments individuels (textes, images, sons, etc.)  Those skilled in the art will easily implement the invention in a machine for example of the personal computer type (standard "PC", "MacOS" (registered trademark), etc.), comprising a processor, memories, and inputs / outputs, a display screen and a link with a relocated server, this for example by programming appropriate routines in connection with the loading protocol 20 elements from the server, knowing in particular that - the definition of "sensitive areas> > for a mouse pointer or similar - the detection of the presence of the pointer in these areas, - the detection of the end of loading of different HTML pages or their individual elements (texts, images, sounds, etc.)

2 5 constituent des outils classiques à disposition des développeurs.  2 5 are classic tools available to developers.

On peut par ailleurs apporter de nombreuses variantes à la présente invention.  Many variations can also be made to the present invention.

En premier lieu, on peut prévoir que la région dans laquelle va s'afficher l'élément initial El ne soit pas superposée exactement à la région dans laquelle va s'afficher l'élément E2 de la page principale. En particulier, la région occupée par l'élément El peut être plus petite que la région (zone ZI) dans laquelle s'affichera, dans les conditions définies plus haut, l'élément E2. Dans ce cas, la partie de la zone ZI non recouverte par la région occupée par l'élément El peut par exemple rester vierge aussi longtemps que l'élément E2 n'est pas affiché. Dans cette hypothèse, c'est avantageusement l'entrée du pointeur de la souris dans la seule région occupée par l'élément El qui provoquera le remplacement de l'élément E1 par l'élément E2. La région occupée par l'élément E1 peut aussi être plus grande que la région (zone ZI)  First, it can be expected that the region in which the initial element El will be displayed is not superimposed exactly on the region in which the element E2 of the main page will be displayed. In particular, the region occupied by the element El may be smaller than the region (zone ZI) in which will be displayed, under the conditions defined above, the element E2. In this case, the part of the zone ZI not covered by the region occupied by the element El may for example remain blank as long as the element E2 is not displayed. In this case, it is advantageously the entry of the mouse pointer in the only region occupied by the element El that will cause the replacement of the element E1 by the element E2. The region occupied by element E1 may also be larger than the region (zone ZI)

dans laquelle s'affichera l'élément E2.  in which the E2 element will be displayed.

Selon une autre variante, on peut prévoir que le rappel de l'affichage de l'élément El en lieu et place de l'élément E2 s'effectue non pas en amenant le pointeur de la souris dans la zone Z2, mais par toute autre action et notamment: - en amenant le pointeur de la souris (avec le cas échéant la nécessité d'un clic) dans un bouton, onglet, etc. affiché au voisinage de l'élément E2 lorsque ce dernier est affiché (ou encore appartenant à l'élément E2); - par appui sur une touche spécifique du clavier de la machine, - etc. On peut par ailleurs prévoir que les différents sous-éléments de l'élément initial El  According to another variant, it is possible for the display of the element El to be replaced in place of the element E2 by not bringing the mouse pointer into the zone Z2, but by any other means. action and in particular: - by bringing the pointer of the mouse (with if necessary the necessity of a click) into a button, tab, etc. displayed in the vicinity of the element E2 when the latter is displayed (or belonging to the element E2); - by pressing a specific key on the keyboard of the machine, - etc. It can also be expected that the different sub-elements of the initial element El

2 0 soient contigus ou non contigus.  20 are contiguous or non-contiguous.

Au surplus, on peut recourir à différentes techniques de déplacement d'éléments pour retirer E1 de la zone d'affichage Z1 (ou de la ou des régions qu'il occupe dans cette zone, le cas échéant) avec un effet visuel donné pour l'utilisateur. En particulier, on 2 5 peut prévoir une translation horizontale ou verticale progressive de la représentation  In addition, different element movement techniques can be used to remove E1 from the display area Z1 (or the region or regions it occupies in this area, if any) with a given visual effect for the area. 'user. In particular, it is possible to provide a progressive horizontal or vertical translation of the representation

de l'élément E1 vers l'extérieur de l'écran.  from element E1 to the outside of the screen.

Egalement, on peut prévoir que l'élément El, après avoir été initialement affiché, soit recouvert par certains sous-éléments (boutons, etc.) appartenant à l'élément E2  Also, it can be expected that the element El, after being initially displayed, is covered by certain sub-elements (buttons, etc.) belonging to the element E2

3 0 en cours de chargement (cas par exemple d'un chargement de E2 en " streaming ").  3 0 being loaded (for example, a loading of E2 in "streaming").

l'élément El est donc en quelque sorte en " sandwich >> entre certains sous-éléments de l'élément E2 (ceux qui resteront invisibles jusqu'à ce que l'élément El soit ôté) et  the element El is thus somehow "sandwiched" between certain sub-elements of the element E2 (those which will remain invisible until the element E1 is removed) and

d'autres sous-éléments de l'élément E2 qui vont se comporter comme indiqué ci-  other sub-elements of element E2 which will behave as indicated below

dessus. Dans ce cas, la disparition de l'élément El lors de l'entrée du pointeur dans la zone associée, lorsqu'elle se fait par translation vers l'extérieur de l'écran de la représentation à l'écran dudit élément, est avantageusement effectuée en laissant  above. In this case, the disappearance of the element El when the pointer enters the associated zone, when it is done by translation towards the outside of the screen of the representation on the screen of said element, is advantageously carried out leaving

immobiles le ou les sous-éléments de l'élément E2 alors visibles à l'écran.  still the sub-elements of the element E2 then visible on the screen.

On peut enfin prévoir que l'élément E1 affiché initialement contienne des sous-  Finally, we can predict that the element E1 initially displayed contains sub-

éléments d'interactivité (liens vers l'autres pages, boutons déclenchant des actions, etc.). Dans ce cas, on prévoit avantageusement que ces souséléments soient actifs (c'est-à-dire actionnables par pointeur de souris notamment) au moins pendant la période au cours de laquelle l'élément E2 est en cours de chargement, et que ces sous-éléments deviennent inactifs dès le moment o l'entrée du pointeur dans la zone  elements of interactivity (links to other pages, buttons triggering actions, etc.). In this case, it is advantageously provided that these subelements are active (that is to say actuable by mouse pointer in particular) at least during the period during which the element E2 is being loaded, and that these - items become inactive as soon as the pointer enters the zone

de l'élément E1 doit provoquer la disparition de cet élément. En effet, les sous-  of element E1 must cause the disappearance of this element. Indeed, the sub-

éléments d'interactivité en question ne sont alors plus atteignables.  elements of interactivity in question are no longer attainable.

On va maintenant décrire en référence aux figures 14 à 24 une généralisation de la  We will now describe with reference to FIGS. 14 to 24 a generalization of the

2 0 présente invention telle que décrite ci-dessus.  The present invention as described above.

On se place tout d'abord dans le situation o l'on souhaite visualiser deux pages (par  We first place ourselves in the situation where we want to visualize two pages (by

exemple des pages HTML) dans une seule fenêtre d'affichage.  example HTML pages) in a single display window.

2 5 Pour bien faire comprendre cet aspect de l'invention, on va considérer que ces deux pages sont dans deux plans différents, la page Pl1 du plan supérieur recouvrant partiellement la page P2 du plan inférieur, en étant entièrement visible dans la fenêtre de visualisation (dont la taille est ici légèrement supérieure à celle de la page P2),  To clarify this aspect of the invention, it will be considered that these two pages are in two different planes, the page Pl1 of the upper plane partly covering the P2 page of the lower plane, being fully visible in the viewing window. (whose size is here slightly greater than that of page P2),

comme illustré sur la figure 14.as shown in Figure 14.

La page PI du plan supérieur peut également occuper une position décalée; elle recouvre encore partiellement la page P2, mais n'est visible que partiellement,  The page PI of the upper plane can also occupy a staggered position; it still partially overlaps the page P2, but is visible only partially,

marginalement, comme l'illustre la figure 15.  marginally, as shown in Figure 15.

Dans cette forme de réalisation, on prévoit en outre une " pince " virtuelle qui peut fixer ensemble les deux pages, comme on le détaillera plus loin, et ce dans une ou l'autre de leurs deux positions mutuelles. Cette pince est schématisée par PC sur les  In this embodiment, there is further provided a virtual "clamp" which can fix the two pages together, as will be detailed later, and in one or other of their two mutual positions. This clip is schematized by PC on

figures 16 et 17.Figures 16 and 17.

En vue en plan, l'utilisateur peut ainsi distinguer quatre zones ZI 1, Z12, Z13 et Z14  In plan view, the user can thus distinguish four zones ZI 1, Z12, Z13 and Z14

* dans sa fenêtre d'affichage, comme le présente la figure 18.* in its display window, as shown in Figure 18.

La zone Z I 1 est une zone qui n'est jamais couverte par la page PI du plan supérieur. La zone ZI 1 contient donc en permanence la partie correspondante de la  Zone Z I 1 is an area that is never covered by the page PI of the upper plane. Zone ZI 1 therefore permanently contains the corresponding part of the

page P2 dupage P2 of

plan inférieur.lower plane.

La zone Z12 est la zone couverte par la page Pl du plan supérieur quand celle-ci  Zone Z12 is the area covered by the page Pl of the upper plane when this one

n'est pas décalée, c'est-à-dire quand elle occupe la position illustrée sur la figure 14.  is not shifted, that is, when it occupies the position illustrated in Figure 14.

Et lorsque la page Pl du plan supérieur est décalée (situation de la figure 15), la zone Z12 présente la partie correspondante de la page P2 du plan inférieur, cette page  And when the page P1 of the upper plane is shifted (situation of FIG. 15), the zone Z12 presents the corresponding part of the page P2 of the lower plane, this page

occupant alors la somme des zones Z 1l et Z 12.  then occupying the sum of zones Z 11 and Z 12.

La zone Z13 est la zone occupée par la pince, qui peut être symbolisée  Zone Z13 is the area occupied by the clip, which can be symbolized

graphiquement de toute façon appropriée.  graphically anyway appropriate.

Enfin la zone Z14 est une zone qui est couverte par la page P1 du plan supérieur  Finally zone Z14 is an area that is covered by page P1 of the upper plane

quelle que soit la position de cette dernière.  whatever the position of the latter.

Nous allons maintenant présenter les différents états possibles du système et les 3 0 transitions possibles entre ces états, ces dernières étant la conséquence des actions de l'utilisateur. Les états sont définis par: * la position de la page du plan supérieur (c'est-à-dire décalée ou non décalée) * les positions possibles d'un pointeur de souris par rapport aux différentes zones,  We will now present the different possible states of the system and the possible transitions between these states, the latter being the consequence of the actions of the user. The states are defined by: * the position of the page of the upper plane (that is to say, shifted or not shifted) * the possible positions of a mouse pointer with respect to the different zones,

* l'état de la pince PC (ouverte ou fermée).  * the state of the PC clamp (open or closed).

La figure 19 présente les deux positions possibles de la page P1 du plan supérieur.  Figure 19 shows the two possible positions of page P1 of the upper plane.

La figure 20 présente un exemple d'état du système, pour lequel est spécifié un ensemble de régions sensibles réagissant à l'arrivée dans celles-ci du pointeur de la  FIG. 20 shows an exemplary state of the system, for which a set of sensitive regions responsive to the arrival therein of the pointer of the

souris, la position de la page du plan supérieur et l'état de la pince.  mouse, the position of the top plane page and the state of the clip.

Dans l'exemple de la figure 20, les régions grisées (ici les zones Z12 et Z13) désignent des endroits o la présence du pointeur n'a pas d'effet sur le système, tandis que les régions blanches (ici les zones Z11 et Z14) désignent des régions pour lesquelles l'entrée du pointeur dans l'une de celles-ci provoque une action, comme  In the example of FIG. 20, the shaded regions (here the zones Z12 and Z13) designate places where the presence of the pointer has no effect on the system, while the white regions (here the zones Z11 and Z14) designate regions for which the entry of the pointer in one of these causes an action, such as

on le détaillera plus loin.we will detail it later.

Le comportement du système est présenté dans la figure 21 sous la forme d'un diagramme d'états-transitions, qui illustre les différentes manipulations des pages Pl  The behavior of the system is presented in Figure 21 in the form of a state-transition diagram, which illustrates the different manipulations of the pages Pl

et P2 dans leurs plans respectifs.and P2 in their respective planes.

Le système fait en sorte que la page Pl du plan supérieur ne soit remplacée par la page P2 du plan inférieur (une fois que cette dernière a été chargée à partir d'un serveur, le cas échéant) que seulement sur action implicite de l'utilisateur, et ceci de manière très intuitive. Contrairement aux procédés de " streaming ", l'utilisateur ne sera ainsi pas surpris de voir remplacée la page qu'il est justement en train  The system ensures that the top-plane page P1 is not replaced by the P2 page of the lower plan (once it has been loaded from a server, if any) only on the default action of the user, and this in a very intuitive way. Unlike "streaming" processes, the user will not be surprised to see the page being replaced.

d'examiner.examine.

Ainsi, quand la page du plan inférieur est le cas échéant chargée: - si le pointeur de la souris se trouve dans la zone ZI 1, le fait de l'amener dans la zone Z12 - si le pointeur se trouve dans l'une des zones Z12, Z13 et Z14, le fait de l'amener dans la zone Zl 1 puis de nouveau dans la zone Z12  Thus, when the page of the lower plane is if necessary loaded: - if the pointer of the mouse is in zone ZI 1, bringing it in the zone Z12 - if the pointer is in one of the zones Z12, Z13 and Z14, bringing it into zone Zl 1 and then again into zone Z12

aura comme conséquence de décaler la page P l du plan supérieur.  will result in shifting the page P l of the upper plane.

Ensuite, l'utilisateur pourra provoquer le mouvement inverse de la page P1 du plan supérieur (c'est-à-dire la ramener dans la zone Z 12): - soit en ramenant le pointeur de la souris dans la zone Z 1,  Then, the user can cause the reverse movement of the page P1 of the upper plane (that is to say bring it back into the zone Z 12): either by bringing the pointer of the mouse in the zone Z 1,

- soit en ramenant le pointeur de la souris dans la zone Z14.  - or by dragging the mouse pointer in zone Z14.

Ce double choix offert à l'utilisateur présente un avantage important: le premier choix permet d'utiliser les moyens d'interactivité (boutons, etc.) contenus dans la page P2 du plan inférieur dans la zone Z1 l, - le deuxième choix permet d'utiliser les moyens d'interactivité contenus dans la  This double choice offered to the user has an important advantage: the first choice makes it possible to use the means of interactivity (buttons, etc.) contained in the page P2 of the lower plane in the zone Z1 1, - the second choice allows to use the means of interactivity contained in the

page P I du plan supérieur dans la zone Z 12.  page P I of the upper plane in zone Z 12.

Le fait de " serrer >> la pince PC (par exemple par un simple clic de souris dans la zone dédiée Z13) a pour effet d'éviter de décaler la page du plan supérieur à la suite des manipulations indiquées ci-dessus. En d'autres termes, le processus de décalage et de retour de la page Pi est alors neutralisé, et les positions mutuelles des pages Pi  The fact of "tightening" the PC clamp (for example by a simple mouse click in the dedicated area Z13) has the effect of avoiding shifting the top plane page as a result of the manipulations indicated above. other words, the process of shifting and returning the page Pi is then neutralized, and the mutual positions of the pages Pi

et P2 (que ce soit avec la page P I décalée ou la page P I non décalée) sont figées.  and P2 (whether with the P I page shifted or the P I page not shifted) are frozen.

Cette neutralisation peut être supprimée avantageusement en cliquant à nouveau dans  This neutralization can be advantageously suppressed by clicking again in

la zone Z13 pour " desserrer " la pince PC.  zone Z13 to "loosen" the PC clamp.

On notera que les différents états et les différentes transitions illustrés sur la figure 21 peuvent être complétés le cas échéant par d'autres états et d'autres transitions, notamment lorsqu'il existe dans la fenêtre, à l'extérieur des zones Z11 à Z14, une zone de marge qui peut être utilisée, par exemple, pour passer de la zone Z 1 à l'une des zones Z13 ou Z14, ou réciproquement, sans passer par la zone Z12 qui les sépare. Le système décrit ci-dessus en référence aux figures 14 à 22 peut être étendu pour gérer plus de deux plans superposes. Ainsi l'on a illustré sur les figures 23 à 26 une page P2 de plan inférieur qui est fixe, et deux pages Pl1 et PlI' de niveaux respectivement supérieur et intermédiaire, qui peuvent individuellement adopter une position non décalée (pleinement visible) ou décalée. La pince PC est ici commune aux trois pages, et peut donc occuper une zone  It will be noted that the different states and the different transitions illustrated in FIG. 21 can be supplemented if necessary by other states and other transitions, especially when there exists in the window, outside zones Z11 to Z14. , a margin zone that can be used, for example, to go from the zone Z 1 to one of the zones Z13 or Z14, or vice versa, without passing through the zone Z12 which separates them. The system described above with reference to Figs. 14 to 22 may be extended to handle more than two overlapped planes. Thus, FIGS. 23 to 26 show a page P2 of lower plane which is fixed, and two pages P1 and P1 'of respectively higher and intermediate levels, which can individually adopt a non-shifted (fully visible) or offset position. . The PC clamp is here common to all three pages, and can occupy a zone

graphique unique.unique graphic.

En supplément de la pince, un moyen graphique de "solidarisation " des plans adjacents pris deux à deux peut être mis en oeuvre. Quand ce moyen est activé, les  In addition to the clip, a graphic means of "joining" adjacent planes taken in pairs can be implemented. When this means is activated,

deux plans qu'il relie se déplacent ensemble.  two planes that it connects move together.

Le système décrit en référence aux figures 14 à 26 peut ici encore avantageusement être mis en oeuvre dans le cadre d'applications sur l'Intemrnet, dans lesquelles les pages mettent un temps significatif à être chargées. La page Pl1 du plan supérieur pourra être chargée en premier et faire patienter l'utilisateur pendant que la page P2 du plan inférieur se charge. De même, l'affichage des pages P1 et/ou P2 peut permettre de faire patienter l'utilisateur pendant le chargement d'une autre page P3,  The system described with reference to FIGS. 14 to 26 can here again advantageously be implemented in the context of applications on the Intemrnet, in which the pages put a significant time to be loaded. The Pl1 page of the upper plane can be loaded first and wait for the user while the P2 page of the lower plane is loaded. Likewise, the display of pages P1 and / or P2 can make it possible for the user to wait while loading another page P3,

encore plus " inférieure " selon la présentation adoptée ici, et ainsi de suite.  even more "inferior" according to the presentation adopted here, and so on.

Enfin, dans les différentes formes de réalisation de l'invention, on peut prévoir une page P 1 sensiblement plus petite que la page P2, auquel cas les zones d'affichage  Finally, in the various embodiments of the invention, it is possible to provide a page P 1 that is substantially smaller than the page P2, in which case the display areas

occupées par la page Pl dans ses deux positions respectives sont disjointes.  occupied by the page P1 in its two respective positions are disjointed.

On va maintenant décrire en référence aux figures 27 à 31 un procédé de gestion de l'affichage de fenêtres d'un système d'exploitation notamment lors d'opérations de glisser-déposer. La figure 27 illustre une première fenêtre Fl qui recouvre partiellement une seconde fenêtre F2 (peu importe ici que la fenêtre qui se trouve " sur le dessus " soit active ou non). On a illustré sur la figure 28 un pointeur (ou curseur) PT de souris qui se trouve sur un objet 01 (tel qu'un dossier ou document) visible dans la fenêtre Fl. L'appui par l'utilisateur d'un bouton de la souris permet, de façon connue en soi, de " saisir " cet  A method for managing the display of windows of an operating system, in particular during drag-and-drop operations, will now be described with reference to FIGS. Fig. 27 illustrates a first window F1 that partially overlaps a second window F2 (it does not matter here whether the window "on top" is active or not). FIG. 28 shows a mouse pointer (or cursor) PT that is on an object 01 (such as a folder or document) visible in the window F1. User support of a button the mouse makes it possible, in a manner known per se, to "grasp" this

objet en vue d'une opération, également connue en soi, de "glisserdéposer ".  object for an operation, also known per se, of "drag and drop".

Sur la figure 29, le pointeur Pl accompagné de l'objet 01 parcourt un trajet (flèche fl) de la fenêtre Fl vers la partie visible de la fenêtre F2, en franchissant donc le  In FIG. 29, the pointer P1 accompanied by the object 01 travels a path (arrow fl) from the window F1 towards the visible part of the window F2, thus crossing the

bord (gauche en l'occurrence) de la fenêtre F1, sans lâcher le bouton de la souris.  edge (left in this case) of the F1 window, without letting go of the mouse button.

Sur la figure 30, le mouvement du pointeur PT accompagné de l'objet 01 atteint à nouveau, par un mouvement inverse (flèche f2), le bord de la fenêtre F1 préalablement franchi. Ce phénomène provoque, dans le présent exemple de  In FIG. 30, the movement of the pointer PT accompanied by the object 01 again reaches, by an inverse movement (arrow f2), the edge of the window F1 previously crossed. This phenomenon causes, in the present example of

réalisation, la mise en arrière-plan de la fenêtre F1 par rapport à la fenêtre F2.  realization, putting the window F1 in the background with respect to the window F2.

2 0 L'entièreté de la fenêtre F2 devient donc visible, et l'utilisateur peut donc librement choisir lequel, parmi les objets visibles dans toute la fenêtre F2, celui des objets (objet désigné par 02) sur lequel il va déposer l'objet 01. Ceci est illustré par la  2 0 The entire window F2 becomes visible, and the user can freely choose which of the objects visible in the entire window F2, that objects (object designated by 02) on which it will drop the object 01. This is illustrated by the

figure 31.figure 31.

Selon une variante, on peut prévoir que lors du mouvement du pointeur selon la flèche f2, la fenêtre F1 se déplace, de préférence selon le même mouvement que le  According to a variant, it can be provided that during the movement of the pointer according to the arrow f2, the window F1 moves, preferably in the same movement as the

pointeur PT, pour ainsi progressivement dégager la fenêtre F2.  pointer PT, thus gradually clear the window F2.

D'autres variantes sont bien entendu possibles, et notamment: - le système effectue une signalisation auprès de l'utilisateur lors de l'atteinte par le pointeur du bord de la première fenêtre; cette signalisation peut être choisie dans le groupe comprenant une signalisation visuelle, une signalisation sonore et une signalisation tactile telle qu'un retour de force au sein d'un périphérique d'entrée manuel qui commande ledit pointeur; - la fenêtre F1 peut passer automatiquement en arrière-plan de la fenêtre F2 dès que le pointeur PT muni de l'objet O1 a séjourné dans la zone de la seconde fenêtre non recouverte par la première fenêtre pendant une durée supérieure à un seuil prédéterminé; - la fenêtre F1 peut passer automatiquement en arrière-plan de la fenêtre F2 lorsqu'une touche d'un clavier du poste informatique est actionnée, ou encore par commande vocale; - la mise en arrière-plan ou le déplacement de la fenêtre Fl pour dégager la fenêtre F2 peut être réversible, par exemple en effectuant un déplacement inverse du  Other variants are of course possible, and in particular: the system sends a signal to the user when the pointer reaches the edge of the first window; this signaling may be chosen from the group comprising visual signaling, sound signaling and tactile signaling such as force feedback within a manual input device which controls said pointer; the window F1 can automatically go into the background of the window F2 as soon as the pointer PT equipped with the object O1 has remained in the zone of the second window not covered by the first window for a duration greater than a predetermined threshold; the window F1 can automatically switch to the background of the window F2 when a key of a keyboard of the computer station is actuated, or else by voice command; the setting in the background or the displacement of the window F1 to clear the window F2 can be reversible, for example by performing a reverse movement of the

pointeur après son mouvement selon la flèche f2.  pointer after its movement according to the arrow f2.

Bien entendu, l'homme du métier saura effectuer les adaptations nécessaires dans le  Of course, those skilled in the art will be able to make the necessary adaptations in the

cas o il faut gérer l'affichage de plusieurs fenêtres superposées.  where it is necessary to manage the display of several superimposed windows.

Chapitre II - Création de liens (Figures 32 à 84) Selon un autre aspect de l'invention, on va maintenant décrire un système permettant à l'utilisateur de créer des liens hypertexte (que l'on appellera dans la suite " liens  Chapter II - Creation of links (FIGS. 32 to 84) According to another aspect of the invention, a system will now be described allowing the user to create hypertext links (which will be called in the following "links").

ajoutés ") entre des pages qu'il découvre au gré de sa navigation sur l'Internet.  added ") between pages he discovers as he browses the Internet.

Un but de ce système est que chaque utilisateur ajoute ses propres liens dans la masse d'informations disponible sur l'Internet. La figure 32 illustre ce concept, chaque point noir représentant une page et chaque trait séparant deux points noirs  One purpose of this system is that each user adds his own links to the mass of information available on the Internet. Figure 32 illustrates this concept, with each black dot representing a page and each line separating two black dots

représentant un lien ajouté.representing an added link.

Concrètement, l'utilisateur met en place de nouveaux liens au cours même de sa  In concrete terms, the user sets up new links in the course of his

navigation, ces liens ajoutés étant destinés à l'aider dans sa navigation dans le futur.  navigation, these added links being intended to help him in his navigation in the future.

Il navigue ainsi de manière << pro-active ".  He sails in a "pro-active" way.

En d'autres termes, pour chaque utilisateur, l'ensemble des liens ajoutés, que l'on peut considérer comme sa toile miniature personnelle (Miniweb), s'ajoute à la toile  In other words, for each user, the set of added links, which can be considered as his personal thumbnail (Miniweb), is added to the web

Internet (Web) à laquelle il avait déjà accès, comme illustré sur la figure 33.  Internet (Web) to which he already had access, as shown in Figure 33.

A cet effet, le système est installé entre le navigateur et les sites visités, et augmente  For this purpose, the system is installed between the browser and the sites visited, and increases

pour chaque utilisateur le réseau des liens qui sont à sa disposition pour naviguer.  for each user the network of links that are available to navigate.

Pour ce faire, le système est doté de moyens de stockage des liens ajoutés. Ces moyens permettent, à chaque accès (Link) à une page à laquelle un ou plusieurs liens ajoutés ont été associés, de présenter ces derniers à l'utilisateur en supplément de ladite page. Sur un plan pratique, et comme l'illustre la figure 34, une indirection est établie vers une table (Link--Added Links) de stockage des liens ajoutés, afin d'associer ces liens ajoutés (Added Links) à cette page avant de la présenter à l'utilisateur. Le stockage des liens ajoutés peut être local (sur le poste client) ou distant (sur un  To do this, the system is provided with storage means for added links. These means allow, each access (link) to a page to which one or more added links have been associated, to present them to the user in addition to said page. On a practical level, and as illustrated in Figure 34, an indirection is established to a link-added links table, in order to associate these added links to this page before present it to the user. Storage of added links can be local (on the client machine) or remote (on a

serveur approprié). Dans la suite de la description, on se focalisera sur un stockage  appropriate server). In the rest of the description, we will focus on a storage

distant. En effet, dans certains des perfectionnements qui seront présentés plus loin, les liens formant les toiles miniatures personnelles de différents utilisateurs seront automatiquement comparés entre eux et des liens ajoutés pourront être communiqués 2 5 d'une toile personnelle à une autre, ce qu'un stockage distant permet plus facilement  remote. Indeed, in some of the improvements that will be presented later, the links forming the personal miniature canvases of different users will automatically be compared with each other and added links may be communicated from one personal canvas to another, which a remote storage makes it easier

de mettre en oeuvre.to implement.

Chaque toile personnelle peut ainsi s'enrichir de liens ajoutés provenant d'autres toiles personnelles, et proposés automatiquement par le système qui par exemple 3 0 possède en outre des moyens pour détecter que leurs utilisateurs respectifs partagent les mêmes centres d'intérêt. Par ailleurs, chaque utilisateur peut se constituer un cercle de relations (d'amis) proposées par le système suite à la détection de centres  Each personal web can thus be enriched with added links from other personal webs, and automatically proposed by the system which, for example, furthermore has means for detecting that their respective users share the same centers of interest. Moreover, each user can form a circle of relations (of friends) proposed by the system following the detection of centers

d'intérêts communs.common interests.

La suite de la description est structurée de la manière suivante:  The rest of the description is structured as follows:

On présentera d'abord le système qui permet à un utilisateur de créer des liens ajoutés et de les retrouver ultérieurement (lors des accès aux pages auxquelles ils ont  We will first present the system that allows a user to create added links and find them later (when accessing the pages they have

été associés). Ceci est décrit dans la section " Créer et retrouver des liens ajoutés ".  been associated). This is described in the "Create and Find Added Links" section.

On présentera ensuite un perfectionnement du système consistant à combiner des liens ajoutés avec une approche de stockage de ces liens dans une structure hiérarchique de répertoires et sous-répertoires (c'est- à-dire en intégration avec l'approche classique des systèmes de mémorisation de << liens favoris ", " signets ",  A further refinement of the system is to combine added links with an approach of storing these links in a hierarchical structure of directories and sub-directories (ie in integration with the traditional approach of memory systems of "favorite links", "bookmarks",

ou "bookmarks " ou encore " scrapbook" selon la terminologie anglosaxonne).  or "bookmarks" or "scrapbook" according to English terminology).

Ceci sera décrit dans la section " Création de liens ajoutés dans des Répertoires ".  This will be described in the section "Creating links added in Directories".

On présentera ensuite un perfectionnement du système classique de marquepages,  We will then present an improvement of the traditional system of brandpages,

qui consiste à rendre les marque-pages contextuels.  which consists of making the bookmarks contextual.

On présentera ensuite un perfectionnement du système permettant aux utilisateurs de publier (ou mettre à disposition d'un groupe restreint) au moins un sous-ensemble des liens ajoutés de leur toile personnelle. Ces liens ajoutés pourront être visualisés directement au moyen d'un navigateur Internet standard. Alternativement, ces liens ajoutés pourront être consultés avec le système et enrichir la toile personnelle de l'utilisateur qui les consulte. Ceci est décrit dans la section "Publication de liens  Next, a system enhancement will be introduced allowing users to publish (or make available to a small group) at least a subset of the added links to their personal web. These added links can be viewed directly using a standard Internet browser. Alternatively, these added links can be consulted with the system and enrich the personal web of the user who consults them. This is described in the section "Publishing links

ajoutés ".added ".

On présentera ensuite un perfectionnement qui permet au système de suggérer automatiquement aux utilisateurs des liens ajoutés provenant d'autres utilisateurs 3 0 dont les centres d'intérêt sont proches. Ceci est décrit dans la section <" Détection de  An enhancement will then be presented which allows the system to automatically suggest to users added links from other users whose interests are close. This is described in the section "Detecting

Répertoires Proches ".Close Directories ".

On présentera ensuite une architecture qui permet à l'éditeur ou l'administrateur d'un site Internet (" Webmaster " en terminologie anglosaxonne) de proposer des liens ajoutés aux utilisateurs du système de manière personnalisée. Ceci est décrit dans la section << Suggestion de liens ajoutés par le Webmaster >>. On présentera enfin un système permettant de simuler la propagation d'un nouveau lien ajouté parmi les utilisateurs du système sur l'Internet et de calculer le volume de  An architecture will then be presented that allows the editor or administrator of an Internet site ("Webmaster" in English terminology) to propose links added to users of the system in a personalized way. This is described in the section "Suggestion of links added by the Webmaster". Finally, a system will be presented to simulate the propagation of a new added link among the users of the system on the Internet and calculate the volume of

l'audience probable. Ceci est décrit dans la section " Calcul de l'Audience ".  the likely audience. This is described in the "Audience Calculation" section.

On présentera ensuite un perfectionnement du système permettant à l'utilisateur de publier (ou mettre à disposition d'un groupe restreint) au moins un sous-ensemble des répertoires de sa toile personnelle. Ces répertoires peuvent être visualisés directement au moyen d'un navigateur standard. Alternativement, ces répertoires peuvent être consultés avec le système et enrichir la toile personnelle de l'utilisateur  We will then present an improvement of the system allowing the user to publish (or make available to a small group) at least a subset of the directories of his personal web. These directories can be viewed directly using a standard browser. Alternatively, these directories can be consulted with the system and enrich the personal web of the user

qui les consulte. Ceci est décrit dans la section " Publication de Répertoires ".  who consults them. This is described in the "Publishing Directories" section.

On présentera ensuite un perfectionnement du système permettant à l'utilisateur de stocker (en local ou sur un serveur) non seulement un lien mais aussi une copie figée  We will then present an improvement of the system allowing the user to store (locally or on a server) not only a link but also a fixed copy

d'une page. Ceci est décrit dans la section << Liens en mode Gelé ".  one page. This is described in the section "Links in Frozen Mode".

On décrira ensuite un perfectionnement qui, dans le cadre du système présenté jusque là, permet de publier des pages qui ont été restructurées pour présenter des liens directement à l'intérieur d'elles-mêmes, l'utilisateur pouvant supprimer ces liens ou en ajouter d'autres. Pour ce faire, les pages contiennent un ou plusieurs contenants dans lesquels sont présentés des contenus qui peuvent eux-mêmes contenir d'autres  An improvement will then be described which, in the context of the system presented so far, makes it possible to publish pages which have been restructured to present links directly within themselves, the user being able to delete these links or to add links to them. others. To do this, the pages contain one or more containers in which are presented contents that may themselves contain other

contenants récursivement. Ceci est décrit dans la section " Contenants et contenus ".  containers recursively. This is described in the "Containers and Contents" section.

En intégrant les concepts présentés jusque là (liens ajoutés associés aux pages et liens dans des contenants inclus dans des pages) et en les illustrant au moyen d'un exemple, on récapitulera ensuite les fonctionnalités du système global et on les complétera par quelques perfectionnements. Ceci est décrit dans la section  By integrating the concepts presented so far (added links associated with pages and links in containers included in pages) and illustrating them by means of an example, we will summarize the functionalities of the overall system and will be supplemented by some improvements. This is described in the section

" Proposition de Répertoires Spécialistes et Voisins>>.  "Proposal of Directories Specialists and Neighbors".

On présentera ensuite un perfectionnement du système permettant à l'utilisateur d'associer aux liens qui l'ont intéressé des attributs, tels que le souhait d'achat ou de vente du produit représenté par l'information pointée (ou plus généralement des attributs de type " Offreur " et " Demandeur "). Ces attributs sont exploités par le système pour affiner la sélection de répertoires spécialistes et proches, et la mise en relation d'utilisateurs intéressés par de mêmes contenus et se trouvant dans une situation de complémentarité. Ceci est décrit dans la section "Attributs relatifs à  We will then present an improvement of the system allowing the user to associate with the links which interested him attributes, such as the wish to buy or sell the product represented by the pointed information (or more generally the attributes of type "Offerer" and "Applicant"). These attributes are exploited by the system to refine the selection of specialist and close directories, and the linking of users interested in the same content and in a situation of complementarity. This is described in the "Attributes related to

l'acceptation ".acceptance ".

On présentera ensuite un perfectionnement qui permet aux pages restructurées de présenter des contenus de manière "personnalisée ", c'est à dire en fonction des centres d'intérêts de l'utilisateur. Ceci est décrit dans la section " Pages  We will then present a refinement that allows the restructured pages to present content in a "personalized" way, that is to say according to the interests of the user. This is described in the "Pages" section

Personnalisées ".Customized ".

On décrira ensuite un ensemble de perfectionnements du système, permettant à un utilisateur de charger une page progressivement, et à des utilisateurs distants de partager le contenu de pages qu'ils manipulent simultanément dans le cadre  Next, a set of system enhancements will be described, allowing a user to load a page progressively, and to remote users to share the content of pages that they simultaneously manipulate as part of the system.

d'applications collaboratives sur un réseau tel que l'Internet.  collaborative applications on a network such as the Internet.

Section 1 - Créer et retrouver des liens ajoutés La Figure 35 illustre le principe selon lequel, en conséquence d'un accès par l'utilisateur à une page pl via l'Intemet, le système lui présente automatiquement un certain nombre de liens ajoutés, en l'occurrence sous forme de symboles graphiques, vers des pages p2, p3 et p4 qu'il avait associées à la page pl au cours de navigations précédentes. Motivation Les liens ajoutés sont créés par l'utilisateur dans le but d'établir des relations entre des pages qui l'intéressent. Les liens ajoutés représentent des relations pertinentes entre ces pages; une page liée à une autre page est intéressante dans le contexte de ladite autre page (et optionnellement, dans le sens inverse également). Pour l'utilisateur, l'ensemble des liens ajoutés constitue donc un réseau de relations supplémentaires entre pages qui l'intéressent les unes par rapport aux autres, comme l'illustrent les figures 36a, 36b et 36c qui illustrent pour les figures 36a et 36b, deux réseaux de liens entre un certain nombre de pages, et pour la figure 36c, le réseau  Section 1 - Creating and Retrieving Added Links Figure 35 illustrates the principle that, as a result of user access to a page through the Internet, the system automatically presents it with a number of links added, the occurrence in the form of graphic symbols, to pages p2, p3 and p4 that he had associated with the page pl during previous navigations. Motivation The added links are created by the user in order to establish relationships between pages that interest him. The added links represent relevant relationships between these pages; a page linked to another page is interesting in the context of said other page (and optionally, in the opposite direction as well). For the user, the set of links added thus constitutes a network of additional relationships between pages that interest him in relation to each other, as illustrated in FIGS. 36a, 36b and 36c which illustrate for FIGS. 36a and 36b. , two networks of links between a number of pages, and for Figure 36c, the network

" aggloméré " desdits liens."agglomerated" said links.

A partir d'une page ou d'un ensemble de pages sélectionné, le système permet à l'utilisateur de naviguer vers des pages qui y sont reliées. Le réseau de liens ajoutés constitue ainsi pour l'utilisateur un réseau de navigation personnel selon son propre << schéma mental " et lui permet de retrouver plus facilement les éléments  From a selected page or set of pages, the system allows the user to navigate to pages that are linked to it. The network of links added thus constitutes for the user a personal navigation network according to his own "mental scheme" and allows him to find the elements more easily.

d'information qu'il avait déjà repérés.  information he had already identified.

Créer des liens ajoutés L'approche des plans coulissants décrite dans la première partie de la présente  Create added links The sliding plan approach described in the first part of this

description est particulièrement favorable à l'établissement de liens ajoutés par la  description is particularly favorable to the establishment of links added by the

technique, classique en soi, du " glisser-déposer ". L'utilisateur peut sélectionner une page ou un élément (ou zone graphique qui la représente) qui se trouve dans un plan, la glisser et la déposer dans une autre page (ou zone graphique qui la représente) qui  technical, classic in itself, "drag and drop". The user can select a page or an element (or graphic area that represents it) that is in a plan, drag it and drop it in another page (or graphic area that represents it) that

se trouve dans un autre plan, afin d'établir un lien ajouté entre ces deux pages.  is in another plane, to establish an added link between these two pages.

Cette approche est à comparer avec l'approche qui consisterait à glisserdéposer des pages entre des fenêtres différentes de l'outil de navigation, qui se recouvrent partiellement et qui empêchent donc de visualiser les pages entièrement. L'avantage de l'approche par plans coulissants est de permettre, au cours même du processus de glisser-déposer (c'est-à-dire sans lâcher le doigt sur le bouton de la souris), de visualiser le contenu des plans (les pages et leurs liens ajoutés) à tour de rôle, par simple mouvement de la souris, comme décrit précédemment en référence  This approach is to be compared with the approach of dragging pages between different windows of the browser tool, which partially overlap and thus prevent viewing the pages entirely. The advantage of the sliding plane approach is to allow, during the process of drag-and-drop (that is to say without releasing the finger on the mouse button), to visualize the contents of the plans ( the pages and their links added) in turn, by simple movement of the mouse, as described above with reference

notamment à la figure 26.particularly in Figure 26.

On comprend également que, selon une variante, cette technique de " glisser-  It is also understood that, according to one variant, this technique of "sliding

déposer >> avec révélation des zones d'affichage en second plan sur lesquelles se dirige le curseur au cours même de l'opération peut être généralisée au cas o ces zones d'affichage sont des fenêtres d'un systèmes d'exploitation classique tel que " Windows " ou "< MacOS " (marques déposées). Plus précisément, on prévoit dans ce cas qu'une fenêtre située en second plan passe en premier plan quand le curseur  drop >> with revealing the background display areas on which the cursor is moving during the operation can be generalized in case these display areas are windows of a conventional operating system such as "Windows" or "<MacOS" (registered trademarks). Specifically, it is expected in this case that a window in the background passes in the foreground when the cursor

" pousse " la fenêtre qui était en premier plan en arrivant contre l'un de ses bords.  "push" the window that was in the foreground when coming against one of its edges.

La figure 37 présente un exemple, de création de liens ajoutés entre pages, en tirant des liens entre les objets graphiques les représentant (situées à gauche des pages), la  Figure 37 shows an example of creating links added between pages, drawing links between the graphical objects representing them (to the left of the pages), the

pince décrite plus haut étant active et bloquant le mouvement des plans.  clamp described above being active and blocking the movement of the planes.

Le bas de la figure 37 illustre le cas particulier de création de liens ajoutés (par glisser-déposer d'objets graphiques) entre différentes instances du système, ouvertes simultanément par l'utilisateur sur le poste client. Les mouvements de souris qui permettent de tirer des liens ajoutés entre les pages P6 et P7 illustrent la technique décrite précédemment qui consiste à amener le pointeur de la souris à l'extérieur de la fenêtre contenant la page P6 puis le faire revenir en direction de cette même  The bottom of Figure 37 illustrates the particular case of creating links added (drag and drop graphic objects) between different instances of the system, simultaneously opened by the user on the client machine. The mouse movements that make it possible to draw added links between the pages P6 and P7 illustrate the technique described previously which consists of bringing the mouse pointer outside the window containing the page P6 and then returning it towards this point. even

fenêtre afin de la faire passer en arrière-plan de la fenêtre de la page P7.  window in order to make it pass in the background of the window of the page P7.

Bien évidemment, chaque plan peut être supprimé ou <" minimisé " (de manière à ce que sa partie visible prenne le moins de place possible) au moyen de clic sur un  Of course, each plan can be deleted or <"minimized" (so that its visible part takes up the least possible space) by means of click on a

bouton (ceci n'est pas illustré dans les figures).  button (this is not shown in the figures).

Bien que la figure 37 ne le montre pas, des objets graphiques à l'intérieur des pages peuvent aussi être glissés-déposés, soit entre eux, soit vers des zones ou objets 3 0 graphiques représentant les pages. Dans certains cas, comme on le verra plus loin, les objets graphiques situés à l'extérieur des pages, et représentant des contenus de  Although Fig. 37 does not show it, graphical objects within the pages may also be dragged or dropped between them or to graphical areas or objects representing the pages. In some cases, as will be seen below, the graphic objects located outside the pages, and representing contents of

pages, peuvent aussi être glissés-déposés à l'intérieur de pages.  pages, can also be dragged-dropped inside pages.

La figure 38 représente la disposition des plans coulissants quand le plan supérieur est décalé vers la droite. La figure 39 représente la disposition des plans coulissants quand tous les plans, sauf le plan le plus inférieur, sont décalés. Comme déjà décrit, la transition (d'une des dispositions de plans coulissants à une autre) se fait de façon incrémentale, au moyen de simple mouvements de la souris, la pince décrite plus  Figure 38 shows the arrangement of sliding planes when the upper plane is shifted to the right. Figure 39 shows the arrangement of sliding planes when all planes, except the lowest plane, are offset. As already described, the transition (from one of the arrangements of sliding planes to another) is done incrementally, by means of simple movements of the mouse, the clamp described more

haut étant débloquée.top being unlocked.

On notera ici que, pour simplifier les manipulations, l'état de la pince peut être inversé par exemple en pressant sur la barre d'espace ou une autre touche du clavier  It should be noted here that, to simplify the manipulations, the state of the clamp can be reversed for example by pressing on the spacebar or another key of the keyboard

du poste client.from the client station.

Selon une variante, non représentée, la pince peut être déplacée sur un " rail " et il ne bloque que les plans situés à sa gauche. En d'autres termes, selon la position de la pince, les plans qui ne sont pas visibles à gauche de la pince sont bloqués et ceux qui  According to a variant, not shown, the clamp can be moved on a "rail" and it blocks only the plans to the left. In other words, depending on the position of the clamp, the planes that are not visible to the left of the clamp are blocked and those that

sont à sa droite peuvent être décalés.  are on his right can be shifted.

2 0 Selon une autre variante, on peut prévoir des pinces sélectivement activées et désactivées entre deux pages adjacentes, de manière à ce que ces deux pages soient toujours, dans le cadre du processus de déplacement de plans, traitées de la même façon. 2 5 On notera également ici que c'est le fait que la pince soit à l'état actif qui permet de tirer des liens ajoutés entre les pages (par glisser-déposer d'objets graphiques les  According to another variant, tongs can be selectively activated and deactivated between two adjacent pages, so that these two pages are always treated in the same way in the context of the plane displacement process. It will also be noted here that it is the fact that the clamp is in the active state that makes it possible to draw links added between the pages (by dragging and dropping graphic objects the

représentant), sans entraîner le déplacement des plans tel que décrit.  representative), without moving the plans as described.

Selon une autre forme de réalisation, les zones graphiques qui représentent des pages peuvent se trouver sur d'autres plans que ceux qui présentent les pages. La figure 40 présente ainsi une configuration o les liens ajoutés de chaque page sont sur un ou  According to another embodiment, the graphic areas that represent pages can be on other planes than those that present the pages. Figure 40 shows a configuration where the links added to each page are on one or

plusieurs plans adjacents à ladite page.  several planes adjacent to said page.

Les liens ajoutés peuvent aussi avantageusement être vues sous forme de vignettes comme des papillons " collés " sur les pages et déplaçables par l'utilisateur à souhait  The added links can also advantageously be seen as thumbnails like butterflies "glued" on the pages and movable by the user as desired

à l'aide de la souris.using the mouse.

Selon une variante avantageuse, on peut disposer ces vignettes dans des zones vierges de la page qui auraient pu être utilisées par exemple pour afficher des  According to an advantageous variant, these thumbnails can be arranged in blank areas of the page that could have been used for example to display

bandeaux publicitaires.advertising banners.

Les liens ajoutés par l'utilisateur par glisser-déposer (ou le cas échéant manuellement à l'aide du clavier ou par des clics de souris), sont stockés dans le système par  Links added by the user by drag-and-drop (or if necessary manually using the keyboard or by mouse clicks), are stored in the system by

exemple sous forme d'une table TABLE, comme l'illustre la figure 41.  example as a TABLE table, as shown in Figure 41.

Dans la suite, nous adoptons l'hypothèse (optionnelle) selon laquelle les liens ajoutés sur une page entraînent la création de liens inverses sur les pages pointées par ces liens ajoutés (bidirectionalité des liens). Ainsi, comme l'illustre la figure 42, en conséquence de la création des liens ajoutés de p2,p3 et p4 sur la page pl, un lien  In the following, we adopt the (optional) hypothesis according to which the links added on a page entail the creation of inverse links on the pages pointed by these added links (bidirectionality of the links). Thus, as illustrated in FIG. 42, as a consequence of the creation of the added links of p2, p3 and p4 on the page p1, a link

ajouté pl s'ajoute automatiquement sur les pages p2, p3 et p4.  added pl is added automatically on pages p2, p3 and p4.

La création de liens ajoutés s'effectue quand l'utilisateur repère une relation entre différentes pages qu'il découvre au gré de sa navigation en suivant des liens hypertexte ou en se déplaçant à l'intérieur de grandes pages ou de mondes virtuels en trois dimensions (en réalité virtuelle immersive). Dans tous les cas, la création d'un lien ajouté peut se faire par simple glisser-déposer de la << poignée " ou autre miniaturisation de la page ou la scène couramment visualisée (par exemple de la  The creation of added links is done when the user sees a relationship between different pages that he discovers as he navigates by following hypertext links or moving inside large pages or virtual worlds in three dimensions (in immersive virtual reality). In any case, the creation of an added link can be done by simply dragging and dropping the "handle" or other miniaturization of the page or the currently viewed scene (for example from the

scène 3D couramment visualisée) vers la poignée de la page à relier (autre scène 3D).  3D scene commonly viewed) to the handle of the page to be linked (other 3D scene).

Les moyens de stockage des liens ajoutés sont avantageusement mis en oeuvre de manière distante (sur un serveur), comme l'illustre la figure 43. L'utilisateur ajoute et/ou supprime des liens ajoutés sur le poste client et ces manipulations sont répercutées sur le serveur, les communications se faisant par exemple par  The storage means of the added links are advantageously implemented remotely (on a server), as shown in FIG. 43. The user adds and / or deletes links added on the client station and these manipulations are reflected on the server, the communications being done for example by

l'intermédiaire d'un Fournisseur d'Accès à l'Internet.  through an Internet Service Provider.

Section 2 - Retrouver les liens ajoutés L'affichage de la page avec ses liens ajoutés peut être préparé sur le poste client, dans une architecture schématisée par le diagramme de la figure 44, ou sur le poste serveur, dans une architecture schématisée par le diagramme de la figure 45. On notera que les deux architectures sont adaptées à un fonctionnement selon le  Section 2 - Finding the added links The display of the page with its added links can be prepared on the client computer, in an architecture schematized by the diagram of figure 44, or on the server, in an architecture schematized by the diagram of Figure 45. It will be noted that the two architectures are adapted to an operation according to the

protocole HTTP par exemple.HTTP protocol for example.

Dans le cas de l'architecture de la figure 44, la requête ou lien " Link " de l'utilisateur est communiquée par le poste client, tant au serveur de la page demandée qu'au serveur o ont été stockés les liens ajoutés. En retour, avant présentation à l'utilisateur, les liens ajoutés fournis par le deuxième serveur sont graphiquement combinés, par le poste client, avec la page fournie par le premier serveur, et sont  In the case of the architecture of FIG. 44, the request or link "Link" of the user is communicated by the client station, both to the server of the requested page and to the server where the added links have been stored. In return, before presentation to the user, the added links provided by the second server are graphically combined, by the client station, with the page provided by the first server, and are

présentés conjointement à cette page.  jointly presented on this page.

2 0 Dans le cas de l'architecture de la figure 45, la requête ou lien de l'utilisateur est communiquée par le poste client, uniquement au serveur o ont été stockés les liens ajoutés. Ce serveur se charge de retransmettre la requête au serveur de la page demandée pour recevoir cette page. En retour, les liens ajoutés sont ajoutés à la page et le tout constitue la réponse à la requête de l'utilisateur. La combinaison graphique  In the case of the architecture of FIG. 45, the request or link of the user is communicated by the client station, only to the server where the added links have been stored. This server is responsible for retransmitting the request to the server of the requested page to receive this page. In return, the added links are added to the page and all is the answer to the user's request. The graphic combination

2 5 des liens ajoutés avec la page peut être effectuée sur le serveur ou sur le poste client.  Links added to the page can be made on the server or on the client computer.

Section 3 - Création de liens ajoutés dans des Répertoires On connaît déjà dans l'état de la technique le concept dit de " marque-page " ou " signet " qui permet à un individu de mémoriser des liens vers ses pages favorites sur la Toile, un tel concept étant présent dans les navigateurs Internet courants. Ces derniers permettent de ranger les liens mémorisés dans desrépertoires qui peuvent  Section 3 - Creation of links added in Directories Already known in the state of the art concept called "bookmark" or "bookmark" that allows an individual to store links to his favorite pages on the Web, such a concept being present in the current Internet browsers. These store stored links in directories that can

former une structure arborescente de répertoires et de sous-répertoires.  form a tree structure of directories and subdirectories.

L'établissement d'une toile personnelle (réseau personnel de navigation qui s'ajoute à la Toile) en créant (par glisser-déposer ou manuellement) des liens ajoutés directement sur des pages comme on l'a décrit dans la section précédente, est complémentaire à ces moyens classiques de rangement de liens dans des répertoires  The establishment of a personal web (personal navigation network that is added to the Web) by creating (by drag-and-drop or manually) links added directly to pages as described in the previous section, is complementary to these classic ways of storing links in directories

(constituant généralement des catégories personnelles de l'internaute).  (usually constituting personal categories of the user).

En effet: - l'utilisateur peut ranger dans un répertoire non seulement un lien (vers une page),  Indeed: - the user can put in a directory not only a link (to a page),

mais aussi un lien ajouté (entre deux pages).  but also an added link (between two pages).

- les liens ajoutés peuvent ainsi être contextuels: un lien ajouté associé à une première page (ou plus exactement, associé à un lien vers une première page) et pointant sur une deuxième page peut exister dans le cadre d'un répertoire donné qui contient un lien vers cette première page sans exister dans un autre répertoire qui  the added links can thus be contextual: an added link associated with a first page (or more exactly, associated with a link to a first page) and pointing to a second page can exist within the framework of a given directory which contains a link to this first page without existing in another directory that

pourtant contient aussi le lien vers ladite la première page.  yet also contains the link to the said first page.

Par exemple, dans le répertoire " mes boissons favorites " sur la page " coca " (marque déposée) peut se trouver un lien ajouté vers la page " pepsi " (marque déposée) alors que dans le répertoire " mes styles de management préférés " sur la  For example, in the directory "my favorite drinks" on the page "coca" (registered trademark) can be found a link added to the page "pepsi" (registered trademark) while in the directory "my favorite management styles" on the

même page " coca " peut ne pas se trouver de lien ajouté vers la page " pepsi ".  same page "coca" may not be added link to the page "pepsi".

(Voir l'exemple à la fin de cette section et la figure 51).  (See the example at the end of this section and Figure 51).

(Toutes les marques citées dans le présent mémoire sont des Marques Déposées de  (All trademarks mentioned herein are registered trademarks of

leurs titulaires respectifs, notamment " coca ", " pepsi ", " perrier " et " hp ").  their respective owners, in particular "coca", "pepsi", "perrier" and "hp").

Dans les choix de conception adoptés dans toute la suite de la description:  In the design choices adopted throughout the rest of the description:

- chaque lien ajouté appartient à un répertoire et un seul: un " répertoire courant " existe toujours, et c'est dans ce répertoire que les liens vers des pages et leurs liens ajoutés sont insérés par défaut; si aucun répertoire n'est sélectionné par l'utilisateur pour être le répertoire courant, un premier répertoire courant lui est fourni par défaut quand il accède à une page et lui associe un premier lien ajouté. la création d'un lien ajouté dans un répertoire donné engendre la création du lien ajouté inverse dans le même répertoire (s'il n'y existe pas déjà). Cette règle impose l'existence, dans le même répertoire, du lien vers la page pointée par le lien ajouté; dans le cas o il n'existe pas, il y est automatiquement inséré; ceci est illustré par  - each added link belongs to a directory and only one: a "current directory" still exists, and it is in this directory that links to pages and their added links are inserted by default; if no directory is selected by the user to be the current directory, a first current directory is provided by default when he accesses a page and associates a first link added. creating an added link in a given directory creates the added reverse link in the same directory (if it does not already exist). This rule imposes the existence, in the same directory, of the link to the page pointed by the added link; in the case where it does not exist, it is automatically inserted there; this is illustrated by

l'exemple de la figure 46).the example in Figure 46).

- l'utilisateur peut sélectionner plusieurs répertoires comme étant " répertoires courants "; les liens ajoutés visualisés pour une page courante sont alors constitués par l'union des liens ajoutés situés dans ces répertoires; un nouveau lien ajouté inséré l'est dans chacun de ces répertoires; enfin on verra dans la section " Détection de Répertoires Proches " que la recherche de répertoires proches se fera également  - the user can select several directories as "current directories"; the added links displayed for a current page are then constituted by the union of the added links located in these directories; a new added link inserted is in each of these directories; finally we will see in the section "Detection of close directories" that the search for close directories will also be done

sur la base de l'union des liens ajoutés situés dans ces répertoires.  based on the union of added links located in these directories.

L'utilisateur peut effectuer les actions suivantes: - insérer ou supprimer, dans un répertoire, un lien vers une page: * pour insérer une page, une des méthodes possibles est la suivante: l'utilisateur choisit un répertoire courant (ou plusieurs, voir l'explication du paragraphe précédent), ou reste dans le répertoire par défaut (qui est considéré comme répertoire courant), et accède à une page dont le lien sera automatiquement  The user can perform the following actions: - insert or delete, in a directory, a link to a page: * to insert a page, one of the possible methods is as follows: the user chooses a current directory (or more, see the explanation of the previous paragraph), or remains in the default directory (which is considered as current directory), and accesses a page whose link will be automatically

rangé dans ce(s) répertoire(s) courant(s).  stored in this directory (s) current (s).

* pour supprimer une page, l'utilisateur sélectionne la page en question et  * to delete a page, the user selects the page in question and

actionne la commande supprimer (par exemple par la touche " Suppr " du clavier).  activate the delete command (for example by pressing the "Delete" key on the keyboard).

- créer un lien ajouté: * soit il crée manuellement un lien ajouté sur une page (typiquement en tapant son adresse URL au clavier), * soit il utilise la technique du glisser-déposer: à partir d'une première page,  - create an added link: * either he manually creates a link added to a page (typically by typing his URL on the keyboard), * or he uses the technique of drag and drop: from a first page,

il tire dans une deuxième page un lien ajouté qui pointera vers la première page.  it pulls in a second page an added link that will point to the first page.

- déplacer ou copier une ou plusieurs pages d'un répertoire à un autre: * soit, manuellement, il choisit les pages à déplacer ou copier, soit il utilise la technique de glisser-déposer; on notera qu'en fait, l'utilisateur déplace ou copie des  - move or copy one or more pages from one directory to another: * either, manually, he chooses the pages to move or copy, or he uses the technique of drag and drop; in fact, the user moves or copies

liens vers des pages, même s'il croit déplacer les pages elles-mêmes.  links to pages, even if he thinks he is moving the pages themselves.

Dans la suite de la description, pour simplifier la lecture et décrire ce que l'utilisateur  In the following description, to simplify the reading and describe what the user

" croit faire ", nous utiliserons parfois le mot " page " au lieu de " lien vers une page ". Ainsi l'on dira " déplacer une page >> (ou "copier une page ") en lieu et place de " déplacer un lien vers une page >> (" copier un lien vers une page >>). On dira 2 0 aussi "une page possède un lien ajouté " au lieu de dire " à un lien vers une page est associé un lien ajouté >>, ou encore "lien ajouté sur une page >> au lieu de "lien ajouté associé à un lien vers une page ". De plus, "lien vers une page " est un  "believe to do", we will sometimes use the word "page" instead of "link to a page". So we say "move a page" (or "copy a page") instead of "move a link to a page" ("copy a link to a page >>). "a page has an added link" instead of saying "a link to a page is associated with an added link >>, or" link added on a page "instead of" added link associated with a link to a page In addition, "link to a page" is a

raccourci pour " lien vers une page ou vers un élément contenu dans une page >>.  shortcut for "link to a page or element contained in a page".

2 5 Prenons un exemple: L'utilisateur a créé deux répertoires, libellés respectivement " Drinks " (pour " mes boissons favorites >>) et " Mgt " (pour " styles de management "). Il a aussi à sa disposition un répertoire par défaut, libellé " Buffer >> (pour " tampon ") qui est créé  Let's take an example: The user has created two directories, labeled respectively "Drinks" (for "my favorite drinks") and "Mgt" (for "management styles"). default, labeled "Buffer" (for "buffer") that is created

automatiquement par le système.automatically by the system.

Selon l'approche classique de mémorisation des marque-pages, l'utilisateur insère le lien www.coca.com (" coca >>) dans le répertoire Drinks. Il insère aussi le lien  According to the traditional approach of memorizing bookmarks, the user inserts the link www.coca.com ("coca") in the Drinks directory and also inserts the link

www.hp.com (" hp ") dans le répertoire Mgt.  www.hp.com ("hp") in the Mgt directory.

Dans le cadre du répertoire courant qui en l'occurrence est Buffer (par défaut), l'utilisateur accède via la Toile à la page www.pepsi.com (" pepsi "). A partir de coca (qui se trouve dans Drinks) il tire (par glisser-déposer) un lien ajouté sur la page  As part of the current directory which in this case is Buffer (default), the user accesses via the Web at www.pepsi.com ("pepsi"). From coca (which is in Drinks) he pulls (drag and drop) a link added to the page

pepsi (voir figure 46).pepsi (see Figure 46).

Ce lien ajouté sur la page Pepsi va être www.coca.com. Comme, pour satisfaire l'hypothèse de conception mentionnée précédemment, un lien ajouté inverse doit être créé dans le même répertoire, la page coca doit y être introduite avec un lien ajouté www.pepsi.com. En résultat, les pages pepsi et coca se trouvent tous les deux dans Buffer, chacun ayant un lien ajouté sur l'autre. En effet, le lien sur la page coca a dû être dupliqué dans Buffer pour permettre la création du lien ajouté inverse (de coca vers pepsi). La  This link added on the Pepsi page will be www.coca.com. Since, to satisfy the design hypothesis mentioned above, an inverse added link must be created in the same directory, the COCA page must be introduced with an added link www.pepsi.com. As a result, the pepsi and coca pages are both in Buffer, each having an added link on the other. Indeed, the link on the coca page had to be duplicated in Buffer to allow the creation of the added inverse link (from coca to pepsi). The

figure 46 illustre cet exemple.Figure 46 illustrates this example.

L'interface homme-machine permettant ces opérations peut par exemple être celle  The man-machine interface allowing these operations can for example be the one

schématisée dans les figures 46 à 51.  schematized in Figures 46 to 51.

L'utilisateur peut, par glisser-déposer, copier ou déplacer une page vers un autre répertoire. L'utilisateur peut aussi copier ou déplacer un ensemble de pages d'un répertoire à un autre. Plusieurs cas de commande au système sont possibles: 1. soit ceci entraîne le déplacement ou la copie des liens vers ces pages, sans leurs liens ajoutés. (Voir figure 47) ; 3 0 2. soit ceci entraîne le déplacement ou la copie des liens vers ces pages, avec tous les liens ajoutés existant entre elles; le déplacement n'est possible que pour les pages qui n'ont pas de liens ajoutés avec des pages externes à l'ensemble déplacé (les autres pages de l'ensemble sont copiés); voir figure 47; 3. soit ceci entraîne le déplacement ou la copie des liens vers ces pages, avec tous les liens ajoutés entre elles ou avec d'autres pages du même répertoire; voir figure 48; En poursuivant le même exemple, l'utilisateur déplace la page coca du répertoire Buffer vers le répertoire Drinks; si l'on se trouve dans le premier ou deuxième cas de commande au système, la page coca se trouvant déjà dans Drinks, cette opération  The user can drag and drop, copy or move a page to another directory. The user can also copy or move a set of pages from one directory to another. Several cases of control to the system are possible: 1. either this entails the displacement or the copy of the links towards these pages, without their added links. (See Figure 47); 2. Or this entails moving or copying links to these pages, with all the added links existing between them; moving is only possible for pages that have no links added to pages outside the moved set (the other pages in the set are copied); see Figure 47; 3. either this involves moving or copying links to these pages, with all links added between them or with other pages in the same directory; see Figure 48; Continuing the same example, the user moves the coca page from the Buffer directory to the Drinks directory; if one is in the first or second case of control to the system, the coca page already in Drinks, this operation

n'a aucun effet. Ceci est illustré par la figure 47.  has no effect. This is illustrated in Figure 47.

Dans un autre cas de figure, l'utilisateur voudrait ranger dans le répertoire Drinks tous les liens ajoutés de la page coca. Si l'on se trouve dans le troisième cas de commande au système, en résultat du glisser-déposer de coca (qui se trouve dans Buffer) vers le répertoire Drinks, la page pepsi se retrouve également dans Drinks et le lien ajouté entre pepsi et coca est reproduit dans Drinks. L'utilisateur pourrait ensuite supprimer du répertoire Buffer les pages pepsi et coca (avec tous les liens  In another case, the user would like to store in the Drinks directory all the links added to the COCA page. If we are in the third system control case, as a result of the drag and drop of coke (which is in Buffer) to the Drinks directory, the pepsi page is also in Drinks and the link added between pepsi and Coca is reproduced in Drinks. The user could then delete from the Buffer directory the pages pepsi and coca (with all links

ajoutés entre elles); ces deux opérations sont illustrées sur la figure 48.  added together); these two operations are illustrated in Figure 48.

On notera que pepsi (ou coca) n'aurait pas pu être supprimé si une troisième page " perrier " (marque déposée) se trouvait dans le même répertoire Buffer et avait un lien ajouté sur pepsi ou sur coca), à moins que cette troisième page " perrier " ne fut  Note that pepsi (or coca) could not have been deleted if a third page "perrier" (registered trademark) was in the same directory Buffer and had a link added on pepsi or coca), unless this third page "perrier" was not

supprimée dans la même action. Ceci est illustré par la figure 49.  deleted in the same action. This is illustrated in Figure 49.

2 5 Si l'on se trouve dans le deuxième cas de commande au système, l'utilisateur peut directement déplacer l'ensemble des liens pepsi et coca vers le répertoire Drinks, ainsi que les liens ajoutés entre eux. Aucune page externe à l'ensemble supprimé n'ayant un lien ajouté vers coca, cette page est alors supprimé d'office. Ceci est  If in the second case of control to the system, the user can directly move all the pepsi and coca links to the Drinks directory, as well as the links added between them. No external page to the deleted set having a link added to coca, this page is then deleted automatically. this is

illustré sur la figure 50.shown in Figure 50.

Poursuivons l'exemple: l'utilisateur, qui pense que les styles de management des sociétés coca et hp (marques déposées) méritent d'être mis en relation, tire par glisser-déposer un lien ajouté sur la page hp à partir de la page coca. Ceci est illustré  Let's continue the example: the user, who thinks that the management styles of the companies coca and hp (trademarks) deserve to be related, pulls by drag and drop an added link on the page hp from the page Coca. This is illustrated

à la figure 51.in figure 51.

La création du lien ajouté de hp vers coca entraîne la création du lien ajouté inverse de coca vers hp, les deux liens ajoutés se trouvant dans le répertoire Mgt (o se trouve la destination du glisser-déposer). Bien que l'opération effectuée ne consiste pas explicitement en un déplacement ou une copie de page, elle implique la copie de la page coca dans le répertoire Mgt (puisque les deux extrémités de tout lien ajouté  The creation of the added link from hp to coca results in the creation of the added reverse link from coca to hp, the two links added being in the Mgt directory (where is the destination of the drag and drop). Although the operation performed does not explicitly consist of a page move or copy, it involves copying the COCA page into the Mgt directory (since both ends of any link added

doivent se trouver dans un même répertoire).  must be in the same directory).

Section 4 - Marque-pages contextuels Rappelons que le système classique de marque-pages (déjà mentionné au début de la section précédente) permet à l'utilisateur de ranger dans un répertoire un lien sur (ou  Section 4 - Contextual Bookmarks Remember that the classic system of bookmarks (already mentioned at the beginning of the previous section) allows the user to put in a directory a link on (or

une copie de) la page courante visualisée, dans le cas o il veut mémoriser ledit lien.  a copy of) the current page viewed, in case he wants to memorize said link.

De plus, les navigateurs modernes offrent l'option d'afficher, dans une sous-fenêtre 2 0 adjacente à celle contenant la page visualisée, la structure arborescente de répertoires  In addition, modern browsers offer the option of displaying, in a sub-window 20 adjacent to that containing the viewed page, the tree structure of directories.

de marque-pages et les marque-pages (liens ou copies mémorisés) qu'ils contiennent.  bookmarks and bookmarks (links or copies stored) that they contain.

Cette option d'affichage des liens mémorisés, simultanément à la page accédée par l'utilisateur, peut être perfectionnée en rendant contextuel l'affichage des répertoires de liens mémorisés et des liens (ou copies) mémorisés eux-mêmes. En effet, plutôt que de présenter la structure des répertoires et les liens qu'ils contiennent, de manière indépendante de la navigation de l'utilisateur, le système peut directement: - pointer sur les répertoires contenant déjà le lien sur la page courante visualisée,  This option for displaying the stored links, simultaneously with the page accessed by the user, can be improved by making the display of the stored link directories and the stored links (or copies) contextual. In fact, rather than presenting the structure of the directories and the links they contain, independently of the user's navigation, the system can directly: - point to the directories already containing the link on the current page viewed,

3 0 - et présenter leurs contenus respectifs.  And present their respective contents.

Ainsi, l'utilisateur n'a pas à aller chercher, dans ses répertoires, les liens (sur les pages qui l'avaient intéressé) mémorisés qui se trouvent être dans le contexte de la  Thus, the user does not have to fetch, in his directories, the links (on the pages that had interested him) memorized that happen to be in the context of the

page courante, puisqu'il les a automatiquement à sa disposition.  current page, since it automatically has them available.

Dans une mise en oeuvre pratique, le système présente ces répertoires (contenant la page courante) dans la zone présentant les liens ajoutés associés à la page courante en leur donnant une apparence différente (l'icône représentant un répertoire ou une page d'un répertoire qui n'est pas associé par un lien ajouté à la page courante est différente de l'icône représentant une page associée par lien ajouté). Ceci est schématisé dans la figure 52 qui illustre l'affichage des répertoires dans lesquels est rangé la page courante, automatiquement, simultanément à l'affichage de la page courante. L'utilisateur peut, par un simple clic sur un bouton (par exemple sur la barre comportant un triangle sur la figure 52), visualiser le contenu de ces répertoires  In a practical implementation, the system presents these directories (containing the current page) in the area showing the added links associated with the current page by giving them a different appearance (the icon representing a directory or a page of a directory that is not associated with an added link to the current page is different from the icon representing an associated page by added link). This is shown schematically in FIG. 52 which illustrates the display of the directories in which the current page is stored, automatically, simultaneously with the display of the current page. The user can, by a simple click of a button (for example on the bar with a triangle in Figure 52), view the contents of these directories

et retrouver ainsi les autres pages qu'il avait rangées ensemble dans ces répertoires.  and thus find the other pages he had put together in these directories.

Selon un détail de mise en oeuvre, dans le cas o la page en question n'est rangée que dans un seul répertoire, les autres pages dudit répertoire (si elles ne sont pas trop nombreuses) peuvent être affichées directement, sans même nécessiter un clic, pour  According to an implementation detail, in the case where the page in question is stored in only one directory, the other pages of said directory (if they are not too many) can be displayed directly, without even requiring a click , for

offrir ainsi un accès contextuel aux liens mémorisés de manière encore plus directe.  thus offer contextual access to the stored links in an even more direct way.

L'utilisateur pourra cliquer directement sur la présentation graphique représentant un répertoire, par exemple une icône représentant un dossier (r2 sur la figure 52) pour  The user can click directly on the graphical presentation representing a directory, for example an icon representing a folder (r2 in FIG.

ouvrir une nouvelle page présentant le répertoire r2 avec tout son contenu (les sous-  open a new page with the directory r2 with all its contents (the sub-

répertoires et les pages qu'il contient).  directories and the pages it contains).

Bien évidemment, la présentation de la figure 52 peut être remplacée par une présentation classique d'arbre comme celle que l'on trouve dans les systèmes de  Of course, the presentation of Figure 52 can be replaced by a classic tree presentation like the one found in

marque-pages existants.existing bookmarks.

Une fonction analogue concerne l'affichage des liens Ajoutés associés à une page courante. Il s'agit de pouvoir naviguer au moyen de liens Ajoutés " de deuxième  A similar function is for displaying Added links associated with a current page. It's about being able to navigate through "added" second links

rang ".rank ".

La figure 53 illustre un exemple de mise en oeuvre de cette approche. En cliquant sur une zone graphique particulière d'un lien Ajouté p3 associé à la page p 1, l'utilisateur peut voir également les liens Ajoutés (p31, p32 et p33) qui sont associés à la page p3  Figure 53 illustrates an example of implementation of this approach. By clicking on a particular graphic zone of an added p3 link associated with the page p 1, the user can also see the added links (p31, p32 and p33) which are associated with the page p3

alors que c'est la page pl qui est couramment visualisée (et non la page p3).  while it is the page pl that is currently viewed (and not page p3).

Bien évidemment, cette approche peut être généralisée (récursivement) pour  Of course, this approach can be generalized (recursively) for

l'affichage de liens Affichés de rangs supérieurs à 2.  displaying links displayed with ranks greater than 2.

On observera en outre que chacune des présentations graphiques représentant un lien mémorisé ou un lien ajouté (par exemple une vignette représentant la page sous forme miniaturisée) peut être accessoirement dotée d'un signe qui indique que la page pointée a été mise à jour, le cas échéant, depuis la dernière visite de  It will further be observed that each of the graphic presentations representing a stored link or an added link (for example a thumbnail representing the page in miniaturized form) may be incidentally provided with a sign which indicates that the pointed page has been updated, the where appropriate, since the last visit of

l'utilisateur. Ceci constitue une invitation à aller consulter à nouveau ladite page.  the user. This constitutes an invitation to consult the said page again.

En outre, ce même signe peut figurer sur la représentation graphique de chaque  In addition, this same sign may appear on the graphic representation of each

répertoire dont au moins l'une des pages a été mise à jour.  directory where at least one of the pages has been updated.

Section 5 - Publication de liens ajoutés Un perfectionnement du système consiste à permettre de publier les liens ajoutés que 2 5 l'on a associés à une page. Par publier, on entend le fait de les mettre à la disposition du public ou d'un groupe déterminé d'utilisateurs (qui pourront y accéder par  Section 5 - Publishing Added Links An enhancement to the system is to publish the added links that have been associated with a page. Publishing means making them available to the public or to a specific group of users (who can access them through

exemple en donnant un mot de passe).  example by giving a password).

Le système permet deux cas d'accès aux liens ajoutés publiés - les liens ajoutés publiés peuvent être visualisés directement au moyen d'un navigateur Internet standard, - ou les liens ajoutés publiés être consultés au moyen de l'interface cliente du système et enrichir la toile personnelle de l'utilisateur qui les consulte. Visualisation directe au moyen d'un navigateur standard Dans le cas d'une visualisation directe au moyen d'un navigateur standard, un premier utilisateur visualise par des moyens standard une page publiée par un deuxième utilisateur sur la Toile, ladite page possédant des liens ajoutés associés à une autre page. Cette visualisation peut être le fruit d'un accès ou d'une réception: - le premier utilisateur peut accéder via la Toile à une page présentant les liens ajoutés publiée par le deuxième utilisateur, de manière classique, en utilisant son navigateur Internet standard et en communiquant l'adresse URL de la page, - le premier utilisateur peut recevoir une page présentant les liens ajoutés, publiée par  The system allows two cases of access to published added links - published added links can be viewed directly via a standard Internet browser, - or the added links published can be accessed through the system client interface and enrich the personal canvas of the user who consults them. Direct visualization using a standard browser In the case of direct visualization using a standard browser, a first user views by standard means a page published by a second user on the Web, said page having links added associated with another page. This visualization can be the result of an access or a reception: the first user can access via the Web to a page presenting the added links published by the second user, in a conventional manner, using his standard Internet browser and communicating the URL of the page, - the first user can receive a page presenting the links added, published by

le deuxième utilisateur, de manière classique par courrier électronique.  the second user, typically by email.

La page à laquelle il a été accédé via la Toile ou reçue par courrier électronique comporte des champs permettant au premier utilisateur de s'identifier pour le cas o il voudrait consulter les liens ajoutés au moyen du système. Il s'agit donc d'une << invitation " à utiliser le système, dont les avantages principaux sont: - de permettre de mémoriser les liens ajoutés dans son espace personnel sur un serveur et de les retrouver automatiquement, et - de recevoir automatiquement des suggestions de nouveaux liens ajoutés à partir de tiers.  The page to which it was accessed via the Web or received by e-mail includes fields allowing the first user to identify himself in case he would like to consult the links added using the system. It is therefore an "invitation" to use the system, the main advantages of which are: - to allow to memorize the links added in his personal space on a server and to find them automatically, and - to receive automatically suggestions for new links added from third parties.

Un exemple schématique de cette " invitation " en est illustré à la figure 54.  A schematic example of this "invitation" is shown in Figure 54.

Consultation au moyen du système Dans le cas d'une consultation au moyen du système, lorsqu'un premier utilisateur accède, pour une page donnée, aux liens ajoutés chez un deuxième utilisateur, ces liens ajoutés s'ajoutent à ceux qui, le cas échéant, avaient déjà été associés à cette  System Lookup In the case of a lookup through the system, when a first user accesses, for a given page, links added to a second user, these added links are added to those that, if any , had already been associated with this

même page chez le premier utilisateur.  same page at the first user.

On va maintenant décrire la manière dont un deuxième utilisateur est sélectionné par  We will now describe how a second user is selected by

le premier utilisateur pour y puiser des liens ajoutés.  the first user to find added links.

Pour chaque page à laquelle accède le premier utilisateur, trois listes de répertoires appartenant à des deuxièmes utilisateurs lui sont proposées, comme l'illustre la figure 55a. L'utilisateur peut sélectionner (par exemple en cliquant une case à cocher) un ou plusieurs éléments de ces listes pour indiquer qu'il souhaite ajouter leurs liens ajoutés dans sa propre liste de liens ajoutés. Les trois listes sont décrites ci-dessous: 1. le contenu de la première liste est optionnel: ce contenu existe dans le cas o l'auteur de la page en question est lui- même un utilisateur du système et a voulu suggérer des liens ajoutés au premier utilisateur; ceci est décrit en détail plus loin dans la section " Suggestion de liens ajoutés par l'administrateur du site "; 2. la deuxième liste (<< voisins d'intérêt ") a pour objet de présenter au premier utilisateur les répertoires ayant le plus de probabilité de contenir des liens ajoutés intéressants par rapport à son profil d'intérêts; la liste de ces répertoires est déterminée automatiquement par le système en comparant les toiles personnelles des utilisateurs; ceci est décrit plus loin dans la section " Détection de Répertoires  For each page accessed by the first user, three lists of directories belonging to second users are proposed to him, as shown in Figure 55a. The user can select (for example by clicking a checkbox) one or more items from these lists to indicate that he wants to add their added links to his own list of added links. The three lists are described below: 1. the content of the first list is optional: this content exists in the case where the author of the page in question is himself a user of the system and wanted to suggest added links the first user; this is described in detail later in the "Suggestion of links added by the site administrator" section; 2. the second list ("neighbors of interest") is intended to present to the first user the directories most likely to contain interesting links added to his or her interest profile, the list of these directories is automatically determined by the system by comparing the users' personal canvas, this is described later in the section "Detecting Directories".

Proches >>).Close >>).

3. la troisième liste (<< copains ") contient des répertoires choisis par le premier utilisateur (par exemple, des répertoires appartenant aux toiles personnelles d'amis,  3. the third list ("buddies") contains directories chosen by the first user (for example, directories belonging to the personal webs of friends,

*collègues, experts, etc.).* colleagues, experts, etc.).

Selon une variante, peut s'ajouter aux trois listes ci-dessus une quatrième liste des  According to one variant, can be added to the three lists above a fourth list of

répertoires appartenant au premier utilisateur.  directories belonging to the first user.

Dans le premier cas présenté plus haut (visualisation directe au moyen d'un navigateur standard), le pseudonyme du deuxième utilisateur qui est l'émetteur des liens ajoutés reçus par le premier utilisateur - ou du répertoire contenant ces liens ajoutés (on notera ici qu'il peut également s'agir d'un autre répertoire du premier utilisateur) - est présenté d'office en première position dans la troisième liste  In the first case presented above (direct visualization by means of a standard browser), the pseudonym of the second user who is the sender of the added links received by the first user - or of the directory containing these added links (note here that 'it can also be another directory of the first user) - is automatically put in first position in the third list

(" copains ") en mode actif (c'est-à-dire sélectionné) par défaut.  ("buddies") in active (ie, selected) mode by default.

La troisième liste, peut avantageusement être basée sur: - une << liste par défaut " donnée globalement par l'utilisateur pour toutes les pages; et << surchargée " par les préférences fournies par l'utilisateur expressément pour la  The third list can advantageously be based on: - a "default list" given globally by the user for all the pages, and "overloaded" by the preferences provided by the user expressly for the

page en question.page in question.

Dans l'ensemble de liens ajoutés associés à la page qu'il est en train de visualiser, l'utilisateur reçoit les liens ajoutés supplémentaires puisés dans les répertoires sélectionnés dans ces trois listes. On peut ainsi considérer que l'utilisateur " visite "  In the set of added links associated with the page that it is viewing, the user receives additional added links drawn from the selected directories in these three lists. We can consider that the user "visit"

ces répertoires.these directories.

2 5 Des moyens pour sélectionner des liens ajoutés, sur la base de critères données par l'utilisateur ou associés à la page courante, peuvent être avantageusement mis en oeuvre. Par exemple, l'utilisateur peut spécifier qu'il ne veut puiser dans les répertoires cochés que des liens ajoutés sur des pages étiquettées: - << Demandeur " plutôt que " Offreur ", afin de découvrir de nouveaux clients plutôt 3 0 que de nouveaux vendeurs, - selon des critères concernant l'audience visée: " Age ", << Zone Géographique ">, " Sexe ", " Préférence >> (parmi un ensemble fini de préférences), - etc. Les liens ajoutés qui lui sont ainsi suggérés doivent être distingués de ceux qu'il avait lui-même ajoutés, de manière à ce qu'il puisse sélectivement les accepter et les refuser. Dans ce but, les liens ajoutés peuvent se trouver dans un parmi plusieurs modes différents: << Suggéré >>, << Accepté ", " Refus >> et " Gelé " (ce dernier mode  Means for selecting added links, based on criteria given by the user or associated with the current page, can be advantageously implemented. For example, the user can specify that he wants to draw from the checked directories only links added on labeled pages: - "Applicant" rather than "Offerer", in order to discover new customers rather than new ones. sellers, - according to criteria concerning the intended audience: "Age", "Geographical Area">, "Sex", "Preference" (among a finite set of preferences), - etc. The added links which are thus to him The suggested links must be distinguished from those that he himself has added, so that he can selectively accept and reject them.Therefore, the added links can be in one of several different modes: << Suggested >>, << Accepted >>, "Refused >> and" Frozen "(this last mode

étant décrit plus loin dans la section " Liens en mode Gelé >>).  being described later in the section "Frozen Mode Links").

On donnera plus loin dans le chapitre III une description plus complète de la mise en  Chapter III will give a more complete description of the implementation of

oeuvre technique de ces modes.technical work of these modes.

Les liens ajoutés reçus par un premier utilisateur, à partir des liens ajoutés publiés par un deuxième utilisateur (ou à partir des liens ajoutés d'un autre répertoire du premier  The added links received by a first user, from the added links published by a second user (or from links added from another directory of the first user

utilisateur), sont au départ chez le premier utilisateur en mode " Suggéré ".  user), are initially at the first user in "Suggested" mode.

Suite à une action de l'utilisateur, chaque lien ajouté en mode Suggéré peut passer à l'un parmi les autres modes. L'interface homme-machine permettant ceci est  Following a user action, each link added in Suggested mode can switch to one of the other modes. The man-machine interface allowing this is

2 0 schématisée à la figure 55b.2 0 diagrammatically in Figure 55b.

A cet effet, les moyens de stockage associent aux liens ajoutés un attribut " Mode " qui peut prendre comme valeur les modes déjà mentionnés à l'exception de Suggéré (c'est-à-dire, l'une parmi trois valeurs: Accepté, Refusé, Gelé). La figure 56 présente un diagramme de classe pour les liens ajoutés, selon la représentation standard UML (" Unified Modeling Language >>) mettant en évidence l'attribut Mode  For this purpose, the storage means associates with the added links a "Mode" attribute which can take as value the modes already mentioned with the exception of Suggested (that is to say, one of three values: Accepted, Refused, Frozen). Figure 56 shows a class diagram for the added links, based on the UML (Unified Modeling Language) standard representation highlighting the Mode attribute

des liens ajoutés.added links.

Un lien ajouté en mode Suggéré chez un premier utilisateur n'existe que pendant la " visite " des liens ajoutés (pour la page en question) chez un deuxième utilisateur (ou dans un autre répertoire du premier utilisateur). Il n'est pas affiché en dehors de cette visite. Rappelons que cette visite se fait dès que et tant que un ou plusieurs répertoire(s) est (sont) sélectionné(s) dans l'une des listes (Spécialistes, Voisins, Copains). Un lien ajouté en mode Suggéré n'est pas stocké dans l'espace de stockage personnel du premier utilisateur car, à chaque nouvelle visite, il est recréé à partir du lien ajouté correspondant stocké chez le deuxième utilisateur, ou encore dans l'autre répertoire  A link added in Suggested mode to a first user only exists during the "visit" of the links added (for the page in question) to a second user (or to another directory of the first user). It is not displayed outside this tour. Remember that this visit is done as soon as and as long as one or more directory (s) is (are) selected (s) in one of the lists (Specialists, Neighbors, Buddies). A link added in Suggested mode is not stored in the personal storage of the first user because, at each new visit, it is recreated from the corresponding added link stored in the second user, or in the other directory

du premier utilisateur.of the first user.

Le passage d'un lien ajouté du mode Suggéré au mode Refusé a pour effet de filtrer automatiquement ledit lien ajouté lors des accès ultérieurs à l'ensemble des liens ajoutés stockés dans l'espace mémoire du deuxième utilisateur, ou dans un autre  The passage of an added link from the Suggested mode to the Denied mode has the effect of automatically filtering said added link during subsequent accesses to all the added links stored in the second user's memory space, or in another

répertoire du premier utilisateur, pour la même page.  directory of the first user, for the same page.

Le passage au mode Accepté signifie que l'utilisateur valide le lien ajouté qui est en mode Suggéré. Cette action a pour effet: 1. de stocker ledit lien ajouté dans son espace de stockage personnel, de manière à ce qu'il lui soit présenté à nouveau avec chaque nouvelle présentation de la page à laquelle ledit lien ajouté est associé; cette présentation a lieu même si ledit lien ajouté a été supprimé à la source (chez le deuxième utilisateur, ou dans l'autre répertoire du premier utilisateur) - ceci par opposition aux liens ajoutés en mode Suggéré qui ne sont plus présentés dès le moment o ils sont supprimés chez le deuxième utilisateur; en outre, cette présentation a lieu même si la source (à savoir le deuxième utilisateur ou l'autre répertoire du premier utilisateur) n'est plus  Switching to Accept mode means that the user validates the added link that is in the Suggested mode. This action has the effect of: 1. storing said added link in its personal storage space, so that it is presented again with each new presentation of the page to which said added link is associated; this presentation takes place even if the added link has been deleted at the source (at the second user, or in the other directory of the first user) - this as opposed to the links added in Suggested mode that are no longer presented from the moment o they are deleted at the second user; in addition, this presentation takes place even if the source (ie the second user or other directory of the first user) is no longer

sélectionnée (a été décochée).  selected (was unchecked).

2. si le répertoire dans lequel ledit lien ajouté est rangé, est publié, de publier d'office (sauf instruction contraire de la part de l'utilisateur) ledit lien ajouté - ceci par  2. if the directory in which the said added link is stored, is published, to publish ex officio (unless the user otherwise instructs) said added link - this by

opposition aux liens ajoutés en mode Suggéré qui eux ne seront pas publiés.  opposition to links added in Suggested mode that will not be published.

L'insertion (manuelle ou par glisser-déposer) d'un lien ajouté sur une page entraîne  Inserting (manual or drag-and-drop) a link added to a page

d'office sa mise en mode Accepté (puisque l'utilisateur l'a inséré luimême).  automatically put in Accept mode (since the user has inserted it himself).

Section 6 - Détection de Répertoires Proches Présentation générale Le système détecte pour l'utilisateur l'existence d'autres utilisateurs qui partagent ses intérêts (et ses goûts) par rapport à une <<"page courante > > qu'il est en train de  Section 6 - Near Directory Detection Overview The system detects for the user the existence of other users who share its interests (and tastes) in relation to a "" current page>> that it is currently

visualiser et qui représente donc le contexte courant de ses intérêts.  visualize and therefore represents the current context of its interests.

Ainsi, par rapport à une page courante visualisée par un premier utilisateur, le système sélectionne les deuxièmes utilisateurs les plus "proches ", c'est-à-dire ayant, dans leur réseau de liens ajoutés publiés, d'une part ladite page, et d'autre part, autour de ladite page, l'ensemble le plus grand de liens ajoutés en commun avec le  Thus, compared to a current page viewed by a first user, the system selects the second most "close" users, that is to say having, in their network of added links published, on the one hand said page, and on the other hand, around that page, the largest set of links added together with the

premier utilisateur.first user.

Pour chacun des deuxièmes utilisateurs sélectionnés par le système, les liens ajoutés associés à ladite page qui ne figurent pas chez le premier utilisateur sont " suggérés >>  For each of the second users selected by the system, the added links associated with said page that are not included in the first user are "suggested".

2 0 à ce dernier.2 0 to this last.

En variante, la sélection des deuxièmes utilisateurs proches peut se faire par rapport à un ensemble de pages sélectionnées par le premier utilisateur, plutôt que par rapport à une seule page. On va décrire dans la suite le procédé de sélection à partir d'une  Alternatively, the selection of second close users can be done with respect to a set of pages selected by the first user, rather than compared to a single page. We will describe in the following the selection process from a

2 5 seule page, l'homme de métier saura adapter cette méthode au cas de plusieurs pages.  On the one page, the person skilled in the art will be able to adapt this method to the case of several pages.

Avantages La recherche des deuxièmes utilisateurs s'effectue de manière focalisée; elle ne s'effectue pas en fonction de leur profil global d'intérêts (vis-à-vis du profil global d'intérêts du premier utilisateur). Ceci constitue un avantage tant au niveau de la  Advantages The search for second users is done in a focused way; it is not based on their overall interest profile (vis-à-vis the overall interest profile of the first user). This is an advantage both at the level of

pertinence du résultat que des performances d'exécution.  relevance of the result as performance performance.

Au niveau de la pertinence du résultat, l'avantage de la focalisation est de pouvoir comparer les profils des utilisateurs en faisant abstraction des éléments de ces profils  In terms of the relevance of the result, the advantage of the focus is to be able to compare the profiles of the users by disregarding the elements of these profiles.

qui ne sont pas dans le contexte qui intéresse l'utilisateur au moment courant.  that are not in the context that interests the user at the current time.

Autrement-dit, le nombre des éléments pertinents (par rapport au contexte courant) qui se trouvent être en commun entre le premier utilisateur et un deuxième utilisateur avec lequel il est comparé, d'une part n'est pas " dilué >> dans la masse des éléments qui sont en commun globalement, et d'autre part peut être relativisé par rapport à la  In other words, the number of relevant elements (relative to the current context) which are found to be in common between the first user and a second user with whom he is compared, on the one hand, is not "diluted" in the mass of elements that are globally common, and secondly can be relativized with respect to the

taille du domaine du contexte courant.  domain size of the current context.

Pour focaliser les recherches de profils voisins, l'état de la technique connue consiste à partitionner les éléments des profils selon des catégories adoptées par l'ensemble des utilisateurs, qui permettent de les classer globalement ou par rapport à des attributs qui les caractérisent. On spécifie ainsi leur appartenance aux domaines respectifs pris en compte lors des recherches, ce qui permet d'élaguer les éléments  In order to focus the searches of neighboring profiles, the state of the prior art consists in partitioning the elements of the profiles according to categories adopted by all the users, which make it possible to classify them globally or in relation to attributes that characterize them. This specifies their membership of the respective domains taken into account during the searches, which allows to prune the elements

des profils qui ne sont pas dans le domaine d'intérêt courant de l'utilisateur.  profiles that are not in the user's current interest area.

Cependant, la catégorisation des éléments des profils nécessite pour les utilisateurs de s'entendre sur les vocabulaires de catégories à partager. Or cette approche n'est pas avantageusement adaptée à des systèmes largement décentralisés tels que l'Internet. L'avantage essentiel du procédé selon cet aspect de la présente invention est de focaliser la recherche sans devoir classer les éléments des profils selon des catégories partagées, et donc sans avoir à s'entendre sur des vocabulaires communs  However, the categorization of profile elements requires users to agree on the vocabularies of categories to share. However, this approach is not advantageously adapted to widely decentralized systems such as the Internet. The essential advantage of the method according to this aspect of the present invention is to focus the search without having to classify the elements of the profiles according to shared categories, and therefore without having to agree on common vocabularies.

2 5 de catégories.2 5 categories.

Au niveau des performances, la sélection peut se faire sur la base d'une recherche en accès direct grâce à une structure de données (telle qu'un fichier inversé) qui permette de retrouver les deuxièmes utilisateurs proches directement à partir de ladite  At the performance level, the selection can be done on the basis of a search in direct access thanks to a data structure (such as an inverted file) which allows to find the second close users directly from said

3 0 page, ou même à partir de ladite page et de ses liens ajoutés.  Page, or even from that page and its added links.

Détails de la détection de Répertoires Proches Comme les utilisateurs peuvent placer des mêmes liens ajoutés dans des répertoires  Detection Details of Close Directories As users can place the same links added in directories

différents, le procédé peut servir à sélectionner des répertoires au lieu d'utilisateurs. Notamment, le système peut avantageusement servir à sélectionner; - des  different, the method can be used to select directories instead of users. In particular, the system can advantageously serve to select; -

répertoires << proches >> du premier utilisateur,  << close >> directories of the first user,

- plusieurs répertoires d'un même deuxième utilisateur.  - several directories of the same second user.

Dans la suite, on décrira donc l'approche consistant à sélectionner des répertoires  In the following, we will describe the approach of selecting directories

plutôt que des utilisateurs.rather than users.

Comme déjà indiqué pour le cas de la recherche des utilisateurs les plus proches, la sélection des répertoires les plus proches peut également se faire très efficacement grâce à une structure de données (tel qu'un fichier inversé) permettant de retrouver en accès direct les répertoires contenant une page donnée (la page courante de l'utilisateur). L'accès direct peut même se baser sur la page donnée et les liens  As already indicated for the case of searching for the closest users, the selection of the closest directories can also be done very efficiently thanks to a data structure (such as an inverted file) allowing to find in direct access the directories containing a given page (the current page of the user). Direct access can even be based on the given page and links

Ajoutés qui lui sont associés.Added associated with it.

On notera à cet égard que les liens Ajoutés à partir desquels est lancée la sélection sont ceux du répertoire courant (ou ceux de l'ensemble des répertoires courants sélectionnés par l'utilisateur, comme décrit dans la section " Création de liens  Note in this regard that the Added links from which the selection is started are those of the current directory (or those of all the current directories selected by the user, as described in the section "Creating links

Ajoutés dans des Répertoires ">).Added in Directories ">).

La figure 57 schématise les deux types d'exécution de requête d'accès aux données (dans le cas o les données sont rangées dans des tables relationnelles) - l'accès direct aux liens Ajoutés à partir: 3 0 - d'une ou plusieurs pages, - d'un utilisateur, - dans un (ou plusieurs) répertoires; - l'accès direct aux utilisateurs et leurs répertoires à partir: - d'une (ou plusieurs) pages, - et de ses liens ajoutés (obtenus par une requête du premier type). Rappelons que le premier type de requête est celui permettant les fonctionnalités " Retrouver des liens Ajoutés " décrites plus haut, alors que le deuxième type de requête est celle de " Détection de Répertoires Proches ", objet de la présente  Figure 57 schematizes the two types of data access request execution (in the case where the data is stored in relational tables) - the direct access to the links added from: 3 0 - of one or more pages, - of a user, - in one (or more) directories; - direct access to users and their directories from: - one (or more) pages, - and its added links (obtained by a request of the first type). Recall that the first type of request is the one that allows the "Find Added Links" functionalities described above, whereas the second type of request is that of "Detection of Close Directories", which is the subject of this

section.section.

Les répertoires les plus proches, sélectionnés automatiquement, sont présentés à l'utilisateur dans la deuxième liste (intitulée " voisins d'intérêt ") illustrée de manière schématique dans la figure 55a. Comme déjà décrit dans la section précédente (" Publication de liens ajoutés "), l'utilisateur peut cocher un ou plusieurs des répertoires qui lui sont proposés par le système. En résultat, de nouveaux liens ajoutés, puisés dans ce ou ces répertoires, lui sont suggérés en association avec la  The closest directories, automatically selected, are presented to the user in the second list (called "neighbors of interest") schematically illustrated in Figure 55a. As already described in the previous section ("Publishing of added links"), the user can check one or more of the directories that are offered by the system. As a result, new links added, drawn from this or these directories, are suggested in association with the

page courante (conformément à la description de la section précédente).  current page (as described in the previous section).

Le système peut aussi offrir à l'utilisateur des moyens de tenter de se mettre en relation - par des moyens de communication synchrone sur Intemrnet tels que la messagerie simultanée, la visioconférence, etc. avec les utilisateurs possédant ces  The system can also provide the user with the means to attempt to connect - through synchronous communication means on Intemrnet such as simultaneous messaging, video conferencing, and so on. with users who have these

répertoires qui seraient en ligne en même temps que l'utilisateur.  directories that would be online at the same time as the user.

2 5 En effet, dans les deux types d'architecture client-serveur représentés respectivement sur les figures 44 et 45, les requêtes que les utilisateurs forment au moyen de leur navigateur, sont communiquées au serveur dans lequel est exécuté le système. Ce dernier est donc capable de savoir si les utilisateurs en question sont en ligne et si on  Indeed, in the two types of client-server architecture represented respectively in FIGS. 44 and 45, the requests that the users form by means of their browser are communicated to the server in which the system is executed. The latter is therefore able to know if the users in question are online and if

peut communiquer avec eux.can communicate with them.

L'utilisateur peut aussi se mettre en relation par communication asynchrone, notamment par courrier électronique ou dans le cadre de forums de discussion, avec ces utilisateurs " proches "> (que lui fait " découvrir " le système), même s'ils ne sont  The user can also get in touch by asynchronous communication, in particular by e-mail or in the context of discussion forums, with these "close" users (that makes him "discover" the system), even if they are not

pas en ligne en même temps.not online at the same time.

On notera à cet égard, que grâce aux moyens déjà mentionnés de sélection en accès direct d'utilisateurs à partir de pages qui les intéressent (en plus d'une structure de chemin d'accès direct aux pages à partir d'utilisateurs et répertoires) le système est apte à construire, avec de très bonnes performances, des communautés d'utilisateurs partageant des mêmes centres d'intérêts. Les sujets de discussion créés sont ceux pour lesquels un ensemble de pages de taille suffisante a intéressé un grand nombre d'utilisateurs. Ces derniers sont alors invités à participer à un forum de discussion  It should be noted in this respect, that thanks to the already mentioned means of selection in direct access of users from pages of interest to them (in addition to a structure of direct path to pages from users and directories) the system is able to build, with very good performances, communities of users sharing the same interests. The discussion topics created are those for which a set of pages of sufficient size has interested a large number of users. They are invited to participate in a discussion forum

ayant comme thème cet ensemble de pages.  having as theme this set of pages.

On va maintenant décrire la méthode de calcul de proximité.  We will now describe the method of calculating proximity.

En partant de la page courante (c'est-à-dire la page visualisée par le premier utilisateur) avec ses liens ajoutés dans le répertoire courant ou encore avec l'union des liens ajoutés associés à cette page dans les répertoires courants sélectionnés par l'utilisateur - le système trouve parmi les autres répertoires (du premier utilisateur et/ou parmi les répertoires publiés de seconds utilisateurs) contenant ladite page,  Starting from the current page (that is to say the page viewed by the first user) with its links added in the current directory or with the union of the added links associated with this page in the current directories selected by the user. - the system finds among the other directories (of the first user and / or among the published directories of second users) containing said page,

ceux qui ont le score de proximité le plus élevé autour de ladite page.  those with the highest proximity score around that page.

En résultat, le système propose à l'utilisateur ces répertoires dans l'ordre de leur  As a result, the system proposes to the user these directories in the order of their

2 5 proximité.2 5 proximity.

La proximité est calculée à différents niveaux.  Proximity is calculated at different levels.

Au premier niveau, la proximité est fonction du nombre de liens ajoutés communs 3 0 associés à la page courante. La figure 58 illustre la détermination de la proximité au  At the first level, the proximity is a function of the number of common added links associated with the current page. Figure 58 illustrates the determination of proximity to

niveau 1.level 1.

Au niveau 2, la proximité est également fonction du nombre de liens ajoutés communs associés aux pages reliées à la page courante par lien ajouté, comme  At level 2, proximity is also a function of the number of common added links associated with pages linked to the current page by added link, such as

l'illustre la figure 59.Figure 59 illustrates this.

Au niveau n, la proximité est fonction du nombre de liens ajoutés communs associés aux pages reliées indirectement à la page courante par lien ajouté, n étant le nombre  At level n, proximity is a function of the number of common added links associated with pages indirectly linked to the current page by added link, where n is the number

d'étapes d'indirection.of indirection steps.

Proximité transitive On va décrire ci-après un perfectionnement du procédé de calcul de proximité entre  Transitive proximity We will describe below an improvement of the method of calculating proximity between

deux répertoires décrit plus haut.  two directories described above.

Le système peut enrichir son évaluation de proximité en anticipant les propagations  The system can enrich its evaluation of proximity by anticipating the propagations

probables de liens ajoutés dans le futur.  likely links added in the future.

En effet, les liens ajoutés qui au moment courant ne sont pas encore propagés (suggérés) d'un répertoire proche à un autre, le seront probablement dans le futur, et, 2 0 après acceptation éventuelle, seront prêts à être suggérés à un troisième répertoire (et ainsi de suite). Le système peut enrichir son estimation de proximité en anticipant ces propagations (suggestions) et acceptations, et en calculant la proximité d'un  Indeed, the added links that are currently not yet propagated (suggested) from one close repertoire to another, will probably be in the future, and, after acceptance, will be ready to be suggested to a third. directory (and so on). The system can enrich its estimate of proximity by anticipating these propagations (suggestions) and acceptances, and by calculating the proximity of a

répertoire en prenant en compte cette anticipation.  directory taking into account this anticipation.

Ceci peut se faire par deux approches différentes: - soit par simulation prédictive: La simulation prédictive prend en compte la probabilité d'acceptation (telle que décrite plus loin) des futures suggestions de liens ajoutés, dans les répertoires  This can be done by two different approaches: - either by predictive simulation: Predictive simulation takes into account the probability of acceptance (as described later) of future suggestions for links added, in the directories

proches du répertoire courant de l'utilisateur.  close to the current directory of the user.

Le procédé de simulation prédictive consiste à simuler la propagation de liens ajoutés, à partir de répertoires à priori non proches du répertoire courant, vers des répertoires proches du répertoire courant. Suite à la propagation (simulée) d'un lien ajouté à partir de chaque répertoire non proche (vers un répertoire proche), un coefficient de probabilité d'acceptation (décrit plus loin) lié à ce répertoire non  The predictive simulation method consists of simulating the propagation of added links, from directories a priori not close to the current directory, to directories close to the current directory. Following the (simulated) propagation of a link added from each non-close directory (to a nearby directory), an acceptance probability coefficient (described later) related to this non-repertoire

proche est associé audit lien ajouté.  near is associated with the added link.

La proximité peut alors être affinée en tenant compte des nouveaux liens ajoutés (introduits par la simulation) pondérés par leur coefficient de probabilité d'acceptation. Le calcul de proximité peut être affiné progressivement, en prenant en compte des niveaux de plus en plus indirects. En effet, la simulation prédictive peut se faire à des profondeurs d'indirection de plus en plus grandes: ainsi un lien ajouté peut être propagé (par simulation) dans un répertoire proche du répertoire proche en question, avant d'arriver dans ce dernier, et ainsi de suite. Pour chaque nouveau répertoire, le système applique au lien ajouté le coefficient de probabilité d'acceptation associé au répertoire d'o il a été puisé. A l'arrivée dans le répertoire proche en question, les liens ajoutés (suggérés par simulation) ont un coefficient de probabilité d'acceptation qui représente la composition des probabilités d'acceptation dans les différents  The proximity can then be refined taking into account the new added links (introduced by the simulation) weighted by their acceptance probability coefficient. The proximity calculation can be refined gradually, taking into account more and more indirect levels. Indeed, the predictive simulation can be done at increasingly greater depths of indirection: thus an added link can be propagated (by simulation) in a directory close to the close repertoire in question, before arriving in the latter, And so on. For each new directory, the system applies to the added link the acceptance probability coefficient associated with the directory from which it was drawn. On arrival in the close repertoire in question, the added links (suggested by simulation) have a probability of acceptance coefficient which represents the composition of the probabilities of acceptance in the different

répertoires o ils sont passés.directories where they are.

Optionnellement, l'utilisateur peut paramétrer le système pour lui demander de lui suggérer directement les liens ajoutés propagés par simulation dans le répertoire proche (bien que ces liens ajoutés ne soient pas encore acceptés par le possesseur du  Optionally, the user can set the system to ask him to directly suggest the added links propagated by simulation in the nearby directory (although these added links are not yet accepted by the owner of the

répertoire proche).close repertoire).

De manière progressivement plus indirecte, l'utilisateur peut demander au système 3 0 de lui suggérer directement les liens ajoutés propagés par simulation dans les répertoires proches d'un répertoire proche, et ainsi de suite. Lors des propagations d'un répertoire à l'autre, les coefficients de probabilité d'acceptation sont composés  In a progressively more indirect manner, the user can ask the system 30 to directly suggest the added links propagated by simulation in the directories close to a nearby directory, and so on. During propagations from one directory to another, the acceptance probability coefficients are composed

et les suggestions peuvent être effectuées dans l'ordre de ces coefficients.  and the suggestions can be made in the order of these coefficients.

- soit selon l'approche décrite ci-dessous et appelée calcul de << proximité transitive " et qui offre l'avantage d'une plus grande rapidité de calcul. Considérons trois répertoires R1,R2 et R3. La " proximité transitive de R3 pour RI " est fonction du minimum entre " la proximité de R2 pour RI " et " la proximité de  - or according to the approach described below and called calculation of "transitive proximity" and which offers the advantage of a greater speed of computation Consider three repertoires R1, R2 and R3 The "transitive proximity of R3 for RI "is a function of the minimum between" the proximity of R2 to RI "and" the proximity of

R3 pour R2 ".R3 for R2 ".

Le principe sous-jacent est, en effet, que dans une chaîne de propagations potentielles de liens ajoutés, la proximité transitive est fonction de la proximité du  The underlying principle is, in fact, that in a chain of potential propagations of added links, the transitive proximity is a function of the proximity of the

maillon le plus faible de la chaîne.  weakest link in the chain.

A la valeur obtenue (en prenant le minimum des proximités), on doit aussi appliquer la composition des coefficients de probabilité d'acceptation des répertoires respectifs  At the obtained value (taking the minimum of the proximities), one must also apply the composition of the coefficients of probability of acceptance of the respective repertoires

(acceptation de R2 par R1 et de R3 par R2).  (acceptance of R2 by R1 and of R3 by R2).

Un exemple est illustré sur la figure 60: - la proximité de R2 pour RI est de 2; en effet les liens ajoutés pointant sur les pages p2 et p3 sont en commun; - la proximité de R3 pour R2 est de 1 (p5 seul est en commun); il en découle que la Proximité Transitive de R3 pour Ri est de 1 (le minimum entre 2 et 1), alors que la  An example is shown in Figure 60: - the proximity of R2 for RI is 2; indeed the added links pointing to pages p2 and p3 are in common; the proximity of R3 for R2 is 1 (only p5 is in common); it follows that the Transitive Proximity of R3 for Ri is 1 (the minimum between 2 and 1), while the

proximité de R3 pour RI n'est que de 0 (aucun lien ajouté en commun).  Proximity to R3 for RI is only 0 (no link added in common).

Bien évidemment, la proximité transitive peut aussi être calculée dans une chaîne plus longue de propagations potentielles, en prenant le minimum des proximités entre les répertoires pris séquentiellement dans ladite chaîne et en lui appliquant la composition des coefficients de probabilité d'acceptation existant pour tous les  Of course, the transitive proximity can also be calculated in a longer chain of potential propagations, taking the minimum of the proximities between the repertoires taken sequentially in said chain and applying to it the composition of the coefficients of acceptance probability existing for all the

maillons de la chaine.links in the chain.

Coefficient de probabilité d'acceptation La détermination de la probabilité d'acceptation, dans un premier répertoire, d'un lien ajouté suggéré provenant d'un deuxième répertoire peut se baser sur l'historique  Acceptance probability coefficient The determination of the probability of accepting, in a first directory, a suggested added link from a second directory can be based on the history

des acceptations de liens ajoutés suggérés à partir de ce deuxième répertoire.  Suggested link acceptances suggested from this second directory.

Dans ce sens, chaque premier répertoire maintient un compteur pour chaque deuxième répertoire à partir duquel il a reçu des suggestions dans le passé. Bien entendu, ce compteur peut être maintenu pendant une durée limitée dans le temps. La  In this sense, each first directory maintains a counter for each second directory from which it has received suggestions in the past. Of course, this counter can be maintained for a time limited in time. The

valeur de ce compteur représente le coefficient de probabilité d'acceptation.  value of this counter represents the coefficient of probability of acceptance.

Le coefficient de probabilité d'acceptation est fonction du nombre de liens ajoutés acceptés (en mode normal ou en mode gelé) moins le nombre de liens ajoutés refusés  The acceptance probability coefficient is a function of the number of accepted links accepted (in normal mode or in frozen mode) minus the number of added links refused.

rapporté au nombre (total) de liens ajoutés suggérés.  in relation to the number (total) of suggested added links.

Ce procédé peut comporter diverses sophistications que saura mettre en oeuvre l'homme du métier, et notamment une pondération permettant de donner un poids  This process may comprise various sophistications that will be implemented by the skilled person, including weighting to give a weight

plus fort aux acceptations/refus plus récents.  stronger to more recent acceptances / refusals.

Pour un nouveau répertoire, c'est-à-dire à partir duquel aucun lien ajouté n'avait été suggéré dans le passé vers le répertoire courant de l'utilisateur, le système peut se 2 5 baser sur un répertoire intermédiaire (ayant un historique dans le répertoire courant et le nouveau répertoire ayant un historique chez lui) pour déterminer la probabilité d'acceptation. Ceci s'effectue selon l'approche suivante: Si un répertoire RI jouit d'un fort coefficient de probabilité d'acceptation (C0-1) 3 0 auprès d'un répertoire R0, et qu'un répertoire R2 a un fort coefficient de probabilité d'acceptation (C1-2) auprès du répertoire R1, alors, par transitivité, R2 aura un fort  For a new directory, that is from where no added link has been suggested in the past to the user's current directory, the system can be based on an intermediate directory (having a history in the current directory and the new directory having a history at home) to determine the probability of acceptance. This is done according to the following approach: If a directory RI enjoys a high coefficient of probability of acceptance (C0-1) 30 from a directory R0, and a directory R2 has a high coefficient of probability of acceptance (C1-2) with the repertoire R1, then, by transitivity, R2 will have a strong

coefficient de probabilité d'acceptation (C0-2) auprès du répertoire R0.  acceptance probability coefficient (C0-2) from the R0 repertoire.

Plus précisément, la valeur CO-1 reflète le degré de confiance que le possesseur du répertoire R0 accorde au contenu du répertoire R1. En effet, puisqu'en général le possesseur du répertoire R0 accepte les suggestions provenant du répertoire RI1, il accorde un degré de confiance relativement fort à la validité de l'acte d'acceptation dans le répertoire RI. En d'autres termes, le possesseur du répertoire R0 considère que le possesseur du répertoire Ri a un bon jugement en matière d'acceptation et de  More precisely, the value CO-1 reflects the degree of confidence that the owner of the directory R0 gives to the contents of the directory R1. Indeed, since in general the owner of the directory R0 accepts the suggestions from the directory RI1, it gives a relatively high degree of confidence in the validity of the act of acceptance in the directory RI. In other words, the owner of the repertoire R0 considers that the owner of the repertory Ri has a good judgment in terms of acceptance and

refus dans ledit répertoire R 1.refusal in said directory R 1.

Or il se trouve que le possesseur du répertoire RI a accepté dans ce répertoire une grande partie des suggestions provenant du répertoire R2 (c'est-à-dire que la valeur C1-2 est élevée). Puisque son jugement est bon aux yeux du possesseur du répertoire R0, le système peut conclure que le possesseur du répertoire R0 va probablement  Now it happens that the owner of the directory RI has accepted in this directory a large part of the suggestions from the directory R2 (that is to say that the value C1-2 is high). Since his judgment is good in the eyes of the owner of the repertoire R0, the system can conclude that the owner of the repertoire R0 will probably

aussi accepter les suggestions provenant du répertoire R2.  also accept suggestions from the R2 directory.

Par le même raisonnement, si la valeur C0-1 est forte et si la valeur C1 2 est faible,  By the same reasoning, if the value C0-1 is strong and if the value C1 2 is low,

alors, le système peut conclure que la valeur C0-2 sera faible.  then, the system can conclude that the C0-2 value will be low.

Bien évidemment, la profondeur de la transitivité (le nombre des intermédiaires) peut être plus grande: le système peut se baser sur plusieurs intermédiaires qui se sont fortement validés dans le passé (de préférence le passé récent - voir plus haut à propos de la pondération) pour prédire qu'un nouveau répertoire sera probablement 2 5 validé ou pas. Mais, bien évidemment, la fiabilité du coefficient obtenu baissera avec  Of course, the depth of transitivity (the number of intermediaries) can be greater: the system can be based on several intermediaries that have strongly validated in the past (preferably the recent past - see above on the weighting ) to predict that a new directory will probably be validated or not. But, of course, the reliability of the coefficient obtained will decrease with

la profondeur de la transitivité.the depth of transitivity.

On a déjà mentionné que la détection de répertoires proches permet de présenter ces répertoires à l'utilisateur dans la deuxième liste (intitulée << voisins d'intérêt >>) 3 0 illustrée de manière schématique dans la figure 55a. Le coefficient de probabilité d'acceptation est un indicateur qui est présenté avec chacun de ces répertoires (il peut par exemple être intitulé " statistiques d'acceptation "). L'utilisateur préférera cocher  It has already been mentioned that the detection of close directories makes it possible to present these directories to the user in the second list (entitled << neighbors of interest >>) 30 diagrammatically illustrated in FIG. 55a. The probability of acceptance coefficient is an indicator that is presented with each of these directories (it can for example be called "acceptance statistics"). The user will prefer to check

des répertoires qui ont ce coefficient le plus élevé possible.  directories that have this highest coefficient possible.

Section 7 - Suggestion de liens ajoutés par l'administrateur d'un site Présentation L'administrateur d'un site (" Webmaster " selon la terminologie anglo-saxonne) spécifie, dans le code source de la page à laquelle accède un utilisateur, ou encore dans une table contenue dans un serveur approprié et dont la clé est l'adresse de ladite page, l'ensemble des adresses des répertoires (dits " Spécialistes ") qui  Section 7 - Suggestion of links added by the administrator of a site Presentation The administrator of a site ("Webmaster" according to the English terminology) specifies, in the source code of the page to which a user accesses, or still in a table contained in a suitable server and whose key is the address of said page, all the addresses of the directories (called "Specialists") which

peuvent être proposés à l'utilisateur dans la première liste de la figure 55a.  can be offered to the user in the first list of Figure 55a.

Les deux étapes suivantes peuvent être mises en oeuvre dans l'exploitation de ces répertoires (répertoires candidats) pour un utilisateur donné: 1. En première étape, le système ne retient parmi les répertoires candidats que ceux qui sont les plus proches du répertoire courant (au sens de la section précédente " Détection de Répertoires Proches "). Toutefois, cette approche n'est valide que si la page à laquelle l'utilisateur a accédé n'est pas nouvelle pour celui-ci, et que l'utilisateur lui avait déjà associé des liens ajoutés, de manière à ce que le système puisse les comparer avec ceux figurant dans chacun des répertoires candidats spécifiés par l'administrateur (pour déterminer dans quelle mesure ce répertoire est  The following two steps can be implemented in the exploitation of these directories (candidate directories) for a given user: 1. In the first step, the system retains among the candidate directories only those which are closest to the current directory ( within the meaning of the previous section "Detection of Close Directories"). However, this approach is valid only if the page accessed by the user is not new to the user, and the user has already added links to it, so that the system can compare them with those in each of the candidate directories specified by the administrator (to determine how far this directory is

proche, et ne retenir ainsi que les répertoires candidats les plus proches).  close, and thus retain only the closest candidate directories).

Si, au contraire, la page à laquelle l'utilisateur accède est nouvelle pour lui, le système peut, optionnellement, tenter tout de même de sélectionner des répertoires candidats proches, en comparant les liens ajoutés qui se trouvent dans le répertoire courant de l'utilisateur (ces liens ajoutés n'étant pas associés avec la page courante, puisque celleci est nouvelle, mais à d'autres pages) avec les liens ajoutés des répertoires candidats, en partant de pages situées à des niveaux progressivement plus  If, on the contrary, the page to which the user accesses is new for him, the system can, optionally, still try to select nearby candidate directories, by comparing the added links which are in the current directory of the user (these added links are not associated with the current page, since this is new, but to other pages) with added links from candidate directories, starting from pages at progressively higher levels

éloignés de la page courante dans les répertoires candidats.  away from the current page in the candidate directories.

En cas d'échec, le système peut proposer les premiers répertoires spécifiés par l'administrateur du site comme devant être présentés par défaut. 2. Le système ne retient, dans les répertoires choisis en première étape, que les liens ajoutés les plus avantageux selon un ensemble de critères de pertinence dont le poids  In case of failure, the system may propose the first directories specified by the site administrator to be presented by default. 2. The system retains, in the directories chosen in the first step, only the most advantageous added links according to a set of relevance criteria whose weight

relatif peut être réglé par l'administrateur du site.  relative can be set by the site administrator.

A partir des répertoires Spécialistes candidats (et/ou des répertoires proches " voisins d'intérêt >>), le système peut aussi synthétiser un premier répertoire spécialiste de manière "< personnalisée >> et le proposer à l'utilisateur par défaut. Le contenu de ce nouveau répertoire est créé en regroupant des liens ajoutés sélectionnés dans les répertoires candidats, qui à priori sont potentiellement les plus pertinents pour l'utilisateur. En relation avec chaque lien ajouté, l'administrateur peut spécifier: - la manière dont ledit lien ajouté va être graphiquement présenté avec la page courante; - et la manière dont le lien ajouté inverse sera graphiquement présenté quand la page  From the Candidate Specialist directories (and / or close "neighbor of interest" directories), the system can also synthesize a first specialist directory in a "custom" manner and propose it to the default user. The content of this new directory is created by grouping selected links selected in the candidate directories, which are potentially the most relevant for the user. In relation to each added link, the administrator may specify: - the manner in which said added link will be graphically presented with the current page; - and how the reverse added link will be graphically presented when the page

vers laquelle pointe ledit lien ajouté pointe va être visualisée.  towards which points said added link tip will be viewed.

2 5 Répertoires de la liste intitulée " Spécialistes " Le document source d'une page à laquelle accède l'utilisateur (par exemple une page écrite en langage HTML) peut contenir, parmi les données non affichées à l'écran, l'adresse d'un premier répertoire (contenant des liens ajoutés) à proposer par défaut à  2 5 Directories in the list entitled "Specialists" The source document of a page accessed by the user (for example a page written in HTML) may contain, among the data not shown on the screen, the address of the user. a first directory (containing links added) to propose by default to

3 0 l'utilisateur.The user.

Cette adresse (composée par exemple du pseudonyme de l'utilisateur et du chemin du répertoire que l'administrateur du site a choisis) est utilisée par le système pour être présentée en première position dans la première liste (" Spécialistes ") de la  This address (composed for example of the user's pseudonym and the directory path chosen by the site administrator) is used by the system to be presented first in the first list ("Specialists") of the

figure 55a.Figure 55a.

Cette adresse est cochée (sélectionnée) par défaut par le système, ce qui signifie que l'utilisateur est implicitement considéré comme souhaitant se faire suggérer les liens ajoutés du répertoire en question dans sa propre liste de liens ajoutés (conformément  This address is checked (selected) by default by the system, which means that the user is implicitly considered as wishing to be suggested the added links of the directory in question in his own list of added links (according to

à la description faite dans la section " Publication de liens ajoutés ").  the description in the section "Publishing added links").

Dans le document source, l'administrateur peut aussi spécifier des adresses supplémentaires de répertoires d'autres spécialistes. Celles-ci serviront d'éléments optionnels dans la première liste (<" Spécialistes) > > de répertoires proposés à  In the source document, the administrator can also specify additional addresses of directories of other specialists. These will be used as optional elements in the first list (<"Specialists)>> of directories proposed in

l'utilisateur, mais ne seront pas cochées par défaut.  the user, but will not be checked by default.

Alternativement, ces adresses de répertoires spécialistes, au lieu d'être notées dans le document source de la page à laquelle accède l'utilisateur, peuvent être stockées sur un serveur dans une table qui fournit la correspondance entre l'adresse de la page et les adresses des répertoires Spécialistes qui lui sont attribués. Dans le cas o ledit 2 0 serveur est aussi le serveur de liens ajoutés pour l'utilisateur courant, cette alternative permet d'éviter un aller-retour supplémentaire sur le serveur de liens ajoutés dans le  Alternatively, these specialized directory addresses, instead of being noted in the source document of the page accessed by the user, can be stored on a server in a table that provides the correspondence between the address of the page and the Directory addresses Specialists assigned to it. In the case where said server is also the added link server for the current user, this alternative avoids an extra roundtrip on the link server added in the server.

cas de l'architecture de la figure 44.  case of the architecture of Figure 44.

Sélection parmi les répertoires candidats Le nombre d'adresses de répertoires Spécialistes (spécifiées par l'administrateur) peut être bien plus élevé que le nombre de répertoires qui seront effectivement présentés à l'utilisateur. Un nombre maximal de répertoires à présenter peut être fixé  Selecting Candidate Directories The number of Specialist directory addresses (specified by the administrator) can be much greater than the number of directories that will actually be presented to the user. A maximum number of directories to present can be fixed

par l'administrateur et/ou par l'utilisateur.  by the administrator and / or the user.

Comme déjà mentionné brièvement dans la présentation faite plus haut, parmi les répertoires candidats, le système choisit les répertoires les plus proches de l'utilisateur. Ceci s'effectue: - soit directement selon la technique décrite plus haut dans la section " Détection de Répertoires Proches >>, - soit selon une extension de cette technique, appelé " Proximité Décalée >>, que l'on  As already mentioned briefly in the presentation above, among the candidate directories, the system selects the directories closest to the user. This is done: - either directly according to the technique described above in the section "Detection of Close Directories", - or according to an extension of this technique, called "Proximité Décalée", that one

va maintenant décrire.will now describe.

Proximité Décalée Dans le cas o la page courante (visualisée par l'utilisateur) - ne possède aucun lien ajouté (notamment parce que l'utilisateur y accède pour la première fois dans son répertoire courant) - ou n'a pas suffisamment de liens ajoutés en commun avec aucun des répertoires candidats(par rapport à un critère quantitatif fixé lors du paramétrage du système), le système, n'ayant pas la possibilité de détecter (par le procédé décrit dans la section " Détection de Répertoires Proches ">), parmi les répertoires candidats, les répertoires << les plus proches ", sélectionne les répertoires candidats par les étapes suivantes: 2 5 a. le système retient les répertoires candidats offrant le plus grand nombre de pages d'éloignement de niveau 1 (c'est-à- dire des pages pointées par des liens ajoutés associés à la page courante) qui soient en commun, b. pour chacune des pages d'éloignement de niveau I qui sont en commun, le système calcule la Proximité (tel que décrit dans la section << Détection de  Proximity Offset In the case where the current page (viewed by the user) - has no added link (especially because the user accesses it for the first time in its current directory) - or does not have enough links added in common with none of the candidate directories (with respect to a quantitative criterion set during the system configuration), the system, not being able to detect (by the method described in the section "Detection of close directories">), among the candidate directories, the "closest" directories, select the candidate directories by the following steps: 2 5 a the system retains the candidate directories offering the largest number of pages of removal of level 1 (this is pages pointed by added links associated with the current page) that are in common, for each of the level I remoting pages that are in common, the system calculates the Proximity (as described in the section "Detection of

Répertoires Proches >") en partant de ces pages.  Close Directories> ") from these pages.

La Proximité Décalée pour le répertoire candidat est fonction des Proximités ainsi déterminées. Au final, le système choisit les répertoires candidats offrant les valeurs les plus  The Proximity Offset for the candidate directory is a function of the Proximities thus determined. In the end, the system selects the candidate directories offering the most

élevées de proximité Décalée déterminées comme décrit ci-dessus.  High Decal proximity determined as described above.

Dans le cas o le résultat de la recherche du point " a. " n'est pas suffisamment satisfaisant, le système peut éventuellement rechercher, dans le répertoire courant, des pages situées à des niveaux progressifs d'éloignement dans les répertoires  In the case where the result of the search of the point "a." Is not sufficiently satisfactory, the system can possibly search, in the current directory, pages located at progressive levels of remoteness in the directories

candidats (Proximité Décalée d'éloignement > 1).  candidates (Proximity Shifted away> 1).

Au point "b. ", le niveau de profondeur de recherche de Proximité peut éventuellement être augmenté ou diminué (le cas de recherche le moins coûteux en ressources informatiques étant celui avec une profondeur de niveau 0, c'est-à-dire en  At point "b.", The Proximity search depth level may possibly be increased or decreased (the least expensive computing resource case being the one with level 0 depth, that is, in

court-circuitant le point " b. ").shorting the point "b.").

La figure 61 illustre la détermination de proximité décalée d'éloignement I pour un répertoire candidat. Dans cet exemple, le système trouve, dans le répertoire courant 2 0 de l'utilisateur: - deux pages en commun (p 1 et p2), - pour la page pl du répertoire candidat, une valeur de proximité égale à deux liens ajoutés sur trois; et pour la page p2, une valeur de proximité égale à un lien ajouté  Fig. 61 illustrates the offset offset distance determination I for a candidate repertoire. In this example, the system finds, in the current directory 20 of the user: two pages in common (p 1 and p 2), for the page p1 of the candidate directory, a proximity value equal to two links added on three; and for page p2, a proximity value equal to an added link

sur deux.On two.

On notera que cette technique de calcul de proximité décalée à partir d'un niveau progressif d'éloignement en partant de la page courante peut également être utilisée de manière générale pour rechercher des répertoires proches (notamment parmi un ensemble d'utilisateurs), en complément de la technique de calcul de proximité  Note that this proximity calculation technique shifted from a progressive level of distance from the current page can also be used in general to search for nearby directories (in particular among a set of users), in addition of the proximity calculation technique

3 0 décrite dans la section <" Détection de Répertoires Proches >>.  3 0 described in the section <"Detecting Close Directories".

La figure 62 illustre ainsi la détermination de proximité décalée d'éloignement 1 d'un répertoire B par rapport à une page courante p0 dans un Répertoire A. On observe que dans cet exemple, la détermination de proximité tel que décrite dans la section << Détection de Répertoires Proches ") aurait échoué puisque la page p0 n'existe pas dans le répertoire B. Sélection parmi les liens ajoutés Les liens ajoutés contenus dans les répertoires candidats sélectionnés (c'est-à-dire les " Spécialistes " proposés dans la première liste de la figure 55a) peuvent comporter bien plus de liens ajoutés (en mode " Accepté " ou " Gelé ") que ceux qui seront suggérés aux utilisateurs. En effet, le système est apte à sélectionner les liens ajoutés les plus pertinents pour chaque utilisateur qui les recevra. Ainsi la suggestion de liens ajoutés se fait de manière " personnalisée ". La sélection est effectuée par exemple en fonction d'un ou plusieurs des critères suivants (sélectionnés notamment en fonction des ressources qu'ils nécessitent à priori pour leur mise en oeuvre): l'intérêt potentiel du lien ajouté en question (dit " lien ajouté candidat ") pour l'utilisateur: comme déjà mentionné dans la section " Création de liens ajoutés dans 2 0 des Répertoires ", les liens ajoutés sont bidirectionnels, c'est-à-dire qu'un lien ajouté associé à une page Pl et pointant sur une page P2 implique (dès qu'il est Accepté) la création du lien ajouté associé à la page P2 et pointant sur la page Pi; il est donc dans l'intérêt de l'administrateur du site de suggérer un lien ajouté sur une page P2 potentiellement la plus intéressante possible, puisque * plus la page P2 est intéressante, plus l'utilisateur va la consulter; * et à chaque fois qu'il va la consulter, le lien ajouté pointant sur la page P1  FIG. 62 thus illustrates the determination of the offset 1 away proximity of a directory B with respect to a current page p0 in a directory A. It will be observed that in this example, the proximity determination as described in the section << Close Directory Detection ") would have failed since the p0 page does not exist in the B directory. Selection among the added links The added links contained in the selected candidate directories (ie the" Specialists "proposed in the first list in Figure 55a) may have many more links added (in "Accepted" or "Frozen" mode) than those suggested to users, since the system is able to select the most relevant added links for each the user who will receive them.Thus the suggestion of added links is done in a "personalized" way.The selection is carried out for example according to one or more of the criteria sui vantages (selected in particular according to the resources that they require a priori for their implementation): the potential interest of the added link in question (said "added candidate link") for the user: as already mentioned in the section " Creating links added in "directories", the added links are bidirectional, ie an added link associated with a page P1 and pointing to a P2 page implies (as soon as it is accepted) the creating the added link associated with page P2 and pointing to the page Pi; it is therefore in the interest of the site administrator to suggest a link added on a potentially interesting P2 page, since * the more interesting the P2 page, the more the user will consult it; * and each time he will consult it, the added link pointing to the page P1

va y figurer et va ainsi inciter l'utilisateur à aller consulter ladite page PI.  will appear there and will thus encourage the user to go to consult said page PI.

Pour satisfaire à ce critère particulier, le système a notamment la possibilité d'analyser si le lien ajouté candidat avait été accepté ou gelé dans des répertoires proches du répertoire courant de l'utilisateur. Pour ce faire, et comme l'illustre la figure 63, le système recherche des répertoires (répertoire proche candidat) possédant: * la page courante (à noter que, du fait que la page courante est nouvelle pour l'utilisateur, aucun lien ajouté n'y est encore associé); * le lien ajouté candidat associé à la page courante, en mode accepté ou gelé, * et le répertoire de l'utilisateur ayant une forte valeur de proximité décalée d'éloignement 1 (ou progressivement plus si nécessaire) par rapport au répertoire  In order to satisfy this particular criterion, the system notably has the possibility of analyzing whether the added candidate link has been accepted or frozen in directories close to the user's current directory. To do this, and as shown in Figure 63, the system searches for directories (close candidate directory) with: * the current page (note that because the current page is new to the user, no link added is still associated with it); * the added candidate link associated with the current page, in accepted or frozen mode, * and the directory of the user having a strong proximity value shifted by distance 1 (or progressively more if necessary) with respect to the directory

proche candidat en partant de la page courante.  close candidate from the current page.

- le fait que l'utilisateur avait déjà reçu la page vers laquelle pointe le lien ajouté candidat (s'il ne s'agit pas d'une nouvelle page pour lui) dans le répertoire courant, et le fait qu'en outre la page pointée par le lien ajouté candidat est déjà bien " ancrée >> dans le répertoire courant (dans le sens o l'utilisateur a une probabilité relativement forte de la consulter en navigant d'une page a l'autre du répertoire), étant donné que plus l'utilisateur accédera à la page pointée par le lien ajouté, plus il verra le lien ajouté inverse qui l'incitera à aller revisiter la page courante (voir cependant le troisième sous-critère ci-dessous qui consiste à fixer un seuil supérieur au nombre de liens ajoutés préexistants); la propriété d'ancrage est mesurée en comptant dans le répertoire courant le nombre de liens ajoutés qui pointent sur la page en question (ou plus simplement, puisque les liens ajoutés sont bidirectionnels, en comptant les liens  - the fact that the user had already received the page pointed to by the added candidate link (if it is not a new page for him) in the current directory, and the fact that in addition the page pointed by the added candidate link is already well "anchored" in the current directory (in the sense that the user has a relatively high probability of consulting it by navigating from one page to another in the directory), since the more the user accesses the page pointed to by the added link, the more he will see the added inverse link which will encourage him to revisit the current page (however, see the third sub-criterion below which consists in setting a higher threshold number of pre-existing added links), the anchor property is measured by counting in the current directory the number of added links that point to the page in question (or more simply, since the added links are bidirectional, counting the links

ajoutés associés à la page en question).  added to the page in question).

- dans quelle mesure l'utilisateur avait déjà accepté ou gelé cette page (ou au contraire, combien de fois il l'avait laissée en mode suggéré ou il l'avait refusée): ainsi, si l'utilisateur avait déjà reçu cette page (pointée par le lien ajouté candidat) dans le répertoire courant, et si de plus il l'avait acceptée (ou gelée), ceci indique que cette page l'intéresse et qu'elle sera donc probablement à nouveau acceptée en tant que lien ajouté de la page courante; il est donc plus avantageux de choisir le lien ajouté pointant sur cette page plutôt qu'un lien ajouté pointant sur une page nouvelle pour l'utilisateur; en revanche, si l'utilisateur avait déjà reçu cette page mais depuis ce moment il l'a laissée en mode suggéré, ou, à fortiori, il l'a refusée, le système préférera ne pas la choisir, car le lien ajouté candidat a relativement moins de  - how much the user had already accepted or frozen this page (or on the contrary, how many times he had left it in suggested mode or he had refused it): thus, if the user had already received this page ( pointed to by the added candidate link) in the current directory, and if moreover it had accepted it (or frozen), this indicates that this page interests it and that it will thus probably be accepted again as an added link of the current page; it is therefore more advantageous to choose the added link pointing to this page rather than an added link pointing to a new page for the user; on the other hand, if the user had already received this page but since then it left it in suggested mode, or, a fortiori, it refused it, the system will prefer not to choose it, because the link added candidate has relatively less than

chances d'être accepté par l'utilisateur.  chances of being accepted by the user.

- le nombre de liens ajoutés couramment associés à la page pointée par le lien ajouté candidat: si, dans le répertoire courant de l'utilisateur, une multitude de liens ajoutés sont déjà associés à la page pointée par le lien ajouté candidat, le lien ajouté inverse au lien ajouté candidat sera " noyé " dans cette multitude et n'aura pas l'effet d'incitation souhaité; il n'est donc pas toujours avantageux de choisir un lien ajouté candidatdont la page vers laquelle il pointe possède déjà de trop nombreux liens ajoutés dans le répertoire de l'utilisateur (on notera que ce sous-critère est l'inverse du critère d'ancrage; il doit être utilisé pour fixer un seuil qu'il ne faut pas dépasser); l'administrateur indique alors avantageusement, avec chaque répertoire spécialiste (qu'il spécifie par exemple dans la partie non affichée du document source de la page, ou encore dans une table sur le serveur, comme décrit plus haut): * le nombre maximum de liens ajoutés à suggérer (voir plus haut), étant rappelé que l'utilisateur aussi peut contraindre ce nombre; * le poids relatif à donner à chacun des critères (c'est-à-dire la formule d'agrégation pondérée des critères) décrits ci-dessus, ainsi qu'éventuellement des indications sur les heuristiques à mettre en oeuvre dans leur prise en compte (il s'agit  - the number of links added commonly associated with the page pointed by the added candidate link: if, in the user's current directory, a multitude of added links are already associated with the page pointed by the added candidate link, the added link inverse to the added candidate link will be "drowned" in this multitude and will not have the desired incentive effect; It is therefore not always advantageous to choose a candidate added link whose page to which it points already has too many links added to the user's directory (note that this sub-criterion is the inverse of the criterion of anchorage, it must be used to set a threshold that must not be exceeded); the administrator then indicates advantageously, with each specialist directory (which it specifies for example in the not shown part of the source document of the page, or in a table on the server, as described above): * the maximum number of added links to suggest (see above), being reminded that the user too can constrain this number; * the relative weight to give to each of the criteria (ie the weighted aggregation formula of the criteria) described above, as well as possibly indications on the heuristics to be implemented in their taking into account (it's about

notamment d'éviter les critères qui consommeraient trop de ressources).  in particular to avoid criteria that consume too many resources).

Suggestion directe dans le Répertoire par défaut Le système peut synthétiser et proposer des liens ajoutés à partir: - des répertoires Spécialistes et/ou - des répertoires proches déterminés automatiquement par le système et présenter les liens ajoutés obtenus à partir de ces répertoires (répertoires candidats) par exemple à travers le premier répertoire de la première liste de la figure 55a, qui  Direct suggestion in the default directory The system can synthesize and propose links added from: - Specialist directories and / or - close directories automatically determined by the system and present the added links obtained from these directories (candidate directories) for example through the first repertoire of the first list of Figure 55a, which

est proposé à l'utilisateur par défaut.  is offered to the default user.

Ce premier répertoire est ainsi " synthétisé " de manière différente pour chaque utilisateur. Pour ce faire, dans les répertoires candidats, le système choisit les liens ajoutés: - qui pointent sur une page, * alors que cette page est déjà existante et a été acceptée (ou gelée) un nombre de fois suffisant dans le répertoire courant de l'utilisateur * ou qui s'est avérée être intéressante chez un nombre suffisant d'utilisateurs voisins d'intérêt (ou plus exactement, qui fut acceptée ou gelée dans un nombre suffisant de répertoires proches), - et optionnellement, qui pointent sur une page pour laquelle la " Proximité Décalée Cumulée "> d'éloignement I (à partir de la page courante), obtenue en additionnant les Proximités Décalées d'éloignement 1 dans les répertoires candidats, soit la plus  This first directory is thus "synthesized" in a different way for each user. To do this, in the candidate directories, the system chooses the links added: - which point to a page, * while this page is already existing and has been accepted (or frozen) a sufficient number of times in the current directory of the 'user' or who has proved to be interesting in a sufficient number of neighboring users of interest (or more exactly, who was accepted or frozen in a sufficient number of close directories), - and optionally, who point to a page for which the "Cumulated Offset Proximity"> of distance I (from the current page), obtained by adding the Distance 1 Proximities of distance 1 in the candidate directories, is the most

grande possible.great possible.

Présentation graphique Avec chaque lien ajouté, l'administrateur du site peut spécifier sous quelle forme, avec quelle image et à quelle position de la page courante, le lien ajouté devra être posé, la présentation pouvant être par exemple: - sur le bord de la page (dans une liste de " vignettes "), - sur la page (comme une affichette adhésive), ou sous la forme d'une petite icône située sur la page qui se transforme en une telle affichette au passage de la souris, - ou encore dans des régions de la page qui étaient prévues pour contenir de la publicité. L'administrateur peut aussi spécifier ces paramètres de présentation graphique pour le lien ajouté inverse (qui sera affiché sur la page vers laquelle pointe le lien ajouté  Graphic presentation With each added link, the site administrator can specify in which form, with which image and at which position of the current page, the added link will have to be placed, the presentation being able for example: - on the edge of the page (in a list of "thumbnails"), - on the page (like a sticker), or in the form of a small icon on the page that turns into such a placard when the mouse passes, - or still in areas of the page that were intended to contain advertising. The administrator can also specify these graphical presentation settings for the added reverse link (which will be displayed on the page to which the added link points

en question).in question).

En particulier, l'administrateur peut souhaiter expressément spécifier à quelle position ou dans quelle région, sur la page vers laquelle pointe le lien ajouté en question, sera appliquée la représentation graphique du lien ajouté inverse. C'est en effet par ce moyen qu'il pourra mieux inciter l'utilisateur à venir consulter sa propre page (la page courante). Son audience dépendra donc en partie de la position (ainsi  In particular, the administrator may expressly wish to specify to which position or in which region, on the page pointed to by the added link in question, the graphic representation of the added inverse link will be applied. It is indeed by this means that he can better encourage the user to come and consult his own page (the current page). His audience will therefore depend in part on the position (as well

que l'apparence graphique) du lien ajouté inverse.  as the graphical appearance) of the added inverse link.

La figure 64 illustre la présentation graphique d'un lien ajouté inverse sur une page (sous forme d'affichette). Une page pl a un lien ajouté sur une page p2 qui est déjà très encombrée d'une multitude de liens ajoutés présentés graphiquement sous forme de vignettes (dans une liste verticale) . Sur la page p2, le lien ajouté inverse pointant sur pl n'est pas présentée comme une vignette de plus, mais sous forme d'une affichette directement sur le contenu de la page. La représentation graphique du lien ajouté inverse peut aussi être automatiquement inséré dans une région qui normalement aurait dû contenir de la publicité. L'administrateur espère par là attirer  Figure 64 illustrates the graphical presentation of an inverse added link on a page (in the form of a poster). A page has a link added on a p2 page which is already very crowded with a multitude of added links presented graphically as thumbnails (in a vertical list). On page p2, the added inverse link pointing to pl is not presented as one more thumbnail, but in the form of a placard directly on the content of the page. The graphical representation of the added inverse link can also be automatically inserted into a region that normally should have contained advertising. The administrator hopes to attract

l'attention de l'internaute.the user's attention.

Section 8 - Calcul automatique de prévision d'Audience 2 5 Le service offert par le système, consistant à permettre à l'administrateur d'inciter l'utilisateur à cliquer sur un lien ajouté inverse (pointant sur la page publiée par ledit administrateur): - peut être proposé (fonction de " devis >>) au moyen d'un calcul de prévision 3 0 d'audience; - peut être facturé (fonction " facturation ") pour le service effectivement rendu, sur la base: * de l'audience de la page à laquelle est associé le lien ajouté inverse (le nombre de fois que la page p2 de la figure 64 est vue par les utilisateurs du système), * des clics effectifs, c'est-à-dire en fonction du nombre de clics effectivement  The service offered by the system, consisting of allowing the administrator to incite the user to click on an inverse added link (pointing to the page published by said administrator): - may be offered ("quote" function) by means of a hearing forecasting calculation - may be billed ("billing" function) for the service actually rendered, based on: * the audience of the page to which is associated the inverse added link (the number of times that the page p2 of figure 64 is seen by the users of the system), * effective clicks, that is to say according to the number actually clicks

réalisés sur les liens ajoutés inverses.  made on reverse added links.

En effet, non seulement, un lien ajouté inverse incite directement l'utilisateur à accéder à la page vers laquelle il pointe (en l'occurrence la page pl de la figure 64), mais en outre, les liens ajoutés de la page (p2) à laquelle le lien ajouté inverse est associé peuvent être publiés (voir la section " Publication de liens ajoutés ") et être  Indeed, not only, an inverse added link directly encourages the user to access the page to which he points (in this case the page pl of Figure 64), but in addition, the links added to the page (p2 ) to which the reverse added link is associated can be published (see the section "Publishing added links") and be

ainsi propagés d'un utilisateur à l'autre.  thus propagated from one user to another.

Dans ce schéma de propagation, seul les liens ajoutés inverses acceptés par un utilisateur seront suggérés aux utilisateurs qui sont en l'aval dans la chaîne de propagation. La prévision d'audience peut être effectuée avantageusement en appliquant le coefficient de probabilité d'acceptation qui tient compte du comportement des utilisateurs (tel que décrit plus haut dans la section " Détection de Répertoires  In this propagation scheme, only reverse-added links accepted by a user will be suggested to users who are downstream in the propagation chain. The audience prediction can be advantageously performed by applying the acceptance probability coefficient which takes into account the behavior of the users (as described above in the section "Detecting Directories").

Proches ").Relatives ").

Section 9 - Publication de Répertoires Un perfectionnement du système consiste à permettre à l'utilisateur de publier (ou mettre à la disposition d'un groupe restreint) au moins un sous-ensemble des  Section 9 - Publishing Directories An enhancement of the system is to allow the user to publish (or make available to a small group) at least a subset of

répertoires de sa toile personnelle.  directories of his personal canvas.

De la même manière que dans l'approche décrite plus haut dans la section " Publication de liens Ajoutés >", les liens vers des pages contenus dans un répertoire publié pourront être visualisés: - directement au moyen d'un navigateur standard (par exemple suite à la réception d'un e-mail);  In the same way as in the approach described above in the "Publication of Added Links" section, links to pages contained in a published directory can be viewed: - directly by means of a standard browser (for example, more upon receipt of an e-mail);

- ou au moyen du système.- or by means of the system.

Le répertoire consulté par l'utilisateur au moyen du système devient son répertoire courant. Il peut s'agir d'un de ses propres répertoires ou d'un répertoire publié par un autre utilisateur. L'utilisateur peut " manuellement " insérer de nouveaux liens dans  The directory accessed by the user through the system becomes his current directory. It can be one of its own directories or a directory published by another user. The user can "manually" insert new links into

ce répertoire.this directory.

L'utilisateur qui visualise le contenu d'un répertoire au moyen du système, peut également enrichir ce contenu en se faisant suggérer des liens à partir d'autres répertoires qui lui sont proposés dans les listes " Spécialistes ", " Voisins d'intérêt ", et " Copains " (comme pour le cas des liens Ajoutés). Ces trois listes sont rappelées ci-dessous: 1. Les répertoires Spécialistes sont ceux proposés par l'administrateur du site, et 2 0 celui-ci peut proposer à l'utilisateur un nombre de répertoires Spécialistes (candidats) plus grand que le nombre de répertoires qui seront présentés dans cette première liste. Le système sélectionne: d'abord les répertoires spécifiés comme devant être présentés par défaut (s'il en 2 5 existe), - ensuite, au fur et à mesure de l'acceptation de liens par l'utilisateur (l'acceptation est décrite plus loin dans cette section) dans le répertoire courant, le système sélectionne les répertoires dont les liens sont les plus voisins possibles des liens  The user who visualizes the contents of a directory by means of the system, can also enrich this content by being suggested links from other directories which are proposed to him in the lists "Specialists", "Neighbors of interest" , and "Buddies" (as in the case of Added Links). These three lists are recalled below: 1. The Specialist directories are those proposed by the site administrator, and the latter can propose to the user a number of specialist directories (candidates) larger than the number of directories that will be presented in this first list. The system selects: first the directories specified as to be presented by default (if any), - then, as and when the user accepts links (the acceptance is described later in this section) in the current directory, the system selects the directories whose links are as close as possible to the links

3 0 couramment déjà acceptés (ou gelés) par l'utilisateur.  Commonly accepted (or frozen) by the user.

Pour ce faire, le système choisit essentiellement les répertoires contenant le plus de liens en commun avec l'ensemble de liens acceptés (ou gelés) par l'utilisateur au  To do this, the system essentially chooses the directories containing the most links in common with the set of links accepted (or frozen) by the user at

moment courant.current moment.

Un répertoire Spécialiste peut contenir un nombre de liens supérieur au nombre de liens qui seront suggérés à l'utilisateur. Le système sélectionne alors de préférence les liens associés par le plus grand nombre de liens ajoutés (dans le répertoire Spécialiste candidat) avec des liens qui (dans le répertoire courant) sont déjà acceptés. Bien évidemment, ne seront suggérés à l'utilisateur que les liens qui ne  A Specialist directory may contain more links than the number of links that will be suggested to the user. The system then preferably selects the links associated with the largest number of links added (in the Candidate Specialist directory) with links that (in the current directory) are already accepted. Of course, only the links that are not

figurent pas déjà dans le répertoire courant.  not already in the current directory.

2. Les répertoires de Voisins d'intérêt sont déterminés automatiquement par le système. Ce sont: - soit des répertoires proches et de même catégorie, qui sont déterminés en amenant le système à sélectionner, parmi les répertoires de même catégorie, ceux qui contiennent le plus de liens en commun avec les liens acceptés (ou gelés) par l'utilisateur. 2 0 - soit des répertoires contenant le plus de liens en commun avec des liens acceptés (ou gelés) dans le répertoire courant, quelles que soient leurs catégories; cette approche peut se révéler performante si la sélection de ces répertoires peut se faire en accès direct à partir des liens contenus dans le répertoire courant (voir le type de requête schématisé sur la figure 65); en outre, cette approche permet d'associer des 2 5 catégories aux répertoires automatiquement, car les catégories associées à chaque répertoire déterminé automatiquement sont proposées à l'utilisateur, lorsque ce  2. Neighbor directories of interest are determined automatically by the system. These are: - either close directories and the same category, which are determined by causing the system to select, among the directories of the same category, those that contain the most links in common with the links accepted (or frozen) by the user. 2 0 - either directories containing the most links in common with links accepted (or frozen) in the current directory, regardless of their categories; this approach can be effective if the selection of these directories can be made in direct access from the links contained in the current directory (see the type of query shown schematically in Figure 65); in addition, this approach makes it possible to associate the categories with the directories automatically, since the categories associated with each automatically determined directory are proposed to the user, when

dernier sélectionne ledit répertoire.  last selects said directory.

Le grand avantage de ce procédé est qu'il permet aux utilisateurs d'associer aux 3 0 répertoires des catégories appartenant à un vocabulaire commun (le système incite à  The great advantage of this method is that it allows users to associate categories of common vocabularies with the directories (the system encourages

parler un " langage commun >>).speak a "common language").

3. Les répertoires Copains sont les répertoires choisis par l'utilisateur (Voir la section  3. Copains directories are directories chosen by the user (see section

" Publication de liens Ajoutés ")."Publishing Added Links").

Le principe de Publication et Suggestion étant le même que pour la Publication de liens Ajoutés (voir la section " Publication de liens Ajoutés "), nous ne précisons pas ici tous les détails, mais quelques particularités des liens (associés aux répertoires)  The principle of Publication and Suggestion being the same as for the Publication of Added Links (see the section "Publication of Added Links"), we do not specify here all the details, but some particularities of the links (associated with the directories)

par opposition aux liens ajoutés (associés aux pages).  as opposed to the added links (associated with the pages).

Dans l'ensemble de liens (vers des pages) qui sont contenus dans le répertoire que l'utilisateur est en train de visualiser, l'utilisateur reçoit des liens supplémentaires à partir des répertoires sélectionnés dans les trois listes sus-décrites (Spécialistes,  In the set of links (to pages) that are contained in the directory that the user is viewing, the user receives additional links from the directories selected in the three lists described above (Specialists,

Voisins, Copains).Neighbors, Buddies).

Comme pour les liens Ajoutés, le système peut avantageusement comporter des moyens pour sélectionner des liens sur la base de critères (" Offreur ",  As for the Added links, the system can advantageously comprise means for selecting links based on criteria ("Provider",

" Demandeur ", etc), données par l'utilisateur ou associés au répertoire visualisé.  "Requestor", etc.), given by the user or associated with the viewed directory.

Les liens qui sont ainsi suggérés à l'utilisateur doivent être distingués de ceux qu'il 2 0 avait lui-même ajoutés: il peut en effet en refuser certains. Dans ce but, les liens peuvent se trouver dans un parmi plusieurs modes différents: " Suggéré ", " Accepté ", " Refusé " (et << Gelé ", ce dernier mode étant décrit dans la section  The links that are thus suggested to the user must be distinguished from those he himself had added: he may indeed refuse some. For this purpose, the links can be in one of several different modes: "Suggested", "Accepted", "Refused" (and "Frozen", the latter mode being described in the section

" Liens en mode Gelé ")."Frozen Mode Links").

2 5 Les liens reçus par un premier utilisateur, à partir des liens publiés par un deuxième utilisateur (ou à partir d'un des répertoires du premier utilisateur), sont chez le  2 5 The links received by a first user, from the links published by a second user (or from one of the directories of the first user), are at home.

premier utilisateur au départ en mode " Suggéré ".  first user initially in "Suggested" mode.

Suite à une action de l'utilisateur, chaque lien ajouté en mode Suggéré peut passer à l'un parmi les autres modes. L'interface utilisateur permettant la mise en oeuvre de  Following a user action, each link added in Suggested mode can switch to one of the other modes. The user interface allowing the implementation of

ces changements de mode est schématisée sur la figure 66.  these mode changes are shown schematically in Figure 66.

Cette figure illustre également le fait que, les répertoires étant visualisés comme des pages, l'utilisateur peut leurs associer des liens ajoutés. On voit ainsi qu'au répertoire rl ont été associés (par la technique des liens ajoutés) les répertoires r2 et r3 ainsi que la page p6. Les moyens de stockage associent donc aux liens un attribut " Mode " qui peut prendre comme valeur: Accepté, Refusé ou Gelé. La figure 56 présentait un diagramme de classe pour les liens Ajoutés, selon la représentation standard UML (" Unified Modeling Language "), mettant en évidence l'attribut Mode des liens  This figure also illustrates the fact that, since the directories are viewed as pages, the user can associate them with added links. It can thus be seen that the directory rl has been associated (by the technique of the links added) the directories r2 and r3 as well as the page p6. The storage means therefore associate with the links a "Mode" attribute which can take the value: Accepted, Refused or Frozen. Figure 56 shows a class diagram for the Added links, according to the Unified Modeling Language (UML) standard representation, highlighting the Link Mode attribute

Ajoutés. Nous complétons cette description avec la figure 67 qui montre que les liens  Added. We complete this description with Figure 67 which shows that the links

(vers les pages) possèdent également un attribut Mode. Cet attribut peut lui aussi prendre la valeur Accepté, Refusé ou Gelé. De plus, la classe << Répertoire " comporte l'attribut " Catégories " qui a pour fonction de permettre de comparer des répertoires de même catégorie (indépendamment des noms que les utilisateurs leur  (to pages) also have a Mode attribute. This attribute can also be set to Accepted, Denied, or Frozen. In addition, the "Directory" class has the "Categories" attribute, which is used to compare directories of the same category (regardless of the names that users give them).

ont donné).gave).

Un lien en mode Suggéré n'existe que pendant la visite d'un répertoire sélectionné dans l'une des trois listes déjà mentionnées. Il n'est pas affiché en dehors de cette  A link in Suggested mode only exists while visiting a selected directory in one of the three lists already mentioned. It is not displayed outside of this

2 0 visite.2 0 visit.

Un lien en mode Suggéré n'est pas stocké dans l'espace de stockage personnel de l'utilisateur car, à chaque nouvelle visite, il est recréé à partir du lien correspondant  A link in Suggested mode is not stored in the user's personal storage space because, at each new visit, it is recreated from the corresponding link

stocké dans le répertoire source.stored in the source directory.

Le passage d'un lien du mode Suggéré au mode Refusé a pour effet de filtrer  Passing a link from the Suggested mode to the Denied mode has the effect of filtering

automatiquement ledit lien lors des visites ultérieures.  automatically said link during subsequent visits.

Le passage au mode Accepté signifie que l'utilisateur "< valide >> le lien qui est en mode Suggéré. Cette action a pour effet: 1. de stocker ledit lien dans son espace de stockage personnel, de manière à ce qu'il lui soit présenté à nouveau avec chaque nouvelle présentation du contenu du répertoire dans lequel ledit lien a été rangé; cette présentation a lieu même si ledit lien a été supprimé dans le répertoire qui en était la source) - ceci par opposition aux liens en mode Suggéré qui ne sont plus présentés dès le moment o il sont supprimés dans le répertoire source; cette présentation a lieu même si le répertoire qui en était  Switching to Accept mode means that the user "<valid" the link that is in Suggested mode, which has the effect of: 1. storing the link in his personal storage space, so that he is presented again with each new presentation of the contents of the directory in which the link was stored, this presentation takes place even if the link was deleted in the directory that was the source of the link) - this in contrast to the Suggested mode links which are no longer presented from the moment they are deleted in the source directory, this presentation takes place even if the directory was

la source n'est plus sélectionné (a été décoché).  the source is no longer selected (has been unchecked).

2. si le répertoire dans lequel ledit lien est rangé est publié, de publier ledit lien d'office (sauf instruction contraire de l'utilisateur) - ceci par opposition aux liens  2. if the directory in which the said link is stored is published, to publish the link ex officio (unless the user otherwise instructs) - this as opposed to the links

ajoutés en mode Suggéré qui eux ne seront pas publiés.  added in Suggested mode that will not be published.

On notera ici que l'insertion d'un lien dans un répertoire (par exemple manuellement en tapant son adresse URL ou par glisser-déposer à partir d'un autre répertoire)  Note here that the insertion of a link into a directory (for example manually by typing its URL or by drag and drop from another directory)

* entraîne d'office sa mise en mode Accepté (puisque l'utilisateur l'a inséré lui-même).* automatically causes its setting to Accept mode (since the user has inserted it himself).

Une page visualisée par l'utilisateur dans le répertoire courant entraîne l'insertion du  A page viewed by the user in the current directory causes the insertion of the

lien vers ladite page en mode Suggéré dans ledit répertoire. Il n'est donc pas stocké.  link to said page in Suggested mode in said directory. It is not stored.

Toutefois, dès qu'un lien ajouté en mode Accepté est associé à ce lien, ce dernier passe en mode Accepté et le système le stocke donc dans l'espace personnel de l'utilisateur. Section 10 - Liens en mode gelé Le passage en mode " gelé >> signifie que: - non seulement l'utilisateur a validé le lien ajouté, mais de plus - la version courante de la page (vers laquelle pointe ledit lien ajouté au moment o la transition au mode gelé est effectuée) est stockée dans le système afin de garantir à l'utilisateur que ledit lien ajouté (aussi longtemps qu'il n'est pas supprimé) dirigera  However, as soon as a link added in Accept mode is associated with this link, the link goes into Accept mode and the system stores it in the user's personal space. Section 10 - Links in frozen mode Switching to "frozen" mode means that: - not only has the user validated the added link, but also - the current version of the page (pointed to by the added link at the time o the transition to frozen mode is performed) is stored in the system to assure the user that said added link (as long as it is not deleted) will direct

toujours l'utilisateur sur cette même version de la page dans le futur.  always the user on this same version of the page in the future.

Plus précisément, la version courante de la page en question est copiée dans un espace de stockage propre au répertoire courant de l'utilisateur, et le lien pointe  More specifically, the current version of the page in question is copied to a storage space specific to the current directory of the user, and the link points to

maintenant vers cette version stockée.  now to this stored version.

En réalité, pour optimiser la place consommée, il est avantageux que le système ne stocke qu'une seule copie de chaque version différente de page, qui sera partagée par tous les utilisateurs et tous les répertoires possédant ce lien en mode Gelé. Cette optimisation est nécessaire car une même version de page peut être pointée par des liens ajoutés associés à des pages différentes: - d'un même répertoire, - de répertoires différents d'un même utilisateur, ou encore - de répertoires d'utilisateurs différents, et par conséquent une multitude de liens ajoutés gelés pointant sur une même page  In fact, to optimize the space consumed, it is advantageous for the system to store only one copy of each different version of the page, which will be shared by all the users and directories with this link in Frozen mode. This optimization is necessary because the same version of page can be pointed by added links associated with different pages: - from the same directory, - from different directories of the same user, or - from different user directories, and therefore a multitude of frozen added links pointing to the same page

peuvent exister.can exist.

Lorsqu'un lien ajouté pointant sur une page est gelé, le système vérifie d'abord si la version courante de ladite page est déjà copiée, le cas échéant le système modifie  When an added link pointing to a page is frozen, the system first checks if the current version of that page is already copied, if necessary the system modifies

ledit lien ajouté pour le faire pointer vers cette copie.  said link added to point to this copy.

Pour déterminer si une copie de la version courante de la page existe déjà ou pas: - le système mémorise dans une table, en association avec chaque lien (vers une page) pour laquelle une copie est stockée, la date et l'heure de la copie; - dans la mesure o une copie existe pour le lien en question et o la copie est 3 0 récente, le système compare le contenu de la version courante avec celui de la copie, et si les contenus sont identiques, le système évite ainsi de créer une nouvelle copie; alternativement, le système peut exploiter les renseignements fournis dans le document source de la page en question pour connaître sa version (et déterminer si  To determine if a copy of the current version of the page already exists or not: - the system stores in a table, in association with each link (to a page) for which a copy is stored, the date and time of the copy; if a copy exists for the link in question and the copy is recent, the system compares the content of the current version with that of the copy, and if the contents are identical, the system thus avoids creating a new copy; alternatively, the system can exploit the information provided in the source document of the page in question to know its version (and determine if

elle est différente de la version telle que copiée).  it is different from the version as copied).

Section 11 - Contenants et contenus On va maintenant généraliser les concepts décrits dans les sections précédentes, en  Section 11 - Containers and contents We will now generalize the concepts described in the previous sections, in

considérant des structures " Contenants >> (" Containers >> en terminologie anglo-  considering "Container" structures ("Containers") in English terminology

saxone) contenant des éléments " Contenus >> (" Contents" en terminologie anglo-  saxon) containing elements "Contents" ("Contents" in English terminology

saxone), à n'importe quel niveau dans la structure des informations gardées par  saxone), at any level in the structure of information held by

l'utilisateur dans son espace de stockage personnel.  the user in his personal storage space.

Les différents modes d'exploitation des liens ajoutés entre pages décrits par ailleurs dans le présent chapitre pourront, en de nombreuses instances, être étendus à l'exploitation de liens situés dans des contenants inclus directement dans la structure de pages et pointant vers des contenus susceptibles d'être incorporés à la page en question. 2 0 Les pages sont des documents, eux-mêmes structurées sous forme hiérarchique (par exemple: sections, paragraphes, etc.), et auxquels est associée une spécification de présentation à l'utilisateur. Dans la suite, on va considérer des documents dont le contenu est spécifié selon la notation standard XML (abréviation de l'expression anglo-saxonne Extended Markup Language), et dont la présentation est spécifiée selon le langage XSL (abréviation de l'expression anglo-saxonne XML Stylesheet Language) ou selon un langage équivalent. Ces technologies se prêtent parfaitement  The various modes of exploitation of the links added between pages described elsewhere in this chapter may, in many instances, be extended to the exploitation of links located in containers included directly in the page structure and pointing to contents likely to be incorporated into the page in question. The pages are documents, themselves structured in hierarchical form (for example: sections, paragraphs, etc.), and associated with a user presentation specification. In the following, we will consider documents whose content is specified according to the standard notation XML (abbreviation of the English expression Extended Markup Language), and whose presentation is specified in the language XSL (abbreviation of the expression Anglo -Signs XML Stylesheet Language) or equivalent language. These technologies lend themselves perfectly

à une structuration hiérarchique des informations.  hierarchical structuring of information.

Toute la toile personnelle de l'utilisateur est vue comme une structure arborescente 3 0 de contenus/contenants imbriqués, chaque contenu étant vu comme un document (ou fragment de document) au format XML auquel est optionnellement associée une spécification de présentation au format XSL. A chaque niveau dans cette structure d'arbre, un contenu ne peut être affiché à l'écran de l'ordinateur de manière autonome que si un document XSL lui est associé. Dans le cas inverse, le Content  The entire personal web of the user is viewed as a tree structure of nested contents / containers, each content being viewed as a document (or document fragment) in XML format which is optionally associated with a presentation specification in XSL format. At each level in this tree structure, content can be displayed on the computer screen autonomously only if an XSL document is associated with it. In the opposite case, the Content

ancêtre le plus proche ayant un XSL est affiché par défaut.  The closest ancestor with an XSL is displayed by default.

Ainsi par exemple, un répertoire est d'abord un contenu qui peut être présenté à l'utilisateur comme une page autonome, dans la mesure o un document XSL pour la présentation des répertoires lui est associé. Un répertoire a par ailleurs un et un seul contenant dont les contenus sont eux-mêmes des répertoires ou d'autres types de documents. Certains de ces documents peuvent contenir plusieurs contenants, qui  For example, a directory is first of all a content that can be presented to the user as a stand-alone page, as long as an XSL document for the presentation of the directories is associated with it. A directory also has one and only one container whose contents are themselves directories or other types of documents. Some of these documents may contain multiple containers, which

eux-mêmes contiennent des contenus, et ainsi de suite.  themselves contain content, and so on.

Tous les moyens décrits jusqu'ici pour les répertoires et les pages sont applicables  All the means described so far for directories and pages are applicable

respectivement aux contenants et contenus.  respectively to containers and contents.

Dans ce cas, notamment: - les liens (vers des pages) sont alors des liens vers des contenus; les liens Ajoutés pointeront également sur des contenus, - et les Coefficients de Probabilité d'Acceptation introduits dans la section " Détection de Répertoires Proches " sont alors associés à des contenants plutôt qu'à  In this case, in particular: - the links (to pages) are then links to contents; the Added links will also point to contents, - and the Acceptability Probability Coefficients introduced in the "Near Directory Detection" section are then associated with containers rather than

des Répertoires.Directories.

En partant du fait que l'utilisateur peut copier (ou " importer ") un lien d'un répertoire à un autre, la présente section propose un système pour lui permettre d'importer n'importe quel contenu de n'importe quel contenant à un autre (à condition que le type dudit contenu ne viole pas les contraintes de type du contenant qui est censé le recevoir) à n'importe quel niveau dans la structure des informations  Starting from the fact that the user can copy (or "import") a link from one directory to another, this section proposes a system to allow him to import any content from any container to another. another (provided that the type of content does not violate the type constraints of the container that is supposed to receive it) at any level in the information structure

de l'utilisateur.of the user.

3 0 De même, cette extension du système a pour objet de permettre à l'utilisateur de tirer (c'est-à-dire de créer par glisser-déposer) des liens ajoutés de n'importe quel contenu à n'importe quel autre contenu. Ainsi, au lieu de ne pouvoir tirer des liens ajoutés qu'entres pages, entre répertoires et d'une manière mixte entre répertoires et pages, l'utilisateur pourra tirer un lien ajouté entre un élément dans une page et une autre  Likewise, this extension of the system is intended to allow the user to pull (ie drag-and-drop) links added from any content to any other content. Thus, instead of being able to derive links added between pages, between directories and in a mixed way between directories and pages, the user can pull an added link between an element in one page and another

page considérée dans sa globalité, par exemple.  page considered in its entirety, for example.

Avantageusement, un lien ajouté (et notamment un lien ajouté inverse) pourra pointer sur un contenu enfoui dans une page. Dans le cas o le contenu vers lequel pointe le lien ajouté n'a pas de spécification de présentation (au format XSL) associé, le mécanisme mis en oeuvre affichera le plus proche contenu parent (qui le contient)  Advantageously, an added link (and in particular an inverse added link) may point to content buried in a page. In the case where the content to which the added link points has no associated presentation specification (in XSL format), the implemented mechanism will display the closest parent content (which contains it)

dans la hiérarchie des contenus.in the hierarchy of contents.

On introduira en outre une troisième manipulation offerte à l'utilisateur: la " dérivation " de contenant, selon laquelle un premier contenant dérivé d'un deuxième contenant reçoit en mode Suggéré tous les contenus du deuxième contenant (ou éventuellement une sélection de ceux- ci) qui sont en mode Accepté (ou Gelé). Cette transmission de contenus se fait en permanence, en ce sens que même les contenus qui sont acceptés dans le futur dans le deuxième contenant sont  In addition, a third manipulation offered to the user will be introduced: the "derivation" of the container, according to which a first container derived from a second container receives in Suggestion mode all the contents of the second container (or possibly a selection thereof). ) that are in Accepted (or Frozen) mode. This transmission of contents is permanent, in the sense that even the contents that are accepted in the future in the second container are

suggéré dans le premier contenant dès leur acceptation dans le deuxième contenant.  suggested in the first container as soon as they are accepted in the second container.

2 0 Les documents que constituent les pages publiées dans les sites Intemrnet doivent être restructurés pour permettre d'en distinguer les contenus et contenants qui les constituent. Le texte ci-dessous est un exemple simple de document en langage XML: <Root> exemple d'informations <img src="urlsource"/> de toutes sortes <A id="A-1" name="Anatole"> <C name="Hubert" id="C-l"/> 3 0 <C name=" Edouard"/> <C name="Antoine"/> <C name="Raymond"/> </A> <B name="Henri"/> <B name="Claude" myfriend="C- 1" myenemies="A- I B- 1 "> exemple informations texte exemple informations texte <D name="Dominique" myfriend="A- 1"/> </B> <B name="Robert" id="B1"//> <B name="Andre"/> </Root> Un exemple de feuille de style XSL, permettant d'obtenir le rendu, est présenté dans  The documents that constitute the pages published on the Intemrnet sites must be restructured to make it possible to distinguish the contents and containers which constitute them. The text below is a simple example of an XML document: <Root> example <img src = "urlsource" /> information of all kinds <A id="A-1" name="Anatole"> < C name = "Hubert" id = "Cl" /> 3 0 <C name = "Edward" /> <C name = "Antoine" /> <C name = "Raymond" /> </A> <B name = "Henri" /> <B name = "Claude" myfriend = "C- 1" myenemies = "A- I B- 1"> example information text example information text <D name = "Dominique" myfriend = "A- 1" /> </ B> <B name = "Robert" id = "B1" //> <B name = "Andre" /> </ Root> An example of an XSL stylesheet that renders is rendered. presented in

les dix paragraphes suivants.the next ten paragraphs.

Entête de la feuille de style: <?xml version=" 1.0" encoding="ISO-8859-1" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/">  Style sheet header: <? Xml version = "1.0" encoding = "ISO-8859-1"?> <Xsl: stylesheet xmlns: xsl = "http://www.w3.org/TR/WD-xsl "> <xsl: template match =" / ">

<HTML><HTML>

<HEAD/><HEAD />

<BASEFONT FACE="ARIAL" SIZE="2"><BASEFONT FACE = "ARIAL" SIZE = "2">

<xsl:apply-templates /><xsl: apply-templates />

</BASEFONT></ BASEFONT>

</HTML></ HTML>

2 5 </xsl:template> Les noeuds du code source pour lesquels aucun traitement particulier n'est prévu sont copiés dans la page HTML: <xsl:template match=" *"> 3 0 <xsl:copy> <xsl:apply-templates select="@*Inode()" /> </xsl:copy> </xsl:template> Les attributs du code source pour lesquels aucun traitement n'est prévu prennent les valeurs spécifiés dans le code source: <xsl:template match="@*"> <xsl:attribute> <xsl:value-of /> </xsl:attribute> </xsl:template> Pour le tag Root, sont ajoutés un titre et un paragraphe: <xsl:template match="Root">  2 5 </ xsl: template> The source code nodes for which no particular processing is provided are copied to the HTML page: <xsl: template match = "*"> 3 0 <xsl: copy> <xsl: apply -templates select = "@ * Inode ()" /> </ xsl: copy> </ xsl: template> Attributes of the source code for which no processing is expected take the values specified in the source code: <xsl: template match = "@ *"> <xsl: attribute> <xsl: value-of /> </ xsl: attribute> </ xsl: template> For the Root tag, a title and a paragraph are added: <xsl: template match = "Root">

<H 1I>FAMILLE/AMITIE/ETC...</H1><H 1I> FAMILY / FRIENDSHIP / ETC ... </ H1>

<p>Dans la rue, il y a plein de gens:</p> <xsl:apply-templates /> </xsl:template>  <p> In the street, there are plenty of people: </ p> <xsl: apply-templates /> </ xsl: template>

La valeur de l'attribut name est inscrite en caractères gras.  The value of the name attribute is in bold.

<xsl:template match="*[@name]"> <li> <b> <xsl:value-of select="@name" /> </b> Si le noeud possède un attribut id, la valeur de l'attribut est placée dans le rendu entre parenthèses: <xsl:if test="(id"> (id= <xsl:value-of select="@id" /> ) </xsl:if> Si le noeud possède un attribut myfriend, la valeur de l'attribut est placée dans le rendu entre parenthèses: <xsl:if test="@myfriend"> (ami de <xsl:value-of select="@myfriend" /> ) </xsl:if> Si le noeud possède un attribut myenemies, la valeur de l'attribut est placée dans le rendu entre parenthèses: <xsl:if test="@myenemies"> (ennemi de <xsl:value-of select="(myenemies" /> ) </xsl:if> <xsl:choose> Si un noeud possédant un attribut name possède des sous-noeuds avec des attributs name, ces sousnoeuds sont présentés dans une liste précédé du label "Enfants:": <xsl:when test="*[@name]"> <blockquote> Enfants: 2 5 <ol> <xsl: for-each select-" * [@name]"> <xsl:apply-templates select-"." /> </xsl:for-each> </o1> 3 0 </blockquote> </xsl:when> Si un noeud possédant un attribut name ne possède pas des sous-noeuds avec des attributs name, le label "Aucun enfant" est affiché: <xsl:otherwise>- Aucun enfant</xsl:otherwise> </xsl:choose> </li> </xsl:template> </xsl:stylesheet> La structure de données XML est ici décomposée en un ensemble de contenants et de contenus. Ces derniers contiennent les éléments de la structure XML initiale. Dans un but de classification, les contenants peuvent optionnellement être associés à des catégories, de telle sorte que les contenus qu'ils possèdent soient classés dans cette catégorie. Sur la figure 68, dans la structure arborescente d'un document, on voit apparaître des  <xsl: template match = "* [@ name]"> <li> <b> <xsl: value-of select = "@ name" /> </ b> If the node has an id attribute, the value of the attribute is placed in the parenthetical rendering: <xsl: if test = "(id"> (id = <xsl: value-of select = "@ id" />) </ xsl: if> If the node has a myfriend attribute, the value of the attribute is placed in parenthetical rendering: <xsl: if test = "@ myfriend"> (friend of <xsl: value-of select = "@ myfriend" />) </ xsl: if> If the node has a myenemies attribute, the value of the attribute is placed in the parenthetical rendering: <xsl: if test = "@ myenemies"> (enemy of <xsl: value-of select = "(myenemies" />) </ xsl: if> <xsl: choose> If a node with a name attribute has subnodes with name attributes, these subnodes are presented in a list preceded by the "Children:" label: <xsl: when test = "* [@ name]"> <blockquote> Children: 2 5 <ol> <xsl: for-each select- "* [@name]"> <xsl: apply-templates select- "." /> < / xsl: for-each> </ o1> 3 0 </ blockquote> < / xsl: when> If a node with a name attribute does not have subnodes with name attributes, the "No child" label is displayed: <xsl: otherwise> - No child </ xsl: otherwise> </ xsl : choose> </ li> </ xsl: template> </ xsl: stylesheet> Here, the XML data structure is broken down into a set of containers and contents. These contain the elements of the initial XML structure. For purposes of classification, the containers may optionally be associated with categories, so that the contents they possess are classified in this category. In FIG. 68, in the tree structure of a document, we see

contenants (illustrés en pointillés).  containers (shown in dotted lines).

La figure 69 illustre le fait qu'une telle structure permet de prendre des éléments  Figure 69 illustrates the fact that such a structure makes it possible to take elements

d'un contenant pour les placer dans d'autres par le procédé importation.  container to place in others by the import process.

On décrira également un procédé de dérivation permettant de placer un contenant dans un autre, dans le but de profiter du contenu du contenant d'origine, comme  There will also be described a derivation process for placing a container in another, in order to take advantage of the contents of the original container, such as

schématisé par la figure 70.schematized by Figure 70.

La figure 71 illustre le fait que ces manipulations peuvent également être effectuées  Figure 71 illustrates that these manipulations can also be performed

d'un document à l'autre.from one document to another.

On cherche à pouvoir, à partir de pages Internet, restructurer les informations qui s'y trouvent afin de permettre à l'utilisateur de se composer ses propres pages, et ceci à partir de contenants et de contenus qu'il trouve au cours de sa navigation. Cela implique de définir une macrostructure de contenants/contenus, et de dissocier les  We try to be able, from Internet pages, to restructure the information that is there to allow the user to compose his own pages, and this from containers and contents that he finds during his navigation. This involves defining a macrostructure of containers / contents, and dissociating

contenus, qui pourront ainsi être déplacés ou reproduits d'une page à l'autre.  content, which can be moved or reproduced from one page to another.

Sur cette base, les données XML d'un document de la Toile seront décomposées pour adopter la structure suivante: - un arbre de structure définissant l'imbrication des différents contenants d'information, chacun portant les références de ses contenus;  On this basis, the XML data of a Web document will be decomposed to adopt the following structure: - a structure tree defining the nesting of the different information containers, each bearing the references of its contents;

- une suite de contenus, regroupant les éléments référencés dans les contenants.  a series of contents, grouping the elements referenced in the containers.

Etapes de la transformation L'administrateur d'une page d'un site dispose d'un code XML initial (on reprendra l'exemple déjà présenté plus haut), qu'il désire faire partager aux utilisateurs du  Steps of the transformation The administrator of a page of a site has an initial XML code (one will take again the example already presented above), which it wishes to make share with the users of the

système.system.

A. Création de la macrostructure Pour que le code " source >> puisse être restructuré et stocké en évitant les 2 0 redondances, l'utilisateur spécifie quels éléments sont des contenus et à quel contenant chaque contenu appartient. Ceci permet de constituer ce qu'on appelle ici  A. Creating the Macrostructure In order for the source code to be restructured and stored without redundancy, the user specifies which elements are contents and which container each content belongs to. we call here

la macrostructure.the macrostructure.

Les contenants sont spécifiés au moyen d'attributs. Utiliser des attributs plutôt que des " balises >> (" tags " en terminologie anglo- saxonne) offre l'avantage de ne pas modifier la structure et ainsi, notamment, de ne pas remettre en cause l'application de feuilles de style XSL. La restructuration est ainsi " non intrusive ". On va maintenant présenter l'application d'une méthode de spécification de contenus et contenants (en se servant de l'exemple déjà présenté plus haut) au moyen d'attributs <Root CONTAINERNUMBER=" I" CATEGORY="url 1 "> exemple d'informations <img src:"urlsource"/> de toutes sortes <A id="A- 1" name="Anatole"> <C name="Hubert" CONTAINERNUMBER" 1"" CATEGORY:"url2" id="C- 1" /> <Cname="Edouard" CONTAINERNUMBER="2" CATEGORY="url3"/> <C name="Antoine" CONTAINERNUMBER="2" CATEGORY="url3"/> <C name=" Raymond" CONTAINERNUMBER="2" CATEGORY="url3"/> </A> <B name="Henri" /> <B name="Claude" CONTAINERNUMBER=" 1" CATEGORY="url4" myfriend="C- 1" myenemies="A- 1 B- 1 "> exemple informations texte exemple informations texte <D name="Dominique" myfriend="A- l"/> </B> <B name" Robert" CONTAINERNUMBER=" 1" CATEGORY="url4" id="B-l"/> <B name="Andre" CONTAINERNUMBER=" 1" CATEGORY="url4" > </Root> On notera que: - " Hubert " est dans un container (CONTAINERNUMBER= "1 ") différent de celui  Containers are specified by means of attributes. Using attributes rather than "tags" ("tags" in English terminology) offers the advantage of not changing the structure and thus, in particular, not to question the application of XSL style sheets. The restructuring is thus "non-intrusive." We will now present the application of a method of specification of contents and containers (using the example already presented above) by means of attributes <Root CONTAINERNUMBER = "I "CATEGORY =" url 1 "> sample information <img src:" urlsource "/> of all kinds <A id="A- 1" name="Anatole"> <C name =" Hubert "CONTAINERNUMBER" 1 " "CATEGORY:" url2 "id =" C- 1 "/> <Cname =" Edward "CONTAINERNUMBER =" 2 "CATEGORY =" url3 "/> <C name =" Antony "CONTAINERNUMBER =" 2 "CATEGORY =" url3 " /> <C name = "Raymond" CONTAINERNUMBER = "2" CATEGORY = "url3" /> </A> <B name = "Henry" /> <B name = "Claude" CONTAINERNUMBER = "1" CATEGORY = "url4 "myfriend =" C- 1 "myenemies =" A- 1 B- 1 "> example information text example information te xte <D name = "Dominique" myfriend = "A-" /> <B name "Robert" CONTAINERNUMBER = "1" CATEGORY = "url4" id = "Bl" /> <B name = "Andre "CONTAINERNUMBER =" 1 "CATEGORY =" url4 "> </ Root> Note that: -" Hubert "is in a container (CONTAINERNUMBER =" 1 ") different from the one

d' " Antoine ", " Edouard >> et " Raymond " (CONTAINERNUMBER= "2").  of "Antoine", "Edouard" and "Raymond" (CONTAINERNUMBER = "2").

- les attributs << myfriend " et << myenemies >> sont des références aux noeuds de l'arbre, car ils ont été spécifiés comme tels (type " idref ") par le schéma associé au  - the attributes "myfriend" and "myenemies" are references to the nodes of the tree, because they have been specified as such (type "idref") by the schema associated with the

code source en langage XML.source code in XML.

Remarques 1- La macrostructure permet de dissocier les éléments, de la structure dans laquelle ils résident. Ainsi, les éléments sont stockés de manière unique sur le serveur quel  Notes 1- The macrostructure allows to dissociate the elements, of the structure in which they reside. Thus, the elements are stored uniquely on the server which

3 0 que soit le nombre de fois o ils ont été reproduits.  30 the number of times they have been reproduced.

2- Par défaut, sans aucune intervention manuelle, la macrostructure pourrait être automatiquement calquée sur la structure du document. La granularité du partage (granularité des éléments qui peuvent être répliqués) serait alors celle des éléments du document. Mais le système serait alors lourd à manipuler pour l'utilisateur, la macrostructure serait volumineuse et les performances s'en ressentiraient. L'approche que nous présentons consiste à permettre de spécifier la macrostructure explicitement dans les documents, c'est-à-dire de choisir la granularité des contenus qui peuvent être partagés. Ainsi, lors de la spécification d'un contenu, celui-ci est, par la même occasion, localisé dans un contenant qui peut regrouper plusieurs contenus. Comme les contenus auraient pu être calqués sur la structure des éléments du document, les contenants auraient pu être calqués sur la structure des contenus (tous les contenus enfants d'un même parent auraient alors été mis dans un contenant). On a préféré ici spécifier explicitement quels contenus sont situés dans  2- By default, without any manual intervention, the macrostructure could be automatically modeled on the structure of the document. The granularity of the partition (granularity of the elements that can be replicated) would then be that of the elements of the document. But the system would be heavy to handle for the user, the macrostructure would be bulky and the performance would suffer. The approach we present is to allow to specify the macrostructure explicitly in the documents, that is to say to choose the granularity of the contents that can be shared. Thus, when specifying a content, it is, at the same time, located in a container that can group several contents. As the contents could have been modeled on the structure of the elements of the document, the containers could have been modeled on the structure of the contents (all the contents children of the same parent would have been put in a container). We preferred here explicitly to specify which contents are located in

quels contenants.which containers.

B. Code décomposé A partir des indications figurant dans le nouveau code source, est construite la structure décomposée, constituée d'une part par l'arbre de structure et d'autre part la  B. Code decomposed From the indications appearing in the new source code, the decomposed structure is built up, on the one hand by the structural tree and on the other hand by the structure

2 0 suite de contenus.2 0 following contents.

Dans notre exemple, l'arbre de structure est la suivante: <CONTAINER SRC="... ?id= 12" CATEGORY="url 1"> 2 5 <CONTENTREF id="ContentRef-l" SRC:"...?id= Content-42" NAME="Root">  In our example, the structure tree is: <CONTAINER SRC = "...? Id = 12" CATEGORY = "url 1"> 2 5 <CONTENTREF id = "ContentRef-1" SRC: "... ? id = Content-42 "NAME =" Root ">

<POSITIONCONTAINER N="1"><POSITIONCONTAINER N = "1">

(Container o se trouve Hubert) <CONTAINER SRC=".. ?id= 13" CATEGORY="url2"> <CONTENTREF id="ContentRef-2" SRC="... ?id= Content-43" NAME="C">  (Container o is Hubert) <CONTAINER SRC = "..? Id = 13" CATEGORY = "url2"> <CONTENTREF id = "ContentRef-2" SRC = "...? Id = Content-43" NAME = " C ">

</CONTAINER></ CONTAINER>

(Container o se trouvent Antoine, Edouard et Raymond) <CONTAINER SRC="... ?id= 14" CATEGORY="ur13"> <CONTENTREF id="ContentRef-3" SRC="...?id= Content-44" NAME="C"> <CONTENTREF id="ContentRef-4" SRC="...?id= Content45" NAME="C"> <CONTENTREF id="ContentRef-5" SRC="...?id= Content-46" NAME="C">  (Container o are Antoine, Edouard and Raymond) <CONTAINER SRC = "...? Id = 14" CATEGORY = "ur13"> <CONTENTREF id = "ContentRef-3" SRC = "...? Id = Content- 44 "NAME =" C "> <CONTENTREF id =" ContentRef-4 "SRC =" ...? Id = Content45 "NAME =" C "> <CONTENTREF id =" ContentRef-5 "SRC =" ...? id = Content-46 "NAME =" C ">

</CONTAINER></ CONTAINER>

</POSITIONCONTAINER ></ POSITIONCONTAINER>

<POSITIONCONTAINER N="2"><POSITIONCONTAINER N = "2">

<CONTAINER SRC="...?id =15" CATEGORY="ur14"> <CONTENTREF id="ContentRef6" SRC="...?id= Content-47" NAME="B">  <CONTAINER SRC = "...? Id = 15" CATEGORY = "ur14"> <CONTENTREF id = "ContentRef6" SRC = "...? Id = Content-47" NAME = "B">

<POSITIONELTREFS N="1"><POSITIONELTREFS N = "1">

<ELTREFS SRC="... ?id=ContentRef-2"/>  <ELTREFS SRC = "...? Id = ContentRef-2" />

</POSITIONELTREFS ></ POSITIONELTREFS>

<POSITIONELTREFS N="2"><POSITIONELTREFS N = "2">

<ELTREFS SRC="... ?id=ContentRef- l "/> <ELTREFS SRC="... ?id=ContentRef7"/>  <ELTREFS SRC = "...? Id = ContentRef- l" /> <ELTREFS SRC = "...? Id = ContentRef7" />

2 5 </POSITIONELTREFS >2 5 </ POSITIONELTREFS>

<POSITIONELTREFS N="3"><POSITIONELTREFS N = "3">

< ELTREFS SRC="... ?id=ContentRef- 1">  <ELTREFS SRC = "...? Id = ContentRef- 1">

</POSITIONELTREFS ></ POSITIONELTREFS>

</CONTENTREF></ CONTENTREF>

<CONTENTREF id="ContentRef-7" SRC="...?id= Content-48" NAME="B"/> <CONTENTREF id-"ContentRef-8" SRC="...?id= Content-49" NAME="B"/>  <CONTENTREF id = "ContentRef-7" SRC = "...? Id = Content-48" NAME = "B" /> <CONTENTREF id- "ContentRef-8" SRC = "...? Id = Content-49 "NAME =" B "/>

</CONTAINER></ CONTAINER>

<POSITIONCONTAINER ><POSITIONCONTAINER>

</CONTENTREF></ CONTENTREF>

</CONTAINER></ CONTAINER>

La suite de contenu est la suivante: <CONTENT id=" Content-42" CATEGORY="url 1"> <Root> exemple d'informations <img src:"urlsource"/> de toutes sortes <A name="Anatole" id="A- 1">  The following content is: <CONTENT id = "Content-42" CATEGORY = "url 1"> <Root> sample information <img src: "urlsource" /> of all kinds <A name = "Anatole" id = "A- 1">

<POSITIONCONTAINER N="1"/><POSITIONCONTAINER N = "1" />

</A> <B name="Henri" /></A> <B name = "Henri" />

<POSITIONCONTAINER N="2"/><POSITIONCONTAINER N = "2" />

</Root></ Root>

2 0 </CONTENT>2 0 </ CONTENT>

<CONTENT id="Content-43" CATEGORY="url2"> <C name="Hubert" id=C-1/>  <CONTENT id = "Content-43" CATEGORY = "url2"> <C name = "Hubert" id = C-1 />

</CONTENT></ CONTENT>

<CONTENT id=" Content-44" CATEGORY="url3"> <C name="Edouard"/>  <CONTENT id = "Content-44" CATEGORY = "url3"> <C name = "Edward" />

</CONTENT></ CONTENT>

<CONTENT id=" Content-45" CATEGORY:"url3"> <C name="Antoine"/>  <CONTENT id = "Content-45" CATEGORY: "url3"> <C name = "Antoine" />

</CONTENT></ CONTENT>

<CONTENT id=" Content-46" CATEGORY="url3"> <C name=" Raymond"/>  <CONTENT id = "Content-46" CATEGORY = "url3"> <C name = "Raymond" />

</CONTENT></ CONTENT>

<CONTENT id=" Content-47" CATEGORY="ur14"> <B name="Claude" myfriend="C1" myenemies="A-1 B- 1"> <POSITION_ELTREFS N="1" ATTRIB="myfriend"/> <POSITION_ELTREFS N="2" ATTRIB="myenemies"/> exemple informations texte exemple informations texte <D name="Dominique" myfriend="A- 1"> <POSITIONELTREFS N="3" ATTRIB="myfriend"/> </D>  <CONTENT id = "Content-47" CATEGORY = "ur14"> <B name = "Claude" myfriend = "C1" myenemies = "A-1 B-1"> <POSITION_ELTREFS N = "1" ATTRIB = "myfriend" /> <POSITION_ELTREFS N = "2" ATTRIB = "myenemies" /> example information text example information text <D name = "Dominique" myfriend = "A- 1"> <POSITIONELTREFS N = "3" ATTRIB = "myfriend" / > </ D>

<B!><B!>

</CONTENT></ CONTENT>

<CONTENT id="48" CATEGORY="url4"> <B name="Robert" id="B-1"/>  <CONTENT id = "48" CATEGORY = "url4"> <B name = "Robert" id = "B-1" />

</CONTENT></ CONTENT>

<CONTENT id="49" CATEGORY="url4"> <B name="Andre"/>  <CONTENT id = "49" CATEGORY = "url4"> <B name = "Andre" />

</CONTENT></ CONTENT>

Comme on peut le voir, toutes les données d'arbre de départ sont séparées dans la suite de contenus. L'arbre de structure représente l'imbrication des contenants entre eux. 3 0 L'imbrication entre " Root >> et << Henri >> ne figure pas dans l'arbre de structure car " Root "> et " Henry " sont dans le même contenu. Par contre, l'imbrication entre << Anatole " et " Hubert ", " Edouard ", " Antoine " et " Raymond " est reflétée dans l'arbre de structure, car " Hubert ", " Edouard ", " Antoine " et << Raymond " sont  As can be seen, all starting tree data is separated in the following content. The structure tree represents the nesting of the containers between them. 3 The nesting between "Root" and "Henry" is not in the structure tree because "Root" and "Henry" are in the same content, but the nesting between << Anatole "and" Hubert "," Edouard "," Antoine "and" Raymond "are reflected in the structure tree, because" Hubert "," Edouard "," Antoine "and" Raymond "are

regroupés dans deux contenants différents sous " Anatole ".  grouped in two different containers under "Anatole".

De plus, on constate que les contenants peuvent être disposés de façon bien précise dans les contenus. On parlera de positionnement. Les contenus dans lesquels se trouvent des contenants portent une balise indiquant o les contenants se trouvent (au moyen d'un numéro POSITION_CONTAINER N). Les positions dans les contenus sont utilisés dans l'arbre de structure. Chaque contenant est en effet imbriqué sous une balise POSITIONCONTAINER ayant un numéro. Ce numéro correspond à  In addition, it is found that the containers can be arranged very precisely in the contents. We will talk about positioning. The contents in which there are containers carry a tag indicating o the containers are (by means of a number POSITION_CONTAINER N). The positions in the contents are used in the structure tree. Each container is indeed nested under a POSITIONCONTAINER tag with a number. This number corresponds to

l'indication " N " figurant dans les contenus. Ceci est illustré sur la figure 72.  the indication "N" in the contents. This is illustrated in Figure 72.

Lorsque certaines balises possèdent des références à d'autres balises, cela est matérialisé dans l'arbre de structure et dans la suite de contenus au moyen de la balise POSITION_ELTREFS. La même approche que pour le positionnement des contenants est utilisé. La position de références à des éléments est matérialisée dans un contenu à l'aide d'un numéro POSITION_ELTREFS N, que l'on retrouve dans l'arbre de structure, dans le champ " CONTENTREF " correspondant. Cette indirection permet de retrouver, dans la structure arborescente de contenants, le  When some tags have references to other tags, this is materialized in the structure tree and in the content suite by means of the POSITION_ELTREFS tag. The same approach as for the positioning of the containers is used. The position of references to elements is materialized in a content using a number POSITION_ELTREFS N, which one finds in the tree of structure, in the field "CONTENTREF" correspondent. This indirection makes it possible to find, in the tree structure of containers, the

2 0 contenu o se trouve l'élément référencé. Ceci est illustré à la figure 73.  Where is the referenced element. This is illustrated in Figure 73.

Détail de la macrostructure décomposée a. Arbre de structure 1. Balise " CONTAINER " Cette balise représente un contenant au sein de l'arbre de structure. Un contenant est  Detail of the decomposed macrostructure a. Structure tree 1. "CONTAINER" tag This tag represents a container within the structure tree. A container is

identifié par une adresse URL dénommée SRC.  identified by a URL called SRC.

Cette adresse URL est composée du nom de domaine o le contenant est archivé, et de l'identifiant local de ce contenant pour le domaine. Si plusieurs serveurs sont associés à un nom de domaine, alors ce nom de serveur est spécifié dans l'adresse URL entre le nom de domaine et l'identifiant local: SRC: DomainName/ServerName?ID Cette balise comporte également un attribut indiquant à quelle catégorie est associé  This URL is composed of the domain name where the container is archived, and the local identifier of this container for the domain. If multiple servers are associated with a domain name, then this server name is specified in the URL address between the domain name and the local identifier: SRC: DomainName / ServerName? ID This tag also has an attribute indicating to which category is associated

le contenant. Cette catégorie est spécifiée au moyen d'une adresse URL.  container. This category is specified by means of a URL.

Un contenant est composé de plusieurs balises CONTENTREF (voir définition précise ci-après) qui renvoient au contenu dans la succession de contenus. De plus, un contenant peut être dans un contenu à une position donnée, selon la balise POSITION_CONTAINER (définie ci-après) désignant la position à laquelle il se  A container is composed of several CONTENTREF tags (see precise definition below) that refer to the content in the succession of contents. In addition, a container may be in a content at a given position, according POSITION_CONTAINER tag (defined below) designating the position at which it is located.

trouve.find.

Par exemple:For example:

<CONTAINER SRC="... ?id=12>> CATEGORY="URL"> 2. Balise "CONTENTREF >> Cette balise constitue une référence à un élément donné CONTENT de la succession de contenus. Il est identifié par un identificateur entier " ID >>, et porte un attribut 2 5 SRC qui est l'identifiant unique du contenu CONTENT référencé. La même syntaxe d'adresse URL que pour les contenants est adoptée. Les balises CONTENTREF comportent également un nom NAME:  <CONTAINER SRC = "...? Id = 12 >> CATEGORY =" URL "> 2." CONTENTREF "tag This tag is a reference to a given CONTENT element of the content sequence. It is identified by an integer identifier "ID", and carries a SRC attribute which is the unique identifier of the referenced content CONTENTREF The same URL syntax as for the containers is adopted. NAME name:

<CONTENTREF ID= "432" SRC="... ?43" NAME="A"/>  <CONTENTREF ID = "432" SRC = "...? 43" NAME = "A" />

3. Balise " POSITIONCONTAINER >> Cette balise permet de matérialiser les différentes positions o on peut trouver des contenants dans un contenu. Comme le montre l'exemple ci-après, une balise  3. "POSITIONCONTAINER" tag This tag is used to indicate the different positions where you can find containers in a content, as shown in the example below.

CONTENTREF peut contenir plusieurs balises POSITION_CONTAINER, c'est-à-  CONTENTREF can contain several POSITION_CONTAINER tags, that is,

dire que des contenants peuvent être disposés à plusieurs endroits du contenu en question. De plus, à une position donnée, il est possible de trouver plusieurs contenants, comme dans l'exemple suivant:  that containers may be placed in more than one location of the content in question. In addition, at a given position, it is possible to find several containers, as in the following example:

< CONTENTREF ID=26 SRC="... ?ID=44" NAME="<<B">  <CONTENTREF ID = 26 SRC = "...? ID = 44" NAME = "<< B">

<POSITIONCONTAINER N=1><POSITIONCONTAINER N = 1>

<CONTAINER SRC="... ?ID=13" CATEGORY="URLI">  <CONTAINER SRC = "...? ID = 13" CATEGORY = "URLI">

< CONTENTREF ID=27 SRC="... ?ID=45" NAME="B 1 "/>  <CONTENTREF ID = 27 SRC = "...? ID = 45" NAME = "B 1" />

</CONTAINER></ CONTAINER>

<CONTAINER SRC="... ?ID=14" CATEGORY="URL2">  <CONTAINER SRC = "...? ID = 14" CATEGORY = "URL2">

< CONTENTREF ID=28 SRC="... ?ID=46" NAME="B2"/>  <CONTENTREF ID = 28 SRC = "...? ID = 46" NAME = "B2" />

</CONTAINER></ CONTAINER>

</POSITIONCONTAINER></ POSITIONCONTAINER>

<POSITIONCONTAINER N=2><POSITIONCONTAINER N = 2>

<CONTAINER SRC="... ?ID= 13" CATEGORY="URL 1">  <CONTAINER SRC = "...? ID = 13" CATEGORY = "URL 1">

2 0 <CONTENTREF ID=29 SRC="... ?ID=47" NAME="B3"/>  2 0 <CONTENTREF ID = 29 SRC = "...? ID = 47" NAME = "B3" />

</CONTAINER></ CONTAINER>

</POSITIONCONTAINER></ POSITIONCONTAINER>

</CONTENTREF></ CONTENTREF>

2 5 b. Suite de contenus 1. Balise <" CONTENT " Cette balise représente un contenu. Un contenu peut contenir une ou plusieurs balises du code source XML d'origine. Les contenus sont identifiés par un identifiant unique, et portent l'adresse URL de la catégorie à laquelle ils appartiennent, comme dans l'exemple suivant:  B. Content Suite 1. <CONTENT "tag This tag represents content. Content may contain one or more tags from the original XML source code. The contents are identified by a unique identifier, and carry the URL of the category to which they belong, as in the following example:

<CONTENT ID:"43>> CATEGORY="URL"><CONTENT ID: "43 >> CATEGORY =" URL ">

<A> <C> </A><A> <C> </A>

</CONTENT></ CONTENT>

Il se peut que certains cas conduisent à la création de contenus: (i) soit des contenus externes, à savoir un contenu qui pointe sur un autre contenu d'un hôte différent (de catégorie externe), par exemple: <CONTENT ID=" <<124" CATEGORY="URL2(externe)"> <A> <C/> </A>  There may be cases that lead to the creation of content: (i) external content, that is, content that points to another content of a different (external category) host, for example: <CONTENT ID = " << 124 "CATEGORY =" URL2 (external) "> <A> <C /> </A>

</CONTENT></ CONTENT>

(ii) soit des contenus indirects, à savoir un contenu qui pointe sur un autre contenu du même hôte (mais de catégorie différente), par exemple:  (ii) indirect content, ie content that points to another content of the same host (but of a different category), for example:

<CONTENT ID=<<44" CATEGORY="URL3>> INDIRECT=<<43" >  <CONTENT ID = << 44 "CATEGORY =" URL3 "INDIRECT = << 43">

2 5 </CONTENT>2 5 </ CONTENT>

2. Balise " POSITIONCONTAINER " Cette balise indique la position o un contenant peut être inséré dans un contenu, par  2. "POSITIONCONTAINER" tag This tag indicates the position where a container can be inserted into a content, for example

3 0 exemple:For example:

< POSITIONCONTAINER N="l"/> 3. Balise << POSITIONELTREFS " Cette balise permet de matérialiser, dans le contenu, les références que certaines balises portent sur d'autres. Comme les balises " POSITION_CONTAINER ", ils portent un attribut entier << N " indiquant leurs positions dans le contenu. Ils possèdent également un attribut " ATTRIB " qui contient le nom de l'attribut utilisé par l'auteur du code source XML pour définir la référence. Par exemple: <POSITION_ELTREFS N="I" ATTRIB=<"myfriends"/> C. Recomposition des pages de la Toile La figure 74 illustre le fait que l'internaute dispose d'un accès supplémentaire à l'information. Il peut y accéder de façon classique en se connectant sur le site source de la Toile, et il peut également y accéder via le système, qui lui permet d'interagir  <POSITIONCONTAINER N = "l" /> 3. Tag "POSITIONELTREFS" This tag makes it possible to materialize, in the contents, the references that some beacons carry on others.As the tags "POSITION_CONTAINER", they carry an integer attribute < <N "indicating their positions in the content. They also have an attribute "ATTRIB" which contains the name of the attribute used by the author of the XML source code to define the reference. For example: <POSITION_ELTREFS N = "I" ATTRIB = <"myfriends" /> C. Recomposition of the pages of the Web Figure 74 illustrates the fact that the Net surfer has an additional access to the information. It can access it in a classic way by connecting to the source site of the Web, and it can also access it via the system, which allows it to interact

avec les contenants et les contenus, c'est-à-dire les organiser selon sa volonté.  with the containers and the contents, that is to say to organize them according to his will.

Le système décompose ce site en contenants/contenus (ce site doit impérativement avoir été mis par son administrateur sous la forme déjà décrite auparavant, à savoir la forme dans laquelle l'administrateur a notamment indiqué o se trouvent les  The system breaks down this site into containers / contents (this site must imperatively have been put by its administrator in the form already described before, namely the form in which the administrator has indicated in particular where are the

contenus et contenants).contents and containers).

Afin d'être présentées à l'internaute, les informations en sortie du système sont reconstituées et transformées à l'aide de la feuille de style XSL associée au code XML d'origine. Pour permettre la manipulation de <" poignées " (qui permettent de désigner graphiquement des contenus, la feuille de style XSL ajoute à la volée, dans la spécification XSL d'origine, du code de présentation. Ce procédé est schématisé  In order to be presented to the user, the output information of the system is reconstructed and transformed using the XSL style sheet associated with the original XML. To allow the manipulation of <"handles" (which allow to graphically designate contents), the XSL style sheet adds, on the fly, in the original XSL specification, presentation code.

3 0 sur la figure 75.In FIG. 75.

D. Code XML reconstituéD. Reconstructed XML code

Afin de pouvoir être présenté à l'intemrnaute, le code XML décomposé est reconstitué.  In order to be presented to the user, the decomposed XML is reconstructed.

On peut ainsi lui appliquer une feuille de style XSL. Lors de la reconstitution, il est fait en sorte que les contenus et les contenants soient matérialisés pour que  We can then apply an XSL style sheet. During reconstitution, it is ensured that the contents and containers are materialized so that

l'utilisateur puisse les manipuler.the user can manipulate them.

A cet égard, comme on va le voir par la suite, l'intemaute peut sélectionner un contenu ou un contenant au moyen de " poignées " pour les déplacer o les mettre  In this regard, as we will see later, the intemaute can select a content or a container by means of "handles" to move or put them

dans un autre document.in another document.

Pour l'exemple traité jusqu'ici le code reconstitué est le suivant <Root CONTAINERNUMBER="1" CATEGORY="urll1"> Exemple d'informations <img src="urlsource"/> de toutes sortes <A id="A- 1" name="Anatole"> <C name="Hubert" CONTAINERNUMBER="1"  For the example treated so far the reconstituted code is the following <Root CONTAINERNUMBER = "1" CATEGORY = "urll1"> Example of information <img src = "urlsource" /> of all kinds <A id = "A- 1 "name =" Anatole "> <C name =" Hubert "CONTAINERNUMBER =" 1 "

CONTAINERID=" 13"CONTAINERID = "13"

CONTENTID="43"Contentid = "43"

CATEGORY:"url2" id="C- 1" /> <C name="Edouard" CONTAINERNUMBER="2"  CATEGORY: "url2" id = "C- 1" /> <C name = "Edward" CONTAINERNUMBER = "2"

CONTAINERID=" 14"CONTAINERID = "14"

CONTENTID="44"ContentID = "44"

CATEGORY:"url3"/> <C name:"Antoine" CONTAINERNUMBER="2"  CATEGORY: "url3" /> <C name: "Antoine" CONTAINERNUMBER = "2"

CONTAINERID=" 14"CONTAINERID = "14"

CONTENTID="45"Contentid = "45"

CATEGORY="ur13"/> <C name="Raymond" CONTAINERNUMBER="2"  CATEGORY = "ur13" /> <C name = "Raymond" CONTAINERNUMBER = "2"

CONTAINERID=" 14"CONTAINERID = "14"

CONTENTID="46"Contentid = "46"

CATEGORY="url3"/> </A> <B name="Henri" /> <B name:"Claude" CONTAINERNUMBER="I"  CATEGORY = "url3" /> </A> <B name = "Henry" /> <B name: "Claude" CONTAINERNUMBER = "I"

CONTAINERID="86"ContainerId = "86"

CONTENTID="47"Contentid = "47"

CATEGORY="url4" myfriend="C- 1" myenemies="A- 1 B- 1"> Exemple informations texte exemple informations texte 2 0 <D name="Dominique" myfriend="A-1"/> </B> <B name="Robert" CONTAINERNUMBER="1"  CATEGORY = "url4" myfriend = "C- 1" myenemies = "A- 1 B- 1"> Example information text example information text 2 0 <D name = "Dominique" myfriend = "A-1" /> </ B > <B name = "Robert" CONTAINERNUMBER = "1"

CONTAINERID="87"ContainerId = "87"

CONTENTID="48"Contentid = "48"

CATEGORY="url4" id="B- 1"> <B name="Andre" CONTAINERNUMBER="1"  CATEGORY = "url4" id = "B- 1"> <B name = "Andre" CONTAINERNUMBER = "1"

3 0 CONTAINERID="88"3 0 CONTAINERID = "88"

CONTENTID="49"Contentid = "49"

CATEGORY="url4" /> </Root> Exemple de présentation A partir du code XML reconstitué, une page HTML de présentation est construite au moyen d'une feuille de style XSL. Dans le cadre de l'exemple présenté en introduction de cette section, la même feuille XSL est reprise, à ceci près qu'on lui a ajouté des " éléments de dérivation " (c'est-à-dire les poignées) permettant  CATEGORY = "url4" /> </ Root> Presentation example From the reconstructed XML, a presentation HTML page is constructed using an XSL style sheet. In the context of the example presented in the introduction of this section, the same XSL sheet is used, except that it has been added "bypass elements" (that is to say the handles) allowing

d'interagir avec le contenu de la page.  to interact with the content of the page.

Dans la suite, on va décrire précisément en quoi consistent ces éléments de dérivation, puis comment se passent les actions d'importation/dérivation et leur  In the following, we will describe precisely what these derivation elements are, then how are the actions of import / derivation and their

conséquence: la suggestion.consequence: the suggestion.

A. Insertion de poignées d'importation/dérivation On définit à l'aide d'un modèle (" Template " en terminologie anglo-saxonne) la 2 0 transformation en langage HTML des informations de la structure qui permettent la dérivation, l'importation et l'association de liens ajoutés. Les contenants ne peuvent pas être représentés en tant que tels, car ils ne correspondent pas forcément à une " enveloppe " (à savoir à un objet graphique unique) vue graphiquement dans la page HTML résultante. C'est pourquoi cette transformation donne un élément graphique (élément de dérivation) pour chaque noeud de type contenu. Cet élément de dérivation permet la gestion du glisser-déposer à la fois des contenants et des contenus. En effet, un composant " BEHAVIOR " (voir l'Annexe) attaché à  A. Inserting import / derivation handles Using a template ("Template" in English terminology), the transformation into HTML of the information of the structure which allows the derivation, the import is defined. and the association of added links. Containers can not be represented as such, because they do not necessarily correspond to an "envelope" (ie to a single graphic object) viewed graphically in the resulting HTML page. That is why this transformation gives a graphical element (derivation element) for each node of type content. This derivation element allows drag and drop management of both containers and contents. Indeed, a component "BEHAVIOR" (see Appendix) attached to

l'élément communique alors avec le système.  the element then communicates with the system.

3 0 Le modèle précité est ajouté en fin de la page XSL afin de la surcharger efficacement  The above model is added at the end of the XSL page in order to overload it effectively.

et pour que les éléments de dérivation soient effectivement affichés.  and for the derivation elements to be actually displayed.

</ =las soIelduwol-ldde:Isx></ = las soIelduwol-ldde: Isx>

<I1A0:ISX/><I1A0: ISX />

(o',,(}IEtINIVIlNOD,,)alnq. lluVla Sl  (o ',, (} IEtINIVIlNOD ,,) alnq, lluVla Sl

<IUAD:ISX><IUAD: ISX>

<J.:lSX/> <luomolo:lsx/> <olnq.m3u:sx/> o E </(IIULNtLNOD,,l:1olos joonIA:Isx> </ALUI}WINOEIOPSJO-â'fltA:SX> <,,pIuluoo,,=otueu omnqu.w:isx> <olnq.ille:Isx/> </,,(I itNIVJ.NOD),,:1oolos.jo-onl^A:Isx> (oq'do.puimp'uilsXs/')i.m: >JOIAVHit 01 <..,1,úS,,=otm*u oinq.ul:Isx> <,,AIO,,=omweu luoLumoI:[sx> <,.[.[= t OIN3IINVH]*/,,=1sal j!:Isx> S <,,[0<0I}IttNIVúNOD) ].,,:qoleU Xoeldwol:lsx>  <J.:lSX/> <luomolo: lsx /> <olnq.m3u: sx /> o E </ (IIULNtLNOD ,, l: 1olos joonIA: Isx> </ ALUI} WINOEIOPSJO-a'fltA: SX> <, , pIuluoo ,, = otueu omnqu.w: isx> <olnq.ille: Isx /> </ ,, (I itNIVJ.NOD) ,,: 1oolos.jo-onl ^ A: Isx> (oq'do.puimp ' uilsXs / ') im:> JOIAVHit 01 <.., 1, úS ,, = otm * u oinq.ul: Isx> <,, AIO ,, = omweu luoLumoI: [sx> <,. [. [= t OIN3IINVH ] * / ,, = 1sal j!: Isx> S <,, [0 <0I} IttNIVúNOD)]. ,,: qoleU Xoeldwol: lsx>

: lueAins l[.I ap oldwoxo Did inod olopoum o op omIle, -  : lueAins l [.I ap oldwoxo Did inod olopoum o op omle, -

L'élément DIV (introduit en 3e ligne) est un élément de dérivation auquel est associé le composant " BEHAVIOR:url(.../system.dragndrop.htc) ", dont l'allure est présentée en Annexe. Ce composant permet une gestion du " glisser-déposer " des  The DIV element (introduced in the 3rd line) is a derivation element with which the component "BEHAVIOR: url (... / system.dragndrop.htc)" is associated, whose appearance is presented in the Appendix. This component allows a management of the "drag and drop" of

éléments pour la dérivation de contenants qu'il communiquera au système.  elements for the derivation of containers that it will communicate to the system.

B. Réception de l'événement " ONDERIVE " Lorsque le composant BEHAVIOR déclenche l'événement ONDERIVE, par l'instruction " fire("ONDERIVE", oEvent) " qui se trouve dans la fonction "FinishDrag" (la variable " oEvent " étant un objet événement dans lequel sont disponibles les informations (identifiants des éléments source et cible) qui permettent la dérivation et l'importation), le système est alors averti et réalise les actions suivantes:  B. Reception of the event "ONDERIVE" When the component BEHAVIOR triggers the event ONDERIVE, by the instruction "fire (" ONDERIVE ", oEvent)" which is in the function "FinishDrag" (the variable "oEvent" being an event object in which are available information (identifiers of the source and target elements) that allow derivation and import), the system is then notified and performs the following actions:

1- il demande si l'utilisateur désire importer le contenu ou dériver le contenant;.  1- he asks if the user wishes to import the contents or to derive the container ;.

2- il envoie la requête d'importation/dérivation; 3- il vérifie si la page d'affichage est capable de prendre en compte la nouvelle 2 0 source; 4- il déclenche le rafraîchissement de l'affichage, de la façon suivante: a. si la page est figée, reconstruction et traitement global de la source;  2- it sends the import / derivation request; 3- it checks whether the display page is able to take into account the new source; 4- it triggers the refresh of the display, as follows: a. if the page is frozen, reconstruction and overall treatment of the source;

b. si la page est dynamique, simple notification d'insertion de données.  b. if the page is dynamic, simple notification of data insertion.

Dans ce cas, la page reçoit la notification.  In this case, the page receives the notification.

Cet événement fournit un pointeur sur un objet qui permet au script de la page de transformer cette nouvelle source (à l'aide, par exemple, de la feuille XSL qui l'a  This event provides a pointer to an object that allows the script of the page to transform that new source (using, for example, the XSL sheet that has it

initialisée) et d'insérer le code HTML résultant dans la page.  initialized) and insert the resulting HTML code into the page.

C. Manipulation de la macrostructure L'élaboration de la macrostructure de contenants/contenus permet: - de placer de nouveaux contenus dans un contenant; on parle alors d'importation de contenus; - de reproduire un contenant au sein d'autres contenus; on parle alors de dérivation  C. Manipulation of the macrostructure The development of the macrostructure of containers / contents makes it possible: - to place new contents in a container; we are talking about importing content; - to reproduce a container within other contents; we then speak of derivation

de contenants.of containers.

Importation Supposons que l'on soit dans la situation illustrée dans la figure 76: les contenants 1 et 2 (" Container 1 >> et " Container 2 ") sont rattachés à la catégorie 1 (symbolisé par la flèche grise). Dans le contenant 1 figure une référence au contenu 1.1 (<< Content 1.1 "), et dans le contenant 2 figure une référence au contenu 1.2 (" Content 1.2 ")  Importing Assume that we are in the situation shown in Figure 76: Containers 1 and 2 ("Container 1" and "Container 2") are attached to Category 1 (symbolized by the gray arrow). 1 is a reference to the content 1.1 ("Content 1.1"), and in the container 2 there is a reference to the content 1.2 ("Content 1.2")

(ces références sont symbolisées par des flèches noires).  (These references are symbolized by black arrows).

Importer le contenu 1.1 dans le contenant 2 revient à créer, dans ce contenant, une balise CONTENTREF qui pointe vers le contenu 1.1 dans la suite de contenus. Ceci  Importing the content 1.1 into the container 2 amounts to creating, in this container, a CONTENTREF tag that points to the content 1.1 in the content suite. This

se traduit par la figure 77.is shown in Figure 77.

Quand on importe un contenu d'une catégorie dans un contenant associé à une catégorie différente, on dit que l'importation provoque une recatégorisation. Ceci se traduit par la création d'un contenu indirect, c'est à dire d'une balise similaire à une balise CONTENTREF mais qui s'en distingue par le fait qu'elle figure dans la suite  When importing content from a category into a container associated with a different category, it is said that the import causes a recategorization. This results in the creation of indirect content, ie a tag similar to a CONTENTREF tag, but which is distinguished by the fact that it appears in the following

de contenus, au sein d'une catégorie. Ceci est illustré sur la figure 78.  content, within a category. This is illustrated in Figure 78.

Dans le cas o les contenus importés possèdent des contenants, ces derniers sont  In the case where the imported contents have containers, these are

dérivés suivant le mécanisme décrit ci-après.  derivatives according to the mechanism described below.

Dérivation Supposons que l'on dispose de l'imbrication contenant/contenu présentée sur la  Derivation Suppose we have the container / content nesting presented on the

figure 79.figure 79.

Dériver le contenant I revient à l'insérer dans un contenu à une certaine " position ".  Deriving the container I amounts to inserting it into a content at a certain "position".

Pour ce faire, un nouveau contenant est créé dans l'arbre de structure, et pointe (c'est-à-dire possède une référence, matérialisée par une flèche grise sur le schéma  To do this, a new container is created in the structure tree, and points (that is, has a reference, shown as a gray arrow on the diagram.

de la figure 80a) vers le contenant que l'on veut dériver.  of Figure 80a) to the container that one wants to derive.

Sur le serveur, la structure de données a alors la forme suivante pour la partie dérivée: - pour l'arbre de structure: < CONTENTREF ID=26 SRC="... ?ID=44" NAME="Contenu"> 2 0 <POSITIONCONTAINER N=l>  On the server, the data structure then has the following form for the derived part: - for the structure tree: <CONTENTREF ID = 26 SRC = "...? ID = 44" NAME = "Content"> 2 0 <POSITIONCONTAINER N = l>

<CONTAINER SRC=<"... ?ID=126" SOURCESRC="... ?ID=I">  <CONTAINER SRC = <"...? ID = 126" SOURCESRC = "...? ID = I">

</CONTAINER></ CONTAINER>

<POSITIONCONTAINER><POSITIONCONTAINER>

</CONTENTREF></ CONTENTREF>

- pour la suite de contenus:- for the following content:

*<CONTENT ID:"44" CATEGORY="URL">* <CONTENT ID: "44" CATEGORY = "URL">

<Contenu> <POSITIONCONTAINER N="l"/> </Contenu>  <Content> <POSITIONCONTAINER N = "l" /> </ Content>

</CONTENT></ CONTENT>

Comme on peut le voir sur la figure 80a, le contenant 126 ne référence aucun contenu. Il a juste une référence sur le contenant source, à savoir celui à partir duquel on a effectué la dérivation. Le chargement des données dans le contenant dérivé se fait donc via le contenant source: il s'agit ici de " suggestion >>. Cela conduit, sur le  As can be seen in Figure 80a, the container 126 does not refer to any content. It just has a reference to the source container, namely the one from which the derivation was made. The loading of the data into the derived container is done via the source container: this is "suggestion".

poste client, à la disposition illustrée sur la figure 80b.  client station, in the arrangement illustrated in Figure 80b.

Les sous-contenants sont dérivés exactement de la même manière que le premier contenant: un nouveau contenant est créé et pointe vers le souscontenant source. La profondeur à laquelle on charge les éléments dans le contenant dérivé est fixée par le mécanisme de chargement progressif (voir plus loin chapitre V). Un tel mécanisme est nécessaire ici car, sinon, il pourrait se présenter des cas de boucles infinies dans le chargement. En effet, il est possible de dériver des contenants dans eux- mêmes,  The sub-containers are derived in exactly the same way as the first container: a new container is created and points to the source subcontainer. The depth at which the elements are loaded into the derived container is fixed by the progressive loading mechanism (see chapter V below). Such a mechanism is necessary here because, otherwise, there could be cases of infinite loops in the load. Indeed, it is possible to derive containers in themselves,

comme le montre la figure 81, et de créer ainsi une structure virtuellement infinie.  as shown in Figure 81, and thus create a virtually infinite structure.

Sans ce mécanisme, charger un contenant provoquerait alors une boucle infinie dans  Without this mechanism, loading a container would then cause an infinite loop in

le cadre d'une structure réellement infinie.  the framework of a truly infinite structure.

Cas de la superposition de contenants Comme on l'a déjà évoqué, les contenants sont insérés en des positions bien précises des contenus. Mais rien n'empêche d'insérer plusieurs contenants à une même  Case of the superposition of containers As already mentioned, the containers are inserted in very precise positions of the contents. But nothing prevents to insert several containers to the same

position. On parle alors de superposition de contenants.  position. This is called stacking containers.

2 5 Partons de la structure présentée dans la figure 82 (en notant que les éléments situés  2 5 Let us start from the structure presented in Figure 82 (noting that the elements

dans un cadre en pointillés sont considérés comme étant dans un contenant) .  in a dashed frame are considered to be in a container).

Cela se traduit ainsi: 3 0 - pour l'arbre de structure: <CONTENTREF ID=54 SRC="... ?ID=42" NAME="Root>>>  This translates as follows: 3 0 - for the structure tree: <CONTENTREF ID = 54 SRC = "...? ID = 42" NAME = "Root >>>

<POSITIONCONTAINER N=1><POSITIONCONTAINER N = 1>

<CONTAINER SRC="... ?ID=12" CATEGORY="<<URL>>>  <CONTAINER SRC = "...? ID = 12" CATEGORY = "<< URL >>>

<CONTENTREF ID=55 SRC="... ?ID=43" NAME=<<A">  <CONTENTREF ID = 55 SRC = "...? ID = 43" NAME = << A>

<POSITION CONTAINER N=l><POSITION CONTAINER N = 1>

<CONTAINER SRC="... ?ID= 13" CATEGORY="URL">  <CONTAINER SRC = "...? ID = 13" CATEGORY = "URL">

<CONTENTREF ID=56 SRC="... ?ID=44" NAME=-"C"/>  <CONTENTREF ID = 56 SRC = "...? ID = 44" NAME = - "C" />

</CONTAINER></ CONTAINER>

</POSITIONCONTAINER></ POSITIONCONTAINER>

</CONTENTREF></ CONTENTREF>

<CONTENTREF ID=57 SRC=<"... ?ID=45" NAME="B>>>  <CONTENTREF ID = 57 SRC = <"...? ID = 45" NAME = "B >>>

<POSITION CONTAINER N=I><POSITION CONTAINER N = I>

<CONTAINER IDCONTAINER=" 14"><CONTAINER IDCONTAINER = "14">

<CONTENTREF ID=58 SRC="... ?ID=46" NAME="D"/>  <CONTENTREF ID = 58 SRC = "...? ID = 46" NAME = "D" />

</CONTAINER></ CONTAINER>

</POSITIONCONTAINER></ POSITIONCONTAINER>

</CONTENTREF></ CONTENTREF>

</CONTAINER></ CONTAINER>

</POSITIONCONTAINER></ POSITIONCONTAINER>

2 0 </CONTENTREF>2 0 </ CONTENTREF>

- pour la suite de contenus:- for the following content:

<CONTENT ID="42" CATEGORY="URL"><CONTENT ID = "42" CATEGORY = "URL">

2 5 <Root>2 5 <Root>

<POSITIONCONTAINER N="1"><POSITIONCONTAINER N = "1">

</Root></ Root>

</CONTENT></ CONTENT>

<CONTENT ID="43" CATEGORY="URL>>><CONTENT ID = "43" CATEGORY = "URL >>>

<"A>"-< "A>" -

<POSITIONCONTAINER N=<"1"/><POSITIONCONTAINER N = <"1" />

<A><A>

</CONTENT></ CONTENT>

<CONTENT ID="44" CATEGORY=<<URL"><CONTENT ID = "44" CATEGORY = << URL>

<B><B>

<POSITIONCONTAINER N="<<1>"/><POSITIONCONTAINER N = "<< 1>" />

</B></ B>

</CONTENT></ CONTENT>

<CONTENT ID="45>> CATEGORY="URL"><CONTENT ID = "45 >> CATEGORY =" URL ">

<C/><C />

</CONTENT></ CONTENT>

<CONTENT ID="46>> CATEGORY="URL>>><CONTENT ID = "46 >> CATEGORY =" URL >>>

<D/><D />

</CONTENT></ CONTENT>

Supposons maintenant que l'on dérive le contenant 13 (celui qui contient le contenu C) dans le contenu 44 (qui correspond au contenu B) à la même position que le contenant 14 (qui contient le contenu D). La balise correspondant au contenu 44 dans la suite de contenus ne sera pas modifiée. En effet, le contenu conserve une seule position pour les contenants, même si deux contenants sont superposés sur cette position. Cette superposition se manifeste au niveau de l'arbre de structure par le fait qu'un nouveau contenant est ajouté sous la balise POSITION N=1, comme indiqué ci-dessous: <CONTENTREF ID=32 SRC="... ?ID=42" NAME="Root">> <POSITIONCONTAINER N=l>  Suppose now that the container 13 (the one containing the content C) is derived in the content 44 (which corresponds to the content B) at the same position as the container 14 (which contains the content D). The tag corresponding to the content 44 in the content sequence will not be modified. Indeed, the content keeps a single position for the containers, even if two containers are superimposed on this position. This superposition is manifested at the level of the structure tree by the fact that a new container is added under the POSITION N = 1 tag, as shown below: <CONTENTREF ID = 32 SRC = "...? ID = 42 "NAME =" Root ">> <POSITIONCONTAINER N = 1>

<CONTAINER SRC="... ?ID=I 12>> CATEGORY="URL>>>  <CONTAINER SRC = "...? ID = I 12 >> CATEGORY =" URL >>>

<CONTENTREF ID=33 SRC="... ?ID=43" NAME="A">  <CONTENTREF ID = 33 SRC = "...? ID = 43" NAME = "A">

<POSITION_CONTAINER N=I><POSITION_CONTAINER N = I>

<CONTAINER SRC=<<... ?ID= 13>> CATEGORY="URL">  <CONTAINER SRC = << ...? ID = 13 >> CATEGORY = "URL">

<CONTENTREF ID=34 SRC="... ?ID=44" NAME="C>"/>  <CONTENTREF ID = 34 SRC = "...? ID = 44" NAME = "C>" />

</CONTAINER></ CONTAINER>

</POSITIONCONTAINER></ POSITIONCONTAINER>

</CONTENTREF></ CONTENTREF>

<CONTENTREF ID=35 SRC="... ?ID=45" NAME="<<B>>>  <CONTENTREF ID = 35 SRC = "...? ID = 45" NAME = "<< B >>>

<POSITIONCONTAINER N=l><POSITIONCONTAINER N = l>

<CONTAINER SRC=".. ?ID=144" CATEGORY=<<URL">  <CONTAINER SRC = "..? ID = 144" CATEGORY = "URL">

<CONTENTREF ID=36 SRC="... ?ID=46>> NAME="D>>/>  <CONTENTREF ID = 36 SRC = "...? ID = 46 >> NAME =" D >> />

</CONTAINER></ CONTAINER>

<CONTAINER SRC="I 5>> CATEGORY="URL"  <CONTAINER SRC = "I 5 >> CATEGORY =" URL "

SOURCESRC=<<... ?ID13>>>SOURCESRC = << ...? ID13 >>>

</CONTAINER></ CONTAINER>

1 5 </POSITIONCONTAINER>1 5 </ POSITIONCONTAINER>

</CONTENTREF></ CONTENTREF>

</CONTAINER></ CONTAINER>

</POSITIONCONTAINER></ POSITIONCONTAINER>

</CONTENTREF></ CONTENTREF>

Mécanisme de Suggestion de nouveaux contenus (propagation dans la macrostructure) Le fait de dériver un contenant implique qu'il est possible d'accéder aux contenus << acceptés >> présents dans le contenant d'origine. Ces contenus sont en fait automatiquement " suggérés " dans les contenants dérivés au fur et à mesure de leur insertion. C'est à l'utilisateur de préciser s'il accepte ou non les suggestions, comme décrit par ailleurs. Il est à noter que seuls les contenus acceptés pourront être dérivés à leur tour. La suggestion peut ainsi se faire entre des utilisateurs différents (par exemple lorsqu'un utilisateur dérive un contenant d'un document dont il n'était pas l'auteur), mais également lorsqu'un même utilisateur dérive un contenant entre deux de ses propres documents. Lorsqu'un utilisateur dérive un contenant, il crée un nouveau contenant portant la référence du contenant source, et les contenus du contenant source qui étaient en mode "Accepté "> y sont chargés. Ces contenus sont initialement en mode  Suggestion mechanism for new content (propagation in the macrostructure) The fact of deriving a container implies that it is possible to access the "accepted" contents present in the original container. These contents are in fact automatically "suggested" in the derived containers as and when they are inserted. It is up to the user to specify whether or not he accepts the suggestions, as described elsewhere. It should be noted that only accepted content can be derived in turn. The suggestion can thus be made between different users (for example when a user derives a container from a document of which he was not the author), but also when the same user derives a container between two of his own documents. When a user derives a container, he creates a new container with the reference of the source container, and the contents of the source container that were in "Accepted"> mode are loaded into it. These contents are initially in mode

<< Suggéré ", et l'utilisateur peut modifier leur mode.  << Suggested, and the user can change their mode.

Sur le plan de la base de données contenue dans le serveur, le contenant dérivé ne contient aucune information sur les contenus suggérés. Ces informations peuvent en effet être retrouvées via la référence sur le contenant source. En revanche, sur le poste client o ce contenant a été dérivé, une balise CONTENTREF est ajoutée pour  In terms of the database contained in the server, the derived container does not contain any information about the suggested content. This information can indeed be found via the reference on the source container. On the other hand, on the client station where this container has been derived, a CONTENTREF tag is added for

chaque contenu chargé dans ce contenant, avec un attribut MODE=SUGGESTED.  each content loaded in this container, with a MODE = SUGGESTED attribute.

Ce qui est suggéré peut être accepté ou refusé (ou encore laissé en mode suggéré).  What is suggested can be accepted or rejected (or left in suggested mode).

Cet éventuel changement de mode est répercuté par une mise à jour de la base de données sur le serveur, de la façon suivante: - si le contenu est accepté: une balise CONTENTREF vers ce contenu est ajoutée dans la base de données dans le contenant dérivé, avec un attribut  This possible change of mode is reflected by an update of the database on the server, as follows: - if the content is accepted: a CONTENTREF tag to this content is added in the database in the derived container , with an attribute

MODE=ACCEPTED.MODE = ACCEPTED.

- si le contenu est refusé: une balise CONTENTREF vers ce contenu est également ajoutée dans la base de données dans le contenant dérivé, avec un attribut MODE=REFUSED; l'objectif dans ce cas est de noter que ce contenu ne doit pas  - if the content is refused: a CONTENTREF tag to this content is also added to the database in the derived container, with a MODE = REFUSED attribute; the goal in this case is to note that this content should not

être présenté à l'utilisateur à la prochaine connexion.  be presented to the user at the next login.

La mémorisation correspondant à ces différents cas est schématisée sur la figure 83.  The memorization corresponding to these different cases is shown schematically in Figure 83.

Section 12 - Proposition de Répertoires Spécialistes et Voisins On a vu dans la section précédente que, dans le cadre d'une page à laquelle l'utilisateur accède sur la Toile par des moyens standards, peuvent se trouver des contenants, et que dans chaque contenant peuvent se trouver des liens vers des contenus. Ces liens sont ceux choisis par l'administrateur du site d'o la page est  Section 12 - Proposal of Specialist and Neighbors Directories We saw in the previous section that, in the context of a page to which the user accesses the Web by standard means, can be found containers, and that in each container can be links to content. These links are those chosen by the site administrator where the page is

issue comme devant être présentés par défaut.  issue as to be presented by default.

Ces liens sont censés être en mode Suggéré. L'utilisateur, par l'intermédiaire du système, peut modifier leur mode, pour leur donner la valeur Accepté, Gelé ou  These links are supposed to be in Suggested mode. The user, through the system, can change their mode, to give them the value Accepted, Frozen or

Refusé, en accédant à cette même page avec le système.  Refused, accessing this same page with the system.

Au lieu de présenter des mêmes liens à tous les utilisateurs, la fonctionnalité de proposition de répertoires Spécialistes (déjà décrite dans les sections " Publication de Liens Ajoutés >> et " Publication de Répertoires >>) permet de présenter plusieurs points de vue sur un sujet, selon une métaphore de "< visite >> des toiles personnelles  Instead of presenting the same links to all users, the Specialist Directory Proposal feature (already described in the "Publishing Added Links" and "Publishing Directories" sections) allows you to present several points of view on a topic. , according to a metaphor of "visiting" personal canvases

de " Spécialistes >>.of "Specialists".

Avec ladite page, l'utilisateur peut aussi recevoir des liens ajoutés (qui y ont été  With this page, the user can also receive added links (which have been

associés par l'administrateur du site ou par les Spécialistes qu'il aura sélectionnés).  associated by the administrator of the site or the Specialists he has selected).

Grâce à la fonctionnalité de proposition de répertoires Spécialistes, les liens ajoutés ne seront suggérés qu'en relation avec une " visite " de répertoire et ne surchargeront  Thanks to the Specialist Directory Proposal feature, the added links will only be suggested in relation to a directory "visit" and will not overload

2 5 ainsi pas la page d'emblée. Dans l'exemple que l'on prendra tout au long de cette section (voir figure2 5 so not the page right away. In the example that we will take throughout this section (see figure

84a), pour une page sur le foie gras, des Spécialistes (ici des Chefs) différents présentent: 3 0 - associés à la page, des liens ajoutés sur des vins (Sauterne) et salades (Mesclun) différents; - à l'intérieur d'un contenant de la page, des liens sur différents types de foie gras  84a), for a page on foie gras, Specialists (here Chefs) different present: 3 0 - associated with the page, links added on wines (Sauterne) and salads (Mesclun) different; - inside a container of the page, links on different types of foie gras

(Canard, Oie).(Duck, Goose).

L'utilisateur peut alors accepter certains liens ajoutés et/ou des liens situés à l'intérieur de contenants de la page, qui lui sont ainsi suggérés. On notera que, dans ce cas, non seulement l'attribut " Mode " du lien ajouté mais aussi l'attribut Mode du lien dans le répertoire courant, pointant sur la page à laquelle est associé ce lien ajouté, est mis à jour à la valeur "Accepté ". L'acceptation remonte ainsi d'enfant à parent récursivement. Ainsi l'attribut Mode du lien pointant sur le répertoire courant, dans le répertoire qui le contient, le cas échéant, est aussi mis à jour, et ainsi de suite. Il en est de même pour les liens situés dans les  The user can then accept certain added links and / or links located inside containers of the page, which are thus suggested to him. Note that, in this case, not only the "Mode" attribute of the added link but also the Link Mode attribute in the current directory, pointing to the page with which this added link is associated, is updated to the value "Accepted". Acceptance thus goes back from child to parent recursively. Thus the Mode attribute of the link pointing to the current directory, in the directory that contains it, if any, is also updated, and so on. It is the same for the links located in the

contenants de la page.containers of the page.

Toutefois, en général, l'utilisateur n'accepte pas un lien ajouté (ou un lien dans un contenant) pointant sur une page P, sans au préalable cliquer sur lui pour visualiser la page P qu'il pointe. Ensuite, si la page P l'intéresse, il l'accepte directement, sans retourner accepter le lien ajouté d'o il est venu. En d'autres termes, au lieu d'accepter le lien ajouté (ou le lien dans un contenant) pointant sur P, il accepte la page P elle-même, c'est-à-dire le lien pointant sur ladite page P dans le répertoire  However, in general, the user does not accept an added link (or a link in a container) pointing to a page P, without first clicking on it to view the page P it points. Then, if the page P interests him, he accepts it directly, without returning to accept the added link where he came. In other words, instead of accepting the added link (or the link in a container) pointing to P, it accepts the page P itself, that is, the link pointing to said page P in the directory

courant qui l'accueille.current that welcomes him.

Un perfectionnement du système consiste alors à suivre le parcours de l'utilisateur qui clique sur un lien ajouté pour que, quand la page cible est acceptée, le système 2 5 mette également à jour l'attribut Mode du lien ajouté par l'intermédiaire duquel il a  A refinement of the system then consists in following the path of the user who clicks on an added link so that, when the target page is accepted, the system also updates the Mode attribute of the added link through which he has

accédé à cette page.accessed this page.

En acceptant un lien ajouté (ou un lien situé dans un contenant de page) l'utilisateur déclare son intérêt pour les contenus vers lesquels pointent ces Liens. Son << profil d'intérêt " se construit ainsi progressivement, et lorsqu'il atteint un seuil de représentativité, le système peut lui proposer des répertoires proches dans la liste de  By accepting an added link (or a link in a page container) the user declares his / her interest in the content to which these Links point. Its "profile of interest" is thus built up gradually, and when it reaches a threshold of representativeness, the system can propose to it close repertoires in the list of

répertoires " Voisins d'intérêt " (voir la liste " Copains " dans la figure 84a).  "Neighbors of interest" directories (see the "Buddies" list in Figure 84a).

Dans le cas o, comme dans l'exemple de la figure 84a, la page courante comporte non seulement des liens ajoutés (Sauterne, Mesclun), mais aussi des liens dans au moins un contenant (Canard, Oie) se trouvant dans la page, le système sélectionne des répertoires qui sont proches: - par rapport aux liens ajoutés acceptés associés à la page courante: le système sélectionne les répertoires dans lesquels se trouve la page courante ainsi qu'un grand nombre de liens ajoutés en commun, comme décrit dans la section << Détection de Répertoires Proches "; - par rapport aux liens acceptés) se trouvant dans chaque container se trouvant dans la page: le système sélectionne les répertoires contenant le plus grand nombre de liens en commun avec ledit contenant, comme décrit dans la section " Publication de  In the case o, as in the example of Figure 84a, the current page includes not only links added (Sauterne, Mesclun), but also links in at least one container (Duck, Goose) found in the page, the system selects directories that are close to: - compared to the accepted added links associated with the current page: the system selects the directories in which the current page is located as well as a large number of links added in common, as described in the section "Detection of Close Directories" - in relation to the links accepted) found in each container on the page: the system selects the directories containing the largest number of links in common with the container, as described in the section "Publication of

Répertoires ".Directories ".

On observera ici que le système peut exploiter non seulement les liens (liens ajoutés et liens dans les contenants) acceptés et gelés, mais aussi les liens refusés. Il est en effet intéressant de considérer ce que l'utilisateur n'a pas retenu dans les liens qui lui  It will be observed here that the system can exploit not only the links (links and links in the containers) accepted and frozen, but also the links refused. It is indeed interesting to consider what the user did not remember in the links that

ont été proposé pour construire son profil.  have been proposed to build his profile.

Le système exploite ces mêmes données (liens ajoutés et liens dans les contenants) pour ajuster les répertoires Spécialistes proposés à l'utilisateur. Ceci est décrit dans  The system uses the same data (added links and links in the containers) to adjust the Specialist directories offered to the user. This is described in

les sections << Publication de Liens Ajoutés " et << Publication de Répertoires ".  the sections "Publication of Added Links" and "Publication of Directories".

En lui proposant un ensemble de répertoires proches, le système permet à l'utilisateur de visiter les toiles personnelles d'un ensemble d'autres utilisateurs, avec qui il peut par ailleurs se mettre en contact, comme déjà décrit dans le section " Détection de  By offering a set of close directories, the system allows the user to visit the personal webs of a set of other users, with whom he can also get in touch, as already described in the section "Detection of

Répertoires Proches >>.Close Directories >>.

L'utilisateur peut cliquer sur un lien (vers contenu) dans un contenant de la page, ou sur un lien ajouté pour accéder au contenu en question. Le système lui propose alors les répertoires << Spécialistes >>, " Voisins " et " Copains " pour ce nouveau contenu, et ainsi de suite. Enfin, l'utilisateur peut sélectionner un ensemble de liens ajoutés, ou un ensemble de liens dans un contenant, pour demander au système de lui sélectionner des répertoires proches compte-tenu de cet ensemble. L'homme du métier saura facilement étendre  The user can click on a link (to content) in a container of the page, or on an added link to access the content in question. The system then offers the directories "Specialists", "Neighbors" and "Buddies" for this new content, and so on. Finally, the user can select a set of added links, or a set of links in a container, to ask the system to select directories close to him considering this set. The skilled person will easily extend

les procédés décrits jusqu'ici pour mettre en oeuvre cette fonctionnalité.  the methods described so far to implement this functionality.

Section 13 - Attributs relatifs à l'acceptation Lors de l'acceptation (passage au mode Accepté ou Gelé) d'un contenu, l'utilisateur peut spécifier s'il y est intéressé pour l'acheter, le vendre, et/ou pour d'autres intérêts  Section 13 - Acceptance Attributes When accepting (switching to Accepted or Frozen Mode) content, the user can specify whether he or she is interested in purchasing, selling, and / or other interests

qu'il y porte le cas échéant, en fonction du type de contenu.  as appropriate, depending on the type of content.

Ces spécifications se font en donnant des valeurs à des attributs que le système prend en compte lors des sélections de répertoires (Spécialistes et Voisins) qu'il propose à 2 0 l'utilisateur, ainsi que pour sélectionner le contenu de ces derniers le cas échéant (voir les sections " Détection de Répertoires Proches ", "Suggestion de Liens Ajoutés par l'administrateur d'un site ", " Publication de Répertoires " et  These specifications are done by giving values to attributes that the system takes into account when selecting directories (Specialists and Neighbors) that it proposes to the user, as well as to select the content of the latter if necessary. (see "Detecting Close Directories", "Suggestion of Links Added by a Site Administrator", "Publishing Directories" and

<< Proposition de Répertoires Spécialistes et Voisins ").  << Proposal of Directories Specialists and Neighbors ").

2 5 L'utilisateur qui accède à une page (page courante), peut spécifier des critères sur ces attributs pour restreindre l'ensemble des répertoires (Spécialistes et Voisins) qui lui  2 5 The user who accesses a page (current page), can specify criteria on these attributes to restrict all the directories (Specialists and Neighbors) which

sont proposés en relation avec ladite page courante.  are proposed in relation to said current page.

Ainsi, si par exemple il est intéressé par l'achat du produit présenté dans la page courante (ou dans un ensemble de pages qu'il sélectionne), il pourra s'intéresser sélectivement aux répertoires d'utilisateurs: intéressés à vendre ce produit (recherche de fournisseurs de ce produit), - ou intéressés comme lui à acheter ce produit: il pourra ainsi se joindre au groupe d'utilisateurs intéressés par cet achat et augmenter l'influence de ce groupe pour faire baisser le prix du produit chez un fournisseur, éventuellement à l'aide d'une procédure automatisée (d'aide à l'achat groupé) qui se déclenche quand ce critère  Thus, if for example he is interested in buying the product presented in the current page (or in a set of pages that he selects), he can be interested selectively in user directories: interested in selling this product ( looking for suppliers of this product), - or interested like him to buy this product: he will be able to join the group of users interested in this purchase and increase the influence of this group to lower the price of the product at a supplier , possibly using an automated procedure (help with bulk purchasing) that triggers when this criterion

est utilisé.is used.

Dans le premier cas l'utilisateur recevra, à partir des répertoires de vendeurs ainsi sélectionnés, des liens en mode suggéré concernant des offres particulières pour le produit présenté dans la page cou'ante ainsi que sur d'autres produits proposés par  In the first case the user will receive, from the directories of sellers thus selected, links in suggested mode concerning particular offers for the product presented in the current page as well as on other products proposed by

ces vendeurs.these sellers.

Dans le deuxième cas, l'utilisateur bénéficiera des découvertes des autres utilisateurs  In the second case, the user will benefit from the discoveries of the other users

(acheteurs potentiels) ayant des intérêts (et/ou goûts) proches.  (potential buyers) with close interests (and / or tastes).

Rapelons que les utilisateurs du système sont anonymes et peuvent y accéder en  It should be noted that users of the system are anonymous and can access them in

utilisant un pseudonyme.using a pseudonym.

2 0 On va maintenant décrire une mise en oeuvre particulière de cet aspect de l'invention.  A particular implementation of this aspect of the invention will now be described.

Seuls deux attributs sont mis en oeuvre: " Demandeur " et << Offreur ".  Only two attributes are implemented: "Applicant" and "Offerer".

Lors de l'acceptation d'un lien, en utilisant l'interface illustrée aux figures 55b et 66 (qui notamment lui permettent de changer le mode du lien de " suggéré >> en " accepté >> ou en " gelé >>), l'utilisateur a deux " cases à cocher >>" à sa disposition, à  When accepting a link, using the interface illustrated in Figures 55b and 66 (which in particular allow it to change the mode of the link from "suggested" to "accepted" or "frozen"), the user has two "checkboxes" at his disposal,

savoir: " Demandeur " et " Offreur ".  know: "Applicant" and "Offerer".

Cette configuration est illustrée schématiquement à la figure 84b.  This configuration is illustrated schematically in Figure 84b.

Il cochera " Demandeur " s'il se positionne comme demandeur, et sur " Offreur " s'il se positionne comme " offreur >>, vis à vis de la " chose " présentée dans la page courante. On observera que ces deux possibilités ne sont pas exclusives: il peut se  It will check "Applicant" if it is positioned as the applicant, and "Offerer" if it is positioned as "provider", vis-à-vis the "thing" presented in the current page. are not exclusive: it can be

positionner à la fois comme demandeur et comme offreur.  position both as an applicant and as an offerer.

Le système mémorise la valeur de ces deux attributs pour chaque lien dans la toile personnelle de chaque utilisateur. Il peut ainsi en tenir compte dans le procédé de  The system stores the value of these two attributes for each link in the personal canvas of each user. He can thus take it into account in the process of

sélection des répertoires à proposer aux utilisateurs.  selection of directories to offer to users.

Pour actionner la sélection de répertoires proposés dans les deux premières listes (" spécialistes " et " voisins "; voir la figure 55a) en fonction de ces deux attributs, l'utilisateur a deux autres cases à cocher " Demandeur " et " Offreur " à sa disposition.  To operate the selection of directories proposed in the first two lists ("specialists" and "neighbors", see Figure 55a) according to these two attributes, the user has two other check boxes "Applicant" and "Offerer" to his disposition.

Ces deux autres cases à cocher sont cochées par défaut.  These two other checkboxes are checked by default.

En décochant " Demandeur ", l'utilisateur spécifie qu'il ne s'intéresse pas à visiter les répertoires positionnés comme demandeur en regard de la chose présentée dans la  By unchecking "Applicant", the user specifies that he is not interested in visiting the directories that are positioned as the requestor in relation to the thing presented in the

page courante.current page.

De même, en décochant " Offreur ", l'utilisateur précise qu'il ne souhaite pas recevoir de liens à partir de répertoires positionnés comme offreur en ce qui concerne  Similarly, by unchecking "Offerer", the user specifies that he does not wish to receive links from directories positioned as an offerer with regard to

la chose présentée dans la page courante.  the thing presented in the current page.

2 5 Ces attributs peuvent avoir une interprétation plus large que celle concernant l'achat et la vente. Par exemple, l'attribut Offreur peut être utilisé par l'utilisateur pour informer sur ses propres caractéristiques: l'utilisateur peut par exemple cocher l'attribut offreur sur une page présentant un acteur de cinéma qui lui ressemble, dans l'espoir de pouvoir se mettre en contact, au moyen du système (par exemple par 3 0 vidéoconférence), avec une utilisatrice qui apprécie cet acteur tel qu'il est présenté  2 5 These attributes may have a broader interpretation than buying and selling. For example, the attribute Vendor can be used by the user to inform about his own characteristics: the user can for example check the offeror attribute on a page presenting a film actor who looks like him, in the hope of being able to to contact, by means of the system (for example by videoconference), with a user who appreciates this actor as it is presented

dans ladite page.in this page.

Dans le cas de l'application d'achat groupé sus-mentionné, le système proposera à l'utilisateur des voisins qui sont " Demandeurs " du produit présenté dans la page courante visualisée. L'utilisateur pourra alors interagir avec ces utilisateurs par des moyens assistés par ordinateur, en communication synchrone (messagerie instantanée, etc) ou asynchrone (forum et courrier électronique augmentés de moyens semi-automatiques spéciaux pour faciliter la coordination d'achat groupé, notamment  In the case of the bulk purchase application mentioned above, the system will offer the user neighbors who are "applicants" of the product presented in the current page viewed. The user can then interact with these users by computer-assisted means, in synchronous communication (instant messaging, etc.) or asynchronously (forum and electronic mail augmented with special semi-automatic means to facilitate the coordination of group purchasing, especially

pour négocier les prix avec les Offreurs).  to negotiate prices with the Offerors).

Section 14 - Pages Personnalisées Les documents restructurés comme décrit dans la section précédente permettent de présenter, dans des contenants, des contenus sélectionnés en fonction des centres d'intérêts de l'utilisateur. On va maintenant décrire une façon dont peut être  Section 14 - Custom Pages Restructured documents as described in the previous section are used to present, in containers, contents selected according to the interests of the user. We will now describe a way that can be

effectuée cette sélection.made this selection.

Rappelons tout d'abord que tout contenu accepté par l'utilisateur dans un contenant adopte la catégorie de ce contenant (comme on l'a décrit notamment plus haut dans le présent chapitre et comme on y reviendra dans le chapitre III), en plus des catégories des autres contenants dans lesquels l'utilisateur a aussi accepté ce contenu  First of all, remember that any content accepted by the user in a container adopts the category of this container (as described in particular earlier in this chapter and as will be discussed in Chapter III), in addition to categories of other containers in which the user has also accepted this content

le cas échéant.where appropriate.

Dans la mesure o le système connaît les catégories des contenants imbriqués dans un contenu qui fait l'objet d'une requête, il peut automatiquement enrichir la requête par des critères supplémentaires. En effet, le système est capable de déterminer que, pour un certain nombre de contenus de chacune desdites catégories, il existe d'autres catégories qui ont été attribuées par l'utilisateur à ces mêmes contenus. Le principe utilisé ici est d'exploiter ces autres catégories en les utilisant en tant que critères supplémentaires (ou plus exactement en tant que "préférences ") pour enrichir  Because the system knows the categories of containers nested in content that is the subject of a request, it can automatically enrich the query with additional criteria. Indeed, the system is able to determine that for a certain number of contents of each of said categories, there are other categories that have been assigned by the user to these same contents. The principle used here is to exploit these other categories by using them as additional criteria (or more precisely as "preferences") to enrich

3 0 automatiquement la requête formée par l'utilisateur.  Automatically the request formed by the user.

Par exemple, dans un contenu qui fait l'objet d'une requête, se trouve imbriqué un contenant de catégorie " guitare>>, et chez l'utilisateur, un certain nombre de contenus de cette catégorie possèdent également la catégorie " objet d'art ". On exploite donc le fait qu'a priori, dans ce contenant, l'utilisateur préférera recevoir (par le processus de suggestion décrit par ailleurs) des contenus qui possèdent non seulement la catégorie "guitare >>, mais également la catégorie "objet d'art ". Ainsi, pour le contenant de catégorie " guitare ", la requête de l'utilisateur peut être enrichie par le critère supplémentaire: catégorie = " objet d'art ". On observera ici que, s'il n'existe aucun contenu appartenant à ces deux catégories simultanément, le système propose alors à l'utilisateur les contenus appartenant simplement à la catégorie " guitare ". Le  For example, in a content that is the subject of a query, there is nested a container category "guitar", and the user, a number of contents of this category also have the category "object of art. "So we exploit the fact that a priori, in this container, the user will prefer to receive (by the suggestion process described elsewhere) content that not only have the category" guitar ", but also the category" piece of art ". Thus, for the category container "guitar", the request of the user can be enriched by the additional criterion: category = "art object". It will be observed here that, if there is no content belonging to these two categories simultaneously, the system then proposes to the user the contents belonging simply to the "guitar" category. The

critère supplémentaire sera ainsi pris en compte comme étant une " préférence >>.  an additional criterion will thus be taken into account as a "preference".

On comprend donc que les contenus sont sélectionnés par le système de manière " personnalisée ", c'est-à-dire en tenant compte des centres d'intérêts potentiels de  It is therefore understandable that the contents are selected by the system in a "personalized" way, that is to say taking into account the potential centers of interest of

l'utilisateur pour les contenants en question.  the user for the containers in question.

Par ailleurs, les catégorisations effectuées par les utilisateurs peuvent " remonter " vers l'administrateur d'un site en tant que suggestions de catégorisation pour les contenus en question, de manière à modifier la structure XML de la page considérée si l'administrateur le juge opportun. Le procédé d'auto-épuration décrit en détail dans le chapitre suivant permettra d'automatiser, dans une certaine mesure, le filtrage  In addition, categorizations made by users can "go back" to the administrator of a site as categorization suggestions for the contents in question, so as to modify the XML structure of the page considered if the administrator judges it timely. The self-purification process described in detail in the following chapter will automate, to a certain extent, the filtering

des catégorisations considérées comme qualitativement mauvaises ou non fiables.  Categorizations considered qualitatively bad or unreliable.

Chapitre III - Processus de suggestion généralisé (Figures 85 à 134) Ce chapitre vise un cadre différent pour le processus de suggestion décrit plus haut dans les dernières sections du chapitre II ainsi que différentes extensions de ce processus. Ce processus va être décrit ci- dessous à des niveaux de fonctionnalités et de sophistication croissants. On présentera d'abord (Section 1) les structures et les procédés fondamentaux de chaque niveau. La présentation de chaque niveau s'appuie sur les niveaux précédents. Dans la Section 2, on décrira les procédés annexes de filtrage par apprentissage de fiabilité de l'information. La Section 3 présente le principe de suggestions automatiques par rapprochement d'intérêts, et la section 4 présente un perfectionnement des mécanismes de suggestion automatique qui exploite l'avantage du graphe de dérivations entre utilistaurs. Ensuite sont présentés les méthodes de renforcement de l'anonymat des Utilisateurs et les modèles économiques possibles (Section 5). Enfin la Section 6 présente l'exploitation du mécanisme de dérivation/suggestion/acceptation décrit dans la première section pour  Chapter III - General Suggestion Process (Figures 85 to 134) This chapter aims at a different framework for the suggestion process described earlier in the last sections of Chapter II as well as different extensions of this process. This process will be described below at increasing levels of functionality and sophistication. We will first present (Section 1) the basic structures and processes of each level. The presentation of each level builds on the previous levels. In Section 2, we will describe the additional methods of filtering by learning the reliability of the information. Section 3 presents the principle of automatic suggestion by comparison of interests, and section 4 presents an improvement of the automatic suggestion mechanisms which exploits the advantage of the graph of derivations between utilistaurs. Then, the methods of reinforcing the anonymity of the Users and the possible economic models are presented (Section 5). Finally, Section 6 presents the exploitation of the derivation / suggestion / acceptance mechanism described in the first section.

la fidélisation des utilisateurs en exploitant leur fibre de collectionneur.  user retention by exploiting their collector fiber.

Section 1 - Structure et procédé fondamentaux A. Bref rappel de la notation UML Considérons la structure hiérarchique schématisée cidessous: Contenant-1 Contenus Contenu-1 Contenu-2 Sous-Contenants Contenant-11 Contenus Sous-Contenants Contenant-12 Contenant 2 Cette structure hiérarchique est spécifiée sur la figure 85 des dessins qui est un diagramme de classe selon un standard connu de Modélisation OrientéObjet, noté UML (voir en particulier " UML Reference Manual " - Rumbaugh, Booch, Jacobson, 1999). Il s'agit d'une structure hiérarchique arborescente d'Eléments (<< Elt "), chaque Elément étant un " Contenant " ou un " Contenu ", les Contenants pouvant contenir des Eléments (ce sont leurs Sous-éléments <" SousElt "), tandis que les Contenus ne  Section 1 - Fundamental Structure and Processes A. A brief reminder of the UML notation Consider the schematic hierarchical structure below: Contant-1 Contents Content-1 Content-2 Sub-Containers Containing-11 Contents Sub-Containers Containing-12 Containing 2 This hierarchical structure is specified in Figure 85 of the drawings which is a class diagram according to a known standard of Object Oriented Modeling, noted UML (see in particular "UML Reference Manual" - Rumbaugh, Booch, Jacobson, 1999). It is a tree hierarchical structure of Elements ("Elt"), each Element being a "Container" or "Content", the Containers may contain Elements (these are their Sub-elements <"SousElt"). ), while the Content does not

peuvent pas contenir d'éléments.may not contain elements.

Les Utilisateurs du système selon l'invention utilisent une telle structure arborescente d'Eléments. B. forme de réalisation de base (niveau 1) Tous les Utilisateurs du système utilisent la même structure de Contenants. Mais, dans de mêmes Contenants, chaque Utilisateur regroupe des Contenus qui peuvent  The users of the system according to the invention use such a tree structure of Elements. B. Basic Implementation (Level 1) All System Users use the same Container structure. But, in the same Containers, each User groups Contents that can

être différents d'un Utilisateur à l'autre.  to be different from one User to another.

Tous les Contenus de tous les Utilisateurs - sauf les Contenus confidentiels (voir plus loin) - sont regroupés, dans leurs Contenants respectifs, dans une Base de Données  All Contents of all Users - except Confidential Contents (see below) - are grouped in their respective Containers in a Database.

Commune, notée << BD >>, accessible par tous les Utilisateurs.  Common, denoted << BD >>, accessible by all Users.

On appelle ici " Profil " l'ensemble des Contenus d'un Utilisateur donné pour un  Here is called "Profile" all the Contents of a given User for a

Contenant donné.Container given.

Le diagramme de classe correspondant est illustré sur la figure 86.  The corresponding class diagram is shown in Figure 86.

3 0 Le système décrit ici offre pour les Utilisateurs une garantie d'anonymat: ainsi un Utilisateur ne peut pas accéder aux Profils d'un autre Utilisateur (les Profils sont confidentiels), bien qu'il puisse accéder à tous les Contenus (non confidentiels),  3 0 The system described here offers for the Users a guarantee of anonymity: thus a User can not access the Profiles of another User (the Profiles are confidential), although he can access all the Contents (non-confidential )

puisqu'il peut consulter l'ensemble de la Base de Données Commune.  since he can consult the whole of the Common Database.

En d'autres termes, la Base de Données Commune mémorise, dans chaque Contenant, l'union des Profils des Utilisateurs pour ce Contenant, sans permettre de  In other words, the Common Database stores, in each Container, the union of User Profiles for that Container, without allowing any

distinguer les Profils eux-mêmes.distinguish the Profiles themselves.

De là, un Utilisateur est incapable de déterminer dans quels Profils est référencé un  From there, a User is unable to determine in which Profiles is referenced a

Contenu donné auquel il accède dans la Base de Données Commune.  Given content that he accesses in the Common Database.

Cette organisation est schématisée sur la figure 87.  This organization is shown schematically in Figure 87.

Lorsqu'un Contenu est modifié par un Utilisateur (bien entendu, à condition qu'il en ait le droit, par exemple s'il est le créateur de ce Contenu), les autres Utilisateurs, ayant ce Contenu dans leurs Profils respectifs, le voient mis à jour automatiquement dès qu'ils accèdent à la BD Commune pour la première fois postérieurement à ladite modification. L'Utilisateur peut consulter la BD Commune. Il peut s'y abonner pour être automatiquement informé des ajouts de Contenus dans certains des Contenants, de façon sélective (par exemple au moyen de la puissance d'expression d'un langage classique de requêtes à une Base de Données). Le fait d'être informé automatiquement est ce qu'on appelle un << procédé de suggestion ", dont on donnera  When a Content is modified by a User (of course, provided that he has the right to do so, for example if he is the creator of that Content), the other Users, having that Content in their respective Profiles, see it. automatically updated as soon as they access the Commune Comic for the first time after the modification. The User can consult the Common Compendium. It can subscribe to it to be automatically informed about the addition of Content in some of the Containers, selectively (for example by using the power of expression of a traditional query language to a Database). The fact of being informed automatically is what is called a "suggestion process", which will be given

davantage de détails dans la suite.  more details later.

On va maintenant décrire un certain nombre de fonctionnalités possibles offertes aux Utilisateurs. a) Ajout et Suppression de Contenu Direct L'Utilisateur peut choisir d'ajouter dans un de ses Profils: * des Contenus qu'il aura puisé dans le Contenant lié à ce Profil * des Contenus qu'il aura puisé dans d'autres Contenants * ou encore de nouveaux Contenus qui n'existaient dans aucun Contenant  We will now describe a number of possible features offered to Users. a) Adding and Deleting Direct Content The User can choose to add in one of his Profiles: * Contents that he has drawn from the Container related to this Profile * Content that he has drawn from other Containers * or new Content that did not exist in any Container

(qu'il aurait par exemple collecté par navigation sur le réseau Internet).  (which he would for example have collected by browsing the Internet).

Quelle que soit sa provenance, si un Contenu ajouté dans un Profil n'existait pas déjà dans le Contenant lié à ce Profil, il y est ajouté. Les autres Utilisateurs peuvent alors  Regardless of where it comes from, if Content added to a Profile did not already exist in the Container linked to that Profile, it is added. Other users can then

en prendre connaissance.read it.

On notera ici que, dans la pratique les Profils peuvent ne pas être directement composés de Contenus, mais de Références à ces derniers, ou encore d'un mélange de Contenus et de Références à des Contenus. La figure 88 illustre le diagramme de classe associé, qui comporte en particulier un lien entre Contenu et Référence à Contenu). Dans un Profil, un Contenu peut posséder l'un parmi trois attributs, à savoir " Suggéré "", " Accepté " ou " Refusé ". Un Contenu " Suggéré " signifie que ce Contenu est reçu dans le Profil, sans pour l'instant avoir été accepté ou refusé par l'Utilisateur qui possède ce Profil. Les Contenus étant dans cet état ne sont pas 2 0 stockés de manière permanente (c'est-à-dire qu'une Référence n'est pas encore créée  It should be noted here that, in practice, Profiles may not be directly composed of Contents, but References to them, or a mixture of Contents and References to Content. Figure 88 illustrates the associated class diagram, which includes in particular a link between Content and Reference to Content). In a Profile, a Content may have one of three attributes, namely "Suggested", "Accepted", or "Rejected." "Suggested" Content means that Content is received in the Profile, without so far have been accepted or rejected by the User who has this Profile, the Contents in this state are not permanently stored (ie a Reference is not yet created

dans la BD de Profils).in the Profiles DB).

<< Accepter " un Contenu signifie que le système crée de manière permanente une Référence à ce Contenu. Les Contenus Acceptés sont stockés dans le Profil de manière permanente. Il est ainsi à observer ici que l'acceptation au sens du présent  "Accepting" Content means that the system permanently creates a Reference to that Content, and the Accepted Content is permanently stored in the Profile, so it is to be observed here that acceptance as defined herein

chapitre correspond au mode " Gelé >> décrit dans le chapitre II.  chapter corresponds to the "Frozen" mode described in Chapter II.

Un Contenu dont la présence dans un Profil est " Refusée >" ne peut être supprimé directement dans le Contenant (c'est-à-dire dans la Base de Données Commune, o 3 0 le Contenu est réellement stocké), car ce Contenu peut auparavant avoir aussi été Suggéré ou Accepté dans un autre Profil. Il ne pourra être réellement effectivement supprimé que lorsque plus aucun un autre Profil ne contiendra une Référence à ce 13 7 Contenu. En attendant, c'est l'attribut " Refusé " qui matérialise la suppression virtuelle voulue par un Utilisateur. La Référence ayant cet attribut est toutefois stockée de manière permanente et sert à éviter de suggérer à nouveau un Contenu qui  Content whose presence in a Profile is "Denied" can not be deleted directly in the Container (ie in the Common Database, where the Content is actually stored), as that Content may previously have also been Suggested or Accepted in another Profile. It can only really be deleted when no other Profile contains a Reference to it. In the meantime, it is the "Denied" attribute that materializes the virtual deletion desired by a User. The Reference with this attribute is however permanently stored and is used to avoid resubmitting Content that

a précédemment été " Refusé ".has previously been "Refused".

b) Références à des Contenus d'autres Contenants ou à des Contenus externes (Contenus Indirects) Dans une forme de réalisation particulière, le système peut permettre aux Utilisateurs d'insérer dans un Contenant (via leurs Profils respectifs), une Référence à un Contenu appartenant déjà à un autre Contenant. Ceci est préférable à l'insertion d'une copie de ce Contenu. Bien entendu, cette Référence ne pourra exister que tant que le Contenu référencé existe. Nous appelons cette référence " Contenu Indirect ",  b) References to Contents of other Containers or External Content (Indirect Content) In a particular embodiment, the system may allow Users to insert into a Container (via their respective Profiles), a Reference to a Content already belonging to another Container. This is preferable to inserting a copy of this Content. Of course, this Reference can only exist as long as the Referenced Content exists. We call this reference "Indirect Content",

et le Contenu Référencé est appelé " Contenu Direct ".  and the Referenced Content is called "Direct Content".

Avantageusement, à chaque nouvel accès à la Base de Données Commune, dans le cas o le Contenu Direct a été entre-temps modifié, l'Utilisateur voit, à travers le Contenu Indirect, ce Contenu dans sa nouvelle version. Le diagramme de classe  Advantageously, with each new access to the Common Database, in the case where the Direct Content has meanwhile been modified, the User sees, through the Indirect Content, this Content in its new version. The class diagram

UML associé est illustré sur la figure 89.  Associated UML is illustrated in Figure 89.

Supprimer un Contenu Direct implique au préalable de gérer les Contenus Indirects qui lui sont liés. Ils n'auront en effet plus lieu d'exister, mais comme expliqué précédemment, ils ne pourront être effectivement supprimés que quand plus aucun Profil ne les référencera. La suppression d'un Contenu Direct consistera donc en 3 2 5 types d'actions qui ne se sont pas nécessairement exécutées immédiatement: (1) suppression, dans les Profils, des Références au Contenu Direct et aux Contenus Indirects qui lui son liés, (2) suppression de ces Contenus Indirects,  Deleting Direct Content implies first to manage the Indirect Content linked to it. They will not have any more to exist, but as explained previously, they will be able to be effectively removed only when no more profile will refer them. The deletion of a Direct Content will therefore consist of 3 2 5 types of actions that did not necessarily occur immediately: (1) deletion, in Profiles, of References to Direct Content and Indirect Content related to it, ( 2) removal of these Indirect Content,

(3) suppression du Contenu Direct lui-même.  (3) removal of the Direct Content itself.

Un Utilisateur, qui a référencé dans son Profil un Contenu Indirect pour lequel il est averti d'une suppression prochaine, pourrait vouloir créer une copie du Contenu  A User, who has referenced in his Profile an Indirect Content for which he is notified of an upcoming deletion, may wish to create a copy of the Content

Direct référencé à la place du Contenu Indirect, afin de ne pas perdre l'information.  Direct referenced instead of Indirect Content, so as not to lose information.

Le système peut être conçu pour lui en laisser la possibilité.  The system can be designed to give him the possibility.

Les Contenus Indirects peuvent aussi constituer des références à des contenus  Indirect Content may also be references to content

externes au système, et notamment des liens vers des éléments trouvés sur l'Internet.  external to the system, including links to items found on the Internet.

Le système comporte alors des moyens de mise à jour (ou gestion des erreurs  The system then comprises means for updating (or error management

d'accès) en cas de suppression des contenus externes.  access) when deleting external content.

c) Popularité d'une catégorisation Le fait d'insérer un Contenu dans un certain Contenant (via un Profil) revient à le " catégoriser ". Un Contenant est en effet censé regrouper des Contenus de même  c) Popularity of a categorization The fact of inserting a Content into a certain Container (via a Profile) amounts to "categorizing" it. A Container is indeed supposed to group together Contents of the same

catégorie.category.

Différents Utilisateurs peuvent classer un même Contenu dans des Contenants différents, de manière directe (en en faisant une copie) ou au moyen d'une  Different Users may classify the same Content in different Containers, directly (by making a copy) or by means of a

indirection (Contenu Indirect).indirection (Indirect Content).

On appelle ici " Popularité " le nombre de fois qu'un Contenu se retrouve dans des Profils associés à un même Contenant, ou plus généralement une variable représentative de ce nombre. Dans le cas o l'Utilisateur hésite entre deux catégorisations possibles, il préférera en général le Contenant le plus populaire, afin de " parler le même langage >> que le plus grand nombre d'Utilisateurs et de bénéficier ainsi de services de rapprochement de profils et d'autres avantages tels  Here we call "Popularity" the number of times that a Content is found in Profiles associated with the same Container, or more generally a variable representative of this number. In the case where the User hesitates between two possible categorizations, he will generally prefer the most popular Container, in order to "speak the same language" as the greatest number of Users and thus benefit from profile matching services. and other benefits such

qu'on les décrira dans la suite.that we will describe them later.

L'avantage essentiel de cette forme de réalisation de base de l'invention peut être 3 0 résumé par ce qui suit, en référence à la figure 90: - tout d'abord, un Utilisateur A, pour ses besoins propres de catégorisation et mémorisation d'informations (ceci est une incitation suffisante), va au fil du temps ajouter à son propre Profil A de nouveaux Contenus, dans des Contenants représentant des catégories partagées; - par le fait qu'il utilise ces Contenants, l'Utilisateur " parle le même langage " que les autres Utilisateurs et bénéficie ainsi d'avantages supplémentaires (tel que la suggestion automatique d'informations par rapprochements de profils, etc, décrits dans les sections suivantes) en échange du fait qu'il contribue à la BD Commune - la BD Commune est ainsi alimentée de manière automatique et transparente, et un autre Utilisateur B peut la consulter ou être automatiquement et spontanément renseigné sur son enrichissement; - chaque Utilisateur peut être dans la situation A ou B; le fait qu'un Utilisateur contribue à la Base de Données Commune ne le prive pas de sa privauté car il peut rester anonyme; - enfin le modèle économique décrit dans la dernière section permet de rétribuer ceux qui contribuent plus à la BD Commune qu'ils ne consultent, et de sanctionner l'inverse. De façon encore plus résumée, l'avantage individuel de pouvoir organiser l'information (découverte par chacun), selon des catégories partagées est une incitation qui pousse chaque Utilisateur à contribuer à une BD qui est commune à  The essential advantage of this basic embodiment of the invention can be summarized by the following, with reference to FIG. 90: first of all, a User A, for his own categorization and storage needs information (this is a sufficient incentive), over time add to its own Profile A new Content, in Containers representing shared categories; - by using these Containers, the User "speaks the same language" as other Users and thus benefits from additional advantages (such as the automatic suggestion of information by profile reconciliation, etc., described in the subsequent sections) in exchange for the fact that it contributes to the Comune BD - the BD Comune is thus fed automatically and transparently, and another User B can consult it or be automatically and spontaneously informed about its enrichment; - each User can be in situation A or B; the fact that a User contributes to the Common Database does not deprive him of his privacy because he can remain anonymous; - Finally, the economic model described in the last section makes it possible to reward those who contribute more to the comic strip that they do not consult, and to sanction the opposite. Even more summarized, the individual advantage of being able to organize information (discovery by everyone), according to shared categories, is an incentive that pushes each User to contribute to a comic that is common to

tous les Utilisateurs.all the users.

C. Premier perfectionnement (niveau 2) Selon ce premier perfectionnement, tous les Profils ne sont pas nécessairement confidentiels. Nous distinguons les Utilisateurs qui veulent publier certains de leurs Profils (ou un ou plusieurs sous-ensembles de leurs Profils) à l'intention des autres (ou de certains autres), par opposition aux Utilisateurs qui n'utilisent le système que  C. First Development (Level 2) According to this first development, not all Profiles are necessarily confidential. We distinguish between Users who want to publish some of their Profiles (or one or more subsets of their Profiles) to others (or some others), as opposed to Users who use the system only

pour leur organisation personnelle d'informations.  for their personal organization of information.

Plus exactement, nous distinguons les Profils (ou sous-ensembles de Profil) qui sont publiés à l'ensemble (ou à un sous-ensemble) des autres Utilisateurs et les nommons  More exactly, we distinguish the Profiles (or subsets of Profile) that are published to the set (or a subset) of other Users and name them

" Profil Non Confidentiel >"."Non-Confidential Profile>".

On va maintenant décrire un certain nombre de fonctionnalités autorisées par ce perfectionnement. a) Le concept de Dérivation Les Utilisateurs peuvent " Dériver >> un Profil Non Confidentiel, c'est-à-dire l'importer et l'utiliser comme étant leur propre Profil (Confidentiel ou pas) et en  We will now describe a certain number of functionalities authorized by this improvement. a) The Derivative Concept Users can "Derive" a Non-Confidential Profile, ie import it and use it as their own Profile (Confidential or not) and in

enlever ou y ajouter des Contenus.remove or add Content.

On entend par là que les Contenus Ajoutés (ou Acceptés) dans le Profil source sont automatiquement Suggérés dans le Profil dérivé et que l'Utilisateur de ce dernier  By this is meant that the Added (or Accepted) Content in the Source Profile is automatically Suggested in the Derived Profile and that the User of that Profile is

peut ainsi en Accepter tout ou partie.  So can accept all or part of it.

Par << en enlever " on entend que l'Utilisateur peut Refuser certains Contenus Suggérés. Finalement, l'Utilisateur peut aussi Ajouter: * des Références à des Contenus, ou  By "removing" it is meant that the User may refuse certain Suggested Content Finally, the User may also add: * References to Content, or

* des Références à des Références se trouvant dans d'autres Profils.  References to References in other Profiles.

Les nouveaux Contenus (Directs ou Indirects) sont alors ajoutés dans la BD  New Contents (Direct or Indirect) are then added to the DB

Commune dans le Contenant lié au Profil dérivé, s'il n'y figuraient pas déjà.  Common in the Container related to the Derived Profile, if they were not already there.

Un diagramme de classe relatif à la structure d'un tel système de dérivation de  A class diagram relating to the structure of such a system of derivation of

Profils est illustré sur la figure 91 des dessins.  Profiles is illustrated in Figure 91 of the drawings.

On observe qu'un Profil Dérivé et Non Confidentiel peut être dérivé à son tour par un autre Utilisateur. Les Références entre Profils peuvent donc se faire en cascade  It is observed that a Derivative and Non-Confidential Profile can be derived in turn by another User. References between Profiles can be cascaded

pour aboutir finalement aux Contenus dans la Base de Données Commune.  to finally reach the Content in the Common Database.

Optionnellement, un Profil Dérivé peut être fusionné avec un Profil déjà existant  Optionally, a Derived Profile can be merged with an already existing Profile

(que ce dernier soit lui-même Dérivé ou non) et adopter le Contenant de ce dernier.  (whether the latter is Derivative or not) and adopt the Container of the latter.

En résultat, un Profil peut ainsi être dérivé de plusieurs Profils.  As a result, a Profile can be derived from several Profiles.

b) Lien Profil-Contenu Une même Référence peut en même temps être dans l'état Ajouté dans un Profil et dans l'état Refusé dans un autre Profil. On doit alors introduire un objet intermédiaire " Lien Profil-Contenu " (ou lien) pour spécifier cet état. Ainsi, une même Référence peut avoir un lien ajouté avec un Profil et un lien Suggéré avec un  b) Link Profile-Content The same Reference can at the same time be in the Added state in a Profile and in the Refused state in another Profile. We must then introduce an intermediate object "Link Profile-Content" (or link) to specify this state. Thus, the same Reference may have a link added with a Profile and a Suggested link with a

autre Profil.other Profile.

L'état d'un lien Profil-Contenu peut être "Suggéré ", "Refusé ", "Ajouté" ou  The status of a Profile-Content link can be "Suggested", "Rejected", "Added", or

<< Retiré >>. Ceci sera précisé plus loin.  << Retired >>. This will be specified later.

c) Archive On peut également introduire une fonction d'" Archive de Profil >>, qui sert d'étape  c) Archive One can also introduce a function of "Profile Archive", which serves as a stage

intermédiaire avant la suppression effective d'une Référence dans un Profil.  intermediate before the effective deletion of a Reference in a Profile.

Une Référence R peut être Retirée dans un Profil P I alors que dans un Profil P2 on y fait référence en mode Ajouté ou Suggéré. Dans ce cas, au moment o R est Retirée dans Pl, elle est placée dans 1'" Archive de Profil " liée à P1 et ne pourra être effectivement supprimée que lorsqueplus aucun Profil n'y fera référence en mode  A Reference R can be Retired in a Profile P I while in a Profile P2 it is referenced in Added or Suggested mode. In this case, when R is removed from Pl, it is placed in the "Profile Archive" linked to P1 and can only be effectively deleted when no more profiles refer to it in the same mode.

Ajouté ou Suggéré.Added or Suggested.

Autrement dit, quand un lien Profil-Contenu passe à l'état " Retiré ", si d'autres références existent sur la Référence en question, cette dernière se délie du Profil et se lie avec l'Archive de ce Profil, et si aucune référence n'existe sur elle, elle peut être supprimée effectivement (sous réserve de possibilité d'annulation de l'action par des méthodes traditionnelles). Ainsi un attribut " Compteur de dérivation " peut être prévu pour mémoriser le nombre de Références Suggéré ou Ajouté sur la Référence en question. La Référence peut ainsi être supprimée de l'Archive quand la valeur du Compteur de Dérivation  In other words, when a Profile-Content link changes to the "Retired" state, if there are other references to the Reference in question, the Reference is released from the Profile and links with the Archive of that Profile, and if no reference exists on it, it can be suppressed effectively (subject to the possibility of cancellation of the action by traditional methods). Thus a "Bypass Counter" attribute can be provided to store the number of References Suggested or Added on the Reference in question. The Reference can be deleted from the Archive when the Derivative Counter value

passe à zéro.goes to zero.

* d) Procédé de Suggestion La suggestion est le procédé de communication entre Profils. Par ce procédé, les 1 5 Contenus se propagent: * soit automatiquement -d'un Profil à ses Profils dérivés, - et inversement, des Profils dérivés aux Profils sources * soit " manuellement ">, par le fait de soumettre un Contenu d'un Profil à un autre* d) Suggestion method The suggestion is the communication process between Profiles. By this process, the Contents 5 propagate: * either automatically - from a Profile to its Derived Profiles, - and conversely, from Derived Profiles to Source Profiles * or "manually">, by submitting Content to one Profile to another

Profil.Profile.

On va détailler ci-dessous ces différents modes de propagation: i) Propagation d'un Profil à ses Profils Dérivés Les Références ajoutées dans un Profil d'un Utilisateur UB, lequel Profil est dérivé par un Utilisateur UA, sont par défaut automatiquement suggérés à UA, comme  We will detail below these different modes of propagation: i) Propagation of a Profile to its Derivative Profiles The References added in a Profile of a User UB, which Profile is derived by a User UA, are by default automatically suggested to UA, as

l'illustre la figure 92.Figure 92 illustrates this.

Le résultat de la suggestion se matérialise par un lien Suggéré Dérivé comme illustré sur la figure 93. Ce lien n'est pas rendu permanent, en ce sens qu'il n'a d'existence  The result of the suggestion is materialized by a Suggested Derived link as shown in Figure 93. This link is not made permanent, in that it does not exist

que sur le poste client.than on the client computer.

Dans le cas o le possesseur du Profil A accepte la suggestion du Contenu pointé par R, il n'est plus besoin de suggérer à nouveau R à chaque connexion, car une autre  In the case where the owner of Profile A accepts the suggestion of the Content pointed by R, there is no need to suggest R again for each connection, because another

Référence R' pointant sur R est créée, comme le montre la figure 94.  Reference R 'pointing to R is created, as shown in Figure 94.

Le système utilisera alors le fait que l'état du lien Suggéré Dérivé est Consulté (le lien est stocké de manière permanente sur le serveur) pour ne pas suggérer à nouveau  The system will then use the fact that the state of the link Suggested Derived is Consulted (the link is stored permanently on the server) not to suggest again

ce Contenu à la prochaine connexion de l'Utilisateur sur ce Profil.  this Content at the next login of the User on this Profile.

ii) Propagation d'un Profil Dérivé à son (ou ses) Profil(s) source(s) Les Références ajoutées dans un Profil Dérivé sont automatiquement suggérées au(x) propriétaire(s) du (des) Profil(s) d'origine. Bien entendu, ce (ou ces) derniers  ii) Propagation of a Profile Derived from its (or its) Profile (s) source (s) The References added in a Derivative Profile are automatically suggested to the owner (s) of the Profile (s) of origin. Of course, this (or these) last

peu(ven)t les accepter ou les refuser.  can not accept or reject them.

Le schéma de la figure 95 illustre la communication de UB à Uc via le Profil de UA,  The scheme of Figure 95 illustrates the communication from UB to Uc via the UA Profile,

Les Profils de UB et Uc ayant été dérivés du Profil de UA.  The UB and Uc Profiles having been derived from the DU Profile.

Le résultat de la suggestion automatique du Profil B au Profil A se matérialise par un lien Suggéré, comme illustré sur la figure 96, qui n'est pas stocké de manière permanente: Dans le cas o le possesseur du Profil A accepte la Référence R, il n'est plus besoin de la suggérer à nouveau à chaque connexion, car une autre Référence R' sur R est créée. Pour le permettre, le lien Suggéré est rendu permanent. Ceci est illustré sur la  The result of the automatic suggestion of Profile B to Profile A is materialized by a Suggested link, as illustrated in Figure 96, which is not permanently stored: In the case where the owner of Profile A accepts Reference R, it is no longer necessary to suggest it again with each connection, because another Reference R 'on R is created. To enable this, the Suggested link is made permanent. This is illustrated on the

figure 97.Figure 97.

iii) Référencement (Suggestion manuelle) Par opposition aux suggestions automatiques évoquées ci-dessus, le Référencement est demandé explicitement par l'Utilisateur. Il consiste à " re-catégoriser " un  iii) Referencing (Manual Suggestion) In contrast to the automatic suggestions mentioned above, Referencing is explicitly requested by the User. It consists of "re-categorizing" a

Contenu dans un autre Contenant et entraîne la création d'un Contenu Indirect.  Content in another Container and leads to the creation of Indirect Content.

Un lien Profil-Contenu de Suggestion de Référencement a le même comportement  A Profile-Content link of Referencing Suggestion has the same behavior

que les liens Profil-Contenant de Suggestion automatique (déjà évoqués cidessus -  that the Profile-Container links of Automatic Suggestion (already mentioned above -

voir aussi plus loin les spécifications des transitions d'état).  see also the specifications of state transitions below).

Le résultat de la suggestion de Référencement du Profil B au Profil A se matérialise par un lien Suggéré tel qu'illustré sur la figure 98, qui est rendu permanent (contrairement aux exemples précédents): On notera ici qu'en remontant le lien de Suggestion de Référencement, on peut  The result of the suggestion of Referencing Profile B to Profile A is materialized by a Suggested link as shown in Figure 98, which is made permanent (unlike the previous examples): It should be noted that by going back the link Suggestion of Referencing, we can

retrouver le Profil dans lequel le Contenu en question a été référencé.  find the Profile in which the Content in question has been referenced.

Dans le cas o le possesseur du Profil A accepte la Référence R, il n'est plus besoin de la suggérer à nouveau à chaque connexion, car une autre Référence R' pointant  In the case where the owner of the Profile A accepts the Reference R, it is not necessary to suggest it again at each connection, because another Reference R 'pointing

sur R est créée, comme illustré sur la figure 99.  on R is created, as shown in Figure 99.

Note sur les types de liens Profil-Contenu Les Contenus (plus exactement des Références à des Contenus) situés dans un Profil Propre ou dans un Profil Dérivé ont des liens avec ces Profils qui peuvent être  Note on the types of links Profile-Content The Contents (more precisely References to Contents) located in a Clean Profile or in a Derived Profile have links with these Profiles which can be

2 5 différents.2 5 different.

Ainsi les Profils Propres peuvent avoir: * des liens Créés (liens avec de nouveaux Contenus Directs ou Indirects), * des liens Dérivés (liens avec des Contenus dérivés d'autres Profils) ou  Thus the Clean Profiles can have: * Created links (links with new Direct or Indirect Contents), * Derived links (links with Contents derived from other Profiles) or

3 0 * des liens Suggérés (liens avec des Contenus qui lui ont été suggérés).  3 0 * Suggested links (links to suggested Content).

Les Profils Dérivés peuvent avoir quant à eux: * des liens Créés (liens avec de nouveaux Contenus Directs ou Indirects), * des liens Dérivés (liens avec des Contenus dérivés d'autres Profils) * des liens Suggérés Dérivés (liens avec des Contenus appartenant au Profil source) ou  Derived Profiles may have: * Created links (links with new Direct or Indirect Content), * Derived links (links with Content derived from other Profiles) * Suggested links Derived (links with Contents belonging to Source Profile) or

* des liens Suggérés (liens avec des Contenus qui lui ont été suggérés).  * Suggested links (links to suggested Content).

Le diagramme de classe illustrant ces différents types de liens est illustré sur la  The class diagram illustrating these different types of links is illustrated on the

figure 100 des dessins.Figure 100 of the drawings.

Note sur les Transitions des liens On va décrire ci-dessous les différentes transitions apparaissant pour des liens Créés,  Note on the Transitions of links We will describe below the different transitions appearing for Created links,

des liens Dérivés, des liens Suggérés et des liens Archive.  Derivative links, Suggested links and Archive links.

a. Transitions des liens Créés (figure 101) 1. Création d'une Référence (nouveau Contenu, Contenu pris du Contenant associé ou d'un autre Contenant) 2. L'Utilisateur veut la supprimer, celle-ci est d'abord mise en Archive (effet: lien Archive transition 1) 3. Remettre dans le Profil une Référence Retirée (" restore >>) (effet: lien Archive transition 2) 4. Au cas o le Compteur de Dérivation tombe à zéro, la Référence peut être Supprimée effectivement (Supprimée aussi dans l'Archive - Transition 2) ainsi que  at. Transitions of Created Links (Figure 101) 1. Creation of a Reference (new Content, Content taken from the associated Container or another Container) 2. The User wants to delete it, it is first put in Archive (effect: link Archive transition 1) 3. Put in the Profile a Retired Reference ("effect") (effect: link Archive transition 2) 4. In case the Derivative Counter falls to zero, the Reference can be effectively deleted. (Also deleted in Archive - Transition 2) as well as

son lien.his link.

b. Transitions des liens Dérivés (figure 102) 1. Soit une Référence est (" manuellement ") dérivée d'un autre Profil, soit une Référence suggérée est entérinée. En même temps, le lien Suggéré correspondant (le  b. Transitions of Derived Links (Figure 102) 1. Either a Reference is ("manually") derived from another Profile, or a suggested Reference is endorsed. At the same time, the corresponding Suggested link (the

cas échéant) passe à Consulté (Transition 5).  where appropriate) moves to Consulted (Transition 5).

2. L'Utilisateur peut ensuite la Retirer. Auquel cas elle est d'abord mise en Archive (lien Archive Transition 1). Le lien Suggéré correspondant (le cas échéant) reste à Consulté.  2. The user can then remove it. In which case it is first put in Archive (Link Archive Transition 1). The corresponding Suggested link (if any) remains in Consulted.

3. " Restauration >> (retour de l'Archive). Transition 2 pour le lien Archive.  3. "Restore" (return of the Archive), Transition 2 for the Archive link.

4. Au cas o le Compteur de Dérivation tombe à zéro, la Référence est supprimée effectivement et son lien l'est donc aussi (supprimée aussi dans l'Archive: Transition 2). En même temps, le lien Suggéré correspondant (le cas échéant) est  4. In case the Derivative Counter falls to zero, the Reference is effectively deleted and so is its link (also deleted in the Archive: Transition 2). At the same time, the corresponding Suggested link (if any) is

supprimé (Transition 4).deleted (Transition 4).

c. Transitions des liens Suggérés (figure 103)  c. Suggested Links Transitions (Figure 103)

On notera tout d'abord que le lien Suggéré Dérivé en est un cas particulier.  It will be noted first of all that the Suggested Derived link is a special case.

1. Un Profil reçoit une Référence (un Contenu est suggéré). Le lien Suggéré dans l'état Suggéré n'est pas stocké de manière permanente, sauf dans le cas du Référencement (puisque dans ce cas la suggestion ne découle pas de la dérivation du  1. A Profile receives a Reference (a Content is suggested). The Suggested link in the Suggested state is not stored permanently, except in the case of Referencing (since in this case the suggestion does not result from the derivation of the

2 0 Profil et n'est donc pas une information redondante).  2 0 Profile and is therefore not redundant information).

2. L'Utilisateur le refuse ou l'ajoute (s'il l'ajoute: transition 1 du lien Dérivé). Le lien Suggéré est alors stocké de manière permanente (dans l'état Consulté). Le système pourra ainsi éviter de suggérer à nouveau cette Référence à la prochaine connexion 2 5 3. << Restauration ". Le lien stocké de manière permanente est simplement supprimé dans la BD des Profils sauf dans le cas du Référencement. L'élément pourra ainsi  2. The user refuses it or adds it (if it adds it: transition 1 of the Derived link). The Suggested link is then stored permanently (in the Consulted state). The system will thus be able to avoid suggesting this Reference again at the next connection 2 5 3. "Restore" The permanently stored link is simply deleted in the Profiles DB, except in the case of Referencing.

être suggéré à nouveau.to be suggested again.

4. La source étant effectivement supprimée (lien Archive - 2), son lien est supprimé.  4. The source being effectively deleted (link Archive - 2), its link is removed.

S'il existe, le lien Dérivé correspondant effectue la Transition 4.  If it exists, the corresponding Derived link performs Transition 4.

d. Transitions des liens Archive (figure 104)  d. Archive Link Transitions (Figure 104)

1. Référence mise en Archive (cause: transition 2 des liens Créés et Dérivés).  1. Reference placed in Archive (cause: transition 2 of Created and Derived links).

2. Lien Archive supprimé, soit parce que la Référence est restaurée (transition 3 des liens Créés et Dérivés), soit parce que le Compteur de Dérivation tombe à zéro (plus aucune autre Référence ne pointe sur la Référence attachée à ce lien), dans ce cas  2. Archive link deleted, either because the Reference is restored (transition 3 of the Created and Derived links), or because the Derivative Counter falls to zero (no other Reference points to the Reference attached to this link), in this case

Transition 4 pour les lien Suggéré et Dérivé ou pour le lien Créé.  Transition 4 for Suggested and Derived Link or Created Link.

iv) Archivage et Restauration Partons de la situation illustrée sur la figure 105, dans laquelle un Profil A possède une Référence R' sur une Référence R d'un Profi! B. Quand la référence R' est Retirée elle va en Archive, comme illustré sur la figure 106. Mais dès que plus aucune Référence ne pointe sur elle (dès que le Compteur de Dérivation de R' passe à zéro), R' peut être supprimée effectivement. Ceci est illustré  iv) Archiving and Restoring Let us start from the situation illustrated in FIG. 105, in which a Profile A has a Reference R 'on a Reference R of a Profi! B. When the reference R 'is Retired it goes into Archive, as illustrated in Figure 106. But as soon as no more Reference points to it (as soon as the Derivative Counter of R' goes to zero), R 'can be actually deleted. This is illustrated

sur la figure 107.in Figure 107.

2 0 Ce premier perfectionnement de la présente invention présente, outre les avantages de la forme de réalisation de base, toute une série d'avantages supplémentaires, et principalement le fait de pouvoir dériver des Profils, et donc de bénéficier de << canaux de communication " automatiques entre Utilisateurs. Plus précisément: - alors que dans la forme de réalisation de base, l'Utilisateur pouvait consulter les Contenants de la BD Commune et s'abonner à (être automatiquement informé de) leurs nouveaux Contenus, le premier perfectionnement permet à l'Utilisateur de consulter et de s'abonner aux Profils qu'il a dérivé. Il exploite ainsi l'expertise (de regroupement sélectif et de catégorisation d'informations) matérialisée dans ces Profils; le schéma de la figure 92 illustre qu'un Contenu, ajouté par un Utilisateur UB, est communiqué à un Utilisateur UA automatiquement via leurs Profils respectifs, grâce au fait que le Profil de UA (Profil A) est dérivé de celui de UB (Profil B); autrement dit, les Références ajoutées dans un Profil d'un Utilisateur-UB, lequel Profil est dérivé par un Utilisateur UA, sont par défaut automatiquement  This first refinement of the present invention has, besides the advantages of the basic embodiment, a whole series of additional advantages, and mainly the fact of being able to derive Profiles, and thus to benefit from "communication channels". Automatically between Users: More precisely: - whereas in the basic embodiment, the User could consult the Compositers of the Common Comics and subscribe to (be automatically informed of) their new Contents, the first improvement allows to the user to consult and subscribe to the Profiles he has derived, thus exploiting the expertise (of selective grouping and categorization of information) materialized in these Profiles, the diagram of Figure 92 illustrates that a Content, added by a User UB, is communicated to a User UA automatically via their respective Profiles, thanks to the fact that the Profile of UA (Profile A) is derived from elui of UB (Profile B), ie References added in a User-UB Profile, which Profile is derived by a UA User, are by default automatically

communiquées à UA.communicated to AU.

- les Références ajoutées dans un Profil Dérivé sont automatiquement suggérées au(x) propriétaire(s) du (des) Profil(s) d'origine. Au cas o ce(s) demrnier(s) les valide(nt), son (leurs) propre(s) Profil(s) se trouve(nt) enrichi(s) de ces Contenus, et, en vertu de ce qui précède, ces derniers sont alors automatiquement propagés aux autres Utilisateurs ayant dérivé le(s) même(s) Profil(s) et qui s'y sont abonnés.; le schéma de la figure 95 illustre la communication de UB à UC via le Profil de UA,  - The References added in a Derived Profile are automatically suggested to the owner (s) of the Profile (s) of origin. In the event that the registrant (s) validate them, his (their) own Profile (s) is (are) enriched with these Contents, and, in accordance with the above , these are then automatically propagated to other Users who have derived the same Profile (s) and subscribed to it; the diagram of Figure 95 illustrates the communication from UB to UC via the UA Profile,

Les Profils de UB et UC ayant été dérivés du Profil de UA.  The UB and UC Profiles that were derived from the UA Profile.

- enfin, grâce à la fonctionnalité d'Archive, un Contenu dérivé dans un Profil reste  - finally, thanks to the functionality of Archive, a Content derived in a Profile remains

vivant même quand le Contenu d'origine est supprimé.  living even when the original Content is deleted.

D. Deuxième perfectionnement (Niveau 3) Selon ce deuxième perfectionnement, les Utilisateurs ne partagent plus une structure 2 0 commune de Contenants. Autrement dit, chaque Utilisateur peut avoir une structure  D. Second Improvement (Level 3) According to this second improvement, Users no longer share a common structure of Containers. In other words, each user can have a structure

de Contenants différente de celles des autres Utilisateurs.  of Containers different from those of other Users.

Ces structures de Contenants sont mémorisées dans des " Bases de Données (BD) Personnelles " des Utilisateurs et non dans la BD Commune, qui d'ailleurs n'existe  These Container structures are stored in "Personal Databases (DBs)" of the Users and not in the Common Compendium, which does not exist

2 5 plus en tant que telle mais en tant qu'ensemble de fichiers (" Contenants >>).  Plus 5 as such but as a set of files ("Containers").

Dans le même esprit que ce qui précède, une BD Personnelle est composée de Références plutôt que des Contenants et Contenus eux-mêmes. En effet, pour chaque Contenant, tous les Contenus (sauf ceux qui sont confidentiels) sont mémorisés en 3 0 dehors de la BD Personnelle, dans un fichier commun (<< Contenant "). Dans la BD Personnelle, les références à ces Contenus forment un " Profil ". Certains de ces Profils peuvent être publiés à l'ensemble ou à un sous-ensemble des autres  In the same spirit as the above, a Personal DB is composed of References rather than Containers and Contents themselves. In fact, for each Container, all the Contents (except those which are confidential) are stored outside the Personal DB in a common file ("Container") In the Personal DB, the references to these Contents form a "Profile." Some of these profiles may be published to all or a subset of the others

Utilisateurs (Profils Non Confidentiels - voir plus haut).  Users (Non-Confidential Profiles - see above).

Les Profils contiennent des Sous-Profils et forment ainsi une structure arborescente illustrée sur la figure 108 (ou encore une structure de graphe), qui peut être différente  Profiles contain Sub-Profiles and thus form a tree structure shown in Figure 108 (or a graph structure), which may be different

d'une BD Personnelle à une autre.from one personal comic to another.

De manière primitive, cette structure peut être représentée par un diagramme de  Primitively, this structure can be represented by a diagram of

classe UML, comme illustré sur la figure 109.  UML class, as shown in Figure 109.

Ici encore, le système offre une garantie d'anonymat: Les Utilisateurs, pour un Contenant donné (accessible à travers un Profil de leur BD Personnelle), peuvent consulter (ou être abonné à) tous les Contenus ajoutés par les autres Utilisateurs dans ce Contenant, sans pouvoir déterminer quel Contenu figure dans quelle BD  Here again, the system offers a guarantee of anonymity: The Users, for a given Container (accessible through a Profile of their Personal DB), can consult (or subscribe to) all the Content added by the other Users in this Container. , without being able to determine which Content is in which comic strip

1 5 Personnelle.1 5 Personal.

Ici, deux Profils associés à un même Contenant peuvent avoir une dénomination différente. On appelle " Catégorie " le nom d'un Profil. Comme la Catégorie d'un Contenant dépend du choix de l'Utilisateur, la classe Catégorie est associée à la  Here, two Profiles associated with the same Container may have a different name. The name of a Profile is called "Category". Since the Category of a Container depends on the choice of the User, the Category class is associated with the

2 0 classe " Profil >> (ou en constitue un attribut) et non pas à la classe " Contenant ".  "Profile" class (or an attribute thereof) and not the "Container" class.

On va maintenant décrire la façon dont l'arborescence est construite par chaque Utilisateur, c'est-à-dire la façon dont les différents SousContenants sont créés dans  We will now describe how the tree is built by each User, that is to say how the different SubContents are created in

les Profils, ainsi que l'incitation qui existe pour un Utilisateur à dériver un Profil.  Profiles, as well as the incentive that exists for a User to derive a Profile.

a) Nouveau Contenant L'Utilisateur peut librement créer un nouveau Contenant, en tant que sous-profil dans un Profil de sa BD Perso. S'il est Non Confidentiel, celui-ci donnera lieu à un nouveau fichier (Contenant-l) dans la Partie Commune, comme illustré sur la figure 110. b) Contenant déjà existant Alternativement, l'Utilisateur peut dériver un Profil Non Confidentiel d'un autre Utilisateur ou un Profil de sa propre BD Personnelle. Ce Profil est ajouté en tant que Sous-Profil dans un Profil de sa BD Personnelle qu'il a choisi (il a par exemple inséré le Profil dérivé dans ce Profil par la technique du " glisser-déposer "). Les éléments (Contenus et Sous-Profils) que le Profil source contient sont  a) New Container The User can freely create a new Container, as a sub-profile in a Profile of his Personal DB. If it is Non-Confidential, it will result in a new file (Container-l) in the Common Part, as shown in Figure 110. b) Existing Container Alternatively, the User may derive a Non-Confidential Profile from another User or Profile from his own Personal Comics. This Profile is added as a Sub-Profile in a Profile of his Personal DB that he has chosen (for example, he has inserted the Derived Profile into this Profile by the "drag-and-drop" technique). The elements (Contents and Sub-Profiles) that the Source Profile contains are

automatiquement suggérés dans ce nouveau Sous-Profil.  automatically suggested in this new Sub-Profile.

On notera ici que le fait de dériver un Profil n'engendre pas automatiquement la dérivation de toute la structure sous-jacente. Autrement dit, les Sous-Profils ne sont pas dérivés d'office, mais seulement si l'Utilisateur les ajoute explicitement. En effet, dans le cas contraire, le processus de dérivation pourrait rentrer dans une  It should be noted here that deriving a Profile does not automatically generate the derivation of the entire underlying structure. In other words, sub-profiles are not automatically derived, but only if the user explicitly adds them. Indeed, in the opposite case, the process of derivation could enter a

boucle infinie.infinite loop.

c) Incitation l'Utilisateur à dériver un Profil i) Lien Profil-Profil Créé L'Utilisateur peut décider de dériver un Profil suite à sa consultation, par sa propre initiative, des Profils (non confidentiels) mis à sa disposition par les autres Utilisateurs. ii) Lien Profil-Profil Suggéré ou Dérivé Grâce au processus de suggestion descendante indiqué plus haut à propos du premier perfectionnement, les nouveaux Sous-Profils ajoutés dans un Profil P1, duquel un  c) Inciting the User to derive a Profile i) Link Profile-Profile Created The User can decide to derive a Profile following his consultation, on his own initiative, Profiles (non-confidential) made available by other Users . ii) Suggested or Derived Profile Profile Link Using the top-down suggestion process mentioned above for the first refinement, the new Sub-Profiles added in a P1 Profile, from which a

Profil P2 a été dérivé, se retrouvent automatiquement dans P2, en mode suggéré.  Profile P2 was derived, are automatically found in P2, in suggested mode.

Inversement, grâce au processus de suggestion remontante, un nouveau SousProfil ajouté dans P2 est suggéré dans Pl. Quand un nouveau Sous-Profil apparaît ainsi,  Conversely, thanks to the upward suggestion process, a new SubProfile added in P2 is suggested in Pl. When a new SubProfile appears thus,

l'Utilisateur peut l'ignorer (c'est le cas par défaut), le garder (l'ajouter) ou le refuser.  the User can ignore it (this is the case by default), keep it (add it) or refuse it.

iii) Lien Profil-Profil Référence (" Suggestion Manuelle ") Ce processus est appelé " Référencement >>. Un Utilisateur UA peut, de sa propre initiative, suggérer une Référence RI ou un Profil P1 à un Utilisateur UB, pour qu'il soit dérivé en tant que Référence Rl' ou profil PI' sous un Profil P2 (Non  iii) Profile-Profile Link Reference ("Manual Suggestion") This process is called "Referencing." An AU User may, on his / her own initiative, suggest an IR Reference or a P1 Profile to a UB User, so that derived as Reference Rl 'or profile PI' under Profile P2 (No

Confidentiel) de la BD Personnelle de UB.  Confidential) of the UB Personal Comics.

Ces différents liens apparaissent sur le diagramme de classe de la figure 1 1.  These different links appear on the class diagram of Figure 1 1.

Outre les avantages mentionnés plus haut à propos de la forme de réalisation de base et du premier perfectionnement (niveaux 1 et 2), ce second perfectionnement de l'invention ajoute d'autres avantages: - tout d'abord, différents Utilisateurs peuvent avoir une structure différente de Contenants; l'Utilisateur est ainsi maître de la catégorisation de ses données et n'est pas contraint par une structure commune figée; dans ce nouveau cadre, le système: * exploite toujours le fait que les Contenants sont partagés (avantage du niveau 1), et * permet des dérivations non seulement de Contenus mais aussi de structures  In addition to the advantages mentioned above with regard to the basic embodiment and the first improvement (levels 1 and 2), this second improvement of the invention adds other advantages: - firstly, different users can have a different structure of Containers; the User is thus master of the categorization of his data and is not constrained by a fixed common structure; in this new framework, the system: * always exploits the fact that Containers are shared (advantage of level 1), and * allows derivations not only of Contents but also of structures

arborescentes de Contenants.trees of Containers.

- ensuite, la dérivation de Profil ou de Contenu peut se faire, non seulement par l'initiative de l'Utilisateur qui dérive, mais aussi par l'initiative d'un autre Utilisateur qui souhaite que ses Profils ou Contenus soient dérivés dans un Profil externe (mécanisme de Référencement) et qui pour cela les suggèrent " manuellement " (par  - Then, the derivation of Profile or Content can be done, not only by the initiative of the User who derives, but also by the initiative of another User who wishes that his Profiles or Contents are derived in a Profile (Referencing mechanism) and for this reason suggest them "manually" (by

opposition aux suggestions automatiques décrites plus haut.  opposition to automatic suggestions described above.

Ce dernier avantage est considérable; grâce au Référencement, le système peut s'étendre et voir sa Communauté d'Utilisateurs augmenter toujours plus, *sans véritable risque de " pollution " à cause de l'introduction d'informations de mauvaise qualité. En effet, bien que de telles informations puissent effectivement être introduites dans le système, le nombre d'Utilisateurs qui y accéderont ne sera pas significatif. Car pour que l'on y accède à grande échelle, il faudrait qu'elles soient Référencées dans les Profils publics << à grande audience >>, c'est-àdire connus par un grand nombre d'Utilisateurs et largement consultés et/ou dérivés. Or, les propriétaires de ces Profils publics ne sont pas obligés d'accepter un Référencement suggéré par n'importe qui et peuvent le filtrer. Ils filtreront ainsi les mauvaises informations sous peine de dévaloriser leurs propres image et la confiance de leur << audience >>. Les Utilisateurs du système jouent donc eux-mêmes le rôle de  This last advantage is considerable; thanks to Referencing, the system can expand and see its User Community increase ever more, * without any real risk of "pollution" because of the introduction of poor quality information. Indeed, although such information can actually be introduced into the system, the number of users who access it will not be significant. Because in order to be widely accessed, they should be referenced in "wide audience" public profiles, that is, known by a large number of users and widely consulted and / or derivatives. However, the owners of these Public Profiles are not obliged to accept a Referencing suggested by anyone and can filter it. They will thus filter the bad information under pain of devaluing their own image and the trust of their "audience". Users of the system therefore play the role of

" modérateurs " décentralisés. Le système est ainsi auto-régulé.  decentralized "moderators". The system is thus self-regulated.

E. Troisième perfectionnement (niveau 4) Ce troisième perfectionnement consiste en une évolution du deuxième pour prendre en compte l'assemblage, dans un Profil d'un Utilisateur, de plusieurs ensembles de  E. Third Enhancement (Level 4) This third improvement consists of an evolution of the second to take into account the assembly, in a User's Profile, of several sets of

Contenus pour un même Contenant.Contained for the same Container.

Selon ce perfectionnement, les Profils du Niveau 3 sont remplacés par des "Classeurs ". Un Classeur est associé à un Contenant et contient (zéro, une ou)  According to this improvement, Level 3 Profiles are replaced by "Workbooks". A Workbook is associated with a Container and contains (zero, one or)

plusieurs << Pages >". Chaque Page rassemble un ensemble de Contenus.  several "Pages>" Each Page brings together a set of Contents.

2 5 Un Classeur contient donc des Pages et des sous-classeurs.  2 5 A workbook contains pages and sub-folders.

La structure arborescente est ainsi représentée sous la forme d'une hiérarchie de  The tree structure is thus represented in the form of a hierarchy of

" Classeurs ", comme illustré sur la figure 112.  "Workbooks" as shown in Figure 112.

Les classeurs, les pages et les Références peuvent être dérivés. Les liens Profil-  Workbooks, Pages, and References can be derived. The Profile- links

Contenu sont remplacés par des liens Classeur-Page et Page-Contenu. L'Archive de Profil est remplacée par une Archive globale pour chaque Base de Données Personnelle.  Content is replaced by Link-Page and Page-Content links. The Profile Archive is replaced by a Global Archive for each Personal Database.

Cette structure est spécifiée par le diagramme de classe illustré sur la figure 113.  This structure is specified by the class diagram shown in Figure 113.

Les Classeurs et les Pages (Non Confidentiels) d'une BD Personnelle peuvent être dérivés d'une autre BD Personnelle, voire d'un autre endroit de la même BD Personnelle.  The Binders and Pages (Non-Confidential) of a Personal DB may be derived from another Personal DB, or even from another location in the same Personal DB.

Les avantages des niveaux I à 3 subsistent ici.  The benefits of levels I to 3 remain here.

On va maintenant décrire une application pratique de ce troisième perfectionnement.  We will now describe a practical application of this third improvement.

Un Utilisateur possède un classeur de base qui lui est " propre ", dans lequel il peut réaliser différentes actions, et en particulier: a) Création de sous-éléments " propres à l'Utilisateur " L'Utilisateur constitue son Classeur de ses propres Sous-Classeurs, Pages et Calques (on décrira ces deux derniers objets dans la suite) grâce à un éditeur de documents  A User has a basic workbook that is "clean", in which he can perform various actions, and in particular: a) Creation of sub-elements "specific to the User" The User constitutes his workbook of his own Sub -Classeurs, Pages and Layers (we will describe these last two objects in the following) thanks to a document editor

intégré au système.integrated into the system.

b) Création de sous-éléments " dérivés " 2 5 L'Utilisateur insère dans son Classeur des éléments récupérés dans d'autres Classeurs. c) Suppression de sous-éléments " propres à l'Utilisateur "  b) Creation of "derived" sub-elements 2 5 The User inserts in his workbook elements recovered in other workbooks. c) Deletion of sub-elements "specific to the User"

3 0 L'Utilisateur supprime ses propres éléments.  3 0 The user deletes his own items.

d) Acceptation ou Refus de sous-éléments << dérivés " L'Utilisateur rend visible ou non les sous-éléments " implicites " des éléments << dérivés ", c'est à dire les sous-éléments des éléments récupérés dans d'autres Classeurs. Ces informations sont stockées dans une base de données par exemple de type SQL,  d) Acceptance or Refusal of "derived" sub-elements The User makes visible or not the "implicit" sub-elements of the "derived" elements, ie the sub-elements of the elements recovered in other workbooks. This information is stored in a database, for example of the SQL type,

telle qu'illustrée sur la figure 114.  as shown in Figure 114.

On notera que les champs de référencement REFelement, REFstyle, REFcontenu sont ici des adresses de type " url ". Les pages vers lesquelles on pointe renvoient ainsi le code désiré, et en particulier les données de Contenu en format HTML, les données de Classeur en format XML, etc. Comme on le voit sur la figure 114, les Classeurs, Pages et Calques sont des " éléments " reliés hiérarchiquement par des tables " Lien ". leurs définitions ne se distinguent que par un attribut en moyenne (IDcontenant par un classeur, REFstyle  It should be noted that REFLement, REFstyle, REFcontenu referencing fields are here "url" type addresses. The pages to which one points thus return the desired code, and in particular the data of Content in HTML format, the data of Workbook in XML format, etc. As can be seen in FIG. 114, binders, pages and layers are "elements" linked hierarchically by "link" tables. their definitions are distinguished only by an attribute on average (IDcontaining by a workbook, REFstyle

pour une page, IDcontenu pour un calque).  for a page, IDcontent for a layer).

2 0 On va décrire ci-dessous, dans ce contexte, des exemples d'actions.  In this context, examples of actions will be described below.

a) Prologue: création d'Utilisateur Avant toute action de l'Utilisateur, il faut bien que celui-ci soit défini. Son existence  a) Prologue: creation of User Before any action of the User, it is necessary that this one is defined. His existence

2 5 est inscrite dans une table " Utilisateurs ", telle qu'illustrée sur la figure 115.  2 5 is written in a "Users" table, as illustrated in FIG.

(Remarque: à la création d'un nouvel Utilisateur, on crée également un " Classeur de Base " et un élément pour " Archive " (élément de type particulier pour stocker  (Note: when creating a new User, we also create a "Base Workbook" and an item for "Archive" (special type element for storing

tous les éléments en voie de suppression, comme décrit plus haut).  all items being deleted, as described above).

b) Action 1: création d'élément/sous- élément " propre à l'Utilisateur " La figure 116 illustre une structure hiérarchique de Classeurs et une Table associée,  b) Action 1: "User-specific" element / sub-element creation Figure 116 illustrates a hierarchical structure of Workbooks and an associated Table,

pour un Utilisateur donné (ici l'Utilisateur No. 1 appelé " Demo ").  for a given User (here User No. 1 called "Demo").

Les différents " éléments " de la Table de la figure 116 sont " propres " à cet Utilisateur, en ce sens qu'ils ne font pas référence à un autre élément (le champ  The different "elements" of the Table in Figure 116 are "clean" to this User, in that they do not refer to any other element (the field

" REFelement " est toujours égal à la valeur " Null ", c'est-à-dire vide).  "REFelement" is always equal to the value "Null", that is empty.

On distingue les 3 types d'éléments suivants, reconnus par la valeur de la variable  There are 3 types of elements, recognized by the value of the variable

Type de la Table de la figure 116.Type of Table in Figure 116.

i) Les Classeurs (type 1) Dans le présent exemple, les éléments Nos. 1 et 2 (c'est-à-dire dont les valeurs de IDelement sont respectivement égales à 1 et 2) sont des Classeurs appelés " Demo 0 " et " Demo 0 1 ", le Classeur No. 1 étant d'ailleurs le Classeur de Base de  i) Filing cabinets (type 1) In this example, the elements Nos. 1 and 2 (that is to say, whose IDelement values are respectively equal to 1 and 2) are Workbooks called "Demo 0" and "Demo 0 1", the Workbook No. 1 being also the Workbook Base

l'Utilisateur en question.the User in question.

ii) Les Pages (type 2)ii) Pages (type 2)

Dans le présent exemple, les éléments Nos. 3 et 7 sont des Pages de l'Utilisateur.  In this example, the elements Nos. 3 and 7 are User Pages.

iii) Les Calques (type 3)iii) Layers (type 3)

2 5 Dans ce même exemple, les éléments Nos. 4 et 5 sont des Calques de l'Utilisateur.  In this same example, the elements Nos. 4 and 5 are User's Layers.

Les liens de parentés sont inscrits dans une Table " Liens ", telle qu'illustrée sur la figure 117. Cette Table montre que l'élément No. I (<" Demo 0 ") est le Parent des éléments Nos. 2 et 6 ( " Demo 0 1 " et " Demo 0 2 ") c) Action 2 création d'élément/sous-élément " Dérivé " La figure 118 montre un exemple d'une structure arborescente de classeurs incluant  The kinship relationships are listed in a "Links" Table, as shown in Figure 117. This Table shows that Item No. I (<"Demo 0") is the Parent of Elements Nos. 2 and 6 ("Demo 0 1" and "Demo 0 2") c) Action 2 creation of element / sub-element "Derived" Figure 118 shows an example of a tree structure of workbooks including

un Classeur " Dérivé " (nommé ici " Aline favoris >>), et de la Table associée.  a "Derivative" workbook (named here "Favorite Aline"), and the associated Table.

Un élément dérivé résulte de la récupération d'un élément par un autre Utilisateur que son concepteur original. C'est un élément " propre au récupérateur " auquel est  A derived element results from the retrieval of an element by a User other than its original designer. It is a "clean-up" element to which is

ajouté une référence à l'élément original.  added a reference to the original element.

L'exemple de la figure 1 18 montre que l'élément No. 9 (" Aline favoris >> ) est dérivé  The example in Figure 1 18 shows that item No. 9 ("Favorite Aline") is derived from

de l'élément No. 2 (<< Demo 0 1 "), car la valeur de REFelement est ici égale à 2.  of element No. 2 ("Demo 0 1"), because the value of REFelement is here equal to 2.

Le Classeur No. 9 possède alors implicitement les sous-éléments du classeur No. 2.  The Binder No. 9 then implicitly has the sub-elements of the binder No. 2.

Ces sous-éléments devront être Acceptés ou Refusés (voir plus loin action 4) pour que les Utilisateurs qui dériveront le classeur No. 9 les voient ou ne les voient pas,  These sub-elements must be Accepted or Refused (see Action 4 below) so that Users who derive Workbook No. 9 do not see or see them,

selon le cas.depending on the case.

Comme dans un élément " propre à l'Utilisateur ", l'Utilisateur de l'élément dérivé peut ajouter ou retrancher d'autres éléments selon son choix; ses ajouts et  As in a "user-specific" element, the user of the derived element can add or subtract other elements according to his choice; his additions and

suppressions seront d'ailleurs suggérés par la suite à l'auteur de l'élément original.  deletions will be suggested later to the author of the original element.

(Remarque: Lorsqu'un Utilisateur crée un élément << dérivé >> (comme ici le Classeur " Aline favoris >>), le compteur de dérivation de l'élément original (variable Compteur " est automatiquement incrémenté (comme ici pour le classeur " demo 0 1 "). Ceci permet de savoir si la suppression de l'original est possible ou si cet  (Note: When a user creates a "derived" element (as here the "Favorite Aline" workbook), the derivation counter of the original element (counter variable "is automatically incremented (as here for the workbook"). demo 0 1 ") This allows you to know if the deletion of the original is possible or if this

2 5 original doit être mis en archive lorsque son auteur le masque.  The original must be archived when its author hides it.

d) Action 3: Suppression d'éléments << propres à l'Utilisateur " i) Suppression d'un sous-élément << propre " non dérivé Considérons l'exemple o l'Utilisateur " demo " désire supprimer le sous-élément " Demo 0 2 ". D'après le Compteur de Dérivation, celui-ci n'est utilisé comme référence par personne. On peut donc supprimer le lien entre " Demo 0 " et " Demo 0 2 >", mais aussi supprimer " Demo 0 " et tous ses sous- éléments dont la valeur du Compteur de Dérivation est nul.  d) Action 3: Deleting "user-specific" elements i) Deleting a "clean" sub-element not derived Consider the example where the user "demo" wishes to delete the sub-element " Demo 0 2 ". According to the Derivative Counter, it is used as a reference by no one. We can therefore delete the link between "Demo 0" and "Demo 0 2>", but also delete "Demo 0" and all its sub-elements whose value of the Derivative Counter is zero.

Le résultat de cette suppression est illustré sur la figure 1 19.  The result of this deletion is illustrated in FIG.

ii) Suppression d'un sous-élément " propre " dérivé au moins une fois Considérons ici l'exemple o l'Utilisateur " demo " désire supprimer le sous-élément  ii) Deleting a "clean" sub-element derived at least once Consider here the example where the user "demo" wishes to delete the sub-element

"Demo 0 2 "."Demo 0 2".

Or, d'après la valeur du Compteur de Dérivation, celui-ci est utilisé comme référence par un autre classeur (en l'occurrence le classeur " Aline favoris "). On peut donc supprimer le lien entre " Demo 0 " et " Demo 0 1 ", mais on ne peut pas supprimer  However, according to the value of the Derivative Counter, it is used as a reference by another workbook (in this case the "Aline favorites" workbook). So we can remove the link between "Demo 0" and "Demo 0 1", but we can not delete

l'élément " Demo 0 1 " lui-même.the element "Demo 0 1" itself.

C'est pourquoi, celui-ci est alors apparenté au classeur " Archive " de l'Utilisateur (pour ne pas engendrer un orphelin). Il y restera jusqu'à ce que la valeur du  Therefore, it is then related to the user's "Archive" folder (so as not to generate an orphan). He will stay there until the value of

Compteur de Dérivation tombe à zéro.  Derivative counter drops to zero.

La situation est illustrée sur les figures 120a à 120c. Ainsi la figure 120c montre que l'élément n 2 (Idenfant = 2) n'appartient plus vraiment à l'élément No. I (Idparent =  The situation is illustrated in FIGS. 120a to 120c. Thus figure 120c shows that element n 2 (Idenfant = 2) no longer really belongs to element No. I (Idparent =

2 5 1), car son attribut " Operation " a la valeur zéro.  2 5 1), because its "Operation" attribute is set to zero.

Ce même élément est en revanche ajouté à l'élément " archive " n 12 (Idparent =  This same element is however added to the element "archive" n 12 (Idparent =

12) de l'Utilisateur, dont il devient un sous-élément.  12) of the User, of which he becomes a sub-element.

Le fait que ce sous-élément soit rattaché à un élément " archive " permettra de pouvoir encore le visualiser le cas échéant le restaurer à l'initiative de l'Utilisateur,  The fact that this sub-element is attached to an item "archive" will still be able to view it if necessary restore it at the initiative of the user,

comme on va le voir ci-dessous.as we will see below.

iii) Restauration d'un sous-élément " archive >> Pour restaurer un sousélément " archive ", l'Utilisateur consulte l'élément " archive " et désigne le sous-élément à restaurer. Il. suffit alors de remplacer le " 0 " par un << + >> dans le " lien " correspondant au sous-élément. Puis on supprime le lien  iii) Restoring an "archive" sub-element To restore an "archive" sub-element, the user consults the "archive" element and designates the sub-element to be restored, simply replace the "0" element. by a << + >> in the "link" corresponding to the sub-element, then delete the link

entre cet élément et l'élément " archive ". Ceci est illustré sur la figure 121.  between this element and the "archive" element. This is illustrated in Figure 121.

On observera que l'on pourrait mettre également en archive les éléments supprimés dont le compteur de dérivation est nul pour permettre leur restauration... Dans ce cas, la " vidange " se ferait de la même manière qu'avec la " corbeille " d'un explorateur de fichiers. Les éléments ne pourront cependant être " vidangés " tant  It will be observed that one could also archive the deleted elements whose derivation counter is zero to allow their restoration ... In this case, the "emptying" would be done in the same way as with the "trash" d a file explorer. However, the elements can not be "drained"

que leur compteur de dérivation est non nul.  their derivation counter is non-zero.

e) Action 4: Acceptation/Refus de sous-éléments " implicites " Les éléments dérivés possèdent implicitement les sous-éléments de l'élément  e) Action 4: Acceptance / Refusal of "implicit" sub-elements The derived elements implicitly possess the sub-elements of the element

- original.- original.

Ainsi, à chaque ouverture de son élément dérivé, l'Utilisateur verra apparaître et disparaître des sous-éléments au gré de l'Utilisateur de l'élément original. Ainsi la figure 122 illustre le cas o un classeur n 9 " Aline favoris " (Idelement = 9) est  Thus, at each opening of its derived element, the user will see appear and disappear sub-elements at the discretion of the user of the original element. Thus figure 122 illustrates the case where a file 9 n "Aline favorites" (Idelement = 9) is

dérivé d'un classeur n 2 (REFelement = 2), et possède donc implicitement les sous-  derived from a binder n 2 (REFelement = 2), and thus implicitly possesses the sub-

éléments de ce dernier, tels que les éléments illustrés sur la figure 123, dont la  elements of the latter, such as the elements illustrated in Figure 123, whose

variable Idparent est égale à 2.Idparent variable is equal to 2.

3 0 On va décrire ci-dessous comment ces sous-éléments peuvent être Acceptés ou Refusés. i) Acceptation d'un sous-élément " implicite " L'Utilisateur doit accepter un sous-élément " implicite " (sous-élément de l'original) pour ne pas risquer de le voir disparaître et pour le proposeraux Utilisateurs qui dériveront ou qui ont dérivé à leur tour l'élément dérivé (par exemple, si dans  We will describe below how these sub-elements can be Accepted or Refused. i) Acceptance of an "implicit" sub-element The User must accept an "implicit" sub-element (sub-element of the original) in order not to risk seeing it disappear and to propose it to Users who derive or who derived in turn the derived element (for example, if in

l'exemple ci-dessus un troisième Utilisateur crée un classeur dérivé du classeur n 9).  the above example a third user creates a workbook derived from workbook # 9).

L'acceptation d'un sous-élément " implicite >> est en fait une dérivation de ce sous-  The acceptance of an "implicit" sub-element is in fact a derivation of this sub-element.

élément dans le classeur dérivé. En base de données, cela revient donc à créer un  element in the derived workbook. In database, this amounts to creating a

classeur dérivé et à en faire un enfant de l'élément dérivé.  derived workbook and to make it a child of the derived element.

Exemple d'acceptation du sous-classeur implicite " Demo O 1 1 " La figure 124 illustre la création de l'élément n 15 dérivé du n 13, à savoir " Demo  Example of acceptance of the implicit subfolder "Demo O 1 1" Figure 124 illustrates the creation of element n 15 derived from n 13, namely "Demo

0 1 1 ", et la figure 125 illustre la création du lien de parenté entre les éléments.  0 1 1 ", and Figure 125 illustrates the creation of the relationship between the elements.

L'Utilisateur exprime ainsi son intérêt à l'auteur original pour cet élément. De plus, l'auteur original pourra ainsi lui suggérer par la suite des ajouts et retranchement de sous-éléments. ii) Refus d'un sous- élément " implicite " L'Utilisateur doit refuser un sous-élément << implicite " (sous-élément de l'original)  The User expresses his interest to the original author for this element. In addition, the original author will be able to suggest further additions and retrenchment of sub-elements. ii) Refusal of an "implicit" sub-element The User must refuse an "implicit" sub-element (sub-element of the original)

lorsqu'il ne souhaite pas le voir réapparaître à chaque ouverture de son classeur.  when he does not want to see it reappear with each opening of his binder.

Le refus d'un sous-élément " implicite >> est en fait un lien de parenté spécial entre ce sous-élément et le classeur dérivé qui permet de signifier le refus. En base de données, cela revient donc à créer un lien entre l'élément dérivé et le sous-élément  The refusal of an "implicit" sub-element is in fact a special relationship between this sub-element and the derived workbook, which is used to signify the refusal, so in the database, this amounts to creating a link between the derived element and the sub-element

avec la valeur " - >> dans le champ Operation.  with the value "-" in the Operation field.

Exemple de refus du sous-classeur implicite " Demo 0 1 2 " Cet exemple particulier est illustré sur les figures 126 et 127, la figure 127 montrant  Example of refusal of the implicit subfolder "Demo 0 1 2" This particular example is illustrated in Figures 126 and 127, Figure 127 showing

la valeur " - >> du champ Operation.  the value "-" in the Operation field.

L'Utilisateur exprime ainsi son désintérêt à l'auteur original pour cet élément. En outre, lorsque l'élément original est réellement supprimé, ce lien n'aura plus d'utilité  The User thus expresses his disinterest in the original author for this element. In addition, when the original element is actually deleted, this link will no longer be useful

et pourra donc être également supprimé.  and can therefore also be deleted.

On notera ici que la gestion des classeurs et des éléments qu'ils contiennent peut se faire avantageusement selon une interface utilisateur telle qu'illustrée sur la figure 127a. Cette interface utilisateur comprend à gauche deux fenêtres ou cadres superposés Cadrel et Cadre2, le cadre supérieur Cadrel affichant une structure arborescente (par exemple du type " Explorateur Windows " - marque déposée de Microsoft Corp.) du classeur de l'utilisateur, tandis que le cadre inférieur Cadre2 contient, avec le même type de représentation, le classeur d'un tiers en train d'être consulté à distance par ce même utilisateur. On peut ainsi facilement naviguer d'un Contenant à l'autre, les Contenus du cadre actif étant affichés dans un cadre plus grand Cadre3 prévu dans la partie droite de l'écran. Ces contenus (pages) sont 2 0 affichés avec le style imposé par le cadre couramment choisi. Des onglets permettent  It will be noted here that the management of the workbooks and the elements they contain can advantageously be done according to a user interface as illustrated in FIG. 127a. This user interface has two Cadrel and Frame2 overlapping windows or frames on the left, with the Cadrel top frame displaying a tree structure (for example, "Windows Explorer" - trademark of Microsoft Corp.) of the user's workbook, while the lower frame Cadre2 contains, with the same type of representation, the file of a third party being consulted remotely by this same user. It is thus easy to navigate from one Container to another, the contents of the active frame being displayed in a larger frame Cadre3 provided in the right part of the screen. These contents (pages) are displayed with the style imposed by the currently selected frame. Tabs allow

également de naviguer dans la structure.  also navigate the structure.

Cette interface permet notamment: - d'importer à partir du classeur tiers, par la technique du "glisser-déposer" du cadre Cadre2 vers le cadre Cadrel, tout ou partie des Contenants (inclus les Contenus associés) ou des contenus individuels, sachant que l'importation d'un ou de plusieurs Contenants peut impliquer une procédure d'acceptation sélective, de façon collective ou individuelle, des Contenus associés - de proposer au tiers, toujours par la technique du glisser-déposer, mais cette fois-ci de Cadrel vers Cadre2, tout ou partie de son propre classeur, pour mettre en oeuvre la fonction décrite plus haut de suggestion manuelle ou << Référencement "; - pour ce qui concerne le cadre d'affichage Cadre3, une série de boutons et/ou d'onglets est avantageusement prévue pour faire défiler les pages, changer de calque, etc.. Enfin on notera ici que les opérations d'acceptations/refus de suggestions peuvent s'effectuer dans des boîtes de dialogue spécifiques, soit lorsque l'utilisateur accède à un classeur contenant des éléments nouvellement suggérés depuis sa dernière connexion, soit lorsque l'utilisateur accède au Contenants destinés à accueillir les  This interface allows: - to import from the third workbook, by the "drag-and-drop" technique from the Cadre2 frame to the Cadrel frame, all or some of the Containers (including Associated Contents) or individual contents, knowing that the importation of one or more Containers may involve a procedure of selective acceptance, collectively or individually, of the Associated Content - to propose to the third party, always by the technique of drag and drop, but this time of Cadrel to Cadre2, all or part of its own workbook, to implement the function described above of manual suggestion or "Referencing" - as regards the Cadre3 display frame, a series of buttons and / or tabs is advantageously provided for scrolling pages, changing layers, etc. Finally, it should be noted here that the operations of accepting / refusing suggestions can be done in specific dialog boxes, or when the user accesses a workbook containing newly suggested items since they last logged in, or when the user accesses the Containers for

éléments suggérés.suggested elements.

Par ailleurs, ces aspects de l'invention permettent d'exploiter une nouvelle technologie de "multi-portail" sur l'Internet, qui permet: - à des fournisseurs d'informations, tels que des magazines grand public par exemple, de créer et mettre à jour leurs informations directement sur l'Internet, - l'accès aux informations par de multiples portes d'entrées, à partir desquelles les informations peuvent être présentées de manière différente; par exemple, chaque magazine peut offrir un accès au multiportail via son propre nom de domaine de type << www.telmagazine.fr >>, aux fournisseurs d'information de " fidéliser " l'internaute en jouant sur sa fibre de collectionneur; l'internaute peut en effet constituer des collections d'information dans un classeur personnel en ligne, - aux fournisseurs de produits, d'offrir des éléments de contenu décrivant leurs produits (biens ou services): en quelques clics de souris, ils les référencent dans les magazines en ligne, communiquent ainsi leurs nouveautés et promotions et en récoltent des transactions commerciales, aux magazines de se transformer en mini-annuaires (comme les portails ou annuaires connus aujourd'hui sur l'Internet) et de percevoir une commission sur les visites et ventes engendrées, - enfin, aux internautes de consulter les magazines et les offres de produits: ils peuvent glisser dans leur classeur personnel des éléments de contenu qu'ils retrouvent à chaque connexion, ces éléments de contenu étant mis à jour et complétés; le fait de glisser une information dans le classeur personnel représente implicitement une " déclaration d'intérêt " qui leur permet de se faire suggérer  Moreover, these aspects of the invention make it possible to exploit a new "multi-portal" technology on the Internet, which enables: - information providers, such as consumer magazines for example, to create and update their information directly on the Internet, - access to information through multiple entry doors, from which information can be presented in a different way; for example, each magazine can offer access to the multi-portal via its own domain name of "www.telmagazine.fr", to information providers to "retain" the user by playing on his fiber collector; the user can indeed build collections of information in a personal online binder, - to the product suppliers, to offer elements of content describing their products (goods or services): in a few mouse clicks, they reference them in ezines, communicate their novelties and promotions and collect commercial transactions, magazines to turn into mini-directories (such as portals or directories known today on the Internet) and collect a commission on visits and sales generated, - finally, to the Internet users to consult the magazines and the offers of products: they can slide in their personal workbook of the elements of content that they find at each connection, these elements of contents being updated and completed; dragging information into the personal workbook implicitly represents a "declaration of interest" that allows them to be suggested

automatiquement des informations apparentées.  automatically related information.

Ainsi un nouveau magazine en ligne rejoignant un multi-portail existant pourra  Thus a new online magazine joining an existing multi-portal will be able to

exploiter le trafic qui y est déjà présent.  exploit the traffic that is already there.

Section 2 - Auto-épuration du Système 2 0 On va maintenant décrire en détail une fonction de la présente invention permettant de prendre en compte la qualité des suggestions pour aboutir, par une notion de " degré de confiance >>, à limiter les effets de suggestions indésirables. Cette section est à rapprocher de la section <" Coefficients de Probabilité d'Acceptation " du chapitre II, sachant que l'acceptation au niveau des répertoires décrite dans cette section du chapitre II est plus large que l'acceptation au niveau des utilisateurs telle  Section 2 - Self-purification of the System 2 We will now describe in detail a function of the present invention making it possible to take into account the quality of the suggestions in order to achieve, by a notion of "degree of confidence", in limiting the effects of This section is to be compared to the "Probability of Acceptance Coefficients" section in Chapter II, since the level of listing acceptance described in this section of Chapter II is broader than the acceptance at the level of users such

que décrite dans la présente section.  described in this section.

IntroductionIntroduction

3 0 Le système met en oeuvre un double principe d'épuration.  The system uses a double purification principle.

Premièrement, comme mentionné à propos de la suggestion " manuelle " dans la section 1 de ce même chapitre, la diffusion des informations entre Utilisateurs peut s'effectuer par " Référencement " d'un Profil d'un Utilisateur donné dans les Profils (Classeurs ou Pages) d'autres Utilisateurs dont il espère capter l'audience (notamment pour qu'à partir de Profils Non Confidentiels d'autres utilisateurs, le public puisse trouver les informations propres audit Utilisateur donné). Le système permet ceci de manière décentralisée. Le Référencement est une suggestion et peut donc être filtré par le destinataire, qui joue ainsi le rôle d'épurateur. Ainsi, ceux qui fournissent des informations de mauvaise qualité perdent leur crédibilité, et ont tendance à ne plus faire l'objet de dérivations vers d'autres utilisateurs. Leur  First, as mentioned with the "manual" suggestion in section 1 of this same chapter, the dissemination of information between Users can be done by "Referencing" a given User Profile in Profiles (Workbooks or Pages) other users he hopes to capture the audience (including that from other users' non-confidential profiles, the public can find the information specific to said given user). The system allows this in a decentralized way. SEO is a suggestion and can be filtered by the recipient, who plays the role of purifier. Thus, those who provide poor quality information lose their credibility, and tend to no longer be shunted to other users. Their

audience baisse donc.audience drops so.

Deuxièmement, le maintien du crédit qu'accorde chaque Utilisateur peutêtre assisté par le système de manière automatique. Par apprentissage automatique et transparent, basé sur l'expérience, le système construit et maintient une notation de contribution révélatrice d'un "degré de confiance" que peut accorder un Utilisateur aux  Secondly, the maintenance of credit granted by each User may be automatically assisted by the system. Through self-learning and transparency, based on experience, the system builds and maintains a contribution notation indicative of a "degree of confidence" that a User can grant to

informations fournies par un autre Utilisateur.  information provided by another User.

Ce degré de confiance peut être déterminé de manière indirecte en suivant une "chaîne" d'Utilisateurs dans laquelle chaque Utilisateur a pu déterminer le degré de  This degree of trust can be determined indirectly by following a "chain" of Users in which each User has been able to determine the degree of

confiance pour le suivant (c'est à dire par transitivité).  trust for the next (ie by transitivity).

Le degré de confiance ainsi obtenu permet de filtrer automatiquement les suggestions  The degree of confidence thus obtained makes it possible to automatically filter the suggestions

de contenu ayant une forte probabilité de ne pas être pertinentes.  content with a high probability of not being relevant.

Il est important de noter ici que l'identité (ou plutôt le pseudonyme) de l'Utilisateur qui est à l'origine de la suggestion est connu du système mais pas des autres Utilisateurs. Détails du procédé d'auto-épuration Pour chaque type d'action (accepter, refuser, déplacer, etc.), on prévoit selon ce  It is important to note here that the identity (or rather the pseudonym) of the User who is at the origin of the suggestion is known to the system but not to the other Users. Details of the self-purification process For each type of action (accept, refuse, move, etc.), it is expected that

perfectionnement de l'invention le recours à une notation de contribution, c'est-à-  improvement of the invention the use of a contribution notation, that is to say

dire à un système d'attribution de points positifs ou négatifs, sur la base du fait que l'Utilisateur B qui reçoit des points positifs par l'Utilisateur A augmente d'autant la confiance que lui accorde ce dernier. De même, il diminue sa confiance quand il  to say to a system of attribution of positive or negative points, on the basis that the user B who receives positive points by the user A increases all the confidence that the latter grants him. Likewise, he diminishes his confidence when he

reçoit des points négatifs.receives negative points.

L'Utilisateur A peut ainsi automatiquement filtrer (dans ses requêtes) les suggestions  User A can thus automatically filter (in his requests) the suggestions

faites par des Utilisateurs dont le degré de confiance est inférieur à un certain seuil.  made by Users whose degree of confidence is below a certain threshold.

L'intérêt de cette fonction réside surtout dans le fait que l'évaluation (ou notation) se  The interest of this function resides mainly in the fact that the evaluation (or notation)

fait dans le cadre l'utilisation courante de l'outil, de manière transparente.  in the framework of the current use of the tool, in a transparent way.

Par exemple, suite à une requête, un Utilisateur A reçoit un Contenu suggéré par un Utilisateur C qu'il n'a pas encore eu l'occasion d'évaluer. Dans le cas o l'Utilisateur C a un degré de confiance négatif chez l'Utilisateur B, et que ce dernier a un degré de confiance positif chez l'Utilisateur A, alors, par transitivité, l'Utilisateur C obtient des points négatifs chez l'Utilisateur A. Ce dernier peut alors automatiquement filtrer les Contenus suggérés par C. En effet, l'Utilisateur A a confiance dans les suggestions faites par l'utilisateur B. Donc si l'Utilisateur B estime que les suggestions de l'Utilisateur C ne correspondent 2 5 pas à ses attentes, alors l'Utilisateur A peut être confiant qu'il aurait la même opinion négative. Concrètement, cette approche peut s'appuyer sur une structure de données incluant une représentation d'un graphe de transitivité entre les différents Utilisateurs (tout en  For example, following a request, a User A receives Content suggested by a User C that he has not yet had the opportunity to evaluate. In the case where User C has a negative degree of confidence in User B, and User B has a positive degree of confidence in User A, then, by transitivity, User C obtains negative points from User A. The latter can then automatically filter the Content suggested by C. Indeed, User A has confidence in the suggestions made by User B. So if User B believes that the User's suggestions C do not match his expectations, so User A may be confident that he would have the same negative opinion. Concretely, this approach can be based on a data structure including a representation of a graph of transitivity between the different Users (while

3 0 conservant leur anonymat les uns par rapport aux autres).  3 0 keeping their anonymity relative to each other).

Avantageusement, cette approche peut s'accompagner de coefficients de pondération en fonction de la longueur de la chaîne de transitivité pour une évaluation donnée,  Advantageously, this approach can be accompanied by weighting coefficients as a function of the length of the transitivity chain for a given evaluation.

ainsi que d'autres critères et seuils divers.  as well as other criteria and thresholds.

Par exemple, pour que l'Utilisateur A puisse se fier au jugement de l'Utilisateur B au sujet de l'Utilisateur C, le degré de confiance qu'accorde l'Utilisateur A à l'Utilisateur B doit être supérieur à un certain seuil depuis un certain temps (critère  For example, for User A to be able to rely on User B's judgment regarding User C, the degree of trust that User A has in User B must be above a certain threshold for some time (criterion

de stabilité).stability).

Ainsi le système construit automatiquement ce qu'on peut qualifier de "réseau de confiance >>, auto-alimenté et auto-régulé, qui permet d'épurer sélectivement les  Thus, the system automatically builds what can be described as a "trusted network", self-powered and self-regulated, which allows to purify selectively the

suggestions inadéquates.inadequate suggestions.

On notera ici qu'il subsiste toutefois un risque: ainsi un Utilisateur malveillant peut s'inscrire dans le système fréquemment, avec des pseudonymes chaque fois  It should be noted here that there is still a risk: a malicious user can register in the system frequently, with pseudonyms each time

différents, dans le but de suggérer des Contenus de mauvaise qualité.  different, with the aim of suggesting poor quality content.

Cet Utilisateur malveillant n'étant évalué par personne au début, ses suggestions ne  Since this malicious user was not evaluated by anyone at the beginning, his suggestions

pourront être filtrés pendant un certain temps.  may be filtered for a period of time.

Pour supprimer ce risque, on pourra filtrer les Utilisateurs récents dont le volume d'éléments suggérés n'a pas atteint un certain seuil, que l'on appelle " seuil de contribution ". Ce filtrage pourra aussi servir à inciter les Utilisateurs à contribuer suffisamment pour que les Contenus qu'ils suggèrent ne soient pas filtrés. Ceci incite 2 5 à faire vivre le système. Le volume de contribution de chacun pourra être déterminé selon une méthode qui permette d'éviter les contributions reproduites artificiellement  To eliminate this risk, recent users whose suggested volume of items has not reached a certain threshold, which is called the "contribution threshold", can be filtered out. This filtering can also be used to encourage users to contribute enough so that the content they suggest is not filtered. This prompts us to keep the system alive. The contribution volume of each may be determined by a method that avoids artificially propagated contributions

pour atteindre le seuil de contribution.  to reach the contribution threshold.

Alternativement, le fait de s'inscrire dans le système d'échange par suggestions peut 3 0 être payant, ou nominatif via un tiers de confiance qui découragerait de suggérer des  Alternatively, subscribing to the suggestion-based trading system can be paid for, or nominative via a trusted third party, which would discourage the suggestion of suggestions.

Contenus sous des pseudonymes différents.  Contained under different pseudonyms.

Section 3 - Techniques de suggestions automatiques Introduction Les Profils, tels que décrits dans la section 1, caractérisent les Utilisateurs et peuvent ainsi être exploités en tant que profils d'intérêts (ou de goûts) que l'on confronte les uns aux autres pour en extraire des informations pertinentes et les suggérer  Section 3 - Automatic Suggestion Techniques Introduction Profiles, as described in Section 1, characterize Users and can thus be used as profiles of interests (or tastes) that are confronted with each other to extract relevant information and suggest

automatiquement aux Utilisateurs.automatically to Users.

La confrontation d'un profil aux autres peut se faire individuellement (par exemple par les techniques connues de << Filtrage collaboratif >>, de " Recommandation sur la base de Contenus "), ou sur l'ensemble synthétisé des autres profils de manière  The confrontation of a profile with the others can be done individually (for example by the known techniques of << Collaborative filtering >>, of "Recommendation on the basis of Contents"), or on the synthesized set of the other profiles of way.

compacte (par exemple par les techniques de Réseaux Bayesiens, etc.).  compact (eg by Bayesian Networks techniques, etc.).

Un apport important de cet aspect de l'invention est de tirer parti de l'ordre des Contenus dans les Profils pour améliorer les suggestions. Si l'on se place au Niveau 4 de la section 1 du présent chapitre, l'utilisateur peut ordonner les Contenus (qui sont affichés dans un certain ordre dans les pages), et les pages entre elles (l'ordre 2 0 des pages est affiché sous la forme d'un classeur), en fonction de différents critères d'ordre choisis par lui-même (par exemple, critère de préférence globale, critère temporel, critère économique, critère esthétique, etc.) ou une conjonction ordonnée  An important contribution of this aspect of the invention is to take advantage of the order of the Contents in the Profiles to improve the suggestions. If we go to Level 4 of Section 1 of this chapter, the user can order the Contents (which are displayed in a certain order in the pages), and the pages between them (the order of the pages). is displayed in the form of a workbook), according to different order criteria chosen by itself (for example, global preference criterion, temporal criterion, economic criterion, aesthetic criterion, etc.) or an ordered conjunction

de tels critères.such criteria.

2 5 Dans la mesure o ces critères sont partagés avec d'autres Utilisateurs, le système en déduit des profils ordonnés, améliore ainsi la pertinence des éléments recommandés, insère les éléments recommandés à leur bonne position, et peut même ordonner automatiquement des informations posées en vrac en se basant sur l'ordre adopté par  Since these criteria are shared with other users, the system derives ordered profiles, improves the relevance of the recommended elements, inserts the recommended elements in their correct position, and can even automatically order information in bulk based on the order adopted by

les profils proches. Ces procédés sont décrits dans la section suivante.  close profiles. These methods are described in the following section.

Détails des techniques de Suggestion Automatique a. Détection de profils voisins Les Contenus sont composés d'éléments (par exemple au format XML) qui ont des attributs et des éléments imbriqués. Afin de détecter, entre deux profils donnés, les Contenus qui peuvent être considérés comme "pratiquement identiques >>, ils peuvent être analysés selon des règles qui se déclenchent à partir d'un mécanisme de  Details of Automatic Suggestion Techniques a. Detecting Neighboring Profiles Content is composed of elements (for example in XML format) that have attributes and nested elements. In order to detect, between two given profiles, the Contents that can be considered as "virtually identical", they can be analyzed according to rules that are triggered from a mechanism of

* reconnaissance de motifs (" pattemrn matching ").* pattern recognition ("pattemrn matching").

Un Contenant peut ainsi donner des poids différents aux attributs des éléments de ses Contenus. Un Contenu sera alors considéré comme " pratiquement identique " à un autre si un ensemble d'attributs suffisamment représentatif (la représentativité sera  A Container can thus give different weight to the attributes of the elements of its Contents. One Content will then be considered "virtually identical" to another if a sufficiently representative set of attributes (representativeness will be

calculée en fonction de leurs poids respectifs) ont les mêmes valeurs.  calculated according to their respective weights) have the same values.

Ainsi, il n'est pas nécessaire que deux Utilisateurs aient dans leurs profils des  Thus, it is not necessary for two users to have in their profiles

Contenus exactement les mêmes pour qu'ils soient jugés proches.  Content exactly the same to be considered close.

La proximité entre deux profils Px et Py - ordonnés selon un critère donné - est 2 0 mesuré en évaluant la quantité de calques que les Utilisateurs A et B ont en commun, avec une pondération par la position de ces calques dans les profils des Utilisateurs A  The proximity between two profiles Px and Py - ordered according to a given criterion - is measured by evaluating the amount of layers that the Users A and B have in common, with a weighting by the position of these layers in the profiles of the Users A

et B respectivement, comme illustré sur la figure 128.  and B respectively, as illustrated in Figure 128.

Pratiquement la mesure de proximité va se faire Contenu par Contenu tant que le 2 5 poids marginal reste supérieur à un certain seuil. Ainsi il suffira comparer un nombre  Virtually the proximity measure will be Content by Content as long as the marginal weight remains above a certain threshold. So it will be enough to compare a number

fixé d'éléments dans l'ordre correspondant au critère donné.  set of elements in the order corresponding to the given criterion.

L'Utilisateur peut aussi s'appuyer sur un certain nombre d'autres indicateurs tels que  The user can also rely on a number of other indicators such as

par exemple:for example:

3 0 - le pourcentage d'informations en commun, comme illustré sur la figure 129;  The percentage of information in common, as illustrated in FIG. 129;

- le nombre de fois qu'un même Contenu est suggéré (à partir de Profils différents).  - the number of times the same Content is suggested (from different Profiles).

b. Insertion des Contenus suggérés qui sont acceptés Lorsqu'un Utilisateur accepte une suggestion de Contenu de la part du système de Recommandation Collaborative, le Contenu est classé au bon endroit selon chaque critère de la configuration du classeur. On va considérer, en référence à la figure 130, l'exemple suivant: supposons que pour un Contenant donné, des Utilisateurs ul et u36 ont en correspondance respectivement les pages (" xSheet >>) xsA et xsB, dont les Contenus sont ordonnés  b. Inserting suggested Content that is accepted When a User accepts a Content suggestion from the Collaborative Recommendation system, the Content is ranked in the correct place according to each criterion of the workbook configuration. We will consider, with reference to FIG. 130, the following example: Suppose that for a given Container, Users ul and u36 respectively have the pages ("xSheet") xsA and xsB, whose Contents are ordered.

chacun selon deux critères I1 et X2.  each according to two criteria I1 and X2.

Pour cette catégorie, ul et u36 sont proches au sens o ils possèdent tous les deux les Contenus c4 et c12. Le système de Recommandation Collaborative fait donc les propositions telles qu'illustrées sur la figure 131, c8 étant suggéré de u36 à ul et cl  For this category, ul and u36 are close in the sense that they both have the contents c4 and c12. The Collaborative Recommendation system therefore makes the proposals as illustrated in Figure 131, where c8 is suggested from u36 to ul and cl

étant suggéré de ul à u36.being suggested from ul to u36.

Si ces suggestions sont acceptés par chaque Utilisateurs, les Contenus sont alors  If these suggestions are accepted by each User, the Content is then

insérés en accord avec les positions qu'ils occupent dans leur page d'origine.  inserted in accordance with the positions they occupy in their original page.

Pour le critère Il de ul, c8 est classé par rapport aux Contenus communs à ul et u36, il est donc placé avant c4 et c12. Bien sûr, ul est libre de replacer c8 s'il le juge mal classé en regard du critère utilisé. Un raisonnement symétrique est appliqué pour u36. Pour le critère X2, les éléments communs à xsA et xsB ne sont pas classés dans le même ordre. Plusieurs conventions sont alors possibles: celle qui semble la plus appropriée est de ne violer aucune relation établie dans le profil de départ. Ainsi, c8 doit être inséré après c12 et c4 dans xsA, et cl doit être inséré après c12 dans xsB (bien qu'il soit avant c4 dans le profil de départ). Le résultat est illustré sur la figure  For the criterion II of ul, c8 is classified with respect to the Contents common to ul and u36, it is thus placed before c4 and c12. Of course, ul is free to relocate c8 if he deems it misclassified against the criterion used. Symmetrical reasoning is applied for u36. For criterion X2, the elements common to xsA and xsB are not classified in the same order. Several conventions are then possible: the one that seems the most appropriate is not to violate any relationship established in the initial profile. Thus, c8 must be inserted after c12 and c4 in xsA, and cl must be inserted after c12 in xsB (although it is before c4 in the starting profile). The result is shown in the figure

132.132.

Une autre convention pourrait par exemple être d'insérer cl dans xsA et c8 dans xsB  Another convention could for example be inserting cl in xsA and c8 in xsB

relativement à l'élément commun le plus proche, comme illustré sur la figure 133.  relative to the nearest common element, as shown in FIG.

L'insertion d'un Contenu, telle qu'on l'a décrite ci-dessus avec cl et c8, provoque la mise à jour des profils de ul et u36 pour les noeuds supérieurs de la taxonomie (profils agrégés). La place o le nouveau Contenu est inséré dans les profils agrégés  The insertion of a Content, as described above with cl and c8, causes the update of the profiles of ul and u36 for the upper nodes of the taxonomy (aggregated profiles). The place where the new Content is inserted in the aggregated profiles

est fonction de l'endroit o il a été classé lors de son insertion, et du critère utilisé.  depends on where it was classified when it was inserted, and the criterion used.

Ordonner les Profils automatiquement (Tri de profil par recommandation collaborative) Comme mentionné précédemment, dans un profil certains des Contenus n'ont pas été  Order Profiles Automatically (Profile Sorting by Collaborative Recommendation) As mentioned before, in a profile some of the Contents have not been

explicitement ordonnés. Dans les feuilles, à ceux-ci correspondent des onglets grisés.  explicitly ordered. In the leaves, these correspond to gray tabs.

Pour chaque profil, les Contenus grisés qui font partie des Contenus en commun avec un profil voisin, mais dans la partition non grisée chez le voisin, sont ordonnés selon  For each profile, the gray contents that are part of the contents in common with a neighboring profile, but in the unmerged partition at the neighbor's, are ordered according to

l'ordre suggéré par ce voisin.the order suggested by this neighbor.

Section 4 - Graphes de dérivation Introduction Rappelons ici que le système décrit dans la section 1 du présent chapitre offre à l'Utilisateur la possibilité de (et une stimulation pour) dériver et réorganiser (ajouter, retirer, modifier, ré-ordonner, déplacer d'un Contenant à un autre, etc.) des éléments d'information non déclarés comme confidentiels. La stimulation vient du fait que l'Utilisateur profite ainsi de l'expertise de toute la chaîne d'Utilisateurs " à l'amont ">  Section 4 - Bypass Charts Introduction It should be recalled here that the system described in section 1 of this chapter offers the user the possibility of (and stimulation for) deriving and rearranging (add, remove, modify, reorder, move d 'Container to container, etc.) information not declared as confidential. The stimulation comes from the fact that the user thus benefits from the expertise of the whole chain of users "upstream">

c'est-à-dire à l'origine de chaque information.  that is to say, the origin of each information.

Le système incite donc ses Utilisateurs à l'étendre (à le faire " grossir ") par dérivation, et les Utilisateurs en viennent à partager les mêmes Contenants et Contenus. Le grand avantage offert est ainsi le fait de " parler le même langage ", tant pour les informations elles-mêmes (Contenus) que pour leurs catégories respectives (Contenants). Or, parler un langage commun (celui-ci étant constitué par l'ensemble des Contenants et Contenus qui se trouvent dans la partie commune du système) facilite grandement la comparaison de Profils. En effet: - à partir des Contenus, on peut retrouver directement (en accès direct) les Références sur ceuxci et les Profils qui les contiennent; - à partir d'un Contenant associé à un Profil donné, on peut retrouver directement tous les Contenus auxquels ont accédé les Utilisateurs (et par là on peut ainsi  The system therefore encourages its Users to extend it (to make it "grow") by derivation, and the Users come to share the same Containers and Contents. The great advantage offered is thus "speaking the same language", both for the information itself (Content) and for their respective categories (Containers). However, to speak a common language (this one consisting of all the Containers and Contents that are in the common part of the system) greatly facilitates the comparison of Profiles. Indeed: - from the Contents, one can find directly (in direct access) the References on these and the Profiles which contain them; - from a Container associated with a given Profile, we can find directly all the Contents accessed by the Users (and thus we can

retrouver directement les Profils qui les contiennent).  find the Profiles that contain them directly).

De l'utilisation du système résulte donc un << graphe de dérivation >> dynamique, dont le noeuds sont les Profils et les arcs (orientés) sont les dérivations entre Profils effectuées par les Utilisateurs. Il peut s'agir de dérivations de Profils (dérivation d'un  The use of the system therefore results in a dynamic "derivation graph", whose nodes are the Profiles and arcs (oriented) are the derivations between Profiles made by the Users. These may be branches of Profiles (derivation of a

Classeur ou d'une Page, si l'on se place au Niveau 4) ou dérivation de Contenus.  Workbook or Page, if you are at Level 4) or Content derivation.

L'idée essentielle de cet aspect de la présente invention est de se servir du graphe de dérivation entre Profils pour bénéficier de la localité des comparaisons à effectuer  The essential idea of this aspect of the present invention is to use the derivation graph between Profiles to benefit from the locality of the comparisons to be made.

entre Profils.between Profiles.

A ce sujet, l'interface utilisateur du système comprend avantageusement un moyen (bouton, etc.) permettant à un utilisateur consultant un Contenant donné d'un Classeur tiers de consulter directement les contenus désignés dans l'ensemble du contenant de la partie commune qui définit cette catégorie, sans avoir ni à naviguer  In this respect, the user interface of the system advantageously comprises a means (button, etc.) enabling a user consulting a given Container of a third-party binder to directly consult the contents designated in the whole of the container of the common part which defines this category without having to navigate

dans l'arborescence, ni à passer vers un portail Internet ou analogue.  in the tree, or to move to an Internet portal or the like.

Comment tirer parti du graphe de dérivation entre Profils En s'appuyant sur le graphe de dérivation (qui évolue dynamiquement en cours d'exécution), chaque Profil (c'est-à-dire chaque noeud du graphe de dérivation) maintient en mémoire une liste des voisins se trouvant dans un certain périmètre (à une distance inférieure à un seuil donné, distance mesurée en nombre d'arcs de  How to take advantage of the derivation graph between Profiles By relying on the derivation graph (which evolves dynamically during execution), each Profile (that is to say each node of the derivation graph) keeps in memory a list of neighbors within a certain perimeter (at a distance less than a given threshold, distance measured in number of arcs of

dérivation), avec pour chaque voisin, un ensemble d'indicateurs de proximité.  derivation), with for each neighbor, a set of proximity indicators.

Les indicateurs peuvent être par exemple ceux mentionnés dans la section précédente  Indicators may be for example those mentioned in the previous section

ou tout simplement des compteurs de Contenus en commun.  or simply Counters of Contents in common.

On peut en outre réaliser un maintien incrémental des indicateurs de proximité entre Profils: à chaque ajout et retrait de Contenu dans chaque Profil, ces indicateurs sont mis à jour chez tous les voisins dans le graphe. Par exemple, à chaque ajout de Contenu, pour chaque Profil voisin qui le posséderait aussi, le système incrémente  In addition, it is possible to incrementally maintain the Proximity Indicators between Profiles: for each addition and removal of Content in each Profile, these indicators are updated for all the neighbors in the graph. For example, with each addition of Content, for each Neighbor Profile that would also have it, the system increments

l'indicateur << compteur de Contenus en commun " dans les deux Profils en question.  the "Common Content Counter" indicator in both Profiles.

A chaque retrait de Contenu, le système décrémente ce même compteur.  With each withdrawal of Content, the system decrements the same counter.

Chaque Profil maintient ainsi de façon incrémentale les connaissances qu'il a de la proximité de ses voisins (anonymes bien entendu) et le système peut ainsi effectuer  Each profile thus incrementally maintains the knowledge it has of the proximity of its neighbors (anonymous of course) and the system can thus perform

des suggestions automatiquement par Filtrage Collaboratif.  suggestions automatically by Collaborative Filtering.

Le seuil de distance peut par ailleurs être ajusté en cours d'exécution par une technique d'apprentissage basée sur un critère de rendement (évaluation des succès  The distance threshold can also be adjusted during execution by a learning technique based on a criterion of performance (evaluation of success

des suggestions à différentes distances).  suggestions at different distances).

On observera ici que la présente invention permet d'éviter de recourir à des calculs extrêmement lourds de comparaison de profils par leurs contenus eux-mêmes, qui typiquement nécessitent, lorsque le nombre d'utilisateurs est important, des  It will be observed here that the present invention makes it possible to avoid resorting to extremely heavy calculations of comparison of profiles by their contents themselves, which typically require, when the number of users is important,

traitements <" batch "> de durées considérables.  <"batch"> processing of considerable time.

2 5 Section 5 - Anonymat et commerce électronique Architecture On considère ici une architecture composée de 4 classes d'ordinateurs connectés sur 3 0 un réseau: - au moins un poste-client (par exemple de type ordinateur personnel ou terminal de réseau),manipulé par un Utilisateur; - au moins un serveur tiers (ST), à savoir serveur de transfert de données (ou dispositif équivalent) ou serveur de confiance; au moins un Serveur de Stockage (SdS);  2 5 Section 5 - Anonymity and Electronic Commerce Architecture An architecture consisting of 4 classes of computers connected on a network is considered here: - at least one client station (for example of the personal computer or network terminal), handled by a User; at least one third-party server (ST), namely a data transfer server (or equivalent device) or a trusted server; at least one Storage Server (SdS);

- éventuellement un ou plusieurs Serveurs de Fournisseurs de Produits (SFP).  - optionally one or more Product Provider Servers (SFPs).

Les besoins de base sont les suivants: - Anonymat minimal: l'anonymat des Utilisateurs peut être directement assuré par le  The basic needs are: - Minimum anonymity: the anonymity of the Users can be directly ensured by the

ou les SdS qui centralisent les éléments d'information recueillis.  or the SDs that centralize the pieces of information collected.

- Anonymat par tiers de confiance: alternativement, l'anonymat peut être réalisé par une architecture incluant un ou plusieurs serveurs supplémentaires qui sont gérés par un ou plusieurs tiers de confiance (ST) et qui sont des "passages obligés" lors des communications en consultation ou ajout d'éléments; les adresses IP des  - Anonymity by trusted third party: alternatively, the anonymity can be achieved by an architecture including one or more additional servers that are managed by one or more trusted third parties (ST) and which are "obligatory passages" during communications in consultation or adding elements; the IP addresses of

Utilisateurs, qui consultent les éléments d'informations, sont ainsi cachées.  Users who consult the information elements are thus hidden.

L'identité (ou le pseudonyme) de l'Utilisateur qui ajoute un élément d'information est transformée (codée, chiffrée) par le serveur tiers, de manière différente à chaque  The identity (or pseudonym) of the User adding a piece of information is transformed (coded, encrypted) by the third party server, in a different way to each

ajout (en plus du fait que son adresse IP est cachée).  addition (in addition to the fact that its IP address is hidden).

La correspondance entre différentes transformations d'une même identité est connue par un ou plusieurs des serveurs tiers, ou par un ou plusieurs serveurs tiers 2 5 indépendants des premiers (ce sont eux qui notamment peuvent dériver les degrés de confiance). Les serveurs tiers peuvent servir à fournir un certificat pour témoigner de la fourniture d'un élément d'information par un serveur. Ceci peut être utilisé dans le  The correspondence between different transformations of the same identity is known by one or more of the third-party servers, or by one or more third-party servers 2 independent of the first ones (it is they who in particular can derive the degrees of confidence). Third-party servers can be used to provide a certificate to testify to the provision of an information element by a server. This can be used in the

3 0 cadre de divers modèles économiques, comme on le verra plus loin.  3 0 different economic models, as will be discussed later.

Les classeurs pourront aussi être stockés sur un serveur de stockage SdS. Dans ce cas, leurs liens sur les Contenus non-confidentiels (qui forment les profils) seront stockés sur le serveur de stockage SdS après chiffrement sur l'ordinateur personnel (ou un serveur de transfert ST). Ces liens ne pourront pas être déchiffrés par le serveur de stockage, mais seulement sur l'ordinateur personnel ou sur le serveur de transfert. Les besoins supplémentaires impliqués par le. procédé de Recommandation Collaborative sont les suivants: - Anonymat minimal: L'anonymat des profils peut être assuré directement par des serveurs de stockage qui jouent aussi le rôle de serveurs de recommandation, c'est à dire qui produisent les  Workbooks can also be stored on an SdS storage server. In this case, their links to the non-confidential contents (which form the profiles) will be stored on the SdS storage server after encryption on the personal computer (or an ST transfer server). These links can not be decrypted by the storage server, but only on the personal computer or on the transfer server. Additional needs involved by the. Collaborative Recommendation process is as follows: - Minimal anonymity: The anonymity of the profiles can be provided directly by storage servers which also act as recommendation servers, that is to say who produce the

profils, les maintiennent et les confrontent.  profiles, maintain them and confront them.

- Anonymat par tiers de confiance: Alternativement, des serveurs de transfert peuvent avoir le rôle de produire et maintenir les profils et ensuite de les communiquer à un serveur de stockage après les avoir rendus anonymes, c'est à dire, après leur avoir associé une identité  - Anonymity by trusted third party: Alternatively, transfer servers can have the role of producing and maintaining the profiles and then communicating them to a storage server after rendering them anonymous, that is, after associating them with a identity

transformée (codée, chiffrée).transformed (coded, encrypted).

Les serveurs de recommandation ne manipulent alors que des profils anonymes et  Recommendation servers only handle anonymous profiles and

sont incapables de déceler que deux profils appartiennent à un même Utilisateur.  are unable to detect that two profiles belong to the same User.

Pour éviter d'associer ensemble différents profils d'un Utilisateur, en reconnaissant une même adresse IP lors de leur transmission (par exemple quand manifestement il n'y a qu'un seul Utilisateur en ligne), on préférera utiliser un serveur de transfert 3 0 différent par profil (autant que possible, c'est à dire dans la mesure o l'on dispose  To avoid associating different profiles of a user together, by recognizing the same IP address during their transmission (for example when there is obviously only one user online), it is preferable to use a transfer server 3 0 different per profile (as much as possible, ie to the extent that we have

d'un nombre suffisant de serveurs de transfert.  a sufficient number of transfer servers.

Par ailleurs, l'architecture décrite ci-dessus peut être mise à profit dans le cadre du commerce électronique par Internet, comme on va maintenant le décrire en référence  Moreover, the architecture described above can be used in the context of e-commerce via the Internet, as will now be described with reference

à la figure 134.in figure 134.

Ainsi cette figure montre qu'un serveur de stockage SdS contenant des Profils est capable de faire à un poste utilisateur PC des suggestions d'achat auprès du serveur d'un fournisseur SFP, ceci par l'intermédiaire d'un serveur tiers ST permettant d'assurer l'anonymat des utilisateurs au niveau des Profils. L'achat effectif d'un bien ou d'un service par l'Utilisateur auprès du serveur SFP, qui correspond à une acceptation de la suggestion, peut être prouvé par le serveur tiers ST auprès du serveur SFP par l'intermédiaire du serveur de stockage SdS, tandis que le service rendu par le serveur de stockage SdS et par le serveur tiers ST est dûment rémunéré (commission sur vente) par le serveur du fournisseur SFP (la rémunération $ du serveur tiers ST étant constituée par une fraction de la rémunération $$$ du serveur  Thus, this figure shows that an SdS storage server containing Profiles is able to make purchase suggestions to a PC user station from the server of an SFP provider via a third-party server ST that allows the user ensure anonymity of users at the Profile level. The actual purchase of a good or service by the User from the SFP server, which corresponds to an acceptance of the suggestion, can be proved by the third party server ST to the SFP server via the server of storage SdS, while the service rendered by the storage server SdS and by the third party server ST is duly remunerated (commission on sale) by the server of the provider SFP (the remuneration $ of the third server ST being constituted by a fraction of the remuneration server's $$$

de stockage.storage.

Section 6 - Abonnements et fidélisation Selon cet autre aspect de la présente invention, il est intéressant qu'un serveur (par exemple un magazine électronique) propose de nouveaux contenus, sur une base périodique, par exemple bi-hebdomadaire. A l'issue de cette période, les contenus sont archivés comme décrit plus haut, et ne sont donc plus suggérés. De nouveaux contenus sont alors mis en place. On comprend quececi incite fondamentalement l'utilisateur ou abonné à visiter le serveur au moins une fois dans la période de 2 5 " validité " des contenus ajoutés (en l'espèce deux fois par semaine), ceci de façon à  Section 6 - Subscriptions and Retention According to this other aspect of the present invention, it is interesting that a server (for example an electronic magazine) proposes new content, on a periodic basis, for example bi-weekly. At the end of this period, the contents are archived as described above, and are therefore no longer suggested. New content is then put in place. It is understood that this fundamentally encourages the user or subscriber to visit the server at least once in the period of "validity" of the added content (in this case twice a week), so as to

bénéficier de toutes les suggestions d'ajouts.  benefit from all suggestions for additions.

Ainsi, les mécanismes de dérivation/suggestion/acceptation présentés dans ce chapitre et dans le chapitres précédents (voir le mode gelé dans le chapitre précédent) 3 0 permettent d'exploiter la fibre de collectionneur de l'utilisateur. En effet, l'utilisateur qui collectionne des contenus dans un contenant est fortement incité à ne pas manquer une opportunité d'enrichir sa collection pendant qu'un contenu est encore disponible en ligne. Il veut ainsi retourner visiter le site Internet à la même fréquence  Thus, the derivation / suggestion / acceptance mechanisms presented in this chapter and in the preceding chapters (see the frozen mode in the previous chapter) make it possible to exploit the collector fiber of the user. Indeed, the user who collects content in a container is strongly urged not to miss an opportunity to enrich his collection while content is still available online. He wants to return to visit the website at the same frequency

que la mise à jour des contenus. L'utilisateur se trouve ainsi fidélisé.  as updating the contents. The user is thus loyal.

Chapitre IV - Modèle d'exécution déterministe (Figures 135 à 169) On va dans ce chapitre introduire un modèle d'exécution qui sera utilisé notamment dans le cadre du partage d'aplications sur l'Internet que nous présenterons dans le  Chapter IV - Deterministic Execution Model (Figures 135 to 169) In this chapter, we will introduce an execution model that will be used in particular in the context of the sharing of applications on the Internet that we will present in the

chapitre VI.Chapter VI.

On dit d'un système qu'il est déterministe si, pour une même séquence d'impulsions passée en entrée, ses objets effectuent toujours les mêmes transitions (au sens de leur  It is said of a system that it is deterministic if, for the same sequence of impulses passed in, its objects always carry out the same transitions (in the sense of their

diagramme d'état-transition).state-transition diagram).

Rehercher le déterminisme est le fruit d'une double motivation, permettant d'assurer les propriétés suivantes: * Pouvoir reproduire de façon identique une même exécution: un utilisateur s'attend à ce que l'application qu'il utilise soit reproductible, c'est-à-dire ait  The search for determinism is the result of a double motivation, to ensure the following properties: * To be able to reproduce exactly the same execution: a user expects the application he uses to be reproducible; that is to say,

toujours le même comportement.always the same behavior.

* Pouvoir reproduire de façon identique une exécution entre plusieurs machines à l'aide d'un mécanisme de réplication par calcul. Ce point sera détaillé dans le  * Can duplicate an execution between multiple machines using a computational replication mechanism. This point will be detailed in the

chapitre 3: " Interactions multi-utilisateurs ".  Chapter 3: "Multiuser interactions".

Assurer le déterminisme n'est cependant pas évident pour une application constituée de plusieurs objets " actifs " en même temps. On a alors des objets qui évoluent en parallèle, dans ce qu'on appelle un modèle " multithreading >> selon la terminologie  Ensuring determinism, however, is not obvious for an application consisting of several "active" objects at the same time. We then have objects that evolve in parallel, in what is called a "multithreading" model according to the terminology

anglo-saxonne. Cette approche, bien que présentant certains avantages, crée du non-  Anglo-Saxon. This approach, while having some advantages, creates

déterminisme. En effet, d'une exécution à l'autre, l'occupation du système peut  determinism. In fact, from one execution to another, the occupation of the system can

varier, et les tâches effectuées par les objets peuvent prendre plus ou moins de temps.  vary, and the tasks performed by the objects may take more or less time.

Une telle approche, o chaque objet évolue selon un déroulement (" thread " selon la terminologie anglosaxonne) indépendant, ne peut donc pas répondre à la contrainte de déterminisme visée. La solution selon la présente invention s'appuie sur l'arbitrage des actions effectuées par les objets. Pour ce faire, les applications se  Such an approach, where each object evolves according to an independent process ("thread" according to Anglosaxon terminology), can not therefore respond to the deterministic constraint aimed at. The solution according to the present invention is based on the arbitration of the actions performed by the objects. To do this, the applications are

voient dotées d'un objet particulier, constituant un Séquenceur.  see endowed with a particular object, constituting a Sequencer.

La fonctionnalité première du Séquenceur est de réussir à garantir le déterminisme tout en donnant un effet de parallélisme, nous parlerons de quasi-parallélisme. En effet, le Séquenceur permet de donner à chacun des objets à tour de rôle une partie des ressources correspondant à l'envoi d'un message (donc la réalisation d'une action). Cet objectif est schématisé sur la figure 135 des dessins, o l'on observe que des actions indépendantes de quatre objets A, B, C et D sont organisées dans un ordre déterminé, selon un processus de déroulement unique, allouant tour à tour des  The primary function of the Sequencer is to guarantee determinism while giving a parallelism effect, we will talk about quasi-parallelism. Indeed, the sequencer makes it possible to give to each of the objects in turn a part of the resources corresponding to the sending of a message (thus the realization of an action). This objective is shown diagrammatically in FIG. 135 of the drawings, where it can be observed that independent actions of four objects A, B, C and D are organized in a determined order, according to a single flow process, allocating in turn

ressources à chacun de ces objets.resources to each of these objects.

Section 1 - Cadre Nous nous référerons à la notion d'objet du jargon courant de l'informatique orientée-objet - conformément, par exemple, à l'ouvrage " The Unified Modeling Language (UML) Reference Manual ", Rumbaugh, Booch et Jacobson, Addisson  Section 1 - Framework We will refer to the notion of the object of the current jargon of object-oriented computing - according to, for example, the book "The Unified Modeling Language (UML) Reference Manual", Rumbaugh, Booch and Jacobson , Addisson

Wesley 1999.Wesley 1999

Les applications que nous manipulons ici sont composées d'objets qui interagissent.  The applications we manipulate here are composed of interacting objects.

Ces objets, et leurs relations, peuvent être définis à l'aide d'un diagramme de classe  These objects, and their relationships, can be defined using a class diagram

UML, dont un exemple est donné à la figure 136.  UML, an example of which is given in Figure 136.

3 0 On rappellera ici que la notion de " Multiplicité "> (par exemple le chiffre 3 associé à l'objet D indique le nombre d'objets de la classe qui peuvent être créés en cours d'exécution, et que la notion de " Rôle " (par exemple " theC >> dans le lien entre B et D) indique le nom sous lequel un objet connaît un autre objet; ici l'objet de la classe B connaît l'objet de la classe C sous le nom theC. C'est grâce au nom theC, que l'objet de B peut communiquer avec l'objet de C. A chaque objet défini (via sa classe) dans un diagramme de classe, on peut associer un comportement au moyen d'un diagramme d'état-transition. Un tel diagramme décrit le comportement des objets d'une classe donnée sous la forme d'une machine  It will be recalled here that the notion of "Multiplicity"> (for example the number 3 associated with the object D indicates the number of objects of the class that can be created during execution, and that the notion of "Multiplicity"> Role "(for example" theC "in the link between B and D) indicates the name under which an object knows another object, here the object of class B knows the object of class C under the name theC. It is thanks to the name theC, that the object of B can communicate with the object of C. To each object defined (via its class) in a diagram of class, one can associate a behavior by means of a diagram of This diagram describes the behavior of objects of a given class in the form of a machine.

à état.to state.

Ainsi, à un instant donné, un objet est dans un état précis. Les objets changent d'état  Thus, at a given moment, an object is in a precise state. Objects change state

selon des transitions qui peuvent (ou non) être provoquées par des événements.  according to transitions that may (or may not) be caused by events.

Pour prendre un exemple très simplifié, on peut modéliser un interrupteur  To take a very simplified example, we can model a switch

(" Switch >>) et une lampe (" Lamp >>), comme illustré sur la figure 137 des dessins.  ("Switch") and a lamp ("Lamp") as shown in Figure 137 of the drawings.

Selon le modèle illustré sur la figure 138, un objet Switch, qui se trouve dans son état initial << Idle ", peut recevoir un événement "TurnSwitch " qui déclenche une transition de l'état " Idle >> vers le même état, lors de laquelle un message " TurnLamp >> est envoyée à l'objet " myLamp " (de classe " Lamp "). Ce message " TurnLamp " devient, pour la lampe qui la reçoit, un événement déclenchant une  According to the model illustrated in FIG. 138, a Switch object, which is in its initial state "Idle", can receive a "TurnSwitch" event which triggers a transition from the "Idle" state to the same state, when from which a "TurnLamp" message is sent to the "myLamp" object ("Lamp" class) .This "TurnLamp" message becomes, for the lamp that receives it, an event triggering a

transition de " Off" à " On ", ou vice-versa, selon l'état dans lequel elle se trouve.  transition from "Off" to "On", or vice versa, depending on the state in which it is located.

Le fait de pouvoir envoyer un message " TurnLamp >> à un objet de la classe " Lamp >> implique que cette classe expose la méthode correspondante. L'envoi du message revient en effet à appeler la méthode correspondante. (Noter que les messages peuvent avoir des arguments comme les méthodes). La représentation de la  Being able to send a "TurnLamp" message to an object of the "Lamp" class implies that this class exposes the corresponding method. The sending of the message amounts to calling the corresponding method. (Note that messages may have arguments like methods). The representation of the

classe " Lamp " pourvue de la méthode TurnLamp est illustrée sur la figure 139.  "Lamp" class with the TurnLamp method is shown in Figure 139.

3 0 Notons aussi que, dans la suite de la présente description, nous ne traitons pas les  Note also that in the rest of this description, we do not treat the

attributs, car nous les assimilons à des objets liés par des relations de compositions (c'est-à-dire des sous-objets), ce qui permet de les inclure dans le cas général du traitement des objets. (Les attributs se distinguent des objets en général, par le fait qu'ils n'ont pas de liens avec d'autres objets; ceci ne contredit pas la généralisation ici faite). Pour mémoire, la figure 140 illustre l'équivalence entre une classe "<< Classel " dotée d'un attribut " Attributel (de classe Classe2) >>, et le lien entre les  attributes, because we equate them with objects linked by relations of compositions (that is to say sub-objects), which makes it possible to include them in the general case of the treatment of objects. (Attributes are distinguished from objects in general, by the fact that they have no links with other objects, this does not contradict the generalization here made). For the record, Figure 140 illustrates the equivalence between a class "<< Classel" with an attribute "Attributel (class Class2) >>, and the link between the

deux classes " Classel >> et "< Classe2 ".  two classes "Classel" and "<Class2".

Enfin, dans la suite de la présente description, nous ne traitons pas les cas d'actions  Finally, in the remainder of this description, we do not deal with the cases of

spécifiées sur une transition, car celles-ci peuvent être transformées en une forme équivalente, dans laquelle les actions sont spécifiées dans un état intermédiaire qui a pour seule transition sortante une transition automatique. Pour la classe Switch de  specified on a transition, as these can be transformed into an equivalent form, in which the actions are specified in an intermediate state that has an automatic transition as its only outgoing transition. For the Switch class of

l'exemple précédent, une telle équivalence est illustrée sur la figure 141.  In the previous example, such an equivalence is illustrated in FIG.

Dans la suite de la description, nous considérons les diagrammes d'étattransition de  In the rest of the description, we consider the transitionstructure diagrams of

la forme illustrée sur la figure 142. Le point noir désigne un " Pseudo Etat ", qui  the shape shown in Figure 142. The black dot designates a "Pseudo State", which

symbolise l'état initial, c'est à dire l'état o se trouve l'objet juste après sa création.  symbolizes the initial state, ie the state where the object is located right after its creation.

Un " Evénement " (ici <<" évènementl " pour la transition entre EtatO et Etatl) déclenche la transition à laquelle il est associé dès que l'objet le reçoit. Si aucun événement n'est associé à une transition, celle-ci a lieu dès que l'objet a terminé d'exécuter ses actions (elle est alors appelée " tansition automatique "). Enfin les " Actions " (ici par exemple " Entry/theC.evt " sont les tâches que l'objet peut  An "Event" (here << "eventl" for the transition between OStatus and State1) triggers the transition to which it is associated as soon as the object receives it. If no event is associated with a transition, it occurs as soon as the object has finished executing its actions (it is then called "automatic transition"). Finally the "Actions" (here for example "Entry / theC.evt" are the tasks that the object can

effectuer dans un état donné.perform in a given state.

Les transitions sont vues comme instantanées alors que les états ont généralement une durée. A chaque état E d'un objet correspond ainsi une partie de son comportement. Cette partie est décrite par un ensemble d'actions effectuées par l'objet dans l'état E. Ces actions permettent de déclencher des transitions d'autres objets, par l'émission de l'événement associé. Dans l'exemple ci-dessus, B déclenche  Transitions are seen as snapshots while states usually have a duration. Each state E of an object thus corresponds to a part of its behavior. This part is described by a set of actions carried out by the object in the state E. These actions make it possible to trigger transitions of other objects, by the emission of the associated event. In the example above, B triggers

la transition associé à l'événement " evt " chez C (identifié par le rôle " theC ").  the transition associated with the event "evt" at C (identified by the role "theC").

Au sein d'un état, les actions peuvent être de deux types: * On Entry: Ce sont les actions que l'objet effectue en entrant dans un état. Cette séquence d'actions ne peut en aucun cas être interrompue, elle a un caractère atomique. * Activity: Ce sont les actions effectuées par l'objet une fois qu'il est entré dans son nouvel état (donc une fois la séquence atomique des actions On Entry terminée). Cela constitue un ensemble d'actions, chaque action étant atomique. La réception d'un événement associé à une transition peut par  Within a state, actions can be of two types: * On Entry: These are the actions that the object performs when entering a state. This sequence of actions can not be interrupted in any case, it has an atomic character. * Activity: These are the actions performed by the object once it has entered its new state (so once the atomic sequence of the On Entry actions is complete). This is a set of actions, each action being atomic. The reception of an event associated with a transition may

contre interrompre cette partie (entre deux actions atomiques).  counter interrupt this part (between two atomic actions).

Un état peut n'avoir aucune action On Entry comme il peut en avoir plusieurs, il en  A state may have no On Entry action as it can have more than one.

est de même pour les actions Activity.  is the same for Activity actions.

Un état sera donc représenté de la façon illustrée à titre d'exemple sur la figure 143.  A state will therefore be represented as illustrated by way of example in FIG.

Notons que " Do >> spécifie ici les actions de type Activity).  Note that "Do" here specifies actions of type Activity).

On va illustrer les actions Activity d'un état par prolongement de l'exemple de l'interrupteur et de la lampe présenté précédemment, illustré à nouveau sur la figure  We will illustrate the actions Activity of a state by extension of the example of the switch and the lamp presented previously, illustrated again on the figure

144.144.

Dans cet exemple, et comme illustré sur la figure 145, la lampe n'a aucune action de type On Entry dans son état On. Dans le cadre de la partie Activity (messages <" Do/ >") de cet état, la lampe envoie par exemple quatre messages d'incrémentation à un compteur (" Counter >>), mais cette activité (composée de ces 4 messages) peut  In this example, and as shown in FIG. 145, the lamp has no On Entry type action in its On state. In the context of the activity part (messages <"Do />") of this state, the lamp sends for example four incrementation messages to a counter ("Counter"), but this activity (composed of these 4 messages) can

être interrompue en cas de réception de message " TurnLamp ".  be interrupted if a "TurnLamp" message is received.

Plus généralement, lorsqu'il entre dans un nouvel état, un objet effectue ses actions On Entry, puis une fois celles-ci terminées, enchaînent sur les actions Activity (notées << Do /... >>). Cependant, du point de vue de l'utilisateur, les objets effectuent les actions en parallèle les uns avec les autres (puisque la série d'actions Activity peut être interrompue). Le but du mécanisme de séquencement est de simuler ce parallélisme en donnant la main aux objets qui effectuent ainsi leurs actions Activity  More generally, when it enters a new state, an object performs its On Entry actions, and once they are finished, chain the Activity actions (denoted << Do / ... >>). However, from the point of view of the user, the objects perform the actions in parallel with each other (since the action series Activity can be interrupted). The goal of the sequencing mechanism is to simulate this parallelism by giving the hand to objects that perform their actions

chacun à leur tour.each in turn.

Pour satisfaire à ces exigences, les modèles doivent être aménagés de façons particulières comme nous allons le voir dans la section suivante, ceci de manière  To meet these requirements, models must be developed in particular ways, as we will see in the following section.

transparente pour le modélisateur.transparent for the modeler.

Section 2 - Aménagement des modèles Mise sous forme canonique des objets Pour simuler le parallélisme, le mécanisme de l'invention consiste à ordonnancer les  Section 2 - Arrangement of Models Canonicalization of Objects To simulate parallelism, the mechanism of the invention consists in scheduling the

actions Activity des objets à l'aide d'une entité particulière, à savoir un Séquenceur.  Activity actions of objects using a particular entity, namely a Sequencer.

Pour parvenir à cet ordonnancement, les états sont transformés en une forme que l'on appelle la " forme canonique ", comme illustré en détail sur la figure 146, forme canonique dans laquelle ces états sont décomposés de telle sorte qu'à chaque action Activity corresponde un état. Le Séquenceur est alors chargé de piloter les transitions  To achieve this order, the states are transformed into a form called the "canonical form", as illustrated in detail in Figure 146, a canonical form in which these states are decomposed so that at each action Activity corresponds to a state. The Sequencer is then responsible for controlling the transitions

entre les états correspondant à des actions Activity.  between states corresponding to Activity actions.

Cependant, la transformation en forme canonique doit respecter la caractère  However, the transformation into a canonical form must respect the character

atomique des actions On Entry.Atomic On Entry actions.

Au global, la transformation en forme canonique doit donc respecter deux contraintes préserver le caractère atomique des actions On Entry: Pour ce faire, les actions On Entry sont regroupées dans un état " Sentry ", comme illustré sur la figure 145. Pour que ces actions ne soient pas interrompues, la seule transition sortante de cet état est une transition automatique. Une transition automatique est une 3 0 transition à laquelle n'est associée aucun événement. Une telle transition n'a  Overall, the transformation into canonical form must therefore respect two constraints preserving the atomic character of On Entry actions: To do this, the On Entry actions are grouped together in a "Sentry" state, as shown in Figure 145. For these actions are not interrupted, the only outgoing transition from this state is an automatic transition. An automatic transition is a transition to which no event is associated. Such a transition has

donc lieu qu'une fois toutes les actions de l'état Sentry effectuées.  therefore place only once all the actions of the state Sentry performed.

Ainsi, lorsque la transition entrante est déclenchée (par un autre objet par exemple), l'objet entre dans l'état Sentry. Dans cet état, l'objet effectue toutes les actions On Entry de l'état S. Quand toutes les actions sont effectuées, et seulement quand elles le sont, l'objet entre dans l'état Sactivity. Comme dans l'exemple, l'objet n'effectuait pas d'actions Activity dans l'état S, il se place dans le sous-état Swait o il attend de recevoir un événement lui permettant de rentrer dans l'état T ou dans l'état U. On notera ici que, dans la suite, afin d'apporter plus de clarté à la lecture,  Thus, when the incoming transition is triggered (by another object for example), the object enters the state Sentry. In this state, the object performs all On Entry actions of state S. When all actions are performed, and only when they are, the object enters the state Sactivity. As in the example, the object did not perform any Activity actions in the S state, it is placed in the Swait subreport where it waits to receive an event allowing it to enter the T state or the state U. It will be noted here that, in the following, in order to bring more clarity to the reading,

nous séparerons les actions Entry dans des sous-états différents.  we will separate Entry actions in different subreports.

* permettre d'établir un quasi parallélisme dans l'exécution des activités des objets.  * allow to establish a quasi parallelism in the execution of the activities of the objects.

Plutôt que d'avoir un " thread " par objet, les activités de tous les objets peuvent être traitées dans un seul thread: celui du Séquenceur. Le rôle de ce Séquenceur sera donc de régir le passage d'un sous état d'activité à un autre par l'émission de  Rather than having a "thread" per object, the activities of all objects can be processed in a single thread: that of the Sequencer. The role of this Sequencer will be to govern the transition from one sub state of activity to another by the emission of

l'événement next, pour tous les objets.  the next event, for all objects.

La mise sous forme canonique correspondante est illustrée sur la figure 146.  The corresponding canonicalization is illustrated in Figure 146.

2 0 Comme précédemment, l'objet entre dans l'état Sentry et y effectue toute les actions  As before, the object enters the state Sentry and performs all the actions there

On Entry prévues dans l'état S. Puis, l'objet entre automatiquement dans l'état Swait.  On entry provided in state S. Then, the object automatically enters the state Swait.

Nous sommes ici dans le cas o des actions Activity étaient prévues dans l'état S. Chacune de ces actions est traitée dans un état différent. Nous les appellerons des sous états d'activité. La transition d'un sous état d'activité à un autre se fait à la réception de l'événement next. C'est le Séquenceur qui émet cet événement pour  We are here in the case where Activity actions were provided in state S. Each of these actions is treated in a different state. We will call them sub states of activity. The transition from one sub state of activity to another is done upon receipt of the next event. It's the Sequencer that emits this event for

simuler le parallélisme entre les objets.  Simulate the parallelism between objects.

A tout moment, l'objet peut recevoir un événement associé à une des transitions sortantes. A ce moment là, l'objet sort de l'état Sactivity (et donc du sous-état d'activité dans lequel il se trouve) pour entrer soit dans T soit dans U. Rôle de Swait Les transitions sortantes de l'état S partent, dans la forme canonique, de l'état Sactivity. En effet, si elles partaient également de Sentry, les actions On  At any time, the object can receive an event associated with one of the outgoing transitions. At this point, the object leaves the state Sactivity (and therefore the sub-state of activity in which it is) to enter either T or U. Role of Swait The outgoing transitions of the state S depart, in the canonical form, from the state Sactivity. Indeed, if they also left Sentry, the shares On

Entry pourraient être interrompue, contre-disant leur caractère atomique.  Entry could be interrupted, supposedly their atomic character.

C'est pourquoi une fois les actions On Entry terminées, l'objet passe automatiquement dans le sous-état Swait de Sactivity. Dans cet état, l'objet attend de recevoir le premier next du Séquenceur, mais peut également passer  This is why once the On Entry actions are completed, the object automatically enters the Swait sub-state of Sactivity. In this state, the object waits to receive the first next of the Sequencer, but can also pass

à un autre état si un objet déclenche une des transitions sortantes.  to another state if an object triggers one of the outgoing transitions.

On observera ici que la forme canonique décrite ci-dessus en référence à la figure 146 permet de représenter les diagrammes d'états transitions de Harel (états hiérarchiques et états orthogonaux); les transformations de ces cas étant évidentes  It will be observed here that the canonical form described above with reference to FIG. 146 makes it possible to represent the state diagrams of Harel transitions (hierarchical states and orthogonal states); the transformations of these cases being obvious

pour l'homme du métier, elles ne seront pas décrites plus avant.  for the skilled person, they will not be described further.

Notion d'historique (trace) Afin de pouvoir suivre ce qui se passe dans le système informatique, on peut disposer d'un historique qui relève toutes les actions effectuées par les objets et leur associe  Notion of history (trace) In order to be able to follow what is happening in the computer system, one can have a history which records all the actions carried out by the objects and associates them

un temps logique.a logical time.

Avant d'effectuer une action, un objet en informe le séquenceur par un message approprié, et le séquenceur écrit dans la trace les informations suivantes: * Quel objet effectue la transition * Quel était l'état de l'objet avant la transition (on l'appellera état précédent),  Before performing an action, an object informs the sequencer by an appropriate message, and the sequencer writes in the trace the following information: * Which object performs the transition * What was the state of the object before the transition (on will call it previous state),

au moyen d'un identifiant.by means of an identifier.

* Quelle est la " cause >> de cette transition (soit l'utilisateur user le cas échéant, soit l'objet qui a causé la transition) On notera que les conditions spécifiées sur les transitions (voir UML - Unified Modeling Language, déjà mentionné) ou dans les états, peuvent également être  * What is the "cause" of this transition (either the user user if any, or the object that caused the transition) Note that the conditions specified on the transitions (see UML - Unified Modeling Language, already mentioned ) or in the states, can also be

3 0 notées dans la trace.Noted in the trace.

Cet historique va jouer un rôle dans le procédé de virtualisation décrit dans le chapitre suivant, ainsi que dans le mécanisme de Rollback explicité dans le chapitre VI. Considérons l'exemple d'un objet O1 illustré sur la figure 147. La mise sous forme canonique va donner le résultat illustré sur la figure 148; l'appel à put du Séquenceur, illustrée sur la figure 148, correspond à une écriture dans l'historique  This history will play a role in the virtualization process described in the following chapter, as well as in the Rollback mechanism explained in Chapter VI. Let us consider the example of an object O1 illustrated in FIG. 147. The canonicalization will give the result illustrated in FIG. the call to put the Sequencer, illustrated in Figure 148, corresponds to a writing in the history

avec les éléments que nous avons mentionnés plus haut.  with the elements we mentioned above.

Supposons maintenant que l'utilisateur crée cet objet 01. Celui-ci va donc entrer dans l'état Sentry, et effectuer son action Entryl. Au passage, la trace va être  Suppose now that the user creates this object 01. This one will thus enter the state Sentry, and carry out its action Entryl. In passing, the trace will be

renseignée de la façon illustrée sur la figure 149.  filled in as illustrated in Figure 149.

Dans l'appel à méthode << Put(O1, initial, user) >>, << O1 " désigne l'objet qui effectue la transition, " initial " désigne l'état précédent de l'objet, tandis que " user " désigne ici l'objet (en l'espèce une action de l'utilisateur) qui est à l'origine de la transition (que l'on appellera la << cause "). << 54" désigne ici le temps logique auquel le  In the method call << Put (O1, initial, user) >>, << O1 >> designates the object that makes the transition, "initial" refers to the previous state of the object, while "user" here refers to the object (in this case an action of the user) which is at the origin of the transition (which will be called the "cause"). "54" here refers to the logical time at which the

message est reçu par le séquenceur.  message is received by the sequencer.

2 0 Le curseur d'écriture indique o doit se faire la prochaine entrée dans la trace.  The write cursor indicates o must be done next entry in the trace.

Le Séquenceur doit donc être capable de réagir à l'événement put, en écrivant les différentes informations reçues dans l'historique. Le comportement du séquenceur, en ce qui concerne la gestion de l'historique, peut alors être représenté de la façon  The Sequencer must be able to react to the put event by writing the different information received in the history. The behavior of the sequencer, as regards the management of the history, can then be represented in the way

illustrée sur la figure 150, o H représente Historique.  illustrated in Figure 150, where H represents History.

Exclusion mutuelle des premiers cycles - Notion de cycle Lorsqu'un objet déclenche un événement chez un autre (en lui envoyant un message ou par une notification de changement d'état si l'objet y est abonné, etc), il provoque un changement d'état de ce dernier. Dans son nouvel état, celuici peut lui-même faire changer d'état à un troisième objet, etc... Ceci jusqu'à ce que tous les objets touchés aient terminés leurs actions On Entry (les actions Activity étant du ressort du séquenceur comme nous le verrons par la suite). La main est alors rendue, par retour d'appel de méthode, à l'objet qui a déclenché la première transition: on parle alors de cycle. Par définition, un cycle est donc atomique au sens o il ne peut pas être interrompu. Un cycle débute donc quand un objet O en amène un autre à effectuer une transition,  Mutual exclusion of the first cycles - Notion of cycle When an object triggers an event in another (by sending a message to it or by a notification of change of state if the object is subscribed to it, etc), it causes a change of state of the latter. In its new state, this one can itself make change of state to a third object, etc ... This until all the affected objects have completed their actions On Entry (the actions Activity being the spring of the sequencer like we will see it later). The hand is then returned, by return of call of method, to the object which triggered the first transition: one speaks then of cycle. By definition, a cycle is therefore atomic in the sense that it can not be interrupted. A cycle begins when an object O causes another to make a transition,

et se termine quand O reprend la main.  and ends when O picks up the hand.

Ainsi la figure 151 illustre un exemple o deux cycles Cyclel et Cycle2 se succèdent, le retour à partir de l'objet ObjetC se produisant dès la réception de " EntryB1 " car, si ObjetB change bien d'état, il n'a pas d'action à effectuer. Le cycle Cycle2 est similaire, avec parcours des objets ObjetA, ObjetC et ObjetD et  Thus Figure 151 illustrates an example where two cycles Cyclel and Cycle2 follow each other, the return from the ObjectC occurring as soon as the receipt of "EntryB1" because, if ObjectB changes well state, it has no action to perform. The Cycle2 cycle is similar, with traversing objects ObjectA, ObjectC and ObjectD and

retour à partir d'ObjetD qui n'a pas d'action à effectuer.  back from ObjectD which has no action to perform.

- Notion de premier cycle Lorsqu'on considère l'ensemble des cycles d'une application, on se rend compte qu'il existe des cycles tout particuliers: ceux qui sont initiés par l'utilisateur. On  - Concept of the first cycle When one considers all the cycles of an application, one realizes that there exist particular cycles: those which are initiated by the user. We

parlera dans ce cas là de premiers cycles.  in this case will speak of first cycles.

Ces premiers cycles sont importants car leur déclenchement dépend de l'utilisateur.  These first cycles are important because their trigger depends on the user.

2 5 Leur déroulement est de ce fait parallèle et ils peuvent entrer en conflit les uns avec  2 5 Their flow is therefore parallel and they can conflict with each other

les autres si jamais ils passent par les mêmes objets.  the others if they ever go through the same objects.

Pour gérer ce genre de problème, c'est-à-dire éviter d'avoir à effectuer des retours arrière (ou " Rollback " selon la terminologie anglosaxonne), un mécanisme d'exclusion mutuelle de ces premiers cycles est nécessaire. Comme nous allons le voir dans la section suivante, une solution possible est de les mettre en séquence: ils sont alors traités les uns à la suite des autres en fonction de l'ordre selon lequel ils  To manage this kind of problem, that is to say to avoid having to perform rollbacks (or "rollback" according to English terminology), a mutual exclusion mechanism of these first cycles is necessary. As we will see in the next section, a possible solution is to put them in sequence: they are then treated one after the other according to the order in which they

ont été déclenchés par l'utilisateur.  were triggered by the user.

- Mécanisme mis en oeuvre Dans cette approche, chaque objet qui effectue une transition due à l'utilisateur prévient le Séquenceur à l'aide de l'événement BOFC (BeginOfFirstCycle: début de premier cycle). Une fois le premier cycle terminé (on est revenu au premier objet par retour d'appel de méthode), l'objet prévient le Séquenceur que le premier cycle est  - Mechanism Implemented In this approach, each object that performs a user-driven transition prevents the Sequencer by using the BOFC event (BeginOfFirstCycle: start of first cycle). Once the first cycle is complete (we have returned to the first object by method callback), the object prevents the Sequencer that the first cycle is

terminé à l'aide de l'événement EOFC (EndOfFirstCycle: fin de premier cycle).  completed using the EOFC event (EndOfFirstCycle: end of first cycle).

A la réception d'un message BOFC, un compteur de premier cycle FCC (First Cycle Counter), intégré dans le Séquenceur, est incrémenté. Si, après incrémentation, ce compteur vaut 1, alors le Séquenceur dit à l'objet que le premier cycle peut commencer en envoyant le message proceed. Quand le Séquenceur reçoit EOFC, il  Upon receipt of a BOFC message, a first cycle counter (FCC), integrated in the Sequencer, is incremented. If, after incrementing, this counter is 1, then the Sequencer tells the object that the first cycle can begin by sending the message proceed. When the Sequencer receives EOFC, it

décrémente son compteur de premier cycle.  decrements his first cycle counter.

Lorsque le Séquenceur reçoit un BOFC alors qu'un premier cycle est déjà en cours, il attend que le cycle en cours (ainsi que tout ceux qui sont en attente) soit terminé,  When the Sequencer receives a BOFC while a first cycle is already in progress, it waits for the current cycle (as well as all those that are waiting) to be completed,

2 0 avant de déclencher le nouveau premier cycle.  Before starting the new first cycle.

Un exemple de mise en oeuvre est illustré sur le diagramme de la figure 152.  An exemplary implementation is illustrated in the diagram of FIG.

Le comportement du Séquenceur relativement aux BOFC et EOFC peut être représenté à l'aide du diagramme d'état-transition illustré quant à lui sur la figure 153. Obtention du quasi parallélisme 3 0 Après avoir effectué leurs actions On Entry, les objets peuvent effectuer leurs actions Activity. Par définition ces actions ont lieu en parallèle. Le but de cette partie est de décrire le mécanisme de quasi parallélisme permettant de simuler le parallélisme des  The behavior of the Sequencer with respect to the BOFC and EOFC can be represented by means of the state-transition diagram illustrated in Figure 153. Obtaining the quasi-parallelism After having carried out their On Entry actions, the objects can perform their actions Activity. By definition, these actions take place in parallel. The purpose of this part is to describe the mechanism of quasi parallelism allowing to simulate the parallelism of

activités dans une approche purement séquentielle.  activities in a purely sequential approach.

- Extension de l'historique Comme nous l'avons vu, la décomposition en forme canonique dégage des sous-états  - Extension of the history As we have seen, the decomposition in canonical form releases sub-states

d'activités. Le passage d'un de ces sous états à un autre se fait par l'événement next.  activities. The transition from one of these sub-states to another is done by the event next.

Ceci permet de piloter les différentes actions Activity de tous les objets qui effectuent leur activité. Ce pilotage est assuré par le Séquenceur, chargé d'émettre  This allows you to control the different Activity actions of all the objects that perform their activity. This control is provided by the Sequencer, responsible for issuing

l'événement next aux objets en ayant fait la demande.  the event next to the objects having made the request.

Pour ce faire, un objet va dire au séquenceur qu'il a une activité à effectuer juste avant la dernière action de sa partie On Entry de l'état courant, en l'écrivant dans l'historique. (Au cas o il n'a qu'une seule action On Entry dans l'état courant, l'objet va informer le séquenceur avant d'effectuer l'action). Ceci est effectué via l'écriture dans l'historique à l'aide de put. L'ensemble d'informations stockées dans l'historique à chaque put doit donc être étendu de la façon suivante: en plus des informations déjà présentées, un put doit également contenir un type et un index  To do this, an object will tell the sequencer that it has an activity to perform just before the last action of its On Entry part of the current state, by writing it in the history. (In case it only has one On Entry action in the current state, the object will inform the sequencer before performing the action). This is done by writing to the history using put. The set of information stored in the history for each put must therefore be extended as follows: in addition to the information already presented, a put must also contain a type and an index

2 0 d'obsolescence.2 0 obsolescence.

Le type indique s'il s'agit juste d'une simple écriture dans l'historique (type = trace),  The type indicates whether it is just a simple write in the history (type = trace),

ou s'il s'agit d'une demande pour effectuer des activités (type = next).  or if it is a request to perform activities (type = next).

L'index d'obsolescence (renseigné uniquement dans le cas type = next) permet de détecter si un next reçu est caduque suite à un changement d'état pendant des activités. Si nous reprenons notre exemple de mise sous forme canonique de la figure 148, 3 0 nous obtenons maintenant ce qui est illustré sur la figure 154, et dans le cas o l'objet  The obsolescence index (indicated only in the case type = next) makes it possible to detect if a next receipt is invalid following a change of state during activities. If we take again our example of canonicalization of figure 148, we obtain now what is illustrated in figure 154, and in the case where the object

doit effectuer des actions Activity, ce qui est illustré sur la figure 155.  must perform Activity actions, which is shown in Figure 155.

Supposons qu'un utilisateur crée cet objet (dans le cas des actions Activity). Les informations figurant dans la trace pour cet objet vont donc être par exemple celles  Suppose a user creates this object (in the case of Activity actions). The information contained in the trace for this object will therefore be for example those

illustrées sur la figure 156.illustrated in Figure 156.

Le diagramme d'état-transition présentant le comportement du Séquenceur pour la  The state-transition diagram showing the behavior of the Sequencer for the

gestion de l'historique doit alors être étendu comme illustré sur la figure 157.  History management must then be extended as shown in Figure 157.

- Rôle du Séquenceur Le rôle du Séquenceur est de régir les différentes activités des objets en simulant une  - Role of the Sequencer The role of the Sequencer is to govern the different activities of the objects by simulating a

exécution en parallèle.parallel execution.

Pour ce faire, le Séquenceur exploite les informations de l'historique en suivant les différentes entrées, et en traitant les put dont type = next. Ceci est matérialisé par un autre curseur, le curseur de traitement, comme illustré sur la figure 158. Ce curseur  To do this, the Sequencer uses the information of the history by following the different entries, and by processing the put of type = next. This is materialized by another cursor, the processing cursor, as shown in Figure 158. This slider

indique donc, à chaque instant, o en est l'exécution de l'application.  indicates, at each moment, where is the execution of the application.

A chaque fois que le curseur de traitement passe sur un put de type next, le  Whenever the processing cursor moves to a next type put, the

Séquenceur envoie next à l'objet spécifié dans le put.  Sequencer sends next to the specified object in the put.

Le traitement des activités par le Séquenceur peut donc être modélisé par le  The processing of the activities by the Sequencer can therefore be modeled by the

diagramme d'état-transition illustré sur la figure 159.  transition state diagram shown in Figure 159.

Ainsi le diagramme d'état-transition complet du Séquenceur sera donc tel qu'illustré  Thus the complete state-transition diagram of the Sequencer will be as illustrated

sur la figure 160.in Figure 160.

ExempleExample

Considérons 6 objets A, B, C, D, E, et F. Ces objets ont les diagrammes d'état-  Consider 6 objects A, B, C, D, E, and F. These objects have state diagrams.

transition qui sont illustrés sur la figure 161.  transition which are illustrated in Figure 161.

A, B, et C sont mis sous forme canonique de la façon illustrée sur la figure 162.  A, B, and C are in canonical form as illustrated in Figure 162.

Supposons qu'un utilisateur déclenche le msgO de l'objet A. A entre donc dans l'état SI, il en découle un premier cycle, puis le Séquenceur arbitre les différentes activités. Ceci va être présenté dans le diagramme de séquence illustré sur la figure 163. Au moment o le premier cycle se termine, l'historique porte les informations  Suppose that a user triggers the msgO of the object A. A enters the state S1, it follows a first cycle, then the Sequencer arbitrates the different activities. This will be shown in the sequence diagram shown in Figure 163. By the time the first cycle ends, the history carries the information

illustrées sur la figure 164.illustrated in Figure 164.

Le séquenceur va commencer à traiter les activités à partir de la position du curseur du Séquenceur. Pour chaque put de type next, il va envoyer à l'objet concerné le message next pour que celui-ci puisse continuer son activité. Si on poursuit l'exemple précédent jusqu'à son terme, on obtient le diagramme illustré sur la figure  The sequencer will start processing the activities from the Sequencer cursor position. For each put of type next, it will send to the object concerned the message next so that it can continue its activity. If we continue the previous example until its end, we obtain the diagram shown in the figure

165.165.

Lorsque le traitement du premier put de type next est terminé, le curseur de traitement passe au put dont type = next suivant, comme illustré sur la figure 166, et  When the treatment of the first put of type next is finished, the processing cursor switches to the put whose next type = next, as illustrated in FIG. 166, and

le traitement correspondant est illustré sur la figure 167.  the corresponding processing is illustrated in Figure 167.

Au final, la trace regroupe les informations illustrées sur la figure 168.  Finally, the trace groups the information shown in Figure 168.

- Obsolescence des " next >> 3 0 Les activités d'un objet peuvent être interrompues par un changement d'état. On dira que le Séquenceur envoie un événement next obsolète si l'objet a fait au moins une transition depuis qu'il a émis le put de type next correspondant. Ceci peut arriver lorsque les activités propres à un état sont interrompues au sens o nous l'avons vu précédemment. Pour éviter ce problème, chaque objet dispose d'un compteur des émissions de put de type next (initialisé à zéro en début d'exécution). A chaque fois qu'un objet émet un put (de type trace ou next), il incrémente auparavant ce compteur et, dans le cas d'un put de type next, passe la valeur du compteur dans l'historique. Accessoirement, chaque objet possède également un drapeau PendingNext permettant de savoir s'il est en attente ou non d'un next. A l'envoi d'un put de type next, ce drapeau passe à 1 (il  - Obsolescence of "next" 3 0 The activities of an object can be interrupted by a change of state.We say that the Sequencer sends an event next obsolete if the object has made at least one transition since it was emitted the corresponding next type put.This can happen when state-specific activities are interrupted in the sense we have seen before.To avoid this problem, each object has a next-type put emission counter ( initialized to zero at the beginning of execution.) Whenever an object emits a put (of type trace or next), it increments this counter beforehand and, in the case of a put of type next, passes the value of the In addition, each object also has a PendingNext flag to know if it is waiting for a next, or when sending a next type, this flag changes to 1 (it

est remis à 0 à la réception du next).  is reset to 0 upon receipt of the next).

Par la suite, quand l'objet reçoit un next et il reçoit également la valeur qu'il avait passé au moment de l'envoi du put de type next. L'objet compare alors cette valeur qu'il reçoit avec la valeur courante de son compteur. Si les deux valeurs sont égales,  Subsequently, when the object receives a next and it also receives the value it had spent at the time of sending the next type put. The object then compares this value that it receives with the current value of its counter. If the two values are equal,

c'est que le next reçu doit être traité, sinon c'est qu'il est obsolète et est donc ignoré.  the next receipt must be processed, otherwise it is obsolete and is therefore ignored.

Un exemple correspondant est illustré sur la figure 169.  A corresponding example is illustrated in Figure 169.

*$* Chapitre V - Mécanisme de chargement et déchargement progressifs (Figures 170 à 196) Comme le chapitre IV, ce chapitre contribue au chapitre VI présenté plus loin, et  * $ * Chapter V - Progressive Loading and Unloading Mechanism (Figures 170-196) Like Chapter IV, this chapter contributes to Chapter VI presented below, and

vient compléter les techniques dudit chapitre IV.  completes the techniques of Chapter IV.

On se place ici dans le cadre d'une architecture informatique client/serveur, o un utilisateur exécute une application depuis un poste client << léger ", dans le sens o 3 0 les objets de l'application sont instanciés depuis un serveur. En fait, nous distinguons deux types d'objets: les objets transitoires, et les objets permanents. Les objets transitoires sont propres à chaque exécution d'un document; ils ont une durée de vie qui ne peut en aucun cas excéder celle de l'exécution de l'application. L'état et les valeurs caractéristiques des objets permanents sont, au contraire, sauvegardés (sachant que l'on est ici dans un cas o cette sauvegarde est effectuée sur un serveur distant) et survivent d'une exécution à l'autre. De par la structure induite par le diagramme de classe, un certain nombre d'objets << existent >> d'emblée aulancement de l'application: le modèle (au moyen duquel le document a été créé) indique que, dès le début de l'exécution, ces objets existent déjà et sont à disposition les uns des autres (en fonction des associations définies dans le modèle). Le principe de base de ce chapitre est cependant de ne pas créer ces objets dès le début, mais de manière " paresseuse " (au fur et à mesure de leur besoin), et ceci de manière transparente pour l'utilisateur. Le concepteur n'a en effet pas besoin de prévoir ces aspects lors de la modélisation de l'application à développer; ils sont automatiquement gérés par le système. L'utilisateur, quant à lui, n'a pas à se soucier des objets qui transitent entre son poste client et le serveur, tout se passe pour lui  Here we place ourselves in the context of a client / server computer architecture, where a user executes an application from a "light" client station, in the sense that the objects of the application are instantiated from a server. In fact, we distinguish two types of objects: transient objects, and permanent objects Transient objects are specific to each execution of a document, they have a lifetime that can in no case exceed that of the execution the state and the characteristic values of the permanent objects are, on the contrary, saved (knowing that one is here in a case where this backup is carried out on a distant server) and survive an execution with the From the structure induced by the class diagram, a certain number of objects "exist" at the outset of the application: the model (by which the document was created) indicates that, as soon as the beginning of the execution, these objects exist already exist and are available from each other (depending on the associations defined in the model). The basic principle of this chapter, however, is not to create these objects from the beginning, but in a "lazy" way (as and when they are needed), and this in a way that is transparent to the user. The designer does not need to predict these aspects when modeling the application to be developed; they are automatically managed by the system. The user, meanwhile, does not have to worry about the objects that pass between his client and the server, everything happens for him

comme s'il possédait l'ensemble des objets de l'application.  as if he owned all the objects of the application.

Ainsi, certains objets sont en fait absents quand, selon le modèle, ils devraient exister; on dit qu'ils existent virtuellement. Le comportement de l'application n'en est pas gêné car ces objets sont créés (réalisés) "just in time >> en cas de besoin. Ils sont même réalisés par anticipation (" ahead of time >>) afin d'assurer la fluidité de l'exécution. Même en cours d'exécution, selon le modèle de nouveaux objets apparaissent virtuellement et, toujours, ils ne sont réalisés qu'au fur et à mesure de  Thus, some objects are in fact absent when, according to the model, they should exist; they say they exist virtually. The behavior of the application is not impeded because these objects are created (made) "just in time" if necessary, they are even made by anticipation ("ahead of time") to ensure the fluidity of execution. Even running, depending on the pattern of new objects appear virtually and still, they are only realized as and when

2 5 leurs besoins réels.2 5 their real needs.

De ce fait, le téléchargement des objets se fait progressivement. Cela permet de conserver des temps de chargement raisonnables dans des conditions de bande  As a result, downloading objects is done gradually. This allows reasonable load times to be maintained under band conditions

passante faible et irrégulière.low pass and irregular.

Afin de réduire la consommation de ressources d'ordinateur, les objets qui ne sont pas (ou plus) utilisés peuvent cesser d'être réellement existants (ils peuvent être virtualisés). Ils sont supprimés, de manière transparente, après un certain délai de latence (pour éviter des suppressions/créations intempestives), sachant qu'ils pourront se réaliser à nouveau quand nécessaire. Section 1 - Structure d'une application Liens La structure d'une application est basée sur le diagramme des classes et exploite les associations entre les classes. En cours d'exécution, la structure repose donc sur les liens entre les objets. Un lien est une instance d'association orientée. Parmi les différentes associations on distingue la composition (relation contenant- contenu) qui implique qu'un objet ne peut être contenu que par un seul objet (l'objet contenant) à un instant donné. Les associations de composition sont notées graphiquement sous la forme de losanges pleins. Par exemple, dans la figure 170, l'objet A contient les objets B, C et D. Une application contient donc un ensemble d'objets, dotés de comportement. Ces comportements (ou behaviors) sont définis à l'aide de machines à états telles que  In order to reduce the consumption of computer resources, objects that are not (or no longer) used can cease to be truly existent (they can be virtualized). They are deleted, transparently, after a certain latency period (to avoid deletions / untimely creations), knowing that they can be realized again when necessary. Section 1 - Structure of an Application Links The structure of an application is based on the class diagram and exploits associations between classes. Running, the structure is based on the links between the objects. A link is an association-oriented instance. Among the different associations we distinguish the composition (container-content relation) which implies that an object can be contained only by a single object (the containing object) at a given instant. The composition associations are graphically noted as solid rhombs. For example, in Figure 170, object A contains objects B, C, and D. An application therefore contains a set of objects, with behavior. These behaviors (or behaviors) are defined using state machines such as

* nous les avons vues à la section 1 du chapitre IV.* we have seen them in section 1 of chapter IV.

Les objets forment une structure arborescente de liens de composition, au sein de laquelle tout objet est nécessairement composant d'un autre objet. Tout objet a donc un " chemin " qui l'identifie depuis la racine de l'application, l'objet Root, comme  Objects form a tree structure of composition links, within which any object is necessarily a component of another object. Any object therefore has a "path" that identifies it from the root of the application, the Root object, as

illustré sur la figure 171.illustrated in Figure 171.

Les techniques décrites ici peuvent s'appliquer à des structures dynamiques, c'est-à-  The techniques described here can be applied to dynamic structures, i.e.

dire dans lesquelles certains objets peuvent être créés et supprimés en cours d'exécution. Nous considérons que ces derniers sont regroupés au sein de ce que nous appelons une collection (les procédés décrits ici pouvant tout aussi bien s'appliquer à n'importe quelle autre structure dynamique). La collection est représentée par un objet Collection qui est statique, et qui figure dans l'arborescence basée sur les liens de composition. Les sous objets de l'objet Collection représentent les éléments de la collection comme le montre la figure 172, et sont repérés par des indices. Bien entendu, les objets peuvent aussi avoir entre eux d'autres liens que les liens de composition qui forment la structure de l'application. Ces liens sont les instanciations des différentes associations existant entre les classes des objets. C'est via ces liens que les objets peuvent communiquer, c'est-à-dire s'envoyer des messages. Ces liens peuvent évoluer en cours d'exécution. En effet, une association relie deux classes. Ceci sous-entend que l'instance d'une classe peut communiquer avec  say in which some objects can be created and deleted running. We consider that these are grouped together in what we call a collection (the methods described here can be applied to any other dynamic structure). The collection is represented by a Collection object that is static, and that is in the tree structure based on the composition links. The subobjects of the Collection object represent the elements of the collection as shown in Figure 172, and are indexed. Of course, the objects can also have links between them other than the composition links that form the structure of the application. These links are the instantiations of the different associations existing between the classes of the objects. It is through these links that the objects can communicate, that is, send messages to each other. These links may change while running. Indeed, an association connects two classes. This implies that the instance of a class can communicate with

n'importe quelle instance de l'autre classe.  any instance of the other class.

La communication entre un objet quelconque et un élément d'une collection (par exemple entre A et B[2] dans la figure précédente) se fera par l'intermédiaire de  The communication between any object and an element of a collection (for example between A and B [2] in the previous figure) will be done through

2 0 l'objet Collection correspondant, en précisant l'indice de l'élément voulu (ici 2).  The corresponding Collection object, specifying the index of the desired element (here 2).

Un lien entre deux objets est défini par un chemin menant de l'un à l'autre, au sein  A link between two objects is defined by a path leading from one to another, within

de la structure.of the structure.

Un lien peut être construit en exploitant uniquement les liens de composition, nous les appellerons "liens de base ". La figure 173 en montre un exemple. Sur cette figure, le chemin menant de D à C est formé à partir des liens de composition D_B, B_A et A_C. Un tel chemin (définissant un lien de base) est porté par l'objet au sein  A link can be built using only the composition links, we will call them "basic links". Figure 173 shows an example. In this figure, the path leading from D to C is formed from the composition links D_B, B_A and A_C. Such a path (defining a basic link) is carried by the object within

d'une variable structurée que nous appellerons " port ".  of a structured variable that we will call "port".

Mais un lien peut également exploiter des liens qui ont eux-mêmes été formés à partir de liens de composition, c'est ce que nous appellerons un " lien dérivé >>. Nous  But a link can also exploit links that have themselves been formed from composition links, which we will call a "derived link."

en illustrons un exemple dans la figure 174.  illustrate an example in Figure 174.

Le chemin menant de D à E peut réutiliser le chemin établi entre D et C dans l'exemple précédent: DC et C_E. Il n'est pas nécessaire de passer par B et par A, mais il est possible de déterminer le chemin correspondant qui n'exploite que les liens de composition. Ceci jouera un rôle majeur, comme nous le verrons dans la première partie de la section 2 du chapitre V, en ce qui concerne la réalisation des  The path from D to E can reuse the path between D and C in the previous example: DC and C_E. It is not necessary to go through B and A, but it is possible to determine the corresponding path that exploits only the composition links. This will play a major role, as we will see in the first part of Section 2 of Chapter V, as regards the achievement of

objets.objects.

On peut donc définir un lien de façon récursive, comme étant soit: * Un lien de base, c'est-à-dire n'exploitant que des liens de composition * Un lien dérivé, c'est-à-dire exploitant un nombre fini de liens (pouvant être de  We can therefore define a link recursively, as being either: * A basic link, that is to say, exploiting only links of composition * A derived link, that is to say exploiting a number finished links (which may be

base et/ou dérivés).basis and / or derivatives).

Objets d'affichage Certains des objets d'une application sont des éléments d'affichage, tels qu'un bouton ou une zone de saisie par exemple. Les éléments d'affichage sont regroupés pour former différents écrans de l'interface homme machine d'une application, différentes pages d'un site Internet, ou différents champs de vision dans un  Display Objects Some of the objects in an application are display elements, such as a button or an input box, for example. The display elements are grouped together to form different screens of the human-machine interface of an application, different pages of an Internet site, or different fields of view in a

environnement de réalité virtuelle en 3D par exemple.  virtual reality environment in 3D for example.

Ce regroupement des éléments d'affichage est réalisé à l'aide d'objets, créés spécialement, que nous appelons visuZone. Chaque groupe d'éléments d'affichage est lié à un objet visuZone. Ces groupes ne sont pas forcément disjoints. Ainsi la  This grouping of display elements is done using specially created objects, which we call visuZone. Each group of display elements is linked to a visual object. These groups are not necessarily disjoint. So the

figure 175 illustre un groupe d'objets d'affichages D, F et H regroupés.  Fig. 175 illustrates a group of grouped display objects D, F and H.

3 0 Regrouper de cette manière les objets d'affichage a le but suivant: en cours d'exécution, le chargement chez un client d'un objet d'affichage appartenant à une zone de visualisation, provoque le chargement de tous les autres objets d'affichage de la même zone. Selon la profondeur d'anticipation désirée, les objets (d'affichage  The grouping of the display objects in this manner has the following purpose: in the course of execution, the loading at a client of a display object belonging to a viewing area, causes the loading of all the other objects of display. display of the same area. Depending on the depth of anticipation desired, objects (display

ou non) reliés aux objets de la zone de visualisation peuvent également être chargés.  or not) connected to objects in the viewing area can also be loaded.

Un exemple intéressant d'utilisation desobjets visuZone peut être le déplacement d'un cadre sur une carte. Les objets visuZone permettent de gérer des concepts  An interesting example of using visuZone objects can be moving a frame on a map. VisuZone objects can be used to manage concepts

comme le voisinage géographique et le zoom.  like the geographical neighborhood and the zoom.

* Voisinage géographique On se place ici dans un contexte o l'application contient un nombre important de données, réparties de façon géographique sur un plan (par exemple la carte d'une ville). La navigation sur cette carte se fait au moyen d'un cadre de visualisation  * Geographical neighborhood We place ourselves here in a context where the application contains a large number of data, distributed geographically on a map (for example a map of a city). Navigation on this map is done by means of a visualization frame

constitué par la surface de l'écran de l'utilisateur.  constituted by the surface of the screen of the user.

Le but de l'utilisation des objets visuZone est ici de faire en sorte que seuls les objets  The purpose of using visuZone objects is to make sure that only objects

du cadre et ceux qui en sont géographiquement proches soient présents.  and those who are geographically close to them are present.

Pour réaliser cet objectif, il faut dans un premier temps morceler la zone en 2D à couvrir, et associer à chaque morceau un objet visuZone (c'est-à-dire relier tous les objets de ce morceau de plan à l'objet visuZone). Ceci est illustré sur la figure 176, o à chaque " morceau >> du rectangle est associé un objet visuZone regroupant les  To achieve this objective, it is first necessary to divide the 2D area to be covered, and to associate each piece with a visual object (that is to say connect all the objects of this piece of plane to the visuZone object) . This is illustrated in Figure 176, where each "piece" of the rectangle is associated with a visual object grouping together the

objets, désignés par des points, qui y sont contenus.  objects, designated by points, which are contained therein.

Dans un second temps, il faut inclure la notion de proximité entre les zones de  In a second step, it is necessary to include the notion of proximity between zones of

visualisation: il s'agit donc de relier les objets visuZone proches les unes des autres.  visualization: it is therefore a question of linking visuZone objects close to each other.

On obtient ainsi un réseau maillé d'objets visuZone, comme illustré sur la figure 177, o les objets visuZone sont désignés par des cercles au droit de chaque " morceau >>,  Thus, a mesh network of visuZone objects is obtained, as illustrated in FIG. 177, where the visuZone objects are designated by circles at the right of each "piece",

et o les liens entre de tels objets sont indiqués par des lignes droites.  and o the links between such objects are indicated by straight lines.

Ainsi, le chargement d'un objet visuZone provoque (automatiquement), par  Thus, loading a visuZone object causes (automatically), by

anticipation, le chargement des objets d'affichage situés dans les zones voisines.  anticipation, loading display objects located in neighboring areas.

De cette manière, la profondeur d'anticipation et la taille des zones de visualisation sont les paramètres qui permettent de jouer sur la granularité du " maillage ". * Zoom avant et arrière Dans le type d'application que nous décrivons dans cet exemple, une fonctionnalité intéressante est également la possibilité d'effectuer des zooms avant et arrière en un  In this way, the depth of anticipation and the size of the viewing areas are the parameters that make it possible to play on the granularity of the "mesh". * Zoom in and out In the type of application that we describe in this example, an interesting feature is also the ability to zoom in and out in one

point donné de la carte.given point of the map.

Cette fonction induit le concept de niveau de détail, donc de hiérarchie au sein des  This function induces the concept of level of detail, therefore of hierarchy within

objets visuZone, un exemple d'une telle hiérarchie étant illustré sur la figure 178.  VisuZone objects, an example of such a hierarchy being illustrated in Figure 178.

L'objet visuZone supérieur correspond au niveau de détail moins élevé, alors que les objets visuZone situés au-dessous représentent un niveau de détail médian, et que les  The upper visuZone object corresponds to the lower level of detail, while the visuZone objects below represent a median level of detail, and the

objets visuZone les plus bas représentent un niveau de détail plus élevé.  VisuZone's lowest objects represent a higher level of detail.

Chaque objet visuZone du niveau de détail le plus élevé est relié à tous les objets  Each visual object of the highest level of detail is connected to all objects

2 0 d'affichage de la zone de visualisation de granularité la plus fine.  Displaying the finest granularity viewing area.

L'objet visuZone du niveau de détail le moins élevé (objet supérieur) est relié à certains objets de toutes les parties du plan morcelé. Ceci constitue une vue globale  The visuZone object of the lowest level of detail (top object) is connected to certain objects in all parts of the split plane. This constitutes a global view

de la carte o seuls les éléments les plus marquant apparaissent.  of the map o only the most striking elements appear.

Les objets visuZone du niveau de détail médian (objets intermédiaires) sont reliés à des objets supplémentaires de leur quart de plan respectif. Ces objets apportent plus  VisuZone objects in the median detail level (intermediate objects) are linked to additional objects in their respective quarter-plane. These objects bring more

de précision sur chaque quart de plan.  precision on each quarter of a plane.

Enfin les objets visuZone du niveau de détail le plus élevé (objets inférieurs) sont reliés à tous les objets restant dans leur fraction de plan. A ce niveau, tous les objets  Finally, visuZone objects of the highest level of detail (lower objects) are connected to all the objects remaining in their fraction of plane. At this level, all objects

sont chargés.are loaded.

De même que pour la question de proximité, les objets visuZone correspondant aux  As with the question of proximity, visuZone objects corresponding to

différents niveaux de détail sont reliés entre eux dans un souci d'anticipation.  different levels of detail are linked together for the sake of anticipation.

Une approche de zoom sans niveau de détail peut également être envisagée. Dans celle-ci, les objets visuZone inférieurs sont reliés à tous les objets de leur fraction de  A zoom approach without level of detail can also be considered. In this one, the lower visuZone objects are connected to all the objects of their fraction of

plan. Les objets visuZone intermédiaires ne sont reliés qu'aux objets inférieurs, etc...  plan. Intermediate visuZone objects are only connected to lower objects, etc.

Section 2 - Modalités de Réalisation et de Virtualisation des objets Lors du lancement de l'application, seule la racine du document (objet Root) est réalisée. Elle constitue la racine de toute l'arborescence des objets présents dans le document. A partir de là, les autres objets sont " réalisés " au fur et à mesure, sur  Section 2 - Methods of Realization and Virtualization of Objects When launching the application, only the root of the document (Root object) is performed. It is the root of the entire tree of objects in the document. From there, the other objects are "realized" as and when, on

demande de la part d'un autre objet, ou par anticipation.  request from another object, or by anticipation.

Ainsi, lorsqu'un objet doit envoyer un message à un autre objet non présent, la  Thus, when an object has to send a message to another object that is not present, the

réalisation de ce dernier est effectuée au cours du processus d'envoi de message.  realization of the latter is carried out during the process of sending message.

Ce processus est intercepté par une couche spéciale du système qui fait que les différents mécanismes mis en jeu dans ce chapitre (réalisation, virtualisation,  This process is intercepted by a special layer of the system that makes the different mechanisms involved in this chapter (realization, virtualization,

anticipation) soient gérés de façon transparente pour le concepteur et l'utilisateur.  anticipation) are managed transparently for the designer and the user.

Dans toute application orientée objet, pour qu'un objet puisse envoyer un message à un autre objet, il faut qu'il existe entre eux un lien, au sens o nous l'avons défini précédemment. Ce lien est créé à partir du moment o l'objet émetteur connaît le chemin qui mène à l'objet destinataire au sein de la structure. Un tel lien n'a pas de caractère figé, il peut être "modifé >> en cours d'exécution, en en modifiant le chemin. Le rôle du chemin est de permettre, en parcourant la structure, de récupérer la référence de l'objet destinataire pour le contacter. L'obtention de cette référence est le but d'un mécanisme que nous appellerons procédé de connexion (défini ci-après) qui fait partie intégrante du processus d'envoi de message. Cette référence, une fois obtenue, est stockée par l'objet au sein de la variable structurée " port >> qui contient  In any object-oriented application, for an object to send a message to another object, there must be a link between them, in the sense we have defined it previously. This link is created from the moment the sending object knows the path to the recipient object within the structure. Such a link does not have a fixed character, it can be "modified" during the execution, by modifying the path The role of the path is to allow, by traversing the structure, to recover the reference of the The recipient of this reference is the purpose of a mechanism that we will call the connection process (defined below) which is an integral part of the message sending process. is stored by the object within the structured variable "port" which contains

déjà le chemin.already the way.

Ce procédé ne peut fonctionner que pour des chemins formés de liens de composition uniquement. En effet, ce n'est qu'en suivant les liens de composition que l'on peut  This method can only work for paths consisting of composition links only. Indeed, it is only by following the links of composition that one can

créer les instances des objets (un objet ne peut être réalisé que par son parent).  create instances of objects (an object can only be realized by its parent).

Atteindre un objet en suivant un chemin implique de pouvoir réaliser les objets de ce chemin qui ne sont que virtuellement présents, d'o la nécessité qu'un tel chemin  To reach an object following a path implies to be able to realize the objects of this path which are only virtually present, hence the need that such a path

repose sur les liens de composition.  relies on composition links.

Pour cela, il est possible de ramener un lien quelconque au lien de base correspondant, c'est-à-dire à l'ensemble minimal de liens de composition qui le constituent. Les deux cas possibles de transformation sont présentés sur la figure 179: dans les deux cas illustrés, la composition des liens de O0 à On, et de 0,n à 0m, peut se  For this, it is possible to return any link to the corresponding base link, that is to say to the minimum set of constituent links that constitute it. The two possible cases of transformation are presented in FIG. 179: in the two illustrated cases, the composition of the links from O0 to On, and from 0, n to 0m, can be

ramener au lien de base formé des liens de composition O0_Oi, OiOj, et Oj_Om.  bring back to the basic link formed of the composition links O0_Oi, OiOj, and Oj_Om.

Procédé de connexion (réalisation) Supposons qu'un objet O0 veuille se connecter à un objet ON. Afin d'accéder à ON, O0 dispose d'un chemin path qui exploite la structure arborescente. Une valeur de ce chemin peut être stockée dans le port, mais cette valeur peut également être modifiée de façon programmatique en cours d'exécution, sachant qu'un port (lien de base) ne  Connection method (realization) Suppose an object O0 wants to connect to an ON object. In order to access ON, O0 has a path path that exploits the tree structure. A value of this path can be stored in the port, but this value can also programmatically be modified while running, knowing that a port (base link) does not exist.

3 0 peut contenir que des liens de composition.  It can contain only composition links.

Pour représenter un lien de base, un port comprend une valeur entière index positive et une suite d'objets (On)nE[i..N]. index indique à quel niveau de la hiérarchie, à partir de l'objet qui se connecte, se situe l'ancêtre commun Oi. La suite (On)ne[i,N] regroupe les objets qui mènent de Oi à ON, elle constitue le chemin << descendant " (vers ON), que nous noterons descendingPath. Chaque On peut désigner soit un objet soit un élément de collection. Dans ce dernier cas, on notera On[p] o On est l'objet collection qui regroupe tous les éléments de  To represent a basic link, a port includes a positive index integer value and an (On) nE [i..N] object sequence. index indicates at which level of the hierarchy, from the object that connects, is the common ancestor Oi. The sequence (On) ne [i, N] groups the objects that lead from Oi to ON, it constitutes the "descending" path (to ON), which we will note as descendingPath.Everything can be designated either an object or an element of In the latter case, we note On [p] o On is the collection object that groups all the elements of

collection, et o p représente l'indice de l'élément au sein de la collection.  collection, and o p represents the index of the element within the collection.

La structure UML correspondante est illustrée sur la figure 180.  The corresponding UML structure is illustrated in Figure 180.

La réalisation se faisant de parent à enfant (un objet ne peut être réalisé que par son unique parent au sens de la relation de composition), l'existence de O0 implique que tous les objets, jusqu'à l'ancêtre commun Oi, ont été réalisés au moins une fois  The realization being from parent to child (an object can only be realized by its only parent in the sense of the relation of composition), the existence of O0 implies that all objects, up to the common ancestor Oi, have been made at least once

(même s'ils ont pu être virtualisés depuis).  (although they may have been virtualized since).

Le procédé de connexion réside en l'appel récursif d'une méthode connect portée par chaque objet. Cette méthode retourne la référence de l'objet auquel on désire se connecter. Elle prend comme argument le chemin (index, descendingPath) menant à l'objet auquel on veut se connecter et l'argument depth qui indique à quelle profondeur vont être effectuées les connexions, comme nous allons le voir dans la section 3 du chapitre V. Ce procédé est lancé en appelant la méthode symbolisée par: 0o. connect(index, descendingPath, depth) Une fois la référence de ON récupérée, O0 envoie sa propre référence que ON stocke dans un attribut inverseRef En effet, si ON est virtualisé, la référence que possède O0 3 0 n'a plus de sens. ON doit donc prévenir O0 qu'il est virtualisé en mettant à Null sa référence portée par O0. Il peut le faire grâce à inverseRef O0 sait alors qu'il devra se  The connection method resides in the recursive call of a connect method carried by each object. This method returns the reference of the object to which you want to connect. It takes as argument the path (index, descendingPath) leading to the object to which we want to connect and the depth argument which indicates how deep the connections will be made, as we will see in section 3 of chapter V. This process is started by calling the method symbolized by: 0o. connect (index, descendingPath, depth) Once the ON reference has been retrieved, O0 sends its own reference that ON stores in an inverseRef attribute. Indeed, if ON is virtualized, the reference that O0 30 has has no more meaning. We must therefore prevent O0 that it is virtualized by nulling its reference carried by O0. He can do it thanks to inverseRef O0 knows then that he will have to

reconnecter à ON pour lui envoyer un message.  reconnect to ON to send a message.

Si le parent d'un objet (qui désire se connecter) a été virtualisé, il est réalisé de nouveau au cours du procédé de connexion. Pour ce faire, chaque objet possède la référence de l'objet Root. Lorsqu'un objet détecte que son parent a été virtualisé (la référence de son parent est à Null), il passe à l'objet Root le chemin qui conduit de la racine à son parent. L'objet Root peut alors instancier le parent en s'y connectant avec le chemin qu'il a reçu. Une illustration de ce phénomène est donnée dans  If the parent of an object (which wants to connect) has been virtualized, it is realized again during the connection process. To do this, each object has the reference of the Root object. When an object detects that its parent has been virtualized (the reference of its parent is null), it passes to the Root object the path that leads from the root to its parent. The Root object can then instantiate the parent by connecting to it with the path it has received. An illustration of this phenomenon is given in

l'exemple montré à la figure 181.the example shown in Figure 181.

Sur cette figure, supposons que A veuille envoyer un message à E en utilisant le lien défini par le chemin (3,myC_myE). A ne peut accéder à son parent D car ce dernier a été virtualisé (en gris sur la figure), A n'a donc plus la référence de D. Pour l'obtenir  In this figure, suppose that A wants to send a message to E using the link defined by the path (3, myC_myE). A can not access its parent D because it has been virtualized (in gray in the figure), so A no longer has the reference of D. To get it

de nouveau, il lui faut passer par l'objet Root.  again, he has to go through the Root object.

Maintenant en référence à la figure 182, A connaît son propre chemin depuis la racine (myB_myDmyA). Il peut donc inférer celui de son parent D: myB_myD. Ce chemin est passé à l'objet Root qui va alors procéder à l'instanciation des objets manquant jusqu'à D (ici B à l'étape I et D à l'étape 2).). Une fois D instancié, sa  Now with reference to Figure 182, A knows its own path from the root (myB_myDmyA). It can infer that of its parent D: myB_myD. This path is passed to the Root object which will then proceed to instantiate objects missing up to D (here B in step I and D in step 2).). Once instantiated D, its

référence est passée à A par retour de méthode.  reference is passed to A by method return.

Le procédé de connexion peut alors se résumer comme suit: * Parcours de l'arbre du modèle jusqu'à l'objet visé en passant par un ancêtre commun. * Réalisation << au passage >> des objets ayant été virtualisés, ou n'ayant pas encore  The connection process can be summarized as follows: * Path from the model tree to the target object through a common ancestor. * Achievement "at the crossing" of objects that have been virtualized, or have not yet

été réalisés.been made.

* Récupération de la référence de l'objet visé, qui est stockée dans la variable port.  * Retrieving the reference of the target object, which is stored in the port variable.

3 0 * Envoi de la référence de l'objet qui se connecte à l'objet visé (inverseRef).  3 0 * Sends the reference of the object that connects to the target object (inverseRef).

Prenons pour exemple le cas o, au lancement de l'application, l'objet Root envoie un message à l'objet visuZone qui regroupe les éléments d'affichage qui constituent la page d'accueil de l'application. On a le chemin illustré sur la figure 183, o l'objet  As an example, consider when launching the application, the Root object sends a message to the visuZone object that groups together the display elements that make up the application's home page. We have the path shown in Figure 183, where the object

Root est blanc, l'objet visuZone est noir et les objets d'affichage sont gris.  Root is white, the visuZone object is black, and the display objects are gray.

A la réception de ce message, l'objet visuZone se connecte à ses éléments d'affichage, exactement selon le même procédé décrit ci-dessus. Ceci est détaillé dans la figure 184, et peut se traduire par le diagramme d'étattransition de la figure 185. Cas de liens de composition non immuables Optionnellement, en cours d'exécution, il se peut que des liens de composition soient modifiés. Le fait qu'un objet n'ait qu'un seul parent à un instant donné n'empêche  On receipt of this message, the visuZone object connects to its display elements exactly in the same way as described above. This is detailed in FIG. 184, and can be expressed by the transitions diagram of FIG. 185. Cases of non-immutable composition links Optionally, during the execution, composition links may be modified. The fact that an object has only one parent at a given time does not preclude

pas d'avoir plusieurs parents à des instants différents.  not to have several parents at different times.

Considérons l'arborescence illustrée sur la figure 186.  Consider the tree shown in Figure 186.

Sur cette figure, les traits pleins représentent les liens de composition et les traits pointillés représentent les liens d'associations simples. Afin d'obtenir la référence de J, F dispose d'un chemin (1, GI J). La valeur 1 indique qu'il faut remonter d'un cran dans la hiérarchie des ancêtres de F pour trouver l'ancêtre commun à F et I (en l'occurrence D). Le chemin G I J montre qu'il faut passer par G et I pour atteindre J. Si I est virtualisé, c'est à G de le réaliser de nouveau, de même entre J et I. Supposons maintenant que le lien de composition entre G et I soit rompu, et  In this figure, the solid lines represent the composition links and the dotted lines represent the links of simple associations. In order to obtain the reference of J, F has a path (1, GI J). The value 1 indicates that one has to go back one step in the hierarchy of the ancestors of F to find the common ancestor to F and I (in this case D). The GIJ path shows that we have to go through G and I to reach J. If I is virtualized, it is up to G to realize it again, likewise between J and I. Suppose now that the composition link between G and I be broken, and

remplacé par un lien entre H et I, comme le montre la figure 187.  replaced by a link between H and I, as shown in Figure 187.

Si J est virtualisé, F perd la référence qu'il avait préalablement acquise. Et dans le cas o F doit envoyer un autre message à J, il doit déterminer à nouveau cette référence grâce au chemin qu'il porte. Or, le parent de I ayant changé, le chemin en  If J is virtualized, F loses the reference it had previously acquired. And in the case where F must send another message to J, he must determine this reference again by the path he carries. Now, the parent of I having changed, the path to

question n'a plus aucun sens.question no longer makes sense.

Pour pallier à ce problème, nous introduisons une indirection. La variable structurée port doit contenir, pour les liens de composition de parent à enfant, non seulement la référence de l'enfant, mais également celle de l'objet lui-même ou du nouveau parent  To overcome this problem, we introduce an indirection. The structured variable port must contain, for parent-child composition links, not only the reference of the child, but also that of the object itself or the new parent

qui le remplace.who replaces him.

Si on reprend l'exemple de la figure 186, on obtient dans une première étape, comme illustré sur la figure 188, une référence vers le parent (flèche gris clair) et une référence vers le fils (flèche gris foncé). G est le parent de I, et la référence vers le  If we take the example of Figure 186, we obtain in a first step, as shown in Figure 188, a reference to the parent (light gray arrow) and a reference to the son (dark gray arrow). G is the parent of I, and the reference to

parent qu'il porte est une référence vers lui-même.  his parent is a reference to himself.

Et dans la seconde étape o H devient le parent de I, comme illustré sur la figure 189, la référence du parent de I portée par G est maintenant celle de H, tandis que la référence de G sur son ex-enfant I est mise à Null du fait que G n'en est plus le parent. La variable port de H prend alors la forme qu'avait celle de G dans l'étape précédente. La référence parent pointe sur H et lui même, et la référence enfant pointe sur I. G porte maintenant la référence de H, mais également le chemin qui mène à H (3,myCmyE_myH). Si H est virtualisé, G peut ainsi le réaliser à nouveau grâce à ce  And in the second stage where H becomes the parent of I, as illustrated in Figure 189, the reference of the parent of I carried by G is now that of H, while the reference of G on his ex-child I is set. Null because G is no longer the parent. The port variable of H then takes the form that of G in the previous step. The parent reference points to H and itself, and the child reference points to I. G now bears the reference of H, but also the path to H (3, myCmyE_myH). If H is virtualized, G can do it again with this

2 5 chemin.2 5 way.

Ainsi, lorsque F veut de nouveau obtenir la référence de I, il peut utiliser le même chemin (1,G_I). Une indirection se fait alors automatiquement en suivant la référence parent de G vers H. Virtualisation Le fait qu'un objet peut être virtualisé pour économiser des ressources d'ordinateur, a  So, when F wants to get the reference of I again, he can use the same path (1, G_I). An indirection is then done automatically by following the parent reference from G to H. Virtualization The fact that an object can be virtualized to save computer resources, has

été introduit en début du présent chapitre.  was introduced at the beginning of this chapter.

Comme nous l'avons aussi vu en introduction de ce chapitre, nous disposons d'objets transitoires (propre au poste client et qui ne survivent pas à l'exécution de l'application) et des objets permanents (sauvegardés sur un serveur). Un objet permanent peut être librement " virtualisé " sur le client (quand il n'est pas utilisé), puisque son état courant peut toujours être récupéré à partir du serveur. Par contre, un objet transitoire ne peut être virtualisé que quand il est dans son état initial. En effet, de par sa nature, son état n'est présent qu'en mémoire sur le poste client de l'utilisateur, et n'est sauvegardé nulle part. Il ne peut donc être réalisé qu'à son état initial. De fait, si un objet transitoire était virtualisé dans un autre état que son état  As we have also seen in the introduction of this chapter, we have transitory objects (specific to the client workstation and which do not survive the execution of the application) and permanent objects (saved on a server). A permanent object can be freely "virtualized" on the client (when it is not used), since its current state can always be retrieved from the server. On the other hand, a transient object can only be virtualized when it is in its initial state. Indeed, by its nature, its state is present only in memory on the client's computer, and is not saved anywhere. It can only be realized in its initial state. In fact, if a transient object was virtualized in a state other than its state

initial, nous perdrions de l'information.  initially, we would lose information.

La virtualisation est déclenchée par les objets visuZone: lorsque des objets d'affichage disparaissent de l'écran (par exemple parce que l'utilisateur a changé de page), un temporisateur unique est déclenché. Si aucun élément d'affichage relié à l'objet visuZone n'est réaffiché avant l'expiration de la temporisation, tous les  Virtualization is triggered by visuZone objects: when display objects disappear from the screen (for example, because the user has changed pages), a single timer is triggered. If no display element attached to the visuZone object is redisplayed before the timeout expires, all

éléments sont virtualisés.elements are virtualized.

La virtualisation de ces éléments peut provoquer celles des objets qui y sont connectés (liés), ainsi que des objets qui sont connectés à ces derniers, et ainsi de suite. En effet, à l'aide de Séquenceur et de l'historique, il est possible de retrouver quels sont les objets qui manipulent les objets d'affichage en suivant les relations de  Virtualizing these elements can cause those objects connected to it (linked), objects connected to them, and so on. Indeed, using Sequencer and history, it is possible to find what are the objects that manipulate the display objects by following the relations of

cause à effet (dans le sens des effets aux causes).  cause and effect (in the sense of effects to causes).

Supposons maintenant, dans l'exemple illustré sur la figure 190, que F soit un objet d'affichage pouvant être virtualisé. L'historique nous indique qu'à l'instant logique t+7, E était à l'origine d'une transition de F, puis à l'instant t+5, D était à l'origine d'une transition de E,... et ainsi de suite jusqu'à A dont la transition était initiée par l'utilisateur. A, B, D, et E sont donc candidats à la virtualisation (virtualisables)  Suppose now, in the example shown in Figure 190, that F is a display object that can be virtualized. The history tells us that at the logical moment t + 7, E was at the origin of a transition of F, then at time t + 5, D was at the origin of a transition of E , ... and so on until A whose transition was initiated by the user. A, B, D, and E are candidates for virtualization (virtualisables)

quand F se virtualise.when F becomes virtualized.

Cependant, un objet candidat à virtualisation peut être en train d'interagir avec d'autres objets, et il ne faut alors pas le virtualiser (on notera ici qu'une interaction, proche dans le temps, prévue avec des objets non liés à l'objet visuZone actif courant ou à ses vosins, n'est pas un frein à la virtualisation si ces objets sont répliqués et vivent sur le serveur - voir plus loin chapitre VI). Pour pouvoir détecter ces cas de figure, on dispose de plusieurs techniques: * Comme nous l'avons vu, chaque objet dispose d'un drapeau PendingNext qui indique si il est en attente d'un next pour poursuivre ses activités. Un objet dans ce cas ne doit bien sûr pas être virtualisé, puisqu'il  However, a candidate virtualization object may be interacting with other objects, and it should not be virtualized (note here that an interaction, close in time, expected with non-virtual objects). The current active visuZone object or its mesins is not a hindrance to virtualization if these objects are replicated and live on the server - see chapter VI below). To be able to detect these cases, we have several techniques: * As we have seen, each object has a PendingNext flag that indicates whether it is waiting for a next to continue its activities. An object in this case, of course, should not be virtualized, since

serait réalisé à nouveau peu de temps après, dès qu'il recevrait le next.  would be realized again soon after, as soon as he received the next.

* Un objet virtualisable (dans la chaîne de cause à effet qui a aboutit à la transition d'un objet d'affichage) peut être en train d'effectuer d'autres actions. Celles-ci sont alors reportées dans l'historique. Pour chaque objet virtualisable, il suffit de regarder dans l'historique s'il n'existe pas d'autres entrées le concernant (postérieures à celle figurant dans la chaîne de cause à effet). A chaque envoi de message, l'objet relève le temps CPU (temps de l'unité centrale de traitement qui l'exécute) dans un attribut lastActionTime. Lorsqu'un objet est déclaré potentiellement virtualisable (au sens o nous venons de le  * A virtualizable object (in the cause-and-effect chain that has resulted in the transition of a display object) may be performing other actions. These are then reported in the history. For each virtualisable object, it is sufficient to look in the history if there are no other entries concerning it (after that in the chain of cause and effect). Each time a message is sent, the object records the CPU time (CPU time that executes it) in a lastActionTime attribute. When an object is declared potentially virtualizable (in the sense we have just

définir), on regarde de nouveau le temps CPU currentTime.  define), we look again at the currentTime CPU time.

/ Si currentTime - lastActionTime > 5, 1 étant un intervalle de temps prédéterminé, alors l'objet n'a pas interagi depuis longtemps et peut  / If currentTime - lastActionTime> 5, 1 being a predetermined time interval, then the object has not interacted for a long time and can

donc être virtualisé.so be virtualized.

À Si currentTime - lastActionTime < 8, l'objet n'est pas virtualisé et la propagation s'arrête dans cette direction: le système ne cherche pas à  At If currentTime - lastActionTime <8, the object is not virtualized and the propagation stops in that direction: the system does not attempt to

virtualiser les objets qui lui sont connectés.  virtualize the objects connected to it.

Des dispositifs complémentaires peuvent également être envisagés: * Un système d'apprentissage qui va inférer les délais entre les différentes actions, ceci permettant d'éviter de virtualiser des objets juste avant qu'ils effectuent une action. * Un mécanisme probabiliste permettant d'associer (de façon manuelle, ou par  Additional devices can also be considered: * A learning system that will infer the time between the different actions, this avoids virtualizing objects just before they perform an action. * A probabilistic mechanism allowing to associate (manually, or by

inférence de la part du système) à chaque objet une probabilité d'être virtualisé.  inference on the part of the system) to each object a probability of being virtualized.

Section 3 - Mécanisme de réalisation anticipative Deux grandes approches d'anticipation, non exclusives, peuvent être mises en  Section 3 - Anticipatory Realization Mechanism Two broad, non-exclusive, anticipatory approaches can be implemented.

oeuvre: l'approche structurelle et l'approche comportementale.  the structural approach and the behavioral approach.

L'approche structurelle, offre l'avantage d'être transparente (ne nécessite pas de spécification supplémentaire). Elle utilise les liens qui ont préalablement été établis 2 0 entre les objets, en fonction de la structure des associations dans le modèle. Cette approche ne donne donc pas forcément beaucoup de résultats au lancement de  The structural approach offers the advantage of being transparent (does not require any additional specification). It uses the links that have previously been established between the objects, depending on the structure of the associations in the model. This approach therefore does not necessarily yield much results at the launch of

l'application, mais est de plus en plus efficace au long de l'exécution.  application, but is becoming more efficient throughout the run.

Anticipation comportementale L'approche comportementale consiste à exécuter le modèle de l'application avec un certain nombre de pas d'avance, grâce à des spécifications supplémentaires (des annotations) fournies explicitement dans le modèle. Il s'agit notamment d'ajouter dans le modèle des " transitions anticipatives >> qui représentent les effets des impulsions probables que le système pourrait recevoir de son environnement extérieur. Lors de l'exécution, les transitions anticipatives ne sont pas prises en compte comme de vraies transitions (autrement dit, une transition anticipative ne change pas l'état courant de l'objet mais change plutôt une -ou plusieurs- variable de travail dans laquelle est simulée l'état futur), elles servent néanmoins, notamment, à " réaliser " les objets qui seraient à l'état " virtuel ". (On observera ici que l'anticipation comportementale peut aussi servir au raisonnement temporel, pour l'aide à la  Behavioral Anticipation The behavioral approach consists in executing the model of the application with a certain number of steps in advance, thanks to additional specifications (annotations) explicitly provided in the model. This includes adding "anticipatory transitions" to the model that represent the effects of likely impulses that the system might receive from its external environment.In implementation, anticipatory transitions are not taken into account as true transitions (in other words, an anticipatory transition does not change the current state of the object but rather changes one-or-more-variable of work in which the future state is simulated), they nonetheless serve, in particular, " to realize "the objects that would be in the" virtual "state. (It will be observed here that the behavioral anticipation can also be used for temporal reasoning, for the help to the

décision tactique par exemple).tactical decision for example).

Ainsi, dans l'exemple illustré sur la figure 191, un objet Switch peut effectuer une transition de Off à On par le message turnOn. Pour que le système puisse automatiquement anticiper une transition de Off à On, ayant lieu trois secondes après l'entrée dans l'état Off, le modélisateur annote la transition anticipative (en pointillés) avec l'événement déclenchant time-out(3s) (bien entendu, il peut y ajouter  Thus, in the example shown in Fig. 191, a Switch object can transition from Off to On by the turnOn message. In order for the system to automatically anticipate a transition from Off to On, taking place three seconds after entering the Off state, the modeller annotates the anticipatory transition (in dotted lines) with the event triggering time-out (3s) ( of course he can add

des conditions, des actions, etc).conditions, actions, etc.).

Le modélisateur déclare que les transitions anticipatives sont anticipéesavec un temps d'avance 5 (il peut déclarer ceci globalement pour toute l'application ou sélectivement). La transition prédictive de l'objet Switch se fait ainsi au bout de 3-8  The modeler states that anticipatory transitions are anticipated with a lead time of 5 (he can declare this globally for the whole application or selectively). The predictive transition of the Switch object is thus done after 3-8

2 0 secondes si 8<3, et immédiatement sinon, après l'entrée dans l'état Off.  2 0 seconds if 8 <3, and immediately otherwise, after entering the Off state.

Les transitions qui en découlent (les actions dans les états anticipés produisent des événements qui causent d'autres transitions) sont aussi anticipatives. Comme les premières, elles ne se font pas sur le même plan que l'exécution de l'application et 2 5 servent à amplifier le processus de réalisation. Bien entendu, les états anticipés par le  The transitions that result (the actions in the anticipated states produce events that cause other transitions) are also anticipatory. Like the former, they are not on the same level as the execution of the application and serve to amplify the process of realization. Of course, the states anticipated by the

système n'ont aucun effet de bord (notamment sur l'interface homme machine).  system have no edge effect (especially on the HMI).

Ainsi, dans l'exemple précédent, si on suppose que l'objet Switch, dans son état On, déclenche une transition d'un objet Lamp qui serait à l'état " virtuel ", l'approche comportementale, par anticipation de la transition turnOn, permet de <<"réaliser" 3 0 l'objet Lamp avant que l'utilisateur déclenche (directement ou indirectement) la  Thus, in the preceding example, if we assume that the object Switch, in its On state, triggers a transition of a Lamp object that would be in the "virtual" state, the behavioral approach, anticipating the transition turnOn, allows the Lamp to be "done" before the user triggers (directly or indirectly) the

transition turnOn réelle.actual turnOn transition.

Dans la suite, nous décrivons l'approche structurelle, même si nous retiendrons que l'anticipation comportementale en constitue un complément important, puisqu'elle permet d'amplifier les avantages de l'anticipation structurelle (les deux approches ont une relation synergétique). Anticipation structurelle Comme nous l'avons vu dans la première partie de la section 2 du chapitre V, un argument depth (profondeur) est passé lors des appels à la méthode connect. Cet argument permet d'établir le degré d'anticipation que l'on désire atteindre. En effet, une fois la connexion de O0 à ON terminée, si depth>O, ON établira ses propres connexions (à la profondeur souhaitée), comme le montre le schéma de la figure 192,  In the following, we describe the structural approach, although we will retain that behavioral anticipation is an important complement, since it amplifies the benefits of structural anticipation (both approaches have a synergetic relationship). Structural Anticipation As we saw in the first part of Section 2 of Chapter V, a depth argument is passed on calls to the connect method. This argument makes it possible to establish the degree of anticipation that one wishes to achieve. Indeed, once the connection of O0 to ON is complete, if depth> O, ON will establish its own connections (at the desired depth), as shown in the diagram of Figure 192,

qui illustre une connexion à la profondeur 3 (depth = 3).  which illustrates a connection to depth 3 (depth = 3).

Considérons maintenant le diagramme de classe illustré sur la figure 193, et supposons que les réalisations se font à la profondeur 1. Alors la connexion de l'objet visuZonel à l'objet B va provoquer non seulement la création de B, mais aussi celle de l'objet D via la connexion de B à D.  Consider now the class diagram shown in Figure 193, and assume that the realizations are at depth 1. Then the connection of the visuZonel object to the object B will cause not only the creation of B, but also that of the object D via the connection from B to D.

Ceci est explicité dans le diagramme de séquence de la figure 194.  This is explained in the sequence diagram of FIG.

Cas des objets visuZones Dans le cas o l'objet visé serait un élément d'affichage, l'anticipation se fait par l'intermédiaire de l'objet visuZone. Il assure le lien entre l'objet visé (le premier élément d'affichage) et les autres éléments du même groupe. Mais cet intermédiaire doit être transparent et ne doit donc pas intervenir dans le calcul de la profondeur d'anticipation. Ainsi, dans la représentation de la figure 195 qui illustre une connexion à la profondeur 2, on observe que la connexion à un objet visuZone ne compte pas dans le  VisuZone object case In the case where the target object is a display element, the anticipation is done via the visuZone object. It provides the link between the intended object (the first display element) and the other elements of the same group. But this intermediary must be transparent and must not intervene in the calculation of the depth of anticipation. Thus, in the representation of FIG. 195 which illustrates a connection to the depth 2, it is observed that the connection to a visual object does not count in the

calcul de la profondeur d'anticipation.  calculation of the depth of anticipation.

De plus, comme nous l'avons vu dans l'exemple du voisinage géographique, les objets visuZone peuvent être reliés les uns avec les autres. Ceci ne change en rien le mécanisme d'anticipation, si ce n'est que dans ce cas la connexion entre objets  Moreover, as we saw in the example of the geographical neighborhood, the visuZone objects can be connected to each other. This does not change the mechanism of anticipation, except that in this case the connection between objects

visuZone compte dans le calcul de la profondeur.  visuZone counts in the calculation of the depth.

Ainsi la figure 196 montre, toujours dans le cas d'un connexion à la profondeur 2, que la connexion entre deux objets visuZone compte dans le calcul de la profondeur d'anticipation. Chapitre VI - Partage inter clients (Figures 197 à 238) Introduction 2 0 On va traiter ici du partage d'une ou plusieurs applications par plusieurs utilisateurs distants. On se place donc dans une architecture informatique client/serveur, o chaque client exécute une application dont certains objets peuvent être partagés par d'autres clients. Le partage pourra notamment être mis en oeuvre en conséquence des  Thus, FIG. 196 shows, again in the case of a connection at depth 2, that the connection between two visuZone objects counts in the calculation of the depth of anticipation. Chapter VI - Inter-Client Sharing (Figures 197 to 238) Introduction 2 0 We will deal here with the sharing of one or more applications by several remote users. So we place ourselves in a client / server computer architecture, where each client runs an application whose objects can be shared by other clients. In particular, sharing may be implemented as a result of

suggestions/acceptations de contenus décrites dans les chapitres II et III.  suggestions / acceptances of contents described in Chapters II and III.

Section 1 - Types d'objets Nous avons vu précédemment, dans le cadre du mécanisme de chargement progressif décrit dans le chapitre V, qu'il existe deux types d'objets: les objets transitoires et 3 0 les objets permanents. Dans le chapitre V, cette dernière catégorie est subdivisée en  Section 1 - Types of Objects We have seen earlier, in the context of the progressive loading mechanism described in Chapter V, that there are two types of objects: transient objects and permanent objects. In Chapter V, this last category is subdivided into

deux: les objets permanents privés et les objets permanents partagés.  two: private permanent objects and shared permanent objects.

Un objet permanent partagé peut être utilisé conjointement par tous les clients.  A shared permanent object can be used jointly by all clients.

Chaque utilisateur partage avec les autres les valeurs caractéristiques de l'objet (état, rôles, etc...). Lorsqu'un utilisateur modifie l'état d'un tel objet, cela est ressenti chez tous les clients qui ont réalisé (au sens du mécanisme de chargement progressif) cet objet. Les objets permanents privés sont, comme leur nom l'indique, propres à chaque client. Les clients utilisent certes les mêmes objets au sens o ils utilisent la même application, mais les objets permanents privés sont décorrélés entre eux d'un client à l'autre. La gestion du partage d'une ou plusieurs applications entre plusieurs clients revient donc à gérer les objets permanents partagés, de telle façon que la modification d'un tel objet par un utilisateur soit reportée chez tous les clients concernés, c'est à dire  Each user shares with others the characteristic values of the object (state, roles, etc.). When a user modifies the state of such an object, this is felt by all the customers who have realized (in the sense of the progressive loading mechanism) this object. Private permanent objects are, as their name indicates, specific to each client. Customers use the same objects in the sense that they use the same application, but private permanent objects are decorrelated between them from one client to another. The management of the sharing of one or more applications between several clients therefore amounts to managing the shared permanent objects, in such a way that the modification of such an object by a user is carried over to all the customers concerned, that is to say

ceux chez qui cet objet existe réellement.  those in whom this object really exists.

Section 2 - Architecture Plusieurs approches peuvent être suivies pour gérer le partage inter-clients. La première repose sur une réplication par " valeurs >> des données partagées. En référence à la figure 197, la réplication entre les différents clients PC peut alors être gérée au moyen d'un Système de Gestion de Bases de Données sur un ou plusieurs serveurs communs PS. Un tel système assure la permanence des informations  Section 2 - Architecture Several approaches can be followed to manage the inter-client sharing. The first is based on shared data "replication" replication, and with reference to Figure 197, replication between the different PC clients can be managed by means of a database management system on one or more servers. Such a system ensures the permanence of information

2 5 partagées et s'occupe des accès concurrents aux données.  2 5 shared and deals with concurrent access to data.

Dans un tel contexte, la gestion du déterminisme n'est pas nécessaire. En effet, le comportement des objets (les actions qu'ils effectuent) a lieu chez les différents clients et en aucun cas sur serveur. Ce dernier ne conservant que les différentes 3 0 valeurs (état...) des objets partagés, il n'a pas besoin de reproduire le comportement des objets. A chaque modification d'un objet partagé O chez un client, les valeurs de O sont mises à jour dans la structure de données, et reproduites chez les clients qui utilisent également O. Si cette approche présente l'indéniable avantage de la simplicité, elle ne permet cependant pas la persistance des traitements. A partir du moment o aucun client ne travaille, les objets de l'application sont inertes puisqu'ils n'ont aucune vie sur le serveur. La persistance des traitements est surtout utile dans le cas d'applications de simulation o l'on ne voufrait pas nécessairement laisser le poste client allumé pour  In such a context, the management of determinism is not necessary. Indeed, the behavior of the objects (the actions they perform) takes place at the different clients and in no case on the server. The latter retains only the different values (state ...) of the shared objects, it does not need to reproduce the behavior of the objects. Whenever a shared object O is modified at a client, the values of O are updated in the data structure, and reproduced in the clients who also use O. If this approach has the undeniable advantage of simplicity, does not allow the persistence of treatments. From the moment when no client works, the objects of the application are inert since they have no life on the server. The persistence of treatments is especially useful in the case of simulation applications where we do not necessarily want to leave the client station on for

permettre la poursuite de la simulation.  allow the continuation of the simulation.

Permettre cette persistance de traitement fait l'objet de la deuxième approche que nous allons détailler dans ce chapitre. Elle implique que les applications utilisées conjointement par les clients s'exécutent également sur le serveur. Ceci permet, comme nous allons le voir dans le chapitre suivant, un mécanisme de réplication par calcul. Ce mécanisme requiert par contre d'assurer un haut degré de déterminisme du comportement des objets partagés et d'avoir à disposition un mécanisme de rollback pour rattraper le non-déterminisme entre client et serveur (exécution optimiste sur le serveur, voir section 5 du chapitre VI). Les applications sur le serveur disposent  To allow this persistence of treatment is the subject of the second approach which we will detail in this chapter. It implies that the applications used jointly by the clients also run on the server. This allows, as we will see in the next chapter, a replication mechanism by calculation. On the other hand, this mechanism requires a high degree of determinism of the behavior of the shared objects and to have a rollback mechanism at its disposal to make up for the non-determinism between client and server (optimistic execution on the server, see section 5 of the chapter). VI). Applications on the server have

également d'un Séquenceur régulant les objets partagés.  also a Sequencer regulating the shared objects.

Section 3 - Mécanisme de réplication Comme nous l'avons vu, des utilisateurs d'une application peuvent partager certaines instances d'objets permanents partagés. Les utilisateurs peuvent interagir avec ces 2 5 objets, mais chacun à leur tour grâce à un mécanisme d'exclusion mutuelle explicité plus loin. Quand un utilisateur modifie un objet, étant donné que la même instance peut être partagée avec certains autres utilisateurs, ces derniers doivent être notifiés de cette modification. Ainsi la figure 198 illustre le cas o deux utilisateurs Userl et User2 manipulent différents objets (objets noirs pour Userl, objets blancs pour  Section 3 - Replication Mechanism As we have seen, users of an application can share some instances of shared permanent objects. Users can interact with these objects, but each in turn through a mutual exclusion mechanism explained later. When a user modifies an object, since the same instance can be shared with certain other users, they must be notified of this change. Thus figure 198 illustrates the case where two users User1 and User2 handle different objects (black objects for Userl, white objects for

User2).User2).

Cependant, du fait du mécanisme de chargement progressif, des utilisateurs qui partagent des mêmes instances n'ont pas forcément tous réellement ces instances sur leur poste. Ainsi, quand un objet partagé est modifié, il n'est pas nécessaire de répliquer cette modification chez tous les clients qui partagent cette instance, mais uniquement chez ceux pour qui l'objet en question est réél (a été réalisé, et depuis  However, because of the progressive loading mechanism, users who share the same instances do not necessarily all actually have these instances on their workstation. Thus, when a shared object is changed, it is not necessary to replicate this change to all clients that share this instance, but only to those for whom the object in question is real (has been realized, and since

n'a pas été virtualisé).has not been virtualized).

Toute modification d'un objet permanent partagé due à un message provenant d'un objet transitoire ou d'un objet permanent privé est aussi effectuée sur un serveur, par la réplication de la transition qui en est à l'origine (les actions effectuées par l'objet permanent partagé sont donc exécutées à la fois chez le client qui a verrouillé cet objet, et sur le serveur). Ces modifications sont ensuite reportées du serveur chez chacun des clients qui possède réellement cet objet. Ceci constitue le premier aspect  Any modification of a shared permanent object due to a message from a transient object or a private permanent object is also performed on a server, by the replication of the transition which is at the origin (actions performed by the shared permanent object are thus executed both at the client who has locked this object, and on the server). These changes are then reported from the server at each of the customers who actually owns this object. This is the first aspect

de ce mécanisme de réplication: la réplication par " valeur ".  of this replication mechanism: replication by "value".

Si une des actions de l'objet permanent partagé provoque une transition d'un autre objet permanent partagé, celle-ci n'est pas répliquée du client (qui a le verrou) sur le serveur. Elle est directement " calculée > > par le serveur. Bien sûr, la modification de ce second objet permanent partagé est aussi reportée chez chacun des clients qui le possède réellement. Ceci constitue le deuxième aspect de ce mécanisme de  If one of the actions of the shared permanent object causes a transition of another shared permanent object, that shared object is not replicated from the client (which has the lock) on the server. It is directly "computed" by the server .. Of course, the modification of this second shared permanent object is also reported to each of the customers who actually owns it.This is the second aspect of this mechanism.

réplication: la réplication par " calcul ".  replication: replication by "calculation".

Un tel type de réplication n'est possible que si l'application partagée s'exécute également sur le serveur, en accord avec le modèle d'exécution spécifié dans le  Such a type of replication is only possible if the shared application is also running on the server, in accordance with the execution model specified in the

2 5 chapitre IV (donc régulé par un Séquenceur).  Chapter IV (thus regulated by a Sequencer).

Ainsi, on dispose au global d'un mécanisme de " réplication mixte ": * Par valeur: au sens o les transitions d'objets permanents partagés sont reproduites quand elles ont été causées par des objets purement locaux dont le 3 0 serveur n'a pas la visibilité (transitoires et permanents privés) * Par calcul: au sens o les transitions d'objets permanents partagés sont déduites par le serveur quand elles ont été causées par un autre objet permanent partagé  Thus, we have globally a "mixed replication" mechanism: * By value: in the sense that the transitions of shared permanent objects are reproduced when they were caused by purely local objects whose server did not not visibility (transient and permanent private) * By computation: in the sense o transitions of shared permanent objects are deduced by the server when they were caused by another shared permanent object

(dont le serveur a alors la visibilité).  (whose server then has visibility).

Ainsi la figure 199 illustre les deux types de réplication entre un client et un serveur de partage, lorsque sont mis en oeuvre des objets transitoires, des objets permanents  Thus, FIG. 199 illustrates the two types of replication between a client and a sharing server, when transient objects, permanent objects are implemented.

privés et des objets permanents partagés.  private and shared permanent objects.

Bien sûr, une telle approche n'est pas limitée à l'utilisation d'un seul serveur, comme le montre la figure 200 o il existe deux serveurs de partage Serveur de Partage 1 et  Of course, such an approach is not limited to the use of a single server, as shown in Figure 200 where there are two Share Server Sharing servers 1 and

Serveur de Partage 2 coopérant l'un avec l'autre.  Sharing Server 2 cooperating with each other.

Ce mécanisme de réplication peut être scindé en deux phases distinctes: la réplication sur un serveur d'une transition effectuée par un objet chez un client (qui en a le droit au sens de l'exclusion mutuelle), et la propagation de cette même transition du serveur chez tous les clients qui possèdent réellement (au sens du  This replication mechanism can be split into two distinct phases: the replication on a server of a transition made by an object to a client (who has the right to do so in the sense of mutual exclusion), and the propagation of this same transition of the server to all customers who actually own (within the meaning of

mécanisme de chargement progressif) l'objet.  progressive loading mechanism) the object.

Réplication sur un serveur depuis un poste client Supposons qu'un objet permanent partagé SPO (pour " Shared Persistent Object " en terminologie anglosaxonne), chez un client C, effectue une transition due à la réception d'un message d'un objet transitoire ou d'un objet permanent privé. Les informations suivantes sont alors envoyées sur le serveur: 1. L'objet partagé qui effectue la transition 2. L'état précédent la transition (que nous appellerons état précédent) 3. L'état courant après la transition (que nous appellerons état courant) 4. Le temps logique correspondant à cette transition chez le client qui en est à l'origine 5. Le temps logique correspondant à la transition précédente chez le client qui en est à l'origine Grâce aux informations 1. et 3., l'application sur le serveur retrouve de quel objet il s'agit et lui fait effectuer sa transition dans l'état spécifié. Les informations 2., 4. et 5. servent quant à elles à divers traitements de récupération d'erreurs explicités plus  Replication on a server from a client station Suppose that a shared persistent object SPO (for "Shared Persistent Object" in English terminology), at a client C, makes a transition due to the receipt of a message from a transient object or of a private permanent object. The following information is then sent to the server: 1. The shared object making the transition 2. The state preceding the transition (which we will call previous state) 3. The current state after the transition (which we will call current state) ) 4. The logical time corresponding to this transition in the customer who is at the origin 5. The logical time corresponding to the previous transition at the customer who is at the origin Thanks to the information 1. and 3., the application on the server finds what object it is and makes it transition to the specified state. Information 2., 4. and 5. are used for various error recovery processes explained more

loin dans la section 5 du chapitre VI.  far in section 5 of chapter VI.

Lorsque l'objet permanent partagé effectue sa transition sur le serveur, il le fait pour  When the shared permanent object transitions to the server, it does so for

un temps logique du Séquenceur de l'application serveur.  a logical Sequencer time of the server application.

Considérons l'exemple o l'on dispose de quatre objets A, B, C et D. A est un objet transitoire, B et C sont des objets permanents partagés et D est un objet permanent privé.  Consider the example where we have four objects A, B, C, and D. A is a transient object, B and C are shared permanent objects, and D is a private permanent object.

Un extrait des diagrammes d'état-transition de ces objets est illustré sur la figure 201.  An extract of the state-transition diagrams of these objects is shown in Figure 201.

Supposons qu'un client K provoque la transition de l'état SO à SI1 de l'objet A. On alors le déroulement illustré sur la figure 202 (les objets ont été mis sous forme  Suppose that a client K causes the transition from the SO to SI1 state of the object A. Then the flow illustrated in Figure 202 (the objects were put in form

canonique conformément à la description faite dans le chapitre IV).  canonical as described in Chapter IV).

Ceci se traduit au niveau du client K et du serveur de la façon suivante, illustrée sur la figure 203:  This is reflected at the client K and the server as follows, illustrated in FIG. 203:

- 1 'objet B (partagé) effectue une transition due à un objet transitoire.  The object B (shared) makes a transition due to a transient object.

2 5 Cette transition est répliquée sur le serveur.  This transition is replicated on the server.

- l'objet C (partagé) effectue une transition due à un objet permanent  - object C (shared) makes a transition due to a permanent object

privé. Cette transition est répliquée sur le serveur.  private. This transition is replicated to the server.

- l'objet D est un objet permanent privé, l'application du serveur n'en  - the object D is a private permanent object, the application of the server does not

a pas la visibilité. Le message envoyé par B dans l'état S5B est ignoré.  has no visibility. The message sent by B in state S5B is ignored.

- puisqu'une application tourne sur le serveur, les transitions des objets partagés se font directement sur le serveur, indépendamment de celles qui ont lieu chez le client K. Propagation d'une transition répliquée vers les clients concernés Chaque fois qu'une transition d'un objet permanent partagé a lieu sur le serveur, elle est propagée sur chacun des postes clients qui possède réellement l'objet. Les clients qui ne possèdent un tel objet que virtuellement le récupéreront de toute façon à son  - Since an application runs on the server, the transitions of the shared objects are done directly on the server, independently of those that take place at the client K. Propagation of a replicated transition to the clients concerned Whenever a transition occurs a shared permanent object takes place on the server, it is propagated on each of the client computers that actually owns the object. Customers who have such an object that virtually will get it back anyway to his

état courant (sur le serveur) quand il sera réalisé à nouveau.  current state (on the server) when it is done again.

Ceci peut être matérialisé par le schéma de la figure 205, à considérer en relation avec le schéma de la figure 204qui donne la représentation d'un objet transitoire T et  This can be materialized by the diagram of FIG. 205, to be considered in relation with the diagram of FIG. 204 which gives the representation of a transient object T and

de trois objets permanents partagés Pl, P2 et P3.  of three shared permanent objects Pl, P2 and P3.

Tout d'abord, l'objet T fait transiter l'objet Pi, et ceci est repliqué sur le serveur.  First, the object T passes the object Pi, and this is replicated on the server.

Le client L possède réellement les objets Pi, P2 et P3. Les transitions de chacun de  The client L actually owns the objects Pi, P2 and P3. The transitions of each of

ces objets sont répliquées depuis le serveur.  these objects are replicated from the server.

Le client M ne possède réellement quant à lui que les objets P2 et P3. Leurs transitions sont répliquées. L'objet Pi n'est là que virtuellement, et sa transition n'est  The client M actually only has the P2 and P3 objects. Their transitions are replicated. The Pi object is only there virtually, and its transition is

pas répliquée.not replicated.

2 5 Seul l'objet P3 est présent chez le client N, et sa transition est répliquée.  Only the object P3 is present at the client N, and its transition is replicated.

Les transitions qui se situent en aval de l'objet P3 ont lieu indépendamment chez le  Transitions that are downstream of the P3 object occur independently in the

client K et le serveur.client K and the server.

3 0 Réplication dans un cadre multi-serveurs  3 Replication in a multi-server framework

Il se peut que les objets partagés par des clients soient répartis sur plusieurs serveurs.  Objects shared by clients may be distributed across multiple servers.

Le mécanisme de réplication et de propagation présenté dans les chapitres IV et V reste le même pour chaque serveur pris séparément. Chaque serveur exécute  The replication and propagation mechanism presented in Chapters IV and V remains the same for each server separately. Each server runs

l'application et régule les objets qu'il possède au moyen d'un séquenceur.  the application and regulates the objects it possesses by means of a sequencer.

De la même manière qu'une transition d'un objet partagé provoquée par un objet privé ou transitoire est répliquée par valeur, la transition d'un objet partagé d'un serveur provoquée par un objet partagé d'un autre serveur est également répliquée par valeur. Si d'autres objets partagés de ce serveur sont concernés par le cycle qui en découle, ils sont bien sûr répliqués par calcul. Le schéma de la figure 206 illustre ce mécanisme, dans lequel - T fait transiter P l, et ceci est repliqué sur le serveur S I, et - P2 fait transiter P3, et ceci est traité comme si P2 était transitoire ou privé: la  In the same way that a transition of a shared object caused by a private or transient object is replicated by value, the transition of a shared object of a server caused by a shared object from another server is also replicated by value. If other shared objects on this server are involved in the resulting cycle, they are of course replicated by calculation. The diagram in Figure 206 illustrates this mechanism, in which - T passes P 1, and this is replicated on the server S I, and - P2 passes P3, and this is treated as if P2 was transient or private: the

réplication se fait par valeur.Replication is by value.

Section 4 - Protocole de communication Dans le cadre de l'exécution d'applications utilisant des objets permanents partagés, un système de communication est requis pour véhiculer des informations du serveur  Section 4 - Communication Protocol When running applications using shared permanent objects, a communication system is required to convey information from the server

vers plusieurs clients, ainsi que d'un client vers des serveurs.  to multiple clients, as well as a client to servers.

Pour ce faire, chaque poste client possède un composant qui lui permet de dialoguer avec les différents serveurs. Ces derniers doivent toujours être à l'écoute des  To do this, each client station has a component that allows it to interact with the different servers. They must always listen to

éventuelles demandes de connexion pouvant venir des clients.  possible connection requests from customers.

A chaque connexion, un composant doit être généré sur le serveur. Il est spécifique au client qui vient de se connecter, se charge d'interpréter les informations en  At each connection, a component must be generated on the server. It is specific to the customer who has just connected, is responsible for interpreting the information in

provenance du client, et d'envoyer à celui-ci les informations du serveur.  from the client, and to send the server information to this one.

Composant sur les postes clients Le composant réseau du poste client (clientCommunicationManager) offre les fonctionnalités suivantes: / Etablir une connexion avec le serveur, c'est à dire initier la création du composant sur le serveur qui lui correspond, et instancier un nouvel objet  Component on the client computers The network component of the client station (clientCommunicationManager) offers the following functionalities: / Establish a connection with the server, ie initiate the creation of the component on the server that corresponds to it, and instantiate a new object

GbxClient, propre au client qui se connecte.  GbxClient, customer-specific that connects.

/ Ecouter les informations qui viennent du serveur. Ces informations ne pouvant  / Listen to information coming from the server. This information can not be

être que des appels de méthodes.to be only method calls.

/ Envoyer des informations au serveur, à l'aide d'une méthode du type 1 0 clientCommunicationManager.send(methodName,argList)  / Send information to the server, using a method of type 1 0 clientCommunicationManager.send (methodName, argList)

O methodName est le nom de la méthode à appeler.  O methodName is the name of the method to call.

argList est la liste des arguments de cette méthode.  argList is the argument list for this method.

Composant sur les serveurs De manière symétrique, le composant réseau du serveur pour un poste client doit permettre: / D'écouter les informations qui viennent du poste client auquel il est " relié ", ces  Component on the servers Symmetrically, the server's network component for a client workstation must allow: / To listen to information coming from the client station to which it is "connected", these

informations étant du type (methodName,argList) comme nous l'avons vu.  information being of type (methodName, argList) as we have seen.

2 0 methodName doit correspondre à une méthode de l'objet GbxClient du serveur.  2 0 methodName must be a method of the server's GbxClient object.

D'envoyer des informations au client, à l'aide du même type de méthode serverCommunicationManager.send(methodName,argList) Etablissement d'une connexion En référence maintenant à la figure 207, on observe que chaque serveur possède un composant Listener qui écoute les éventuelles demandes de connexion des postes clients. Lorsqu'une de ces demandes arrive, il provoque la création sur le serveur d'un composant réseau (ServerCommunicationManager) qui va dialoguer avec son 3 0 correspondant sur le poste client (ici Clientl ou Client2). Il est constitué d'un routine qui écoute les différents messages pouvant provenir du poste client distant correspondant, et d'un dispositif (appel de méthode) lui permettant d'envoyer des  To send information to the client, using the same type of method serverCommunicationManager.send (methodName, argList) Establishing a connection Referring now to Figure 207, we observe that each server has a Listener component that listens any connection requests from the client computers. When one of these requests arrives, it causes the creation on the server of a network component (ServerCommunicationManager) which will dialogue with its corresponding 0 on the client station (here Clientl or Client2). It consists of a routine that listens to the different messages that can come from the corresponding remote client station, and a device (method call) allowing it to send messages.

données à celui-ci.data to this one.

A la connexion d'un client, le composant ServerCommunicationManager appelle la méthode newClient(connexionRef) de l'objet Document du serveur. Cette méthode crée une instance de l'objet GbxClient, qui va être le représentant du poste client au sein du serveur. Au moment cette instance est créée, l'objet Document passe une référence sur lui-même à GbxClient. La référence de ce GbxClient va être retournée  When a client is connected, the ServerCommunicationManager component calls the newClient (connectionRef) method of the server's Document object. This method creates an instance of the GbxClient object, which will be the representative of the client node within the server. At the time this instance is created, the Document object passes a reference to itself to GbxClient. The reference of this GbxClient will be returned

au composant réseau du serveur qui a commandé son instanciation.  to the network component of the server that ordered its instantiation.

Suite à cela, le composant réseau du serveur renvoie au composant réseau du client qui s'était connecté un accusé de réception lui indiquant que la connexion s'est bien effectuée. Cet accusé de réception sera utilisé pour éviter la commutation  Following this, the network component of the server returns to the network component of the client that had connected an acknowledgment that the connection was successful. This acknowledgment will be used to avoid switching

automatique vers un système de communication de secours utilisant le protocole http.  automatic to a backup communication system using the http protocol.

Le processus de connexion est présenté dans le diagramme de la figure 208.  The connection process is shown in the diagram in Figure 208.

Communication entre clients et serveurs En référence maintenant à la figure 209, les seules informations qui peuvent être échangées entre clients et serveurs sont des noms de méthodes, et des arguments pour ces méthodes. Comme nous l'avons vu précédemment, ces informations sont  Communication between clients and servers Referring now to Figure 209, the only information that can be exchanged between clients and servers are method names, and arguments for these methods. As we have seen previously, this information is

passées à l'aide de la méthode send des composants réseaux.  passed using the send method of network components.

serverCommunicationManager.send(methodName,argList) clientCommunicationManager.send(methodName,argList) Si le destinataire est le serveur, la méthode methodName est appelée chez l'objet GbxClient, et si le destinataire est le poste client, la méthode methodName est appelée chez l'objet Application du poste client. Un procédé de contrôle de cohérence peut être mis en place après la transmission pour vérifier que les  serverCommunicationManager.send (methodName, argList) clientCommunicationManager.send (methodName, argList) If the recipient is the server, the methodName method is called at the GbxClient object, and if the recipient is the client node, the methodName method is called at l Application object of the client computer. A consistency check method can be put in place after transmission to verify that the

3 0 arguments figurant dans argList aient un sens.  Arguments in argList have meaning.

Les diagrammes de séquence des figures 210 et 211 illustrent les deux types de communication, respectivement d'un client vers le serveur, et du serveur vers un client. Fin d'une connexion Lorsqu'un utilisateur quitte toutes les applications utilisant des objets permanents partagés, la connexion peut être coupée. Pour ce faire, l'objet Document sur le poste  The sequence diagrams of FIGS. 210 and 211 illustrate the two types of communication, respectively from a client to the server, and from the server to a client. Ending a connection When a user exits all applications that use shared permanent objects, the connection may be terminated. To do this, the Document object on the item

client appelle la méthode endOfConnexion(argument) de son composant réseau.  client calls the endOfConnection (argument) method of its network component.

Ce composant doit alors signaler au composant réseau qui lui correspond sur le serveur qu'il doit supprimer l'instance de GbxClient, et disparaître. Le composant réseau sur le serveur appelle pour cela la méthode killClient(clientRef) de l'objet  This component must then signal to the network component that corresponds to it on the server that it must delete the instance of GbxClient, and disappear. The network component on the server calls the killClient (clientRef) method of the object

Application sur le serveur.Application on the server.

* Ceci peut être représenté par le diagramme de séquence illustré sur la figure 212.* This can be represented by the sequence diagram shown in Figure 212.

Gestion des problèmes d'accès sécurisés Dans le cas de restrictions d'accès ("< firewalls >>, terminologie anglo-saxonne pour murs anti-feu) pour des utilisateurs n'ayant pas les pleins pouvoirs sur la gestion de  Management of secure access problems In the case of access restrictions ("firewalls") for users who do not have full authority over the management of firewalls.

leur domaine, une migration automatique vers un système de secours est envisagée.  their domain, an automatic migration to a backup system is envisaged.

Un tel système présente les caractéristiques suivantes 2 5 * Commutation automatique Par défaut, le protocole de transmission utilisé est celui décrit précédemment. Il faut cependant y inclure un système de gestion d'erreurs qui passe automatiquement au système décrit ci-dessous en cas de problème d'émission ou  Such a system has the following characteristics. Automatic Switching By default, the transmission protocol used is that described above. However, it must include an error management system that automatically switches to the system described below in the event of an emission problem or

de réception.reception.

Lors de la demande de connexion, le composant réseau du client qui se connecte démarre le décompte d'une temporisation. Si cette temporisation arrive à expiration avant que le composant réseau client ait reçu l'accusé de réception, le  During the connection request, the client network component that connects starts counting a timer. If this timer expires before the client network component has received the acknowledgment, the

protocole commute.protocol switches.

Communication d'un client vers le serveur Pour contourner les restrictions d'accès, l'idée est d'utiliser le protocole " http " pour véhiculer les informations. Pour ce faire, les éléments methodName et argList qui doivent être transmis d'un client vers un serveur sont passés en paramètres lors de l'appel d'un fichier de type librairie de liens dynamiques DLL (pour le terme anglo-saxon " Dynamic Link Library ") du serveur, via une adresse de type URL. Le module CommunicationManager du poste client sera  Communication from a client to the server To bypass access restrictions, the idea is to use the "http" protocol to convey the information. To do this, the methodName and argList elements that must be passed from a client to a server are passed as parameters when calling a dynamic link library DLL file (for the English term "Dynamic Link Library ") of the server, via a URL type address. The CommunicationManager module of the client workstation will be

chargé d'un tel appel.charged with such an appeal.

A la réception, le module CommunicationManager du module GbxClient associé sur le serveur au client concerné devra récupérer ces paramètres et procéder à  On reception, the CommunicationManager module of the associated GbxClient module on the server to the client concerned will have to retrieve these parameters and proceed to

l'appel de la méthode methodName(argsList) du module GbxClient du serveur.  the method method (argsList) method call of the server's GbxClient module.

Communication d'un serveur vers un client L'idée est la même que pour le cas précédent, sauf que dans le cadre du protocole  Communication from a server to a client The idea is the same as in the previous case, except that in the context of the protocol

http, il est impossible au serveur d'envoyer par lui-même des données au client.  http, it is impossible for the server to send data to the client by itself.

Pour contourner cette difficulté, on utilise un procédé de pseudo-poussée (<< push >> d'informations par exemple du type suivant: le module CommunicationManager du poste client, à intervalles de temps réguliers (par exemple toutes les 10 secondes...), effectue une requête http sur le serveur pour récupérer un fichier au format html. Ce fichier, géré par le module CommunicationManager correspondant sur le serveur, comporte les données que le module GbxClient attend. Le module CommunicationManager du poste client doit donc être à même d'extraire les éléments methodName et argsList de ce fichier html, et d'appeler la méthode correspondante methodName(argsList) de  To circumvent this difficulty, a pseudo-push method ("push") of information is used, for example of the following type: the CommunicationManager module of the client station, at regular time intervals (for example every 10 seconds ... ), performs a http request on the server to retrieve a file in html format.This file, managed by the corresponding CommunicationManager module on the server, contains the data that the GbxClient module is waiting for.The CommunicationManager module of the client workstation must be able to to extract the methodName and argsList elements from this html file, and to call the method method (argsList)

l'objet Application du poste client.  the Application object of the client computer.

Section 5 - Exclusion mutuelle Du fait que les mêmes instances sont partagées par plusieurs utilisateurs, un mécanisme d'exclusion mutuelle est requis pour éviter les accès concurrents à un même objet. Ce mécanisme est basé sur un système à double verrous: un verrou en  Section 5 - Mutual Exclusion Because the same instances are shared by multiple users, a mutual exclusion mechanism is required to prevent concurrent access to the same object. This mechanism is based on a double lock system: a lock in

lecture/écriture (W/R) et un verrou en lecture (R).  read / write (W / R) and read lock (R).

Toute modification de l'état d'un objet permanent partagé ne peut être faite que si l'objet est déverrouillé en lecture/écriture. Par contre, l'accès en lecture aux valeurs 2 5 caractéristiques de l'objet (à son état par exemple) ne nécessite que le déverrouillage R. La récupération du verrou est à la charge de l'objet qui en fait sentir le besoin, c'est à dire qui modifie l'état de l'objet permanent partagé (il demande alors le verrou W/R)  Any change in the state of a shared permanent object can only be done if the object is unlocked in read / write mode. On the other hand, the read access to the characteristic values of the object (in its state for example) requires only the unlocking R. The recovery of the lock is the responsibility of the object which makes it feel the need, that is, changing the state of the shared permanent object (it then requests the W / R lock)

3 0 ou qui lit l'état courant de l'objet (il demande alors un verrou R).  30 or reads the current state of the object (it then asks for a lock R).

L'attribution du verrou W/R a un caractère exclusif Seul un client peut accéder à un objet en lecture/écriture à un instant donné. Mais ce n'est pas le cas pour l'accès en lecture: ainsi plusieurs utilisateurs peuvent accéder en lecture au même objet. Bien entendu, le fait qu'un client possède le verrou W/R exclut pendant le même temps toute obtention d'un verrou R par un quelconque autre client. Utilisation des objets verrouillés Un client peut utiliser un objet permanent partagé à partir du moment o il obtient un verrou (que ce soit R ou W/R) sur cet objet. Tant que le cycle (au sens o il a été défini plus haut dans le chapitre IV), initié par la transition de l'objet qui a provoqué la demande de verrou, n'est pas terminé, l'objet verrouillé est considéré comme étant  The allocation of the W / R lock has an exclusive character Only a client can access a read / write object at a given time. But this is not the case for read access: thus several users can read access to the same object. Of course, the fact that a customer has the lock W / R excludes during the same time any obtaining of a lock R by any other client. Using Locked Objects A client can use a shared permanent object from the moment it obtains a lock (whether R or W / R) on that object. As long as the cycle (as defined earlier in Chapter IV), initiated by the transition of the object that caused the lock request, is not completed, the locked object is considered to be

en cours d'utilisation.in use.

On considérera donc qu'un client a fini d'utiliser un objet verrouillé en lecture si le  We will therefore consider that a client has finished using a locked object in read mode if the

cycle au cours duquel il lit une des valeurs de cet objet est terminé.  cycle in which it reads one of the values of this object is completed.

Par exemple, et en référence à la figure 213,supposons qu'un objet A veuille envoyer  For example, and referring to Figure 213, suppose that an object A wants to send

un message à un objet B en lui passant l'état courant d'un objet O permanent partagé.  a message to an object B by passing it the current state of a shared permanent O object.

On considère que l'objet A a fini d'utiliser l'objet O lorsque l'objet A reprend la  Object A is considered to have finished using object O when object A resumes

main par retour d'appel de méthode.  hand by method callback.

On considère également qu'un client a fini d'utiliser un objet déverrouillé en lecture/écriture si le cycle provoqué par la transition de l'objet qui a demandé le  A client is also considered to have finished using an unlocked read / write object if the cycle caused by the transition of the object that requested the

verrou est terminé.lock is finished.

Par exemple, et en référence à la figure 214, supposons qu'un objet A obtient le verrou WR sur un objet O permanent partagé pour le faire changer d'état. On considère que l'objet A a fini d'utiliser l'objet O lorsque l'objet A reprend la main  For example, and referring to Figure 214, assume that an object A obtains the WR lock on a shared permanent O object to change its state. We consider that object A has finished using object O when object A takes over

3 0 par retour d'appel de méthode.By method callback.

Comportement du verrou d'un objet Un verrou R ou W/R d'un objet va être défini ci-dessous à l'aide de diagrammes d'état-transition. Pour un objet partagé O donné, un client peut être dans un des états suivants vis à vis du verrou R ou du verrou W/R: * Le client peut ne pas posséder le verrou sur l'objet O * Le client peut posséder le verrou sur l'objet O mais ne pas l'utiliser * Le client peut posséder le verrou sur l'objet O et l'utiliser * Le client peut être en passe de rendre le verrou sur l'objet O si un autre client  Object Lock Behavior An R or W / R lock of an object will be defined below using state-transition diagrams. For a given shared object O, a client may be in one of the following states with respect to the R lock or the W / R lock: * The client may not have the lock on the O object * The client may have the lock on the object O but do not use it * The customer can have the lock on the object O and use it * The client can be about to make the lock on the object O if another client

en a fait la demande.has made the request.

Un objet permanent partagé peut être réalisé de deux façons distinctes chez un client (juste au moment o le client a besoin de l'objet ou par anticipation, voir  A shared permanent object can be realized in two distinct ways in a client (just when the client needs the object or in advance, see

l'introduction du chapitre V), ce qui influe sur l'attribution du verrou.  the introduction of Chapter V), which affects the allocation of the lock.

En effet, si un objet permanent partagé est réalisé selon un mode "juste à temps ", cela signifie que le client veut lire ou manipuler cet objet. Le verrou R ou W/R lui est 2 0 alors donné directement. On a alors le diagramme d'état-transition de la figure 215: En revanche, si un objet permanent partagé est réalisé par anticipation, le client n'a pas encore émis la volonté de manipuler l'objet. Il n'obtiendra le verrou que s'il accède véritablement à l'objet. Ceci se manifeste dans le diagramme d'état-transition  Indeed, if a shared permanent object is realized in a "just in time" mode, it means that the customer wants to read or manipulate this object. The latch R or W / R is then given to it directly. We then have the state-transition diagram of Figure 215: On the other hand, if a shared permanent object is realized in anticipation, the client has not yet expressed the will to manipulate the object. It will only get the lock if it actually accesses the object. This is manifested in the state-transition diagram

2 5 de la figure 216.2 of Figure 216.

Demande de verrou WR Un objet A chez un client C demande le verrou sur l'objet auquel il désire envoyer 3 0 un message (s'il ne l'a pas déjà).  WR lock request An object A at a client C requests the lock on the object to which it wishes to send a message (if it does not already have it).

Si l'objet n'est pas déjà utilisé par un autre client (que ce soit en lecture ou en écriture), il le devient comme le montre le diagramme de séquence illustré sur la  If the object is not already used by another client (either read or write), it becomes so as shown in the sequence diagram shown on the

figure 217.figure 217.

Si l'objet était déverrouillé en lecture, le verrou est ôté à chaque client qui le possède au terme d'un certain temps de latence. Ce temps de latence est propre à chaque objet  If the object was unlocked for reading, the lock is removed from each client that has it after a certain latency. This latency is specific to each object

et peut en constituer par exemple un attribut.  and can constitute for example an attribute.

Ceci est illustré sur la figure 218.  This is illustrated in Figure 218.

Si l'objet était déjà verrouillé en lecture/écriture, le verrou est rendu également après un certain temps de latence. Ce cas peut être représenté par le schéma de la figure 219. Comme on se trouve ici dans le cadre d'un protocole de communication basé sur le protocole TCP, et que ce protocole assure une communication selon le mode << premier entré- premier sorti " (FIFO), toutes les transitions de l'objet B répliquées depuis le Client I ont eu lieu chez le Client 2 avant que le verrou sur B n'ait été obtenu. Demande de verrou R L'hypothèse est qu'un objet O chez un client C demande le verrou R sur l'objet dont  If the object was already locked in read / write, the lock is also rendered after a certain latency. This case can be represented by the diagram of Figure 219. As we are here in the context of a communication protocol based on the TCP protocol, and that this protocol provides a communication in the mode "first-in-first-out" "(FIFO), all transitions of object B replicated from Client I occurred at Client 2 before the lock on B was obtained Lock Request R The assumption is that an object O in a client C requests the lock R on the object whose

il veut connaître l'état (s'il ne le connaît pas déjà).  he wants to know the state (if he does not already know it).

Si l'objet n'est verrouillé ni en lecture/écriture ni en lecture, il devient verrouillé en  If the object is not locked in either read / write or read, it becomes locked in

lecture, comme illustré sur la figure 220.  reading, as shown in Figure 220.

Si l'objet est déjà utilisé en lecture par d'autres clients, l'objet C est ajouté à la liste 3 0 des clients qui possèdent le verrou R sur l'objet O. Plusieurs clients accèdent ainsi au même objet en lecture. Si l'objet est déjà utilisé en lecture/écriture par un autre client, la requête de l'objet O est placée en attente jusqu'à ce que l'objet soit  If the object is already read by other clients, the C object is added to the list of clients that have the R lock on the O object. Many clients thus access the same object for reading. If the object is already read / write by another client, the request for object O is placed on hold until the object is

disponible. ceci est illustré sur la figure 221.  available. this is illustrated in Figure 221.

Gestion des blocages mutuels Il demeure cependant des cas dits de blocage mutuel o des clients peuvent  Management of mutual blockages There are, however, so-called mutual blocking cases where clients can

s'attendre les uns les autres à cause de demande de verrous.  expect each other because of demand for locks.

Considérons par exemple, en référence aux figures 222 et 223, deux clients Cl et C2.  Consider for example, with reference to FIGS. 222 and 223, two clients C1 and C2.

Le client Cl possède les objets permanents partagés O1 et 02, tandis que le client C2 possède les objets permanents partagés 01, 02 et 03. Les clients possèdent des verrous comme suit:  The client Cl has the shared permanent objects O1 and 02, while the client C2 has the shared permanent objects 01, 02 and 03. The clients have locks as follows:

le client C l possède le verrou W/R sur 0 1.  the client C l has the W / R lock on 0 1.

le client C2 possède le verrou W/R sur 02 et 03.  the C2 client has the W / R lock on 02 and 03.

L'on se trouve alors dans la situation de la figure 224.  We then find ourselves in the situation of Figure 224.

Supposons maintenant que, au cours du cycle initié par l'objet 01, le client Cl demande au client C2 le verrou W/R sur l'objet 02. Le client C2 ne peut pas rendre le verrou sur l'objet 02 car un cycle initié par l'objet 02 est en cours chez le client  Now suppose that, during the cycle initiated by the object 01, the client C1 asks the client C2 for the lock W / R on the object 02. The client C2 can not return the lock on the object 02 because a cycle initiated by object 02 is going on at the customer's

C2. L'on se trouve alors dans la situation de la figure 225.  C2. We then find ourselves in the situation of figure 225.

Le client Cl attend que le client C2 ait fini d'utiliser l'objet 02 pour prendre le verrou et continuer son exécution. Supposons maintenant que dans le cycle initié par l'objet 02 chez le client C2, ce même client en vient à demander le verrou sur l'objet 01. Comme nous l'avons vu, un cycle initié par l'objet O1 est en cours chez le client Cl, et le verrou W/R sur l'objet O1 ne peut donc pas être rendu. Ceci est illustré sur la figure 197: le client Cl attend après le client C2 pour obtenir le verrou sur l'objet 02, tandis que le client C2 attend après le client Cl pour obtenir le verrou sur l'objet  The client Cl waits for the client C2 to finish using the object 02 to take the lock and continue executing it. Suppose now that in the cycle initiated by the object 02 at the client C2, this same client comes to request the lock on the object 01. As we have seen, a cycle initiated by the object O1 is in progress at the client Cl, and the lock W / R on the object O1 can not be rendered. This is illustrated in Figure 197: the client Cl waits after the client C2 to get the lock on the object 02, while the client C2 waits after the client Cl to get the lock on the object

3 0 O1; l'on se trouve dans une situation de blocage mutuel.  O1; we are in a situation of mutual blocking.

Pour lever cette situation, il faut défaire les actions effectuées par l'un des deux clients de façon à ce que tous les verrous qui interviennent dans la boucle de blocage  To remove this situation, you must undo the actions performed by one of the two clients so that all the locks that intervene in the locking loop

mutuel soient restitués.mutual benefit be restored.

Supposons que dans le même exemple, les obtentions de verrou ont eu lieu dans l'ordre illustré sur la figure 225. Il semble ici plus pertinent de défaire les actions qui se sont déroulées chez le client C2. En effet, la première obtention d'un verrou sur un  Suppose that in the same example, the lock acquisitions took place in the order shown in Figure 225. It seems more relevant here to undo the actions that took place at the client C2. Indeed, the first getting a lock on a

objet figurant dans la boucle de blocage mutuel est plus récente chez le client C2.  object in the deadlock loop is newer at the C2 client.

Défaire les actions effectuées chez le client C2 revient à utiliser une fonctionnalité  Undoing the actions performed at the C2 client is equivalent to using a feature

dite de " Retour arrière " (" Rollback " en terminologie anglo-saxonne) décrite ci-  referred to as "Rollback" ("Rollback" in English terminology) described above.

après à partir du temps logique o le client C2 a obtenu le verrou sur l'objet 02.  after from the logical time o the client C2 got the lock on object 02.

L'objet Ol peut ainsi obtenir le verrou sur l'objet 02 et continuer son cycle. Le  The object Ol can thus obtain the lock on the object 02 and continue its cycle. The

client C2 est alors mis en attente jusqu'à ce que le client Cl libère l'objet 02.  client C2 is then put on hold until client Cl releases object 02.

Cependant, le fait de résoudre le blocage mutuel implique de détecter la présence  However, resolving mutual blocking involves detecting the presence

d'une boucle dans les demandes de verrou, comme on va maintenant le décrire.  a loop in lock requests, as we will now describe.

Détection des boucles Il ne peut y avoir une boucle dans les demandes de verrou si un objet reçoit une demande de verrou alors que lui-même est en attente d'un verrou. Cependant, ce  Detecting Loops There can be no loop in lock requests if an object receives a lock request while it is waiting for a lock. However, this

n'est pas parce qu'on est dans ce cas qu'il y a forcément une boucle.  it is not because one is in this case that there is necessarily a loop.

2 5 C'est en tout cas à partir de ce cas litigieux que la détection de boucle commence.  In any event, it is from this contentious case that the loop detection begins.

La figure 226 illustre ainsi dans sa partie gauche un cas de blocage mutuel, tandis  Figure 226 illustrates on the left side a case of mutual blocking, while

que sa partie droite illustre un cas o il n'y a pas de blocage mutuel.  that its right side illustrates a case where there is no mutual blocking.

Pour éviter de mélanger les données liées à chaque instance de l'algorithme de gestion des blocages mutuels, ces données sont estampillées avec des marqueurs à l'aide d'un compteur croissant, représentatif par exemple de l'instant de lancement  To avoid mixing the data related to each instance of the mutual blocking management algorithm, these data are stamped with markers using a growing counter, representative for example of the launch time.

de l'instance de l'alogrithme.of the instance of the alogrithm.

Ainsi, et maintenant en référence à la figure 227, lorsque l'objet A reçoit une demande de verrou alors qu'il en déjà en attente, il relève le temps CPU de la séquence en cours afin de s'en servir comme marqueur. Il remonte ensuite les demandes de verrou de cette séquence en marquant chaque objet en attente par le temps CPU qu'il a relevé. S'il retombe sur lui-même pour la même marque, un cycle est détecté, et le processus de retour en arrière peut être mis  Thus, and now with reference to FIG. 227, when the object A receives a lock request while it is already waiting, it raises the CPU time of the current sequence in order to use it as a marker. It then goes back the lock requests of this sequence by marking each pending object by the CPU time it has raised. If it falls back on itself for the same mark, a cycle is detected, and the process of going back can be put

en oeuvre.implemented.

Section 6 - Mécanisme de retour en arrière (RollBack) Deux approches d'exécution répliquées de ce mécanisme sont possibles: pessimiste et optimiste. Dans l'approche optimiste que nous décrivons dans le présent chapitre, le mécanisme de retour en arrière sert de procédé de rattrapage de prédictions erronées. Le même mécanisme de Rollback est aussi utilisé dans la gestion des blocages mutuels dans le cadre de l'exclusion mutuelle. Ci-après, nous traitons le cas  Section 6 - Rollback Mechanism Two replicated execution approaches of this mechanism are possible: pessimistic and optimistic. In the optimistic approach we describe in this chapter, the backtracking mechanism serves as a method of catching up on erroneous predictions. The same Rollback mechanism is also used in the management of mutual blockages in the context of mutual exclusion. Here we treat the case

du rattrapage, sur un exemple.catching up, on an example.

Dans cet exemple, illustré sur la figure 228, les objets 01, 02, 03 et 04 sont des objets partagés, tandis que l'objet 05 est un objet privé, et l'on suppose que le client  In this example, shown in Fig. 228, objects 01, 02, 03, and 04 are shared objects, while object 05 is a private object, and it is assumed that the client

Clientl possède le verrou W/R sur les objets partagés.  Clientl has the W / R lock on the shared objects.

Suite à une action d'un utilisateur sur l'objet 01, les messages Msgl, Msg2 et Msg3 s'enchaînent. Comme elle concerne des objets partagés, la transition de l'objet 01 est répliquée par valeur sur un serveur. Par contre, les conséquences de la transition de l'objet 01, à savoir les transitions de 02 et de 03 ne sont pas transmises puisque le  Following a user action on the object 01, the messages Msg1, Msg2 and Msg3 are linked together. Because it concerns shared objects, the transition of object 01 is replicated by value on a server. On the other hand, the consequences of the transition of the object 01, namely the transitions of O2 and O3 are not transmitted since the

serveur les génère lui-même.server generates them itself.

Une fois la transition de l'objet 03 effectuée (suite au message Msg3), le premier cycle issu de l'action de l'utilisateur est terminé. Les traces dont disposent les séquenceurs du poste client de l'utilisateur et du serveur contiennent alors  Once the transition of the object 03 performed (following the Msg3 message), the first cycle from the action of the user is completed. The traces available to the sequencers of the client and server client workstations then contain

respectivement les informations illustrées sur la figure 229.  respectively the information illustrated in Figure 229.

Sur le serveur, une fois le premier cycle terminé, le séquenceur entre en activité et traite les actions PutNext figurant dans la trace. Ceci se traduit par l'envoi du message Next aux objets qui en avaient fait la demande (ici l'objet 02) et du  On the server, once the first cycle is complete, the sequencer goes into action and processes the PutNext actions in the trace. This results in sending the message Next to the objects that had requested it (here the object 02) and the

message Msg5 qui s'ensuit, comme illustré sur la figure 230.  message Msg5 that follows, as shown in Figure 230.

La trace sur le serveur contient alors les informations illustrées sur la figure 231.  The trace on the server then contains the information shown in Figure 231.

Supposons maintenant que sur son poste, l'utilisateur du client clientl manipule l'objet 05 pendant le premier cycle (qui était initié par le message Msgl). Il se  Suppose now that on his computer, the client clientl user manipulates the object 05 during the first cycle (which was initiated by the Msgl message). He is

déroule alors chez le client le scénario illustré sur la figure 232.  the client then runs the scenario shown in Figure 232.

Le séquenceur du clientl contient alors les informations illustrées sur la figure 233.  The sequencer of the client then contains the information illustrated in FIG. 233.

On observe ici que le serveur a pris trop d'avance dans le traitement de son 2 0 séquenceur, si bien que des scénarios différents sont joués chez le client clientl 1 et sur le serveur. Le serveur doit donc revenir en arrière sur l'avance qu'il a prise: c'est le  It is observed here that the server has taken too much advance in the processing of its sequencer, so that different scenarios are played at client clientl 1 and on the server. The server must therefore go back on the advance that it has taken: it is the

mécanisme de retour en arrière, dont on va maintenant décrire le fonctionnement.  mechanism of return back, whose operation will now be described.

Détection Un tel cas litigieux est détecté lors de la réplication de la transition de l'objet 02 de l'état S1 à l'état S4, dont la cause est due à un objet non partagé. En effet, lors d'une réplication, le serveur reçoit les informations suivantes: 3 0 1. L'objet qui effectue la transition 2. L'état précédent la transition (que l'on appellera état précédent) 3. L'état courant après la transition (que l'on appellera état courant) 4. Le temps logique correspondant à cette transition chez le client qui en est à l'origine 5. Le temps logique correspondant à la transition précédente chez le client qui en est à l'origine. Les informations 1 et 3 permettent au serveur de trouver quel objet il doit faire transitionner et dans quel état. L'information 4 va permettre la détection d'un cas litigieux (si le serveur a déjà associé ce temps logique à un put, il y a conflit). Enfin l'information 5 va servir à repositionner le curseur du traitement dans le cas o une opération de retour en arrière est nécessaire Dans le même exemple, le serveur va savoir que la transition de l'objet 02 vers l'état S4 correspond au temps logique 127 pour le client clientl. Or le serveur a déjà, par calcul, associé au temps logique 127 une transition qui est différente, puisqu'elle concerne le passage de l'objet 04 vers l'état SI). Un retour en arrière doit donc être effectué. Etapes du retour en arrière Le retour en arrière s'effectue par la succession d'étapes suivante: 1. Trouver dans la trace la dernière position " stable " avant le cas litigieux (point à partir duquel le séquenceur va reprendre son traitement) 2. Déterminer dans l'historique quelles sont les entrées qui doivent être défaites 3. Déterminer quels sont les objets touchés et dans quel état ils doivent être restaurés, et les restaurer sur le serveur et chez tous les clients passifs qui les possèdent réellement 4. Répliquer la transition qui a permis de détecter le conflit (ici le passage de l'objet 02 de l'état S1 à l'état S4)  Detection Such a contentious case is detected during the replication of the transition of the object 02 of the state S1 to the state S4, whose cause is due to an object not shared. Indeed, during a replication, the server receives the following information: 1. The object that makes the transition 2. The state preceding the transition (that will be called the previous state) 3. The current state after the transition (which will be called current state) 4. The logical time corresponding to this transition at the customer who is at the origin 5. The logical time corresponding to the previous transition at the customer who is at the origin. Information 1 and 3 allow the server to find which object to transition to and in which state. The information 4 will allow the detection of a litigious case (if the server has already associated this logical time with a put, there is conflict). Finally the information 5 will be used to reposition the cursor of the treatment in the case where a return operation is necessary. In the same example, the server will know that the transition from the object 02 to the state S4 corresponds to the time logical 127 for the client clientl. Now the server has already, by calculation, associated with logical time 127 a transition that is different, since it concerns the passage of the object 04 to the state SI). A backtrack must be made. Reversal steps Reversal is carried out by the following sequence of steps: 1. Find in the trace the last "stable" position before the disputed case (point from which the sequencer will resume its processing) 2. Determine in the history what entries are to be undone 3. Determine which objects are affected and in what state they should be restored, and restore them to the server and to all passive clients who actually own them 4. Replicate the transition which made it possible to detect the conflict (here the passage of the object 02 from the state S1 to the state S4)

5. Reprendre le traitement du séquenceur à partir de la dernière position stable.  5. Resume sequencer processing from the last stable position.

Détail des étapes - Etape I Une situation de conflit peut être schématisé par le diagramme d'état-transition de la  Details of the steps - Step I A conflict situation can be schematized by the state-transition diagram of the

figure 234.Figure 234.

La solution au conflit consiste à ramener l'objet qui pose problème au dernier de ses états pour lequel à la fois le client et serveur sont en accord. Plutôt que de rechercher cet état dans la trace du client, l'objet peut lui-même renseigner quel est le temps logique auquel il était entré dans l'état précédent. Ce temps logique est celui du dernier état pour lequel client et serveur sont en accord pour l'objet qui pose problème: ce temps logique est alors transmis au serveur pour que celui- ci puisse s'y ramener. A chaque fois qu'ils effectuent une transition, les objets stockent pour quel temps logique du client ils changent d'état. Ainsi, lorsqu'une transition est répliquée, le  The solution to the conflict is to bring the problem object back to the last of its states for which both the client and server are in agreement. Rather than searching for this state in the client's trace, the object itself can tell what the logical time it was in the previous state was. This logical time is that of the last state for which client and server are in agreement for the object which poses a problem: this logical time is then transmitted to the server so that it can be reduced to it. Whenever they make a transition, the objects store for what logical time of the client they change state. So, when a transition is replicated, the

serveur peut recevoir le temps logique auquel l'objet était entré dans l'état précédent.  server can receive the logical time that the object was entered in the previous state.

2 5 Donc, lors de la réplication de la transition au temps logique 127, le serveur reçoit le temps logique du client clientl correspondant à la précédente transition de l'objet  Thus, during the replication of the transition to the logical time 127, the server receives the logical time of the client client corresponding to the previous transition of the object

02: ce temps logique est 124.02: this logical time is 124.

Le serveur repositionne donc le curseur du séquenceur au temps logique 124 du  The server therefore repositions the cursor of the sequencer to the logical time 124 of the

3 0 client clientl, comme illustré sur la figure 235.  Client client, as shown in Figure 235.

- Etape 2 Chercher dans la trace du serveur ce qui doit être défait revient à déterminer quelle a été la première transition à avoir été effectuée à tort. C'est à partir de cette transition que ce qui a été effectué en avance sur le serveur doit être défait. Cette transition est la première transition de l'objet qui pose problème (ici l'objet 02) située en aval (au sens du temps logique) du curseur de traitement (tel qu'il a été  - Step 2 Finding in the server trace what needs to be undone is to determine what was the first transition to be done wrongly. It is from this transition that what has been done in advance on the server must be undone. This transition is the first transition of the problematic object (here the object 02) located downstream (in the sense of the logical time) of the processing cursor (as it has been

replacé à l'étape a).returned to step a).

Dans l'exemple, il s'agit de la transition au temps logiquel26. C'est donc là qu'est repositionné le curseur d'écriture. Cette transition correspond à la réaction de l'objet 02 à un message Next du séquenceur. Si le serveur avait été en adéquation avec le  In the example, this is the transition to logical time26. This is where the write cursor is repositioned. This transition corresponds to the reaction of the object 02 to a message Next of the sequencer. If the server had been in adequacy with the

client clientl, ce Next aurait dû être obsolète.  Client client, this Next should have been obsolete.

Comme nous l'avons vu, l'objet 02 se trouve encore dans l'état SI lorsqu'il reçoit le  As we have seen, the object 02 is still in the SI state when it receives the

message Next, et celui-ci provoque donc une transition.  Next message, and this one causes a transition.

La situation correspondante est illustrée sur la figure 236.  The corresponding situation is illustrated in Figure 236.

Comme on va le voir, seules les transitions figurant à partir du curseur d'écriture sur la figure 236 doivent être annulées, alors que le traitement reprend à partir de la nouvelle position du curseur de traitement. Ceci est justifié par le fait que les conséquences des transitions figurant entre le curseur de traitement et le curseur d'écriture se trouvent forcément après la nouvelle position du curseur d'écriture: elles sont donc défaites. C'est pourquoi les transitions qui en sont à l'origine (donc celles qui figurent à partir du curseur de traitement jusqu'au curseur d'écriture exclu) doivent être conservées pour poursuivre le processus en lieu et place de ce qui a été défait. - Etape 3 A partir du curseur d'écriture, il faut parcourir la trace pour déterminer quels sont les  As will be seen, only transitions from the write cursor in Fig. 236 should be canceled, while processing resumes from the new position of the processing cursor. This is justified by the fact that the consequences of the transitions appearing between the processing cursor and the writing cursor are necessarily after the new position of the writing cursor: they are thus undone. This is why the transitions that are causing it (ie those that appear from the processing cursor to the excluded write cursor) must be kept to continue the process in place of what has been undone. . - Step 3 From the writing cursor, you have to go through the trace to determine what are the

objets qui ont effectué à tort des transitions.  objects that have incorrectly transitions.

La trace porte, pour chaque entrée, quel objet a effectué une transition et quel était son état précédent. Il suffit donc de récupérer la première entrée à partir du curseur d'écriture pour chaque objet: on y trouve l'état précédent dans lequel l'objet doit  The trace carries, for each entry, which object made a transition and what was its previous state. It is therefore sufficient to recover the first entry from the writing cursor for each object: there is the previous state in which the object must

être restauré.to be restored.

Dans l'exemple, seul l'objet 04 possède une entrée sous le curseur d'écriture: il doit  In the example, only object 04 has an entry under the write cursor: it must

être restauré dans l'état SO.to be restored in the state SO.

Les transitions effectuées en avance et à tort par le serveur doivent être annulées.  Transitions made in advance and wrongly by the server must be canceled.

Elles doivent également être annulées chez tous les clients qui les ont passivement répliquées et qui les possèdent réellement ces objets (au sens du mécanisme de  They must also be canceled in all customers who have passively replicated them and who actually own them (in the sense of

chargement progressif décrit plus haut).  progressive loading described above).

Pour ce faire, tous les objets devant l'être sont restaurés dans leur état précédent. Ces transitions forcées sont au passage répliquées chez les clients qui possèdent  To do this, all objects to be restored to their previous state. These forced transitions are replicated by customers who own

2 0 réellement ces objets en utilisant le procédé de réplication déjà décrit (Etape 4.).  These objects are actually using the replication method already described (Step 4.).

Une fois ceci réalisé, toutes les entrées de l'historique qui figurent en aval (au sens du temps logique) du curseur d'écriture sont supprimées, comme illustré sur la figure 237. - Etape 4 Une fois que les transitions effectuées à tort ont été défaites, il faut réhomogénéiser l'ensemble du système. Pour ce faire, on fait en sorte que la transition répliquée qui a 3 0 permis de détecter le cas litigieux ait aussi lieu sur le serveur. Le mécanisme de séquencement fait alors que les informations correspondant à cette transition soient  Once this is done, all history entries that appear downstream (in the sense of the logical time) of the write cursor are removed, as shown in Figure 237. - Step 4 Once the transitions done wrong have have been defeated, it is necessary to re-homogenize the entire system. To do this, it is ensured that the replicated transition which has made it possible to detect the contentious case also takes place on the server. The sequencing mechanism then makes the information corresponding to this transition

reportées dans la trace à partir du curseur de trace. Ceci est illustré sur la figure 238.  plotted in the trace from the trace cursor. This is illustrated in Figure 238.

Bien sûr, cette transition est propagée chez tous les clients qui possèdent réellement l'objet (au sens du mécanisme de chargement progressif). - Etape 5 Une fois la transition répliquée, le séquenceur peut reprendre la main pour gérer les activités en cours des objets. Il reprend son traitement à partir du curseur de traitement.  Of course, this transition is propagated to all customers who actually own the object (in the sense of the progressive loading mechanism). - Step 5 Once the transition is replicated, the sequencer can take over to manage the ongoing activities of the objects. It resumes processing from the processing slider.

Dans l'exemple, sa première tâche sera d'envoyer le message Next à l'objet 02.  In the example, his first task will be to send the message Next to object 02.

Cependant, l'objet 02 se trouvant maintenant dans l'état S4, le Next qu'il reçoit est  However, since the object 02 is now in state S4, the Next it receives is

obsolète et est donc ignoré.obsolete and is therefore ignored.

Bien entendu, la présente invention n'est nullement limitée aux formes de réalisations décrites et représentées, mais l'homme du métier saura y apporter toute variante ou modification conforme à son esprit. En particulier, les caractéristiques de l'invention énoncées dans les différents chapitres et les différentes sections de ces  Of course, the present invention is not limited to the embodiments described and shown, but the skilled person will be able to make any variant or modification within his mind. In particular, the characteristics of the invention set out in the different chapters and the different sections of these

chapitres peuvent être combinées de manières très diverses.  chapters can be combined in very different ways.

ANNEXEANNEX

Composant BEHAVIOR <PUBLIC:ATTACH EVENT= ondragstart" ONEVENT="InitiateDrag"/> <PUBLIC:ATTACH EVENT="ondrop" ONEVENT="FinishDragn /> <PUBLIC:ATTACH EVENT="ondragenter" ONEVENT="DragEnter /> <PUBLIC:ATTACH EVENT="ondragleave" ONEVENT="DragLeave"/> <SCRIPT LANGUAGE="JScript"> // gestion du drag'n drop  Component BEHAVIOR <PUBLIC: ATTACH EVENT = ondragstart "ONEVENT =" InitiateDrag "/> <PUBLIC: ATTACH EVENT =" ondrop "ONEVENT =" FinishDragn /> <PUBLIC: ATTACH EVENT = "defragment" ONEVENT = "DragEnter /> <PUBLIC: ATTACH EVENT = "ondragleave" ONEVENT = "DragLeave" /> <SCRIPT LANGUAGE = "JScript"> // drag'n drop management

// ->L'utilisateur commence à déplacer la poignée...  // -> The user starts to move the handle ...

// Met en mémoire l'identifiant du Container source.  // Store the identifier of the source container.

function InitiateDrag() { var caid = event.srcElement.containerid; var ceid = event.srcElement.contentid; event.dataTransfer.setData("'Text", "#contentid="+ceid +n#containerid="+caid); event.dataTransfer. effectAllowed = "copy"; }  function InitiateDrag () {var caid = event.srcElement.containerid; var ceid = event.srcElement.contentid; event.dataTransfer.setData ("'Text", "#contentid =" + ceid + n # containerid = "+ caid); event.dataTransfer. effectAllowed =" copy ";

// ->L'utilisateur place la poignée sur une autre...  // -> The user places the handle on another ...

// Modifie le style pour montrer l'interaction de la cible. function DragEnter() { event.dataTransfer.dropEffect='copy'; style. backgroundColor='red'; style.color='white'; event.returnValue=false; }  // Modify the style to show the interaction of the target. function DragEnter () {event.dataTransfer.dropEffect = 'copy'; style. backgroundColor = 'red'; style.color = 'white'; event.returnValue = false; }

// ->L'utilisateur éloigne la poignée de l'autre...  // -> The user moves the handle away from the other ...

// Re-modifie le style pour remettre la cible à un état  // Re-modify the style to reset the target to a state

normal.normal.

function DragLeave() { style.backgroundColor='' style.color=''; }  function DragLeave () {style.backgroundColor = '' style.color = ''; }

// ->L'utilisateur lache la poignée sur l'autre...  // -> The user drops the handle on the other ...

// Récupère l'identifiant du Container source et de la cible. // Transmet l'action par événement au système function FinishDrag() { style. backgroundColor=''; style.color='';  // Get the identifier of the source container and the target. // Pass the action by event to the system function FinishDrag () {style. backgroundColor = ''; style.color = '';

// Diffusion de l'évènement "onderive"'...  // Broadcast the "onderive" event ...

var oEvent = createEventObject(); oEvent.cible = event.srcElement. containerid; oEvent.source = event.dataTransfer.getData("Text") fire("onderive",oEvent); } // Fin de gestion du drag'n drop  var oEvent = createEventObject (); oEvent.cible = event.srcElement. ContainerId; oEvent.source = event.dataTransfer.getData ("Text") fire ("onderive", oEvent); } // End of drag'n drop management

//....__ __//....__ __

</SCRIPT></ SCRIPT>

Claims (39)

REVENDICATIONS 1. Système de partage d'informations sur un réseau informatique, caractérisé en ce qu'il comprend: un premier ensemble d'informations organisées comprenant au moins un premier contenant et une pluralité de premières informations accessibles via le ou chaque premier contenant, un second ensemble d'informations organisées comprenant au moins un second contenant et une pluralité de secondes informations accessibles via le ou chaque second contenant, des moyens pour établir une correspondance entre le ou chaque premier contenant et un second contenant dit correspondant, des moyens permettant à un utilisateur d'ajouter des informations dans le premier ensemble d'informations, des moyens permettant à un utilisateur d'ajouter des informations dans le second ensemble d'informations, des moyens d'intercommunication par réseau entre les premier et second ensembles d'informations, ces moyens étant aptes, lors d'un ajout d'une information accessible via un premier contenant, à suggérer le même ajout dans le second  1. A system for sharing information on a computer network, characterized in that it comprises: a first set of organized information comprising at least a first container and a plurality of first information accessible via the or each first container, a second set of organized information comprising at least a second container and a plurality of second information accessible via the or each second container, means for matching the or each first container and a corresponding second container, means for a user to add information in the first set of information, means for a user to add information in the second set of information, network communication means between the first and second sets of information, these means being able, when adding information accessible via a first container, to suggest rer adding the same in the second contenant correspondant.corresponding container. 2. Système selon la revendication 1, caractérisé en ce que chaque information accessible via un classeur appartient à un groupe comprenant des contenus directs, des références à des contenus situés dans d'autres ensembles d'informations organisées et des sous-contenants via lesquels d'autres informations  System according to claim 1, characterized in that each information accessible via a workbook belongs to a group comprising direct contents, references to contents located in other organized information sets and sub-containers via which 'other information sont accessibles.are accessible. 3. Système selon la revendication 2, caractérisé en ce que lesdites  3. System according to claim 2, characterized in that said références à des contenus sont constituées par des liens.  References to content are links. 4. Système selon la revendication 1, caractérisé en ce que le premier ensemble de d'informations organisées fait partie d'un serveur et est destiné à être accessible par une pluralité d'utilisateurs d'une communauté, et en ce qu'il est prévu une pluralité de seconds ensembles d'informations organisées constituant des ensembles privés propres à une pluralité d'utilisateurs. 5. Système selon la revendication 4, caractérisé en ce que les informations accessibles via les contenants du premier ensemble d'informations organisées sont constituées par l'union de toutes les informations accessibles via les  4. System according to claim 1, characterized in that the first set of organized information is part of a server and is intended to be accessible by a plurality of users of a community, and in that it is provided a plurality of second sets of organized information constituting private sets specific to a plurality of users. 5. System according to claim 4, characterized in that the information accessible via the containers of the first set of information organized are constituted by the union of all the information accessible via the contenants correspondants des seconds ensembles d'informations organisées.  corresponding containers of the second sets of organized information. 6. Système selon l'une des revendications 4 et 5, caractérisé en ce que  6. System according to one of claims 4 and 5, characterized in that tous les ensembles d'informations organisées comprennent une structure organisée  all organized information sets include an organized structure de contenants.of containers. 7. Système selon la revendication 6, caractérisé en ce que les  7. System according to claim 6, characterized in that the structures organisées sont arborescentes.  organized structures are arborescent. 8. Système selon l'une des revendications 6 et 7, caractérisé en ce que  8. System according to one of claims 6 and 7, characterized in that tous les ensembles d'informations organisées comprennent la même structure  all organized information sets include the same structure organisée de contenants.organized containers. 9. Système selon l'une des revendications I à 8, caractérisé en ce qu'il  9. System according to one of claims I to 8, characterized in that comprend, en association avec un ensemble d'informations organisées dans lequel un ajout d'information a été suggéré, une mémoire contenant un indicateur d'état de  includes, in association with a set of organized information in which an addition of information has been suggested, a memory containing a status indicator of processus de suggestion.suggestion process. 10. Système selon la revendication 9, caractérisé en ce que l'indicateur  10. System according to claim 9, characterized in that the indicator d'état peut prendre les valeurs " Suggéré >>, " Accepté " et " Refusé ".  status can be "Suggested", "Accepted" and "Rejected". I11. Système selon l'une des revendications 9 et 10, caractérisé en ce  I11. System according to one of claims 9 and 10, characterized in that qu'il comprend un moyen permettant de ne supprimer d'un ensemble d'informations organisées une information qui y a été préalablement ajoutée qu'après vérification des indicateurs d'état associés aux autres ensembles d'informations organisées concernant ladite information ajoutée.  it comprises means for deleting information previously added from a set of organized information only after verification of the status indicators associated with the other sets of organized information concerning said added information. 12. Système selon les revendications 10 et 11 prises en combinaison,  12. System according to claims 10 and 11 taken in combination, caractérisé en ce que la vérification des indicateurs.d'état consiste à vérifier que tous  characterized in that the verification of the status indicators is to verify that all possèdent la valeur " Refusé ".have the value "Rejected". 13. Système selon l'une des revendications 9 et 10, caractérisé en ce  13. System according to one of claims 9 and 10, characterized in that qu'il comprend en outre des moyens d'avertissement aptes, lorsqu'une information de type contenu préalablement ajoutée dans un ensemble d'informations organisées est destinée à être supprimée, à informer de ladite suppression désirée tout utilisateur d'un autre ensemble d'informations organisées possédant une référence vers ce contenu, et des moyens permettant à chaque utilisateur de dupliquer ledit élément de  it further comprises suitable warning means, when content type information previously added in a set of organized information is intended to be deleted, to inform said desired deletion any user of another set of organized information having a reference to that content, and means for each user to duplicate said contenu vers ledit autre ensemble d'informations organisées.  content to said other set of organized information. 14. Système selon l'une des revendications 1 à 13, caractérisé en ce  14. System according to one of claims 1 to 13, characterized in that 2 0 que lesdites informations incluent des liens vers des contenus externes au système.  Said information includes links to contents external to the system. 15. Système selon l'une des revendications 1 à 14, caractérisé en ce  15. System according to one of claims 1 to 14, characterized in that que chaque ensemble d'informations organisées permet d'accéder également à des  that each set of organized information also provides access to informations dont l'ajout ne donne lieu à aucune suggestion.  information the addition of which does not give rise to any suggestion. 16. Système selon l'une des revendications 1 à 15, caractérisé en ce  16. System according to one of claims 1 to 15, characterized in that que les moyens d'intercommunication comprennent des moyens pour dériver d'un contenant d'origine d'un premier ensemble d'informations organisées vers un contenant de destination d'un second ensemble d'informations organisées les 3 0 informations accessibles via ledit contenant d'origine, lesdits moyens d'établissement de correspondance étant aptes, en réponse auxdits moyens de dérivation, à établir une correspondance entre le contenant d'origine et le contenant  the intercommunication means comprises means for deriving from an original container of a first set of information organized to a destination container of a second set of information the information accessible via said container of information. origin, said correspondence means being able, in response to said derivation means, to establish a correspondence between the original container and the container de destination.of destination. 17. Système selon la revendication 16, caractérisé en ce qu'en réponse auxdits moyens de dérivation, les moyens d'établissement de correspondance sont également aptes à établir une correspondance entre le contenant de destination et le  17. System according to claim 16, characterized in that in response to said derivation means, the correspondence means are also able to establish a correspondence between the destination container and the contenant d'origine.original container. 18. Système selon l'une des revendications 16 et 17, caractérisé en ce  18. System according to one of claims 16 and 17, characterized in that que les moyens d'intercommunication comprennent en outre des moyens aptes, lors de la mise en oeuvre des moyens de dérivation, pour sélectivement accepter et refuser  the means of intercommunication further comprise means suitable, during the implementation of the derivation means, for selectively accepting and refusing l'accessibilité desdites informations via le contenant de destination.  accessibility of said information via the destination container. 19. Système selon l'une des revendications 16 à 18, caractérisé en ce  19. System according to one of claims 16 to 18, characterized in that que les moyens de dérivation sont aptes à effectuer des dérivations en chaîne entre  that the derivation means are able to perform chain derivations between plusieurs ensembles d'informations organisées.  several sets of information organized. 20. Système selon l'une des revendications 16 à 19, caractérisé en ce  20. System according to one of claims 16 to 19, characterized in that que les moyens de dérivation sont aptes à fusionner, dans un contenant de destination  that the diversion means are able to merge, in a container of destination 2 0 donné, des informations accessibles via une pluralité de contenants d'origine.  Given information accessible via a plurality of original containers. 21. Système selon l'une des revendications I à 20, caractérisé en ce  21. System according to one of claims I to 20, characterized in that qu'il comprend des moyens aptes, lors de la suppression dans un contenant de l'accessibilité d'une information par ce contenant, préserver l'accessibilité de cette  that it includes suitable means, when removing in a container from the accessibility of information by this container, preserve the accessibility of this 2 5 information via un contenant d'archivage.  2 5 information via an archive container. 22. Système selon la revendication 21, caractérisé en ce que, lorsque l'accessibilité d'une information précédemment ajoutée via un contenant est supprimée, les moyens d'intercommunication ne sont plus aptes à suggérer l'ajout de 3 0 cette information dans le ou les contenants correspondants d'autres ensembles  22. System according to claim 21, characterized in that, when the accessibility of previously added information via a container is removed, the intercommunication means are no longer able to suggest the addition of this information in the system. or the corresponding containers of other sets d'informations organisées.organized information. 23. Système selon l'une des revendications 1 à 22, caractérisé en ce  23. System according to one of claims 1 to 22, characterized in that que les moyens d'intercommunication comprennent des moyens pour référencer, à partir d'un contenant d'origine d'un premier ensemble d'informations organisées vers un contenant de destination d'un second ensemble d'informations organisées, les informations accessibles via ledit contenant d'origine, lesdits moyens d'établissement de correspondance étant aptes à établir une correspondance entre le contenant d'origine et le contenant de destination en réponse auxdits moyens de référencement seulement si un utilisateur du contenant de destination a accepté le  the intercommunication means comprise means for referencing, from an original container of a first set of information organized to a destination container of a second set of organized information, the information accessible via said original container, said means for establishing correspondence being able to establish a correspondence between the original container and the destination container in response to said referencing means only if a user of the container of destination has accepted the référencement desdites informations.  referencing said information. 24. Système selon l'une des revendications 1 à 23, caractérisé en ce  24. System according to one of claims 1 to 23, characterized in that qu'il comprend un ensemble d'informations organisées comprenant une pluralité de contenants catégorisants, et en ce que les contenants de chaque autre ensemble d'informations organisées sont au moins en partie des correspondants desdits  it comprises a set of organized information comprising a plurality of categorizing containers, and in that the containers of each other set of organized information are at least partially correspondents of said contenants catégorisants.categorizing containers. 25. Système selon la revendication 24, caractérisé en ce que tous les contenants de chaque autre ensemble d'informations organisées sont nécessairement  25. System according to claim 24, characterized in that all the containers of each other set of organized information are necessarily 2 0 des correspondants desdits contenants catégorisants.  Correspondents of said categorizing containers. 26. Système selon la revendication 24, caractérisé en ce que chaque contenant possède un nom, et en ce qu'il est prévu des moyens, lors de l'adjonction dans un ensemble d'informations organisées d'un contenant correspondant à un 2 5 contenant catégorisant, pour nommer celui-ci indépendamment du nom du contenant catégorisant.  26. A system according to claim 24, characterized in that each container has a name, and in that means are provided when adding in a set of organized information a container corresponding to one containing categorizer, to name it regardless of the name of the categorizing container. 27. Système selon l'une des revendications 24 à 26 prise en  27. System according to one of claims 24 to 26 taken in combinaison avec l'une des revendications 16 à 20, caractérisé en ce que les moyens  combination with one of claims 16 to 20, characterized in that the means 3 0 de dérivation sont également aptes à dériver une pluralité de contenants organisés selon une structure de contenants, ladite structure de contenants étant préservée lors  Also, the branch structure is adapted to derive a plurality of containers organized according to a container structure, said container structure being preserved when de la dérivation.of the derivation. 28. Système selon l'une des revendications I à 27, caractérisé en ce  28. System according to one of claims I to 27, characterized in that que chaque ensemble d'informations organisées comprend une structure arborescente de contenants, et en ce qu'il comprend en outre des moyens pour représenter au moins des contenants de niveaux les plus élevés dans la structure arborescente sous  each set of organized information comprises a container tree structure, and further comprising means for representing at least the highest level containers in the tree structure under forme de classeurs.form of binders. 29. Système selon la revendication 28, caractérisé en ce qu'il comprend en outre des moyens pour représenter des contenants de niveau le plus bas dans la  29. System according to claim 28, characterized in that it further comprises means for representing containers of the lowest level in the structure arborescente sous forme de pages de classeur.  tree structure in the form of binder pages. 30. Système selon la revendication 29, caractérisé en ce qu'il comprend des moyens pour représenter des éléments de contenu accessibles via des contenants  30. System according to claim 29, characterized in that it comprises means for representing content elements accessible via containers formant des pages sous forme de calques appliqués sur la page considérée.  forming pages in the form of layers applied on the page considered. 31. Système selon l'une des revendications 1 à 30, caractérisé en ce  31. System according to one of claims 1 to 30, characterized in that que chaque ensemble d'informations organisées comprend une structure arborescente de contenants, et en ce qu'il comprend en outre des moyens pour représenter, dans des zones voisines d'un écran d'utilisateur, la structure arborescente d'un ensemble d'informations organisées propre audit utilisateur et la structure arborescente d'un  each set of organized information comprises a tree structure of containers, and in that it further comprises means for representing, in areas adjacent to a user screen, the tree structure of a set of information organized own user audit and the tree structure of a autre ensemble d'informations organisées du système.  another set of organized system information. 32. Système selon la revendication 31 prise en combinaison avec l'une  32. The system of claim 31 taken in combination with one des revendications 16 à 20, caractérisé en ce que les moyens de dérivation sont  Claims 16 to 20, characterized in that the diverting means are commandés par une opération de glisser-déposer effectuée sur ladite représentation  controlled by a drag-and-drop operation performed on said representation des structures arborescentes.tree structures. 33. Système selon la revendication 31 prise en combinaison avec la revendication 23, caractérisé en ce que les moyens de référencement sont commandés par une opération de glisser-déposer effectuée sur ladite représentation  33. System according to claim 31 taken in combination with claim 23, characterized in that the referencing means are controlled by a drag-and-drop operation carried out on said representation. des structures arborescentes.tree structures. 34. Système selon l'une des revendications 1 à 33, caractérisé en ce  34. System according to one of claims 1 to 33, characterized in that qu'il comprend en outre des moyens de notation de contribution en fonction du résultat des suggestions d'ajout d'informations entre deux ensembles d'informations organisées. 35. Système selon la revendication 34, caractérisé en ce que les moyens de notation de contribution comprennent une pluralité de variables de contribution aptes à varier dans un sens lorsqu'une suggestion d'ajout d'information est acceptée et dans le sens opposé lorsqu'une suggestion d'ajout d'information est refusée. 36. Système selon la revendication 35, caractérisé en ce qu'on prévoit  it further comprises contribution notation means according to the result suggestions for adding information between two sets of organized information. 35. System according to claim 34, characterized in that the contribution notation means comprise a plurality of contribution variables able to vary in one direction when a suggestion of adding information is accepted and in the opposite direction when a suggestion to add information is refused. 36. System according to claim 35, characterized in that provision is made une variable de contribution par couple d'ensembles d'informations organisées.  a contribution variable per pair of organized information sets. 37. Système selon l'une des revendications I à 36, caractérisé en ce  37. System according to one of claims I to 36, characterized in that qu'il comprend en outre des moyens de notation de similarité entre informations 2 0 accessibles via deux contenants appartenant à deux ensembles d'informations organisées, en fonction du nombre d'informations ajoutées après suggestion d'un  it further comprises similarity notation means between information accessible via two containers belonging to two sets of organized information, depending on the number of information added after suggestion of a contenant vers l'autre et réciproquement.  container towards the other and vice versa. 38. Système selon la revendication 37, caractérisé en ce que les moyens de notation de similarité comprennent une pluralité de variables de similarité aptes à varier dans un sens lorsqu'une suggestion d'ajout d'information est acceptée et dans le sens opposé lorsqu'une information dont l'ajout a été précédemment  38. System according to claim 37, characterized in that the similarity notation means comprise a plurality of similarity variables able to vary in one direction when a suggestion of adding information is accepted and in the opposite direction when information the addition of which was previously accepté est supprimée.accepted is deleted. 39. Système selon la revendication 38, caractérisé en ce qu'il est prévu  39. System according to claim 38, characterized in that it is provided une variable de similarité par couple de contenants correspondants.  a similarity variable per pair of corresponding containers. 40. Système selon l'une des revendications 34 à 39, caractérisé en ce  40. System according to one of claims 34 to 39, characterized in that que les moyens d'établissement de correspondance entre des contenants de deux ensembles d'informations organisées sont aptes à être mis en oeuvre entre deux contenants non préalablement correspondants deux-à-deux, mais appartenant à une chaîne de contenants correspondants deux à deux, en fonction de la valeur des variables de contribution et/ou de similarité relativement aux ensembles  the means for establishing correspondence between containers of two sets of organized information are able to be implemented between two containers not previously corresponding in pairs, but belonging to a chain of containers corresponding two by two, in a function of the value of the contribution and / or similarity variables in relation to the sets d'informations organisées associés.  associated organized information. 41. Système selon l'une des revendications 34 à 40, caractérisé en ce  41. System according to one of claims 34 to 40, characterized in that qu'il comprend des moyens pour neutraliser le processus de suggestion entre ensembles d'informations organisées lorsqu'une notation de contribution et/ou de  that it includes means to neutralize the suggestion process between organized sets of information when a contribution notation and / or similarité concernant lesdits ensembles est inférieure à un seuil.  similarity concerning said sets is less than a threshold. 42. Système selon l'une des revendications 1 à 41, caractérisé en ce  42. System according to one of claims 1 to 41, characterized in that que les moyens d'intercommunication sont aptes à suggérer ledit ajout d'information  that the means of intercommunication are able to suggest said addition of information pendant une durée limitée.for a limited time. 43. Système selon l'une des revendications 1 à 42, caractérisé en ce  43. System according to one of claims 1 to 42, characterized in that qu'il est prévu, lors de l'ajout d'un contenant dans un ensemble d'informations organisées, des moyens pour déterminer si ce contenant est susceptible en soi ou non  when adding a container to a set of organized information, provision is made for determining whether the container is susceptible in itself or not d'être mis en correspondance avec un autre contenant.  to be mapped to another container.
FR0007249A 1999-11-10 2000-06-06 SYSTEM FOR SHARING INFORMATION ON A COMPUTER NETWORK Withdrawn FR2805375A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0007249A FR2805375A1 (en) 1999-11-10 2000-06-06 SYSTEM FOR SHARING INFORMATION ON A COMPUTER NETWORK
PCT/FR2000/003157 WO2001035269A2 (en) 1999-11-10 2000-11-10 System for sharing data between at least two users on a computer network

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9914151A FR2805373A1 (en) 1999-11-10 1999-11-10 System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data
FR0004207A FR2807179A1 (en) 2000-04-03 2000-04-03 System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data
FR0007249A FR2805375A1 (en) 1999-11-10 2000-06-06 SYSTEM FOR SHARING INFORMATION ON A COMPUTER NETWORK

Publications (1)

Publication Number Publication Date
FR2805375A1 true FR2805375A1 (en) 2001-08-24

Family

ID=27248641

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0007249A Withdrawn FR2805375A1 (en) 1999-11-10 2000-06-06 SYSTEM FOR SHARING INFORMATION ON A COMPUTER NETWORK

Country Status (2)

Country Link
FR (1) FR2805375A1 (en)
WO (1) WO2001035269A2 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968334B2 (en) 2001-05-15 2005-11-22 Nokia Corporation Method and business process to maintain privacy in distributed recommendation systems
US7340214B1 (en) 2002-02-13 2008-03-04 Nokia Corporation Short-range wireless system and method for multimedia tags
US7102640B1 (en) 2002-03-21 2006-09-05 Nokia Corporation Service/device indication with graphical interface
US8499248B1 (en) 2004-04-29 2013-07-30 Paul Erich Keel Methods and apparatus for managing and exchanging information using information objects
GB2481191A (en) 2010-02-25 2011-12-21 Sita Information Networking Computing Ireland Ltd Graphical development tool for software application development
MY158867A (en) 2010-12-21 2016-11-16 Sita N V Reservation system and method
SG188579A1 (en) 2011-08-03 2013-04-30 Sita Inf Networking Computing Usa Inc Item handling and tracking system and method therefor
GB2499288A (en) 2012-02-09 2013-08-14 Sita Inf Networking Computing Usa Inc Path determination
US9087204B2 (en) 2012-04-10 2015-07-21 Sita Information Networking Computing Ireland Limited Airport security check system and method therefor
US10320908B2 (en) 2013-03-25 2019-06-11 Sita Information Networking Computing Ireland Limited In-flight computing device for aircraft cabin crew
GB2515142B (en) 2013-06-14 2020-12-16 Sita Information Networking Computing Ireland Ltd Portable user control system and method therefor
GB2523441A (en) 2014-02-19 2015-08-26 Sita Information Networking Computing Ireland Ltd Reservation system and method therefor
US10001546B2 (en) 2014-12-02 2018-06-19 Sita Information Networking Computing Uk Limited Apparatus for monitoring aircraft position
US11347704B2 (en) * 2015-10-16 2022-05-31 Seven Bridges Genomics Inc. Biological graph or sequence serialization
US11782587B1 (en) 2018-01-23 2023-10-10 Paul Erich Keel Computer-implemented environment for creating, sharing, and storing documents in a modular format
US10785058B2 (en) * 2019-02-01 2020-09-22 Comcast Cable Communications, Llc Managing network packet flows based on device information
CN117076005B (en) * 2023-10-16 2024-03-01 龙芯中科技术股份有限公司 Application running method and device, electronic equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768578A (en) * 1994-02-28 1998-06-16 Lucent Technologies Inc. User interface for information retrieval system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768578A (en) * 1994-02-28 1998-06-16 Lucent Technologies Inc. User interface for information retrieval system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KAMIYA K ET AL: "Grassroots: A system providing a uniform framework for communicating, structuring, sharing information, and organizing people", COMPUTER NETWORKS AND ISDN SYSTEMS, NORTH HOLLAND PUBLISHING. AMSTERDAM, NL, vol. 28, no. 11, 1 May 1996 (1996-05-01), pages 1157 - 1174, XP004018217, ISSN: 0169-7552 *
RUCKER J ET AL: "SITESEER: PERSONALIZED NAVIGATION FOR THE WEB. BOOKMARKS CAN BE A KEY COMPONENT FOR GATHERING PREFERENTIAL INFORMATION", COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY, ASSOCIATION FOR COMPUTING MACHINERY. NEW YORK, US, vol. 40, no. 3, 1 March 1997 (1997-03-01), pages 73 - 75, XP000689873, ISSN: 0001-0782 *
SUSAKI S ET AL: "Information sharing system on the WWW with interactive communication", COMPUTER NETWORKS AND ISDN SYSTEMS, NORTH HOLLAND PUBLISHING. AMSTERDAM, NL, vol. 30, no. 1-7, 1 April 1998 (1998-04-01), pages 747 - 749, XP004121477, ISSN: 0169-7552 *

Also Published As

Publication number Publication date
WO2001035269A2 (en) 2001-05-17
WO2001035269A3 (en) 2003-01-09

Similar Documents

Publication Publication Date Title
Haider et al. Invisible search and online search engines: The ubiquity of search in everyday life
JP6510624B2 (en) Method and system for intentional computing
Rogers Digital methods
Vossen et al. Unleashing Web 2.0: From concepts to creativity
Rogers The end of the virtual: Digital methods
Martella et al. Practical graph analytics with apache giraph
FR2805375A1 (en) SYSTEM FOR SHARING INFORMATION ON A COMPUTER NETWORK
Broekstra13 et al. A metadata model for semantics-based peer-to-peer systems
AU2004213986A1 (en) Semantic knowledge retrieval management and presentation
US20130268531A1 (en) Finding Data in Connected Corpuses Using Examples
EP1920358A2 (en) Methods for granting access to resources modifiable by users in a computer environment, and resources structured therefor
Snodgrass et al. API practices and paradigms: Exploring the protocological parameters of APIs as key facilitators of sociotechnical forms of exchange
Abu-Salih et al. Social big data analytics
US8775336B2 (en) Interactive interface for object search
Huurdeman Supporting the complex dynamics of the information seeking process
FR2807182A1 (en) System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data
Abela et al. Behaviour mining for automatic task-keeping and visualisations for task-refinding
FR2805374A1 (en) System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data
FR2807181A1 (en) System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data
FR2807180A1 (en) System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data
FR2805376A1 (en) System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data
FR2805379A1 (en) System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data
FR2806184A1 (en) Navigation in an information system to access pages provided by servers in a computer network, uses storage of link information to allow inverse linking
FR2805378A1 (en) System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data
Vossen et al. From Version 1.0 to Version 2.0: A brief history of the web

Legal Events

Date Code Title Description
ST Notification of lapse