WO2001035269A2 - Systeme de partage d'informations entre au moins deux utilisateurs sur un reseau informatique - Google Patents

Systeme de partage d'informations entre au moins deux utilisateurs sur un reseau informatique Download PDF

Info

Publication number
WO2001035269A2
WO2001035269A2 PCT/FR2000/003157 FR0003157W WO0135269A2 WO 2001035269 A2 WO2001035269 A2 WO 2001035269A2 FR 0003157 W FR0003157 W FR 0003157W WO 0135269 A2 WO0135269 A2 WO 0135269A2
Authority
WO
WIPO (PCT)
Prior art keywords
links
information
user
page
added
Prior art date
Application number
PCT/FR2000/003157
Other languages
English (en)
Other versions
WO2001035269A3 (fr
Inventor
Enrico Maim
Original Assignee
Enrico Maim
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/fr
Priority claimed from FR0004207A external-priority patent/FR2807179A1/fr
Application filed by Enrico Maim filed Critical Enrico Maim
Publication of WO2001035269A2 publication Critical patent/WO2001035269A2/fr
Priority to PCT/FR2001/001731 priority Critical patent/WO2001095146A2/fr
Publication of WO2001035269A3 publication Critical patent/WO2001035269A3/fr

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

Definitions

  • the present invention relates generally to a system and method for managing a plurality of organized information sets, in particular personal information over a network, as well as various systems and methods for transforming documents containing such information. , to navigate among pages containing such information, and to manage the display on a client workstation accessing such information.
  • a first aspect of the present invention aims to allow each individual of a community to organize their information and to share it selectively in community on the Internet or within a private network ("intranet"). ), with in particular the functions of collective construction of information of the same categories and automatic suggestion of information when it belongs to given categories.
  • This first aspect of the present invention aims more specifically to combine and organize, within the same user interface, different pieces of information, created or collected from different sources, for example by extracting them from other pages of servers. Internet.
  • Another object of the present invention according to this aspect is to ensure that each piece of information added adopts, in a transparent or semi-automatic manner, a determined category or subcategory of the set of organized information of which would like it to allow access to this piece of information.
  • Another object of the present invention according to this aspect is to ensure that non-confidential pieces of information inserted in the set of information of a user can be consulted by other users, within the framework of their own set of information, that is to say inserted by them in a proper ad hoc container in order to view them.
  • this first aspect of the invention aims 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 the bookmarks equipping current Internet browsers allow.
  • Yet another object of this first aspect of the invention is to ensure that the users who supply or consult the information elements can do so under conditions of anonymity.
  • the invention also aims, according to this first aspect, to propose that the fact for a user to add a piece of information to a category represents a "declaration of interest" which can be used in the context of new economic models , according to which, in reaction to such declarations of interest, other information may be offered (in particular for sale) to the user automatically.
  • Another object of the present invention is to propose means of self-purification by the users themselves, on the basis of '' a qualitative degree of contribution, exploitable by transitivity.
  • Another object of this first aspect of the invention is to preserve the anonymity of the users.
  • the present invention according to this first aspect also aims to automatically suggest or recommend new information to each User based on their declarations of interests or tastes.
  • the invention proposes in its first aspect 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 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 container said to be corresponding, means allowing a user to add information to the first set of information, means allowing a user to add information to the second set of information, means of intercommunication by network between the first and second sets of information, these means being a ptes, when adding information accessible via a first container, to suggest the same addition in the second corresponding container.
  • each item of information accessible via a workbook belongs to a group comprising direct content, references to content located in other sets of organized information and sub-containers via which other information is accessible.
  • references to content are constituted by links.
  • the first set of organized information forms 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 organized information sets constituting own private sets to a plurality of users.
  • the information accessible via the containers of the first set of organized information consists of the union of all the information accessible via the corresponding containers of the second set of organized information.
  • the organized structures are tree-like.
  • the system comprises, in association with a set of organized information in which an addition of information has been suggested, a memory containing a state indicator of the suggestion process.
  • the status indicator can take the values "Suggested”, “Accepted” and "Refused".
  • the system comprises a means making it possible to delete from a set of organized information information which has been previously added thereto only after verification of the status indicators associated with the other sets of organized information relating to said added information.
  • the verification of the status indicators consists in verifying that all of them have the value "Refused”.
  • the system further comprises warning means capable, when content type information previously added to 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 that content, and means allowing each user to duplicate said piece of content to said other set of organized information.
  • said information includes links to content external to the system.
  • each set of organized information also gives access to information, the addition of which does not give rise to any suggestion.
  • the means of intercommunication comprise means for deriving from an original container of a first set of organized information towards a destination container of a second set of organized information the information accessible via said original container , said means of establishing correspondence being able, in response to said means of derivation, to establish a correspondence between the original container and the destination container.
  • the means of establishing correspondence are also able to establish a correspondence between the destination container and the original container.
  • the means of intercommunication further comprise means capable, during the implementation of the bypass means, for selectively accepting and refusing the accessibility of said information via the destination container.
  • bypass means are capable of performing chain diversions between several sets of organized information.
  • the bypass means are able to merge, in a given destination container, information accessible via a plurality of original containers.
  • the system includes suitable means, when deleting in a container the accessibility of information by this container, preserving the accessibility of this information via an archiving container.
  • the means of intercommunication include means for referencing, from an original container of a first set of organized information to a destination container of a second set of organized information, the information accessible via said original container, said correspondence establishment means being capable of establishing a correspondence between the original container and the destination container in response to said referencing means only if a user of the destination container has accepted the referencing of said information.
  • 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 partly correspondents of said categorizing containers.
  • each container has a name, and means are provided, when adding to a set of organized information a container corresponding to a categorizing container, to name it independently of the name of the categorizing container.
  • bypass means are also capable of deriving a plurality of containers organized according to a container structure, said container structure being preserved during the bypass.
  • each set of organized information comprises a tree structure of containers, and the system further comprises means for representing at least containers of the highest levels in the tree structure in the form of binders.
  • the system further comprises means for representing containers of the lowest level in the tree structure in the form of binder pages.
  • the system includes means for representing elements of content accessible via containers forming pages in the form of layers applied to the page in question.
  • each set of organized information comprises a tree structure of containers, and the system further comprises means for representing, in areas close to a user screen, the tree structure of a set of organized information specific to said audit user and the tree structure of another set of organized information from the system.
  • bypass 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 performed on said representation of the tree structures.
  • the system also comprises means of rating contributions as a function of the result of suggestions for adding information between two sets of organized information.
  • the contribution rating means comprise a plurality of contribution variables capable of varying in one direction when a suggestion for adding information is accepted and in the opposite direction when a suggestion for adding information is refused.
  • the system further comprises means of rating similarity between information accessible via two containers belonging to two sets of organized information, according to the number of information added after suggestion from one container to the other and vice versa.
  • the similarity rating means comprise a plurality of similarity variables capable of varying in one direction when a suggestion for adding information is accepted and in the opposite direction when information whose addition has been previously accepted is deleted.
  • 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 two by two, but which belong to a chain of containers corresponding two by two, in function of the value of the contribution and / or similarity variables relative to the associated organized information sets.
  • the system comprises means for neutralizing the process of suggestion between sets of information organized when a rating of contribution and / or of similarity concerning said sets is less than a threshold.
  • the means of intercommunication are capable of suggesting said addition of information for a limited period.
  • each content is seen as a document (or part of a document) for example in XML format to which is optionally associated a presentation specification in XSL format.
  • content can only be displayed on the screen of a client workstation autonomously if an XSL code is associated with it.
  • a directory could be first of all content that we want to present to the user as a stand-alone page, insofar as an XSL document for the presentation of directories is associated with it.
  • a directory will also have one and only one container, the contents of which will themselves be directories or other types of documents. Some of these documents may contain multiple containers, which themselves will contain content, and so on.
  • the present invention proposes first of all to allow a user to import any content from any container to another container, subject to good compatibility of the types of information, and this to any level in the user's information structure.
  • Another object of this second aspect of the invention is to allow the user to create links not to entire pages of the Web, but to well-defined parts of pages, and for example to content buried in pages.
  • Yet another object of this aspect of the invention is to allow a user to obtain via the Internet, and to incorporate within preexisting pages, parts of pages coming from outside.
  • the documents which constitute the pages published on the Internet sites are restructured to make it possible to distinguish the contents and containers which constitute them.
  • an XML data structure is broken down into a set of containers and content. These contain the elements of the initial XML structure.
  • the containers can optionally be associated with categories, so that the contents they have are classified in this category.
  • this second aspect of the invention proposes to restructure the information found in pages to allow the user to compose himself his own pages, and this from containers and content he finds during his browsing on the Web.
  • - a structure tree (macrostructure) defining the nesting of the different information containers, each carrying the references of its contents;
  • the administrator of a site has an initial XML code which he wishes to share with the users of the system.
  • the “source” code can be restructured and stored avoiding redundancies, the user specifies which elements are content and to which container each content belongs. This makes it possible to constitute what is called here a macrostructure.
  • Containers are specified by means of attributes, which offers the advantage of not modifying the structure and thus, in particular, of not calling into question the application of style sheets (in particular in XSL language).
  • the restructuring is thus "non-intrusive”.
  • the macrostructure makes it possible to dissociate the elements, from the structure in which they reside.
  • the elements are stored in a unique manner preferably on a shared server regardless of the number of times they have been reproduced.
  • a decomposed structure is built, made up on the one hand by the macrostructure tree and on the other hand by the set of contents.
  • this second aspect of the invention proposes a method for transforming a document, in particular a document in XML format intended to be transmitted via a computer network such as the Internet, the document comprising a tree structure of document having nodes containing information, able to be combined with presentation data, in particular in XSL format, of said information, characterized in that it comprises the following steps:
  • the method further comprises the step of inserting into the macro structure of containers suitable for receiving information.
  • This second aspect of the invention also proposes a data processing system intended to present documents on a display device or the like, characterized in that it comprises:
  • Another approach of the second aspect of the present invention aims to propose a method of managing content categories making it possible to take advantage of content manipulations made by users in document structures capable of receiving such content in containers having themselves same category information.
  • the invention proposes a method for assigning categories to content accessible by a plurality of users, each content being moreover capable of being selectively placed in a plurality of containers belonging to document structures, these containers each having category information, and to each content that can be associated with a plurality of category information allowing users in particular to selectively access by a category criterion to said content or to automate the selection of the presentation of said content, comprising the step consisting of , when a given content is placed in a given container of a document, to be added to the category information already associated with said content the category information possessed by said given container. Said category information added to the content can be added in suggested mode.
  • a third aspect of the invention relates more precisely to new functionalities added to an Internet browser.
  • a tool for browsing the Internet comprises means for accessing pages in HTML or other language, either by direct entry of the URL address of the page to be reached, or by clicking using the button. a mouse on a link contained in a page, which points to another page.
  • the present invention aims to overcome these limitations of the state of the art and to propose a navigation system which makes it possible, in an extremely simple and intuitive manner, to access pages relating to subjects that the user has considered relevant in relation to the current page.
  • Another object of this third aspect of the present invention is to provide the user with extremely simple and intuitive means of creating links from one page to another, with if necessary a bidirectionality, and this independently of any structure of link directories.
  • Yet another object of this third aspect of the present invention is to allow a user to benefit, selectively, from links created by third parties in relation to his own subjects of interest.
  • this third aspect of the invention provides a navigation system implemented in a computer system for accessing pages provided in particular by servers via a computer network by activation of links, characterized in that it comprises in combination:
  • Said links include added links, associated with said current page and making it possible to access other pages, and the display means are capable of displaying representations of said added links which can be activated directly by said input means.
  • the means for creating added links include an input means allowing the user to drag and drop the current page (or part of the current page) or a displayed element representing the current page (or part of the page current) to another displayed page or a displayed element representing said other page.
  • the system comprises means for displaying the current page and its associated added link display area and means for displaying the link display areas of a plurality of other pages, adjacent to one another.
  • each display area for added links also contains a displayed element representing the page to which said added links are associated, and the means for creating added links implement drag-and-drop operations between the displayed elements representing the pages and the displayed elements representing the added links.
  • the system comprises means for displaying, under the control of an input means acting on a given display area of added links, the page with which said added links are associated.
  • said added links are selectively monodirectional or bidirectional.
  • Said structure of groups of links is a tree structure of directories each containing other directories and / or created links.
  • Said links include bookmarks, and the selection and display means are capable of displaying only the groups of links containing a bookmark corresponding to the current page.
  • the selection and display means are capable of displaying in a first zone displayed elements representing added links, and in a second zone, bookmark directories containing a bookmark corresponding to the current page.
  • the second area is displayed by a hierarchical representation of said bookmark directories and, selectively, the contents of said directories.
  • the system comprises means for displaying a plurality of directories containing first displayed elements constituting links to pages and second graphic representations constituting links added between said pages, and means for manipulating by drag and drop said first and second graphic representations to add, delete or move from one directory to another links to pages or links added between pages.
  • the system comprises means for storing, in association with a plurality of users of client stations, a plurality of link tables designating, for each page constituting an end of a link created, the or each of these links.
  • the means for creating links are able to be controlled by means of comparative processing of said plurality of link tables, to create links in a state called suggested.
  • the system comprises means for displaying displayed elements representing each link created in said suggested state and, in association with each of said elements, means sensitive to an input device for modifying the state of the corresponding link.
  • the means for modifying the state of a link created in the suggested state include means for deleting the link.
  • the means for modifying the state of a link created in the suggested state include means for validating the link by bringing it into an accepted state.
  • the means for modifying the state of a link in the suggested or accepted state include means for validating the link by bringing it into a frozen state.
  • the system further comprises means for adjusting each link brought to the frozen state on an address at which the content of the page has been stored.
  • the system further comprises means capable, under the control of the user, of assigning to any accepted or frozen link an attribute for characterizing the type of interest carried by the user to the content designated by said link.
  • the characterization attributes include a "Supplier” attribute and a "Requestor” attribute.
  • the system comprises, in association with each displayed element representing a created link, a graphic coding means for designating the state of said link.
  • the graphic coding means comprises color coding in a frame surrounding said displayed element.
  • the system further comprises means controlled by the user to configure the comparative processing carried out on said plurality of link tables.
  • the means of configuration controlled by the user comprise means of selecting the users for the link tables from which the comparative processing is carried out.
  • said comparative processing means operate on a plurality of link tables containing only the links created validated.
  • the system comprises means for suggesting to a user, in association with access to a first page, a bidirectional added link with a second page, said second page being chosen by said system according in particular to its relevance for the user with regard to the first page so that when accessing said second page, the added link reverses, from said second page to said first page , can be activated by the user.
  • - Said second page is chosen by the system also according to the frequency of access to it by the user.
  • said second page is chosen by the system also according to the number of preexisting added links associated with said second page.
  • the system comprises means for processing said second page so as to include therein an element for displaying said reverse link.
  • the processing means are configurable.
  • the processing means are capable of including said element for displaying the reverse link at a location on the second page normally intended to include an advertising banner or the like.
  • system further comprises means for selection by the user of external groups of links and the selection and display means are also capable, when displaying a page, of displaying the links of at least an external group of links selected.
  • - external link groups include at least one of:
  • - Said links are located in containers defined in the structure of the current page, and point to containers capable of enriching said current page in locations defined by the position of said containers in said structure.
  • the present invention relates generally to the display on a computer station of interactive elements such as pages in HTML language (Hypertext Markup Language), loaded from a remote station such as a Internet server.
  • HTML language Hypertext Markup Language
  • This fourth aspect of the present invention aims, in particular in such a context, to significantly attenuate, from the point of view of the user, the impression of unnecessary waiting that he frequently experiences when browsing the Internet, or other information consultation on “slow” networks.
  • This fourth aspect of the present invention aims to provide a particularly simple and intuitive way to selectively display primarily one of two or more display elements such as HTML pages, windows or the like, and to be able to establish and by default keep the display of an initial display element independently of the position of the pointer, and only delete this initial display element by a well-defined pointer movement.
  • the invention proposes according to this fourth aspect a method for managing the display, on the display screen of a computer station, of display elements comprising a first element and a second element, the area of display of the first element covering at least partially the display area of the second element, characterized in that it comprises the following successive steps:
  • aspects of the method according to this fourth aspect of the invention are the following: - the method is implemented on a client computer station, the display elements are capable of being loaded from a server computer station, the first element is a fast-loading element, the second element is a loading element slower, and:
  • the detection step is started only at the end of the loading of the second element.
  • the first element contains one or more interactivity sub-elements
  • the method further comprises the step consisting, at the latest at the same time as step (b), of deactivating the said sub-element (s) interactivity.
  • the second element belongs, together with at least one other element, to an interactive page.
  • the method further comprises, during and / or at the end of the loading of the second element, at least one step of displaying, outside said zone for displaying the first element, another element informing the user of the progress of said loading.
  • the method further comprises, after step (c), the following steps:
  • - Said determined region consists of a tab or button located in the vicinity of the display area of the second element.
  • - Said determined region is that of an interactivity sub-element belonging to the second element.
  • the first element is not replaced by the second element until the pointer has been brought outside the determined region of the display zone of the first element at least once before the detection carried out in step (b).
  • the first element comprises several sub-elements capable of being displayed in determined regions of the display area of the first element
  • the second element comprises several sub-elements capable of being displayed in regions essentially superimposed with the regions of the sub- elements of the first element
  • step (b) is implemented region by region
  • step (c) is implemented sub-element by sub-element.
  • step (d) is implemented region by region
  • step (e) is implemented sub-element by sub-element.
  • steps (b) and (d) are implemented taking into account the path of the pointer between sub-elements.
  • the method further comprises, before step (c), the additional step of displaying, superimposed on the first element, at least one sub-element belonging to the second element.
  • Step (c) comprises a sub-step of moving on the screen the representation of the first element towards the outside of said screen or of a window thereof.
  • the sub-element (s) of the second element displayed superimposed on the first element remain stationary.
  • the step of detecting the movements of a pointer is implemented while a button of a pointing device controlling the movements of the pointer is not actuated and / or while this button is actuated.
  • the step of detecting the movements of a pointer is implemented while the button of the pointing device is pressed, during a drag-and-drop operation of a movable sub-element between said elements.
  • the method further comprises the steps of: detecting the pressing of a button of a pointing device controlling the movements of the pointer, detecting the movements of the pointer during this pressing; create and memorize a link between an element or sub-element on which the pointer was located at the start of the press and an element or sub-element on which the pointer is located at the end of the press.
  • the method further comprises the steps of: detecting the pressing of a button of a pointing device controlling the movements of the pointer, detecting the movements of the pointer during this pressing; move the sub-element from a location under the pointer at the start of the button press to a location under the pointer at the end of the button press.
  • the method further comprises the steps consisting in: detecting the pressing of a button on a pointing device controlling the movements of the pointer, detecting the movements of the pointer during this pressing; duplicate the sub-element from a location below the pointer at the start of the button press into a location below the pointer at the end of the button press.
  • the display elements are displayed in display areas such that at least one of the homologous edges of said areas is gradually shifted in order stacking, so that you can detect the entry of the pointer in any of the display areas.
  • a display management system on the display screen of a client computer station, of display elements comprising an upper element and an element lower, the first element being capable of variably covering the second element, characterized in that it comprises: means for displaying the lower element in a first predetermined area, means for displaying the upper element in one of the at least two second zones such that the upper element covers the lower element to different degrees, means sensitive to the position of a pointer actuated by the user and capable of modifying the position of the upper element as a function of the presence of said pointer in a sensitive region defined by contours of the first zone and / or of the second zone, and means sensitive to a user action to activate / deactivate said position modification means.
  • the display elements are pages transmitted to the system from a server.
  • the means responsive to user action include a single clickable display area located in the vicinity of an area occupied by the upper element regardless of its position.
  • the upper element is able to adopt one of two positions in which it covers a substantial part of the lower element and it covers a marginal part of the lower element, respectively.
  • At least the upper element has interactivity means and, in the second position of the upper element, the means sensitive to the position of the pointer bring into play, ie a first sensitive zone outside the zone occupied by the upper element in its first position, the entry of the pointer into this first sensitive zone causing the upper element to be brought into its first position with its inactive interactivity means, ie a second sensitive zone included in the zone occupied by the 'upper element in its second position, the entry of the pointer in this second sensitive zone causing the upper element to be brought into its first position with its active interactivity means.
  • FIGS. 1 to 13 schematically illustrate different states and behaviors of a display management method according to the invention
  • FIGS. 14 to 17 are schematic perspective views illustrating the behavior of two superimposed display elements and associated areas according to a generalization of the invention
  • FIG. 18 is a plan view of the various zones used.
  • FIG. 19 represents two possible positions of a given display element
  • FIG. 20 indicates a symbolic representation of the states of the display management system
  • FIG. 21 is a diagram of states-transitions of the system
  • FIG. 22 illustrates by a sectional modeling, transverse to the plane of the display, the behaviors illustrated in FIG. 21,
  • FIGS. 23 to 25 are schematic perspective views illustrating the behavior of the system of the invention with three superimposed display elements
  • FIG. 26 illustrates by sectional modeling, transverse to the display plane, the behavior of a system according to the invention applied to a plurality of superimposed display elements.
  • FIGS. 27 to 31 illustrate the different stages 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 pages added by a user according to the present invention
  • FIG. 33 illustrates the combination of the Web and a personal canvas constituted by such added links
  • FIG. 34 schematically illustrates how to create the association between a page and its added links
  • FIG. 35 illustrates a way of displaying a page and the added links which are associated with it
  • FIGS. 36a to 36c illustrate an example of a combination of added links
  • FIGS. 37 illustrates various operations making it possible to create added links between pages
  • FIGS. 38 and 39 illustrate the application of a display management mechanism according to the invention to an overlay of pages provided with their added links
  • FIG. 40 illustrates a display arrangement different from the added links associated with pages
  • FIG. 41 illustrates the correspondence between the operations for creating added links and the storage of such added links
  • FIG. 42 illustrates in a similar manner to FIG. 41 a correspondence in the case where the added links also include reverse added links
  • Figure 43 schematically illustrates a storage mode for added links
  • FIG. 44 schematically illustrates a first mode of obtaining via a network a page and the added links which have been associated with it
  • FIG. 45 schematically illustrates a second mode of obtaining via a network a page and the added links which have been associated with it
  • FIGS. 46 to 51 illustrate six examples of manipulation of pages and links added within the framework of pages contained in user directories
  • Figures 52 and 53 illustrate two modes of presentation of stored links or added links of second rank in relation to a current page
  • FIG. 54 illustrates an example of a user access interface within the framework of a page with which added links are associated
  • FIG. 55a illustrates an example of a user interface in which, on the one hand, there are associated links added, and on the other hand a selection of close directories,
  • FIG. 55b illustrates a detail of display of a page and of associated added links making it possible to change an attribute of an added link
  • FIG. 56 illustrates in a standard UML 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. 58 and 59 schematically illustrate the foundations of the primary method of calculating proximity between directories for a given current page
  • FIG. 60 schematically illustrates the foundations of the transitive proximity calculation mode between directories for a given current page
  • FIGS. 61 to 63 schematically illustrate the foundations of three advanced modes of calculating proximity between repertoires
  • FIG. 64 illustrates two modes of graphic representation of an added link associated with a page
  • FIG. 65 schematically illustrates direct access to the directories
  • FIG. 66 illustrates a detail of display of a directory and of the links which 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 aforementioned attribute
  • FIG. 68 schematically illustrates the placement of containers in a document
  • FIG. 69 schematically illustrates the import of content from one container to another
  • FIG. 70 schematically illustrates the derivation of a container
  • FIG. 71 schematically illustrates the import of content from one document to a container of 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 the system
  • FIG. 75 schematically illustrates the method implemented by the system
  • FIG. 76 schematically illustrates two containers
  • FIG. 77 schematically illustrates the import process
  • FIG. 78 schematically illustrates the method of importing content into a container of a different category
  • FIG. 79 schematically illustrates nested containers
  • FIGS. 80a and 80b schematically illustrate the derivation method
  • FIG. 81 schematically illustrates an infinite structure of derivation
  • FIG. 82 schematically illustrates a simple example of a document structure
  • FIG. 83 schematically illustrates the principle of storage of the attributes of the contents
  • FIG. 84a illustrates an example of a user interface in which a page is notably associated with added links and links on content in a container
  • FIG. 84b illustrates an example of a user interface in which there are check boxes "Applicant” and "Offeror",
  • 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
  • FIG. 86 is a class diagram including the notion of User Profile
  • Figure 87 is another illustration of the organization of Profiles, Containers and Contents,
  • FIG. 88 is a class diagram into which the notions of Reference to Content (link to content) and of Popularity of Content are introduced,
  • FIG. 89 is a class diagram into which the concepts of Direct Content and Indirect Content are introduced.
  • FIG. 90 illustrates an essential advantage of a basic embodiment of the invention
  • FIG. 91 is a class diagram illustrating the notion of Cascade Reference
  • FIG. 92 illustrates a principle of profile propagation
  • FIGS. 93 and 94 illustrate the creation of links corresponding to the propagation of Profiles in FIG. 92
  • FIG. 95 illustrates another principle of profile propagation
  • FIGS. 96 and 97 illustrate the creation of links corresponding to the propagation of Profiles in FIG. 95
  • Figures 98 and 99 illustrate the creation of links caused by a referencing process
  • FIG. 100 is a class diagram integrating the notions of propagation of Profiles and Referencing of Profiles, FIGS. 101 to 104 illustrate four possible link transition configurations,
  • FIGS. 105 to 107 illustrate the creation of links concerning the archiving of elements and their restoration
  • FIG. 108 illustrates a principle of collecting Profiles in the form of a set of common files
  • FIG. 109 is a class diagram implementing the principle of FIG. 108.
  • FIG. 110 illustrates a construction of a tree structure within the framework of the principle of FIG. 108
  • FIG. 111 is a class diagram showing all the principles of FIGS. 85 to 110,
  • FIG. 12 illustrates a tree structure of binders according to the present invention
  • FIG. 113 is a class diagram integrating this notion of classifiers
  • FIG. 114 illustrates the structure of an SQL database associated with the organization into workbooks
  • FIG. 115 illustrates a table of binders
  • FIG. 116 illustrates a table of elements specific to the user in a workbook
  • FIG. 1 17 illustrates a table of links
  • FIG. 118 illustrates the creation of a “Derivative” element
  • FIG. 119 illustrates the deletion of a proper non-derivative sub-element
  • FIGS. 120a to 120c illustrate the removal of a proper derivative sub-element
  • FIG. 121 illustrates a table of links when restoring a sub-element
  • FIG. 122 illustrates the behavior of “implicit” sub-elements
  • FIG. 123 illustrates a corresponding link table
  • FIG. 124 illustrates the acceptance of implicit sub-elements
  • FIG. 125 illustrates a corresponding link table
  • FIG. 126 illustrates the refusal of an implicit sub-classifier
  • FIG. 127 illustrates the corresponding link table
  • FIG. 127a illustrates a possible example of a user interface
  • FIG. 128 illustrates a proximity measurement between two Profiles
  • FIG. 129 illustrates another possible proximity measurement
  • FIG. 130 illustrates the respective contents of two pages of user workbooks, organized according to two common criteria
  • FIG. 131 illustrates suggestions by Collaborative Recommendation
  • FIG. 132 illustrates the two pages of user workbooks after insertion of an accepted element
  • FIG. 133 illustrates these same two pages of binders, with insertions of elements accepted in positions meeting other criteria
  • FIG. 134 illustrates a server architecture making it possible, with the present invention, to implement anonymity and commissioning functions on electronic commerce operations.
  • Chapter I relates in particular to improvements in the management of the display on screen of graphic elements such as web pages, parts of pages or even windows of an operating system, in different circumstances such as page loading or drag and drop operations.
  • Chapter II aims, using in particular the display management of Chapter I, to allow a user to create personal links between pages of the Web, and also aims at various techniques to take advantage of these created links.
  • Chapter III aims, using in particular the link techniques created in Chapter II, various techniques for the mutual enrichment of knowledge, notably via the Internet. In this regard, it takes up the concepts set out in Chapter II and generalizes them.
  • Chapter I Management of superimposed display areas ( Figures 1-27)
  • an interactive page P has been schematically represented, such as a page in HTML language, which must be loaded on a slow and / or irregular network such as the Internet, and which is bulky (a few tens of kilobytes, or even more than a hundred kilobytes, or even more).
  • This page is broken down into two display areas Z1 and Z2 which together cover, typically, a window of Internet browsing software.
  • a page element E2 is loaded in the zone Z1
  • a page element E5 is loaded in the zone Z2.
  • zone Z1 is defined as being able to “tolerate” the overlapping of the display of page P by the display of external elements.
  • the decomposition into zones makes it possible to distinguish a zone (Zl) in which the display of the current element (element E2) can be covered (entirely or partially) by the display of one (or more) elements that do not belong to the interactive page P.
  • zones in question could be of any shape, and consist of parts (sub-zones) contiguous or not.
  • the aim is to make the user wait while the interactive page is loading, the basic idea consisting in presenting him beforehand with an additional element (element El in the diagrams which follow), the essential characteristic of which is d '' be light in terms of volume of data to be transmitted, for example by being made up of a simple introductory text, that is to say very quickly loadable.
  • FIG. 2 illustrates the element El displayed in the zone Zl after being loaded.
  • the display of this element El is carried out in the zone Zl in order to be able to subsequently cover the display of certain elements of the interactive page (and more precisely the element E2) when these are loaded.
  • the machine can be equipped with means (button, dialog window or other) then allowing the user to declare if necessary that by thereafter, he no longer wishes to see the element El displayed.
  • This means can for example be a sub-element of interactivity in E2 or El.
  • this zone Zl does not serve to trigger the reverse operation, that is to say the replacement of the element E2 by the element El.
  • the element El 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 E5) are not yet loaded;
  • the element E1 remains displayed, even after loading of the elements E2 and E5, as long as the pointer actuated by the mouse does not make an entry in the display zone Z1 containing the element E1;
  • the element El remains displayed as long as the pointer has not left the zone Z1, then again entered therein; it is only in this latter case that the element E1 is replaced by the elements E2 and E5 on the display screen.
  • the elements E2 and E5 of the interactive page P may be transmitted in a so-called “streaming” approach, a conventional approach in which elements of a page are displayed and executed before the page is entirely loaded. It is indeed not necessary to wait until all of these elements of the page are loaded to activate the "sensitive area (s)".
  • the separate parts El.l and El .2 of the element El (which may for example be mainly text) can be loaded and displayed successively, in l 'reading order.
  • each "window" is intended to show on the one hand the new elements displayed in reaction to the action of moving the mouse pointer presented in the immediately preceding window, if any, on the other hand a new action of moving the mouse whose effect is shown in the following window, if applicable:
  • the entry of the pointer in the region assigned to the sub-element El.l of the element El will cause its replacement by a sub-element E2.1 of the element E2, while the other sub-element El.2 of the element El will remain intact.
  • FIGS. 11 and 12 show other examples of implementation of the reversibility, as described below:
  • This rule describes a form of reversibility of rule 4: if the pointer returns from the region of sub-element E2.2 to to the region of sub-element E2.1, even if it has passed through other regions in the meantime but provided that the replacements caused in the meantime have been automatically undone, the display of sub-element E2.2 is replaced by that of sub-element El.2. This is illustrated in Figure 11.
  • the diagram in Figure 12 shows an alternative implementation of rule 5.
  • This rule consists in making the above operation reversible: if the pointer returns from zone Z2 to the region occupied by the sub-element E2.2, even if it has passed through other zones in the meantime but provided that 'having automatically undone the replacements caused in the meantime and if the return is made before a given' time threshold ', the operation is considered to be undone.
  • This embodiment advantageously makes it possible no longer to call the sub-elements constituting the initial element El when a predetermined period of time has elapsed during which the user has remained on the sub-elements of the element E2, which is indicative for example of a start of the user's work on element E2.
  • Element El introductory or welcoming text (and where appropriate image and / or sound, etc.), the main thing being that loading is relatively fast compared to 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 Zl;
  • Element E5 the part of the main page occupying zone Z2.
  • PC personal computer type
  • MacOS registered trademark
  • the region in which the initial element El is displayed is not superimposed exactly on the region in which the element E2 of the main page is displayed.
  • the region occupied by the element El can be smaller than the region (zone Zl) in which the element E2 will be displayed, under the conditions defined above.
  • the part of the zone Z1 not covered by the region occupied by the element El can for example remain blank as long as the element E2 is not displayed.
  • the region occupied by the element El can also be larger than the region (zone Zl) in which the element E2 will be displayed.
  • the recall of the display of the element El in place of the element E2 is carried out not by bringing the mouse pointer into the zone Z2, but by any other action and in particular:
  • the different sub-elements of the initial element E1 are contiguous or non-contiguous.
  • the element El after having been initially displayed, is covered by certain sub-elements (buttons, etc.) belonging to the element E2 during loading (case for example of a loading of E2 in streaming ").
  • the element El is therefore in a sort of “sandwich” between certain sub-elements of the element E2 (those which will remain invisible until the element El is removed) and other sub-elements of the element E2 which will behave as indicated above.
  • the disappearance of the element El when the pointer enters the associated zone, when it is done by translating the screen representation of said element to the outside, is advantageously performed by leaving the sub-element (s) of the element E2 still visible on the screen.
  • the element El initially displayed contains interactivity sub-elements (links to other pages, buttons triggering actions, etc.).
  • these sub-elements 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 sub-elements become inactive from the moment when the entry of the pointer in the zone of the element El must cause the disappearance of this element.
  • the interactivity sub-elements in question can no longer be reached.
  • the PI page of the upper plane can also occupy an offset position; it still partially covers page P2, but is only partially visible, marginally, as illustrated in Figure 15.
  • the user can thus distinguish four zones Zl 1, Z12, Z13 and Z14 in his display window, as shown in FIG. 18.
  • Zone Zl 1 is an area which is never covered by the PI page of the upper plane. Zone Z1 1 therefore permanently contains the corresponding part of page P2 of the lower plane.
  • the area Z12 is the area covered by the page PI of the upper plane when the latter is not offset, that is to say when it occupies the position illustrated in FIG. 14.
  • Zone Z13 is the zone occupied by the clamp, which can be symbolized graphically in any suitable way.
  • zone Z14 is an area which is covered by the page PI of the upper plane whatever the position of the latter.
  • the states are defined by: “the position of the page of the upper plane (that is to say offset or not offset)
  • Figure 19 shows the two possible positions of the PI page of the upper plane.
  • FIG. 20 shows an example of the state of the system, for which a set of sensitive regions is specified reacting to the arrival in these of the mouse pointer, the position of the page of the upper plane and the state of the clamp.
  • 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 Zl 1 and Z14) designate regions for which the entry of the pointer in one of them causes an action, as will be detailed later.
  • the behavior of the system is presented in FIG. 21 in the form of a state-transition diagram, which illustrates the different manipulations of the pages PI and P2 in their respective planes.
  • the system ensures that the PI page of the upper plan is only replaced by the page P2 of the lower plan (once the latter has been loaded from a server, if applicable) only on an implicit action of the user, and this very intuitively. Unlike “streaming” methods, the user will not be surprised to see the page he is examining replaced.
  • the user can cause the reverse movement of the PI page of the upper plane (i.e. bring it back to the zone Z12):
  • the second choice makes it possible to use the interactivity means contained in the PI page of the upper plan in zone Z12.
  • “Clamping” the PC clamp has the effect of avoiding shifting the page from the upper plane afterwards manipulations indicated above. In other words, the PI page shift and return process is then neutralized, and the mutual positions of the PI and P2 pages (whether with the PI page shifted or the PI page not shifted) are frozen.
  • This neutralization can advantageously be removed by clicking again in the zone Z13 to "loosen” the PC clamp.
  • FIGS. 23 to 26 a page P2 of lower plane which is fixed, and two pages PI and PI ′ of respectively upper and intermediate levels, which can individually adopt an non-offset (fully visible) or offset position, have been illustrated.
  • the PC clamp here is common to the three pages, and can therefore occupy a single graphic area.
  • a graphic means of "joining" the adjacent planes taken two by two can be implemented. When this means is activated, the two planes it connects move together.
  • the system described with reference to FIGS. 14 to 26 can here again advantageously be implemented in the context of applications on the Internet, in which the pages take a significant time to be loaded.
  • the PI page of the upper plan can be loaded first and make the user wait while the P2 page of the lower plane is loaded.
  • the display of the pages PI and / or P2 can make the user wait while another page P3 is loading, even more "lower" according to the presentation adopted here, and so on.
  • FIG. 27 illustrates a first window FI which partially covers a second window F2 (it does not matter here whether the window which is "on top” is active or not).
  • FIG. 28 Illustrated in FIG. 28 is a mouse pointer (or cursor) PT which is located on an object 01 (such as a file or document) visible in the window FI. Pressing the user with a mouse button makes it possible, in a manner known per se, to "grasp” this object with a view to an operation, also known per se, of "drag and drop".
  • object 01 such as a file or document
  • the pointer PI accompanied by the object 01 travels a path (arrow fl) from the window FI to the visible part of the window F2, therefore crossing the edge (left in this case) of the window Fl , without letting go of the mouse button.
  • the window F1 moves, preferably according to the same movement as the pointer PT, so thus gradually clearing the window F2.
  • the system signals the user when the pointer reaches the edge of the first window; this signaling can be chosen from the group comprising visual signaling, audible 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 provided with the object 01 has remained in the area 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 on a computer station keyboard is pressed, or even by voice command;
  • the setting in the background or the displacement of the window F1 to release the window F2 can be reversible, for example by performing a reverse displacement of the pointer after its movement according to the arrow f2.
  • Figure 32 illustrates this concept, each black dot representing a page and each line separating two black dots representing an added link.
  • the user sets up new links during his navigation, these added links being intended to help him in his navigation in the future. It thus navigates in a “pro-active” way.
  • the set of added links which can be considered as his personal miniature web (Miniweb)
  • Web Internet web
  • the system is installed between the browser and the sites visited, and increases for each user the network of links that are available to navigate.
  • the system is provided with means for storing added links. These means allow, at each access (Link) to a page to which one or more added links have been associated, to present these to the user in addition to said page.
  • an indirection is established towards a table (Link-Added Links) for storing added links, in order to associate these added links (Added Links) with this page before the present to the user.
  • the storage of added links can be local (on the client computer) or remote (on an appropriate server).
  • remote storage we will focus on remote storage. Indeed, in some of the improvements which will be presented below, the links forming the personal miniature webs of different users will be automatically compared with one another and added links will be able to be communicated from one personal web to another, which remote storage makes it easier to implement.
  • Each personal web can thus be enriched with links added from other personal webs, and automatically proposed by the system which, for example, also has means to detect that their respective users share the same centers of interest.
  • each user can form a circle of relationships (friends) offered by the system following the detection of common centers of interest.
  • Figure 35 illustrates the principle according to which, as a result of access by the user to a pi page via the Internet, the system automatically presents him with a certain number of added links, in this case in the form of graphic symbols, towards pages p2, p3 and p4 which he had associated with the page pi during previous navigations.
  • the added links are created by the user in order to establish relationships between pages that interest him.
  • the links added 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 also).
  • the set of added links therefore constitutes a network of additional relationships between pages which 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 certain number of pages, and for FIG. 36c, the “agglomerated” network of said links.
  • the system allows the user to navigate to pages linked to it.
  • the network of added links thus constitutes for the user a personal navigation network according to his own "mental diagram" and allows him to more easily find the elements of information which he had already identified.
  • the sliding plan approach described in the first part of this description is particularly favorable to the establishment of links added by the technique, conventional in itself, of "drag and drop".
  • User can select a page or element (or graphic zone which represents it) which is in a plane, drag it and drop it in another page (or graphic zone which represents it) which is in another plane, in order to establish a link added between these two pages.
  • this “drag and drop” technique with revealing the display areas in the background on which the cursor points during the operation itself can be generalized in case these areas display are windows of a conventional operating system such as "Windows” or "MacOS” (registered trademarks). More precisely, it is provided in this case that a window located in the background passes into the foreground when the cursor "pushes" the window which was in the foreground when arriving against one of its edges.
  • Figure 37 shows an example of creating added links between pages, by drawing links between the graphic objects representing them (located on the left of the pages), the clamp described above being active and blocking the movement of the planes.
  • FIG. 37 illustrates the particular case of creating added links (by dragging and dropping graphic objects) between different instances of the system, opened simultaneously by the user on the client computer.
  • the mouse movements which make it possible to draw added links between pages P6 and P7 illustrate the technique described above which consists in bringing the mouse pointer outside of the window containing the page P6 then make it return towards this same window in order to make it pass in the background of the window of the page P7.
  • each plan can be deleted or "minimized” (so that its visible part takes up as little space as possible) by clicking on a button (this is not illustrated in the figures).
  • graphic objects inside the pages can also be dragged and dropped, either between them, or towards zones or graphic objects representing the pages.
  • graphic objects located outside pages, and representing page contents can also be dragged and dropped inside pages.
  • Figure 38 shows the arrangement of the sliding planes when the upper plane is shifted to the right.
  • FIG. 39 shows the arrangement of the sliding planes when all the planes, except the lowest plane, are offset.
  • the state of the clamp can be reversed, for example by pressing on the space bar or another key on the keyboard of the client station.
  • the clamp can be moved on a "rail" and it blocks only the planes located to its left. In other words, depending on the position of the clamp, the planes which are not visible to the left of the clamp are blocked and those which are to its right can be shifted.
  • the graphic areas which represent pages can be on other planes than those which present the pages.
  • FIG. 40 thus presents a configuration where the added links of each page are on one or more planes adjacent to said page.
  • the added links can also advantageously be seen in the form of thumbnails like butterflies "pasted” on the pages and movable by the user as desired using the mouse.
  • these thumbnails can be placed in blank areas of the page which could have been used, for example, to display advertising banners.
  • the links added by the user by drag and drop are stored in the system for example in the form of a TABLE table, as illustrated Figure 41.
  • the creation of an added link can be done by simple drag and drop from the "handle" or other miniaturization of the page or the scene currently viewed (for example from the commonly viewed 3D scene) to the handle of the page to be linked (other 3D scene).
  • the means for storing added links are advantageously implemented remotely (on a server), as illustrated in FIG. 43.
  • the user adds and / or deletes added links on the client computer and these manipulations are passed on to the server, communications being made, for example, through an Internet Service Provider.
  • the display of the page with its added links can be prepared on the client computer, in an architecture shown schematically in the diagram in Figure 44, or on the server computer, in an architecture shown schematically in the diagram in Figure 45. Note that the two architectures are suitable for operation according to the HTTP protocol for example.
  • the user's “Link” request or link 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.
  • 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 presented jointly with this page.
  • the request or link of the user is communicated by the client station, only to the server where the links have been stored. added.
  • This server is responsible for retransmitting the request to the server of the page requested to receive this page.
  • the added links are added to the page and the whole constitutes the response to the user's request.
  • the graphic combination of the links added with the page can be performed on the server or on the client computer.
  • the user can store in a directory not only a link (to a page), but also an added link (between two pages).
  • 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 which, however, also contains the link to said first page.
  • each link added belongs to a directory and only one: a "current directory" always 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 supplied to him by default when he accesses a page and associates with it a first link added.
  • the user can select several directories as being "current directories”; the added links displayed for a current page are then formed by the union of the added links located in these directories; a new added link inserted is inserted in each of these directories; finally we will see in the section “Detection of nearby directories” that the search for nearby directories will also be done on the basis of the union of the added links located in these directories.
  • the user can perform the following actions:
  • the user inserts the link www.coca.com (“coca”) in the Drinks directory. It also inserts the link www.hp.com (“hp”) in the Mgt directory.
  • pepsi www.pepsi.com page
  • the user accesses the www.pepsi.com page (“pepsi”) via the Web. From coca (found in Drinks) he pulls (by drag and drop) a link added on the pepsi page (see Figure 46).
  • the man-machine interface allowing these operations can for example be that shown diagrammatically in FIGS. 46 to 51.
  • the user can, by 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.
  • the user moves the coca page from the Buffer directory to the Drinks directory; if you are in the first or second case of ordering to the system, the coca page already being in Drinks, this operation has no effect. This is illustrated in Figure 47.
  • the user would like to store in the Drinks directory all the links added to the coca page. If we are in the third case of command to the system, as a result of dragging and dropping coca (which is in Buffer) to the Drinks directory, the pepsi page is also found in Drinks and the link added between pepsi and coca is reproduced in Drinks. The user could then delete the pepsi and coca pages (with all the links added between them) from the Buffer directory; these two operations are illustrated in FIG. 48.
  • pepsi or coca
  • pepsi could not have been deleted if a third "perrier" page (registered trademark) was in the same Buffer directory and had a link added on pepsi or coca), unless this third page "perrier" was deleted in the same action. This is illustrated in Figure 49.
  • the creation of the added link from hp to coca results in the creation of the reverse added link from coca to hp, the two added links being in the Mgt directory (where the drag and drop destination is located).
  • the operation performed does not explicitly consist of moving or copying a page, it does involve copying the coca page into the Mgt directory (since the two ends of any added link must be in the same directory).
  • the system presents these directories (containing the current page) in the zone presenting 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 which is not associated by a link added to the current page is different from the icon representing a page associated by added link).
  • FIG. 52 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 on a button (for example on the bar comprising a triangle in FIG. 52), view the content of these directories and thus find the other pages which he had stored together in these directories.
  • the other pages of said directory can be displayed directly, without even requiring a click to provide contextual access to the links stored even more directly.
  • the user can click directly on the graphic presentation representing a directory, for example an icon representing a folder (r2 in Figure 52) to open a new page presenting the r2 directory with all its content (the sub-directories and the pages it contains).
  • a directory for example an icon representing a folder (r2 in Figure 52) to open a new page presenting the r2 directory with all its content (the sub-directories and the pages it contains).
  • Figure 52 can be replaced by a conventional tree presentation like that found in existing bookmark systems.
  • Figure 53 illustrates an example of the implementation of this approach.
  • the user By clicking on a particular graphic area of an Added p3 link associated with the pi page, the user can also see the Added links (p31, p32 and p33) which are associated with the p3 page while it is the pi page. which is commonly viewed (not page p3).
  • each of the graphic presentations representing a memorized link or an added link may be additionally provided with a sign which indicates that the page pointed to has been updated, the if applicable, since the user's last visit. This constitutes an invitation to consult the said page again.
  • this same sign may appear on the graphic representation of each directory of which at least one of the pages has been updated.
  • Section 5 - Publication of added links An improvement of the system consists in making it possible to publish the added links which one has associated with a page. By publishing, we mean making them available to the public or to a specific group of users (who can access them for example by giving a password).
  • a first user views by standard means a page published by a second user on the Web, said page having added links associated with another page.
  • This visualization can be the result of an access or a reception:
  • the first user can access via the Web a page presenting the added links published by the second user, in a conventional manner, using his standard Internet browser and by communicating the URL address of the page,
  • the first user can receive a page presenting the added links, published by the second user, in a conventional manner by electronic mail.
  • the page to which he was accessed via the Web or received by email has fields allowing the first user to identify himself in the event that he wishes to consult the links added using the system. It is therefore an "invitation" to use the system, the main advantages of which are: - allow memorizing the links added in their personal space on a server and finding them automatically, and
  • the content of the first list is optional: this content exists if the author of the page in question is himself a user of the system and wanted to suggest links added to the first user; this is described in detail later in the section “Suggested links added by the site administrator”; 2. the second list (“neighbors of interest”) aims to present to the first user the directories most likely to contain interesting added links in relation to their profile of interest; the list of these directories is determined automatically by the system by comparing the personal webs of the users; this is described later in the section “Close Directory Detection”).
  • the third list contains directories chosen by the first user (for example, directories belonging to the personal webs of friends, colleagues, experts, etc.).
  • a fourth list of the directories belonging to the first user can be added to the three lists above.
  • 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 presented in first position in the third list ("buddies") in active mode (that is to say selected) by default.
  • the third list can advantageously be based on:
  • the added links which are thus suggested to him must be distinguished from those which he had added himself, so that he can selectively accept and refuse them.
  • the added links can be found in one of several different modes: “Suggested”, “Accepted”, “Refused” and “Frozen” (the latter mode being described later in the section “Links in Frozen mode”) .
  • the added links received by a first user, from the added links published by a second user (or from the links added from another directory of the first user), are initially sent to the first user in "Suggested" mode.
  • each link added in Suggested mode can switch to one of the other modes.
  • the human-machine interface for this is shown diagrammatically in Figure 55b.
  • the storage means associate 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 added links, by representation standard UML (“Unified Modeling Language”) highlighting the Mode attribute of added links.
  • a link added in Suggested mode to a first user only exists during the "visit" of links added (for the page in question) to a second user (or in another directory of the first user). It is not displayed outside of this visit.
  • this visit is made as soon as and as long as one or more directory (s) is (are) selected (s) from one of the lists (Specialists, Neighbors, Friends).
  • a link added in Suggested mode is not stored in the personal storage of the first user because, on each new visit, it is recreated from the corresponding added link stored with the second user, or in the other directory of the first user.
  • Switching an added link from Suggested mode to Denied mode automatically filters said link added during subsequent accesses to all the added links stored in the memory space of the second user, or in another directory of the first user, for the same page.
  • Switching to Accepted mode means that the user validates the added link which is in Suggested mode. This action has the effect of:
  • the system detects for the user the existence of other users who share his interests (and tastes) in relation to a "current page" which he is currently viewing and which therefore represents the current context of his interests.
  • the system selects the second "closest" users, that is to say having, in their network of published added links, on the one hand said page, and on the other hand, around said page, the largest set of links added in common with the first user.
  • the selection of second close users can be made with respect to a set of pages selected by the first user, rather than with respect to to a single page.
  • the search for second users is done in a focused manner; it is not carried out according to their overall profile of interests (vis-à-vis the overall profile of interests of the first user). This constitutes an advantage both in terms of the relevance of the result and of the execution performance.
  • the advantage of focusing is being able to compare the profiles of users by ignoring the elements of these profiles which are not in the context which interests the user at the current time.
  • the number of relevant elements (in relation to the current context) which happen 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 elements which are in common overall, and on the other hand can be put into perspective in relation to the size of the domain of the current context.
  • the prior art consists in partitioning the elements of the profiles according to categories adopted by all of the users, which make it possible to classify them globally or in relation to the attributes which characterize them. This specifies their membership in the respective domains taken into account during the searches, which makes it possible to prune the elements of the profiles which are not in the domain of current interest of the user.
  • categorizing elements of profiles requires users to agree on the vocabularies of categories to share.
  • this approach is not advantageously suited 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 category vocabularies.
  • the selection can be made on the basis of a direct access search thanks to a data structure (such as an inverted file) which makes it possible to find the second close users directly from said page, or even from that page and its added links.
  • a data structure such as an inverted file
  • the method can be used to select directories instead of users.
  • the system can advantageously be used to select;
  • 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 the Added links associated with it.
  • a data structure such as an inverted file
  • Added links from which the selection is launched are those of the current directory (or those of all of the current directories selected by the user, as described in the section “Creation of Add links in Directories”).
  • Figure 57 shows schematically the two types of data access request execution (in the case where the data is stored in relational tables):
  • the first type of request is that allowing the functionalities “Find added links” described above, while the second type of request is that of “Detection of nearby Directories”, object of this section.
  • the closest directories selected automatically, are presented to the user in the second list (entitled “neighbors of interest”) illustrated schematically in FIG. 55a.
  • Publication of added links the user can check one or more of the directories offered to him by the system.
  • new links added drawn from this or these directories, are suggested in association with the current page (as described in the previous section).
  • the system can also offer the user ways to try to get in touch - by synchronous means of communication on the Internet such as simultaneous messaging, videoconferencing, etc. - with the users having these directories which would be online at the same time as the user.
  • the user can also get in touch by asynchronous communication, in particular by e-mail or within the framework of discussion forums, with these “close” users (that makes him “discover” the system), even if they are not online at the same time.
  • the system Starting from the current page (i.e. 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, those which have the highest proximity score around said page. As a result, the system offers the user these directories in the order of their proximity.
  • Proximity is calculated at different levels.
  • proximity is a function of the number of common added links associated with the current page.
  • Figure 58 illustrates the determination of proximity at level 1.
  • proximity is also a function of the number of common added links associated with the pages linked to the current page by added link, as illustrated in Figure 59.
  • the proximity is a function of the number of common added links associated with the pages indirectly linked to the current page by added link, n being the number of indirection steps.
  • the system can enrich its proximity assessment by anticipating the probable propagation of links added in the future.
  • the system can enrich its proximity estimate by anticipating these propagations (suggestions) and acceptances, and by calculating the proximity of a repertoire by taking into account this anticipation.
  • Predictive simulation takes into account the probability of acceptance (as described below) of future suggestions for added links, in directories close to the user's current directory.
  • the predictive simulation method consists in 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 propagation (simulated) of a link added from each non-close directory (to a close directory), a coefficient of probability of acceptance (described below) linked to this non-close directory is associated with said added link.
  • the proximity can then be refined by taking into account the new links added (introduced by the simulation) weighted by their coefficient of probability of acceptance.
  • the proximity calculation can be refined gradually, taking into account more and more indirect levels. Indeed, the predictive simulation can be done at increasing indirection depths: thus an added link can be propagated (by simulation) in a directory close to the close directory in question, before arriving in the latter, And so on. For each new directory, the system applies the probability of acceptance associated with the directory from which it was taken to the added link. On arrival in the nearby directory in question, the links added (suggested by simulation) have a coefficient of probability of acceptance which represents the composition of the probabilities of acceptance in the various repertoires where they passed.
  • the user can configure 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 nearby directory).
  • the user can ask the system to directly suggest to him the added links propagated by simulation in the directories close to a close directory, and so on.
  • the acceptance probability coefficients are composed and suggestions can be made in the order of these coefficients.
  • the “transitive proximity of R3 for RI” is a function of the minimum between “the proximity of R2 for RI” and “the proximity of R3 for R2”.
  • 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 weakest link in the chain.
  • FIG. 60 An example is illustrated in Figure 60: - the proximity of R2 for RI is 2; indeed the added links pointing to pages p2 and p3 are in common;
  • transitive proximity can also be calculated in a longer chain of potential propagations, by taking the minimum of the proximities between the repertoires taken sequentially in said chain and by applying to it the composition of the probability coefficients of acceptance existing for all chain links.
  • the determination of the probability of acceptance, in a first directory, of a suggested added link coming from a second directory can be based on the history of acceptances of added links suggested from this second directory.
  • each first directory maintains a counter for each second directory from which it has received suggestions in the past.
  • this counter can be maintained for a limited period of time. The value of this counter represents the acceptance probability coefficient.
  • the acceptance probability coefficient is a function of the number of added links accepted (in normal mode or in frozen mode) minus the number of added links refused compared to the (total) number of suggested added links.
  • This process can include various sophistications that a person skilled in the art will be able to implement, and in particular a weighting which makes it possible to give greater weight to more recent acceptances / refusals.
  • the system can be based on an intermediate directory (having a history in the current directory and the new directory with a history at home) to determine the probability of acceptance. This is done according to the following approach:
  • an RI directory has a high probability of acceptance (C0-1) coefficient with a RO directory
  • an R2 directory has a high probability of acceptance (Cl -2) with the directory RI
  • R2 will have a high coefficient of probability of acceptance (CO-2) with the RO repertoire.
  • the value C0-1 reflects the degree of confidence that the owner of the RO directory places in the content of the RI directory. Indeed, since in general the owner of the RO directory accepts suggestions from the RI directory, he grants a relatively high degree of confidence in the validity of the act of acceptance in the RI directory. In other words, the owner of the RO directory considers that the owner of the RI directory has a good judgment regarding acceptance and refusal in said RI directory.
  • the depth of the transitivity (the number of intermediaries) can be greater: the system can be based on several intermediaries which are strongly validated in the past (preferably the recent past - see above on 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 the depth of the transitivity.
  • the acceptance probability coefficient is an indicator that is presented with each of these registers (it can for example be called "acceptance statistics"). The user will prefer to check directories which have this coefficient as high as possible.
  • Section 7 Suggested links added by a site administrator
  • the administrator of a site ("Webmaster” according to English terminology) specifies, in the source code of the page accessed by a user, or in a table contained in an appropriate server and whose key is address of said page, all the addresses of the directories (known as “Specialists”) which can be offered to the user in the first list of FIG. 55a.
  • the system only selects from among the candidate directories those which are closest to the current directory (within the meaning of the previous section “Detection of Nearby Directories”).
  • this approach is only valid if the page the user has accessed is not new to the page, and the user had already added links to it, so that the system can compare them with those appearing in each of the candidate directories specified by the administrator (to determine to what extent this directory is close, and only to retain the closest candidate directories).
  • 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 one is new, but with other pages) with the added links of the candidate directories, starting from pages located at levels progressively further from the current page in the candidate directories.
  • the system can propose the first directories specified by the site administrator to be presented by default.
  • 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 relative weight can be adjusted by the site administrator.
  • the system can also synthesize a first specialist directory in a "personalized” manner and propose it to the user by default.
  • the content of this new directory is created by grouping selected added links in the candidate directories, which a priori are potentially the most relevant for the user.
  • the administrator can specify:
  • the source document of a page accessed by the user may contain, among the data not displayed on the screen, the address of a first directory (containing links added) to be proposed by default to the user.
  • This address (composed for example of the user's pseudonym and the directory path that the site administrator has chosen) is used by the system to be presented in first position in the first list ("Specialists") in Figure 55 at.
  • the administrator can also specify additional addresses for directories of other specialists. These will be used as optional elements in the first list ("Specialists") of directories offered to the user, but will not be checked by default.
  • these addresses of specialist directories instead of being noted in the source document of the page accessed by the user, can be stored on a server in a table which provides the correspondence between the address of the page and the addresses of the Specialist directories assigned to it.
  • said server is also the server of links added for the current user, this alternative makes it possible to avoid an additional round trip on the server of links added in the case of the architecture of FIG. 44. Selection from candidate directories
  • the number of Specialist directory addresses (specified by the administrator) can be much higher than the number of directories that will actually be presented to the user.
  • a maximum number of directories to present can be set by the administrator and / or by the user.
  • the system chooses the directories closest to the user. This is done:
  • Offset Proximity an extension of this technique, called “Offset Proximity”, which we will now describe.
  • the system not having the possibility of detecting (by the method described in the section “Detection of Nearby Directories”), among the candidate directories, the “closest” directories, selects the candidate directories by the following steps: at. the system selects the candidate directories offering the greatest number of level 1 distance pages (that is to say pages pointed to by added links associated with the current page) which are in common,
  • the system calculates the Proximity (as described in the section “Detection of Nearby Directories”) starting from these pages.
  • the Offset Proximity for the candidate repertoire depends on the Proximities thus determined.
  • the system chooses the candidate directories offering the highest Offset proximity values determined as described above.
  • the system can possibly search, in the current directory, pages located at progressive levels of distance in the candidate directories (Proximity Decaled distance> 1).
  • the Proximity search depth level can possibly be increased or decreased (the least costly search in IT resources being that with a level 0 depth, that is to say bypassing the point" b. ”).
  • FIG. 61 illustrates the determination of offset offset distance 1 for a candidate directory.
  • the system finds, in the current directory of the user:
  • this technique of calculating proximity offset from a progressive level of distance from the current page can also be used in general to search for close directories (in particular among a set of users), in addition of the proximity calculation technique described in the “Detection of Nearby Directories” section.
  • FIG. 62 thus illustrates the proximity offset offset determination 1 of a directory B relative to a current page pO in a Directory A. It is observed that in this example, the proximity determination as described in the section “Detection of nearby directories ”) would have failed since the pO page does not exist in directory B.
  • the added links contained in the selected candidate directories can have many more links added (in “Accepted” or “Frozen” mode) than those that will be suggested to users. Indeed, the system is able to select the most relevant added links for each user who will receive them. Thus the suggestion of added links is done in a "personalized” way. The selection is made for example according to one or more of the following criteria (selected in particular according to the resources that they require a priori for their implementation):
  • the added links are bidirectional, that is to say - saying that an added link associated with a PI page and pointing to a P2 page implies (as soon as it is Accepted) the creation of the added link associated with the P2 page and pointing to the PI page; it is therefore in the interest of the site administrator to suggest a link added on a potentially most interesting P2 page, since * the more interesting the P2 page, the more the user will consult it;
  • the system notably has the possibility of analyzing whether the candidate added link had been accepted or frozen in directories close to the user's current directory.
  • the system searches for directories (candidate directory) having: * the current page (note that, since the current page is new for the user, no link added is not yet associated with it);
  • the anchoring property is measured by counting in the current directory the number of added links which point to the page in question (or more simply, since the added links are bidirectional, by counting the added links associated with the page in question).
  • the system can synthesize and propose links added from:
  • This first directory is thus “synthesized” differently for each user.
  • the system chooses the added links:
  • the site administrator can specify in what form, with what image and at what position of the current page, the added link must be placed, the presentation can be for example:
  • the administrator can also specify these graphic presentation parameters for the reverse added link (which will be displayed on the page to which the added link in question points).
  • the administrator may expressly wish to specify in which position or in which region, on the page to which the added link in question points, the graphic representation of the reverse added link will be applied. It is in fact by this means that it can better encourage the user to come and consult his own page (the current page). Its audience will therefore depend in part on the position (as well as the graphic appearance) of the reverse added link.
  • Figure 64 illustrates the graphical presentation of a reverse added link on a page (in the form of a poster).
  • a pi page has a link added on a p2 page which is already very crowded with a multitude of added links presented graphically in the form of thumbnails (in a vertical list).
  • the reverse added link pointing to pi is not presented as an additional thumbnail, but as a small poster directly on the content of the page.
  • the graphical representation of the reverse added link can also be automatically inserted in a region that normally should have contained advertising. The administrator hopes thereby to attract the attention of the Internet user.
  • the service offered by the system consisting in allowing the administrator to encourage the user to click on a reverse added link (pointing to the page published by said administrator):
  • Audience forecasting can be carried out advantageously by applying the acceptance probability coefficient which takes into account the behavior of users (as described above in the section “Detection of Nearby Directories”). Section 9 - Publication of Directories
  • An improvement of the system consists in allowing the user to publish (or make available to a small group) at least a subset of the directories of his personal web.
  • the directory consulted by the user by means of 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 in this directory.
  • the Specialist directories are those proposed by the site administrator, and the latter can propose to the user a number of Specialist (candidate) directories greater than the number of directories which will be presented in this first list.
  • the system selects: - first the directories specified as having to be presented by default (if there are any),
  • the system selects the directories whose links are as close as possible to the links commonly already accepted (or frozen) by the user.
  • the system essentially chooses the directories containing the most links in common with the set of links accepted (or frozen) by the user at the current time.
  • a Specialist directory can contain a number of links greater than the number of links that will be suggested to the user.
  • the system then preferably selects the links associated by the greatest number of links added (in the candidate specialist directory) with links which (in the current directory) are already accepted. Obviously, only links which are not already in the current directory will be suggested to the user.
  • the Neighbors of interest directories are automatically determined by the system. Those are :
  • directories of the same category which are determined by causing the system to select, from the directories of the same category, those which contain the most links in common with the links accepted (or frozen) by the user.
  • the Buddies directories are the directories chosen by the user (See the “Publication of Added Links” section).
  • the user receives additional links from the directories selected in the three lists described above (Specialists, Neighbors , Friends).
  • the system can advantageously include means for selecting links on the basis of criteria (“Offeror”, “Requestor”, etc.), given by the user or associated with the directory viewed.
  • the links which are thus suggested to the user must be distinguished from those which he had added himself: he can indeed refuse some of them.
  • the links can be found in one of several different modes: “Suggested”, “Accepted”, “Refused” (and “Frozen”, the latter mode being described in the section “Links in Frozen mode”).
  • the links received by a first user, from links published by a second user (or from one of the directories of the first user), are with the first user initially in "Suggested” mode.
  • each link added in Suggested mode can switch to one of the other modes.
  • the user interface allowing the implementation of these mode changes is shown diagrammatically in FIG. 66.
  • the storage means therefore associate the links with a "Mode” attribute which can take as value: Accepted, Refused or Frozen.
  • Figure 56 shows a class diagram for Added links, using the standard Unified Modeling Language (UML) representation, highlighting the Mode attribute of Added links.
  • UML Unified Modeling Language
  • Figure 67 which shows that links (to pages) also have a Mode attribute. This attribute can also take the value Accepted, Refused or Frozen.
  • the "Directory" class includes the "Categories” attribute which is used to compare directories of the same category (regardless of the names that users have given them).
  • a link in Suggested mode only exists during the visit to a directory selected from one of the three lists already mentioned. It is not displayed outside of this visit.
  • a link in Suggested mode is not stored in the user's personal storage space because, on each new visit, it is recreated from the corresponding link stored in the source directory.
  • Switching a link from Suggested mode to Refused mode has the effect of automatically filtering said link during subsequent visits.
  • Switching to Accepted mode means that the user "validates" the link which is in Suggested mode.
  • This action has the effect of: 1. storing said link in its personal storage space, so that it is presented to it again with each new presentation of the content of the directory in which said link has been stored; this presentation takes place even if said link has been deleted in the directory which was the source) - this as opposed to links in Suggested mode which are no longer presented from the moment they are deleted in the source directory; this presentation takes place even if the directory which was the source is no longer selected (has been unchecked).
  • a page viewed by the user in the current directory leads to the insertion of the link to said page in Suggested mode in said directory. It is therefore not stored. However, as soon as a link added in Accepted mode is associated with this link, the latter goes into Accepted mode and the system therefore stores it in the personal space of the user. Section 10 - Links in frozen mode
  • the current version of the page (towards which said added link points at the time the transition to frozen mode is made) is stored in the system in order to guarantee the user that said added link (as long as it is not not deleted) will always direct the user to the same version of the page in the future.
  • the current version of the page in question is copied into a storage space specific to the current directory of the user, and the link now points to this stored version.
  • the system When an added link pointing to a page is frozen, the system first checks whether the current version of said page is already copied, if necessary the system modifies said added link to point it to this copy. 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;
  • the system compares the content of the current version with that of the copy, and if the content is identical, the system thus avoids creating a new copy;
  • the system can use the information provided in the source document of the page in question to find out its version (and determine if it is different from the version as copied).
  • Section 11 Containers and contents
  • Pages are documents, themselves structured in a hierarchical form (for example: sections, paragraphs, etc.), and which are associated with a specification for presentation to the user.
  • documents whose content is specified according to standard XML notation (abbreviation of the expression Anglo-Saxon Extended Markup Language), and whose presentation is specified in the XSL language (abbreviation of the Anglo-Saxon expression XML Stylesheet Language) or in an equivalent language.
  • These technologies are ideal for hierarchical information structuring.
  • the entire personal canvas of the user is seen as a tree structure of nested contents / containers, each content being seen as a document (or fragment of document) in XML format to which is optionally associated a presentation specification in XSL format.
  • content can only be displayed on the computer screen autonomously if an XSL document is associated with it. In the opposite case, the nearest ancestor content having an XSL is displayed by default.
  • a directory is first of all content that can be presented to the user as a stand-alone page, as long as an XSL document for the presentation of directories is associated with it.
  • a directory also has one and only one container, the contents of which are themselves directories or other types of documents. Some of these documents may contain multiple containers, which themselves contain content, and so on.
  • this extension of the system is to allow the user to draw (that is to say, create by drag and drop) links added from any content to any other content.
  • draw that is to say, create by drag and drop links added from any content to any other content.
  • the user instead of being able to draw added links only between pages, between directories and in a mixed manner between directories and pages, the user will be able to draw an added link between an element in a page and another page considered in his globality, for example.
  • an added link may point to content buried in a page.
  • the mechanism implemented will display the closest parent content (which contains it) in the content hierarchy.
  • the container “derivation” according to which a first container derived from a second container receives in Suggested mode all the contents of the second container (or possibly a selection of these. ) that are in Accepted (or Frozen) mode. This content transmission takes place permanently, in the sense that even the contents which are accepted in the future in the second container are suggested in the first container as soon as they are accepted in the second container.
  • the value of the attribute is placed in the rendering in parentheses:
  • the value of the attribute is placed in the rendering in parentheses:
  • ⁇ / xsl for-each> ⁇ /ol> ⁇ /blockquote> ⁇ / xsl: when> If a node with a name attribute does not have subnodes with name attributes, the label "No child" is displayed:
  • the XML data structure is broken down into a set of containers and content. These contain the elements of the initial XML structure.
  • the containers can optionally be associated with categories, so that the contents they have are classified in this category.
  • Figure 69 illustrates the fact that such a structure makes it possible to take elements from a container to place them in others by the import process.
  • a derivation method will also be described making it possible to place one container in another, in order to take advantage of the content of the original container, as shown schematically in FIG. 70.
  • FIG. 71 illustrates the fact that these manipulations can also be carried out from one document to another.
  • the administrator of a page of a site has an initial XML code (we will use the example already presented above), which he wishes to share with users of the system.
  • the “source” code can be restructured and stored avoiding redundancies, the user specifies which elements are content and at which containing each content belongs. This makes it possible to constitute what is called here the macrostructure.
  • Containers are specified by means of attributes. Using attributes rather than “tags” (Anglo-Saxon terminology) offers the advantage of not modifying the structure and thus, in particular, of not calling into question the application of XSL style sheets. The restructuring is thus “non-intrusive”.
  • attributes rather than “tags” (Anglo-Saxon terminology) offers the advantage of not modifying the structure and thus, in particular, of not calling into question the application of XSL style sheets. The restructuring is thus “non-intrusive”.
  • the macrostructure makes it possible to dissociate the elements, from the structure in which they reside.
  • the elements are stored uniquely on the server regardless of the number of times they have been reproduced.
  • the macrostructure could be automatically modeled on the document structure.
  • the granularity of the sharing would then be that of the elements of the document. But the system would then be cumbersome to handle for the user, the macrostructure would be bulky and performance would be affected.
  • the approach that we present consists in making it possible to specify the macrostructure explicitly in documents, that is to say, to choose the granularity of the contents which can be shared. Thus, when specifying a content, it is, at the same time, located in a container which can group together several contents.
  • the containers could have been traced on the structure of the contents (all the contents children of the same parent would then have been put in a container). We preferred here to explicitly specify which contents are located in which containers.
  • the structure tree is as follows:
  • the structure tree represents the nesting of the containers between them.
  • the containers can be arranged very precisely in the contents. We will talk about positioning.
  • the contents in which containers are found carry a tag indicating where the containers are located (by means of a number POSITION_CONTAINER N).
  • the positions in the contents are used in the structure tree.
  • Each container is in fact nested under a POSITION CONTAINER tag with a number. This number corresponds to the indication “N” appearing in the contents. This is illustrated in Figure 72.
  • This tag represents a container within the structure tree.
  • a container is identified by a URL called SRC.
  • This URL is composed of the domain name where the container is archived, and the local identifier of this container for the domain. If several 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:
  • This tag also has an attribute indicating which category the container is associated with. This category is specified using a URL address.
  • a container is made up of several CONTENTREF tags (see precise definition below) which refer to the content in the succession of contents.
  • a container can be in content at a given position, according to the POSITION_CONTAINER tag (defined below) designating the position at which it is located.
  • CONTENT constitutes 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 CONTENT content referenced.
  • ID integer identifier
  • SRC attribute which is the unique identifier of the CONTENT content referenced.
  • the same URL address syntax as for containers is adopted.
  • CONTENTREF tags also have a NAME name:
  • a CONTENTREF tag can contain several POSITION_CONTAINER tags, that is to say that containers can be placed in several places of the content in question.
  • POSITION_CONTAINER tags that is to say that containers can be placed in several places of the content in question.
  • it is possible to find several containers as in the following example:
  • This tag represents content.
  • Content can contain one or more tags from the original XML source code. The contents are identified by a unique identifier, and bear the URL of the category to which they belong, as in the following example:
  • This tag indicates the position where a container can be inserted in a content, for example:
  • This tag makes it possible to materialize, in the content, the references that certain tags carry on others. Like the "POSITION CONTAINER” tags, they have 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 :
  • Figure 74 illustrates that the Internet user has additional access to information. He can access it in a classic way by connecting to the source site of the Web, and he can also access it via the system, which allows him to interact with the containers and the contents, that is to say organize them. according to his will.
  • the system decomposes 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 notably indicated where the contents and containers are).
  • the information output from the system is reconstructed and transformed using the XSL style sheet associated with the original XML code.
  • the XSL style sheet adds presentation code on the fly, in the original XSL specification. This process is shown schematically in Figure 75.
  • the decomposed XML code is reconstructed.
  • the reconstitution it is made so that the contents and the containers are materialized so that the user can handle them.
  • the Internet user can select content or a container by means of "handles" to move them or put them in another document.
  • Example text information example text information ⁇ D name- 'Dominique "myfriend-' A- 1"/>
  • an HTML presentation page is constructed using an XSL style sheet.
  • the same XSL sheet is used, except that we added “derivation elements" (that is to say the handles) allowing interact with the content of the page.
  • the aforementioned model is added at the end of the XSL page in order to efficiently overload it and so that the derivation elements are effectively displayed.
  • the appearance of this model can for example be as follows:
  • the DIV element (introduced in the 3 rd line) is a derivation element with which the component "BEHAVIOR: url (.. Jsystem.dragndrop.htc)" is associated, the appearance of which is presented in the Annex. This component allows management of the "drag and drop” of elements for the derivation of containers that it will communicate to the system.
  • the page receives the notification.
  • This event provides a pointer to an object that allows the page script to transform this new source (using, for example, the XSL sheet that initialized it) and to insert the resulting HTML code into the page .
  • containers 1 and 2 are attached to category 1 (symbolized by the gray arrow).
  • container 1 there is a reference to content 1.1 (“Content 1.1”)
  • container 2 there is a reference to content 1.2 (“Content 1.2”) (these references are symbolized by black arrows).
  • Importing content 1.1 into container 2 amounts to creating, in this container, a CONTENTREF tag which points to content 1.1 in the content suite. This is shown in Figure 77.
  • Deriving container 1 means inserting it into content at a certain "position”. To do this, a new container is created in the structure tree, and points (that is to say has a reference, materialized by a gray arrow on the diagram in Figure 80a) to the container that is wants to drift.
  • the data structure then has the following form for the derived part:
  • the container 126 does not reference any content. It just has a reference on the source container, namely the one from which the derivation was carried out. The loading of the data in the derived container is therefore done via the source container: this is a "suggestion". This leads, on the client station, to the arrangement illustrated in FIG. 80b.
  • the sub-containers are derived in exactly the same way as the first container: a new container is created and points to the source sub-container.
  • the depth at which the elements are loaded into the derivative container is fixed by a progressive loading mechanism because, otherwise, there could be cases of infinite loops in the loading. Indeed, it is possible to derive containers in themselves, as shown in Figure 81, and thus create a virtually infinite structure. Without this mechanism, loading a container would then cause an infinite loop as part of a truly infinite structure.
  • Container stacking As already mentioned, the containers are inserted in very precise positions of the contents. But nothing prevents inserting several containers in the same position. This is called stacking of containers.
  • the container 13 (the one containing the content C) is derived from the content 44 (which corresponds to the content B) at the same position as the containing 14 (which contains content D).
  • the tag corresponding to content 44 in the content suite will not be modified.
  • the content retains a single position for the containers, even if two containers are superimposed on this position.
  • Deriving a container implies that it is possible to access the "accepted” content present in the original container. These contents are in fact automatically “suggested” in the derived containers as and when they are inserted.
  • 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.
  • the derived container contains no information on the suggested content. This information can indeed be found via the reference on the source container.
  • the memorization corresponding to these different cases is shown diagrammatically in FIG. 83.
  • These links are expected to be in Suggested mode.
  • the user through the system, can modify their mode, to give them the value Accepted, Frozen or Refused, by accessing this same page with the system.
  • the user can then accept certain added links and / or links located inside containers of the page, which are thus suggested to him.
  • the user does not accept an added link (or a link in a container) pointing to a P page, without first clicking on it to view the P page he points to. Then, if the page P interests him, he accepts it directly, without returning accepting the added link where he came from.
  • the added link or the link in a container pointing to P
  • it accepts the page P itself, that is to say the link pointing to said page P in the current directory which receives it.
  • An improvement 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 accessed this page.
  • the system can offer it close directories in the “Neighbor of interest” directory list (see the “Buddies” list in the figure 84a).
  • the current page includes not only added links (Sauterne, Mesclun), but also links in at least one container (Duck, Goose) found on the page, the system selects nearby directories:
  • 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”;
  • the system selects the directories containing the greatest number of links in common with said container, as described in the section "Publication of Directories”.
  • the system uses this same data (added links and links in containers) to adjust the Specialist directories offered to the user. This is described in the sections “Publishing Added Links” and “Publishing 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 Close Directories ”.
  • the user can click on a link (to content) in a container on the page, or on an added link to access the content in question.
  • the system then offers him the “Specialists”, “Neighbors” and “Friends” directories for this new content, and so on.
  • the user can specify whether he is interested in buying it, selling it, and / or for other interests that he carries there. if applicable, depending on the type of content.
  • the user who accesses a page can specify criteria on these attributes to restrict all the directories (Specialists and Neighbors) which are proposed to him in relation to said current page.

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.

Description

SYSTEME DE PARTAGE D'INFORMATIONS
ENTRE AU MOINS DEUX UTILISATEURS
SUR UN RESEAU INFORMATIQUE
La présente invention concerne d'une façon générale un système et un procédé de gestion d'une pluralité d'ensembles d'informations organisées, notamment d'informations personnelles sur réseau, ainsi que différents systèmes et procédés pour transformer des documents contenant de telles informations, pour naviguer parmi des pages contenant de telles informations, et pour gérer l'affichage sur un poste client accédant à de telles informations.
Plus précisément, un premier aspect de 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'inforrflàtions de mêmes catégories et de suggestion automatique d'informations lorsqu'elles appartiennent à des catégories données.
On connaît déjà dans l'état de la technique le concept dit de « marque-page » (« signet », « favori », « Bookmark », « Scrapbook », etc) 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 Internet actuels.
Ce premier aspect de 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 de serveurs Internet.
Un autre objet de la présente invention selon cet aspect est de faire en sorte que chaque élément d'information ajouté adopte, de manière transparente ou semi- automatique, une catégorie ou une sous-catégorie déterminée de l'ensemble d'informations organisées dont on souhaite qu'il permette l'accès à cet élément d'information. Un autre objet de la présente invention selon cet aspect 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 contenant propre ad hoc afin de les visualiser.
En d'autres termes, ce premier aspect de 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 équipant les navigateurs Internet actuels.
Un autre objet encore de ce premier aspect 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 conditions d'anonymat.
Par ailleurs, l'invention vise également selon ce premier aspect à 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 peuvent être proposées (notamment à la vente) à l'utilisateur de façon automatique.
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 invention est de proposer des moyens d'auto-épuration par les utilisateurs eux- mêmes, sur la base d'un degré qualitatif de contribution, exploitable par transitivité.
Un autre objet de ce premier aspect de l'invention est de préserver l'anonymat des utilisateurs. La présente invention selon ce premier aspect vise également à suggérer ou recommander automatiquement de nouvelles informations à chaque Utilisateur en fonction de ses déclarations d'intérêts ou de goûts.
Ainsi l'invention propose dans son premier aspect 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 contenant correspondant.
Des aménagements préférés, mais non limitatifs, du système selon ce premier aspect de 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 sont accessibles. - lesdites références à des contenus sont constituées par des liens.
- 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 ensembles privés propres à une pluralité d'utilisateurs.
- 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 contenants correspondants des seconds ensembles d'informations organisées.
- tous les ensembles d'informations organisées comprennent une structure organisée de contenants.
- les structures organisées sont arborescentes.
- 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 indicateur d'état de processus de suggestion.
- l'indicateur d'état peut prendre les valeurs « Suggéré », « Accepté » et « Refusé ».
- 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 organisées concernant ladite information ajoutée.
- 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 élément de contenu vers ledit autre ensemble d'informations organisées.
- lesdites informations incluent des liens vers des contenus externes au système.
- chaque ensemble d'informations organisées permet d'accéder également à des informations dont l'ajout ne donne lieu à aucune 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 de destination.
- 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 contenant d'origine.
- les moyens d' intercommunication comprennent en outre des moyens aptes, lors de la mise en œuvre des moyens de dérivation, pour sélectivement accepter et refuser l'accessibilité desdites informations via le contenant de destination.
- les moyens de dérivation sont aptes à effectuer des dérivations en chaîne entre plusieurs ensembles d'informations organisées. - les moyens de dérivation sont aptes à fusionner, dans un contenant de destination donné, des informations accessibles via une pluralité de contenants d'origine.
- 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 information via un contenant d'archivage.
- 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 d'informations organisées.
- 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 référencement desdites informations.
- le système comprend un ensemble d'informations organisées comprenant une pluralité de contenants catégorisants, et les contenants de chaque autre ensemble d'informations organisées sont au moins en partie des correspondants desdits contenants catégorisants.
- 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 catégorisant.
- 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 préservée lors de la dérivation.
- 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 forme de classeurs.
- le système comprend en outre des moyens pour représenter des contenants de niveau le plus bas dans la structure arborescente sous forme de pages de classeur.
- le système comprend des moyens pour représenter des éléments de contenu accessibles via des contenants formant des pages sous forme de calques appliqués sur la page considérée.
- 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 autre ensemble d'informations organisées du système.
- les moyens de dérivation sont commandés par une opération de glisser-déposer effectuée sur ladite représentation des structures arborescentes.
- les moyens de référencement sont commandés par une opération de glisser-déposer effectuée sur ladite représentation des structures arborescentes. - 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 d'informations organisées.
- 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 organisées.
- 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 suggestion d'un contenant vers l'autre et réciproquement.
- 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 accepté est supprimée.
- il est prévu une variable de similarité par couple de contenants correspondants.
- les moyens d'établissement de correspondance entre des contenants de deux ensembles d'informations organisées sont aptes à être mis en œuvre 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 d'informations organisées associés. - 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 similarité concernant lesdits ensembles est inférieure à un seuil.
- les moyens d' intercommunication sont aptes à suggérer ledit ajout d'information pendant une durée limitée.
- 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 d'être mis en correspondance avec un autre contenant.
Selon un autre point de vue, on se place dans un contexte où l'on cherche à proposer à un internaute de se « fabriquer » une « toile personnelle » formée par une structure arborescente de contenus/contenants imbriqués.
On connaît, par le langage « XML » (pour « eXtented Markup Language » selon la terminologie anglo-saxonne) des pages qui se présentent sous la forme de 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, typiquement selon le langage XSL (abréviation de l'expression anglo-saxonne « XML Stylesheet Language »). Ces technologies se prêtent parfaitement à une structuration hiérarchique des informations.
Ainsi, selon un deuxième aspect de l'invention, chaque contenu est vu comme un document (ou partie de document) par exemple 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 d'un poste client de manière autonome que si un code XSL lui est associé.
Ainsi par exemple, un répertoire pourra être d'abord un contenu que l'on souhaite présenter à l'utilisateur comme sous forme d'une page autonome, dans la mesure où un document XSL pour la présentation des répertoires lui est associé. Un répertoire aura par ailleurs un et un seul contenant dont les contenus seront eux-mêmes des répertoires ou d'autres types de documents. Certains de ces documents pourront contenir plusieurs contenants, qui eux-mêmes contiendront des contenus, et ainsi de suite.
Selon cet aspect, la présente invention se propose tout d'abord de permettre à un utilisateur d'importer un contenu quelconque d'un contenant quelconque vers un autre contenant, sous réserve d'une bonne compatibilité des types d'informations, et ceci à n'importe quel niveau dans la structure des informations de l'utilisateur.
Un autre objet de ce deuxième aspect de l'invention est de permettre à l'utilisateur de créer des liens non pas vers des pages entières de la Toile, mais vers des parties bien déterminées de pages, et par exemple vers des contenus enfouis dans des pages.
Un autre objet encore de cet aspect de l'invention est de permettre à un utilisateur d'obtenir via l'Internet, et d'incorporer au sein de pages préexistantes, des parties de pages provenant de l'extérieur.
Selon le principe de base de cet aspect de l'invention, les documents que constituent les pages publiées sur les sites Internet sont restructurés pour permettre d'en distinguer les contenus et contenants qui les constituent.
Ainsi, selon ce deuxième aspect de l'invention, on décompose une structure de données XML 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.
Plus précisément, ce deuxième aspect de l'invention se propose de restructurer les informations se trouvant dans des pages pour 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 sur la Toile. Cela implique de définir une macrostructure de contenants/contenus, et d'en dissocier les contenus, qui pourront ainsi être déplacés ou reproduits d'une page à l'autre.
Ainsi les données XML d'un document de la Toile sont décomposées pour adopter la structure suivante :
- un arbre de structure (macrostructure) définissant l'imbrication des différents contenants d'information, chacun portant les références de ses contenus ;
- une suite de contenus, regroupant les éléments référencés dans les contenants.
Sur un plan pratique, l'administrateur d'un site dispose d'un code XML initial qu'il désire faire partager aux utilisateurs du système .
Pour que le code « source » puisse être restructuré et stocké en évitant les 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 une macrostructure.
Les contenants sont spécifiés au moyen d'attributs, ce qui offre l'avantage de ne pas modifier la structure et ainsi, notamment, de ne pas remettre en cause l'application de feuilles de style (notamment en langage XSL). La restructuration est ainsi « non- intrusive ».
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 de préférence sur un serveur partagé quel que soit le nombre de fois où ils ont été reproduits.
En outre, le fait de spécifier la macrostructure (au moyen des attributs déjà mentionnés) dans un document permettra de choisir la granularité des contenus qui peuvent être partagés. Lors de la spécification d'un contenu, celui-ci sera, par la même occasion, localisé dans un contenant qui peut regrouper plusieurs contenus.
En deuxième étape, à partir des indications (attributs) figurant dans le nouveau code source, est construite une structure décomposée, constituée d'une part par l'arbre de macrostructure et d'autre part par l'ensemble de contenus.
En résumé, ce deuxième aspect de l'invention propose un procédé de transformation d'un document, notamment d'un document au format XML destiné à être transmis via un réseau informatique tel que l'Internet, le document comportant une structure arborescente de document possédant des nœuds contenant des informations, apte à être combinée avec des données de présentation, notamment au format XSL, desdites informations, caractérisé en ce qu'il comprend les étapes suivantes :
- lors de la création ou d'une modification du document, insérer dans celui- ci des attributs de délimitation aptes chacun à regrouper des nœuds descendants avec un nœud parent desdits nœuds descendants,
- à partir dudit document comportant lesdits attributs, et de façon automatique à l'aide d'un système de traitement de données, extraire dudit document les informations situées aux nœuds regroupés, et créer une macrostructure du document constituée par une structure arborescente plus grossière que ladite structure arborescente de document, dans laquelle lesdits nœuds parents correspondant à des regroupements sont remplacés par des références auxdites informations extraites, indiquant la position desdites informations extraites dans la structure, et dans laquelle lesdits nœuds descendants qui ne sont pas eux-mêmes des nœuds parents sont absents.
Avantageusement, le procédé comprend en outre l'étape consistant à insérer dans la macro structure des contenants aptes à recevoir des informations. Ce deuxième aspect de l'invention propose également un système de traitement de données destiné à présenter des documents sur un dispositif d'affichage ou analogue, caractérisé en ce qu'il comprend :
- des moyens commandés par utilisateur pour effectuer sur des documents transformés par le procédé précité au moins l'une parmi les opérations suivantes :
- ajouter à un document transformé des informations extraites d'un autre document transformé,
- supprimer des informations extraites d'un document transformé,
- remplacer des informations extraites d'un document transformé par d'autres informations extraites,
- déplacer des informations extraites d'un document transformé vers un autre document transformé, et
- des moyens pour reconstruire une structure arborescente de document à partir d'une macrostructure donnée et en fonction des opérations effectuées sur les informations extraites.
Une autre approche du deuxième aspect de la présente invention vise a proposer un procédé de gestion des catégories de contenus permettant de tirer parti de manipulations de contenus faites par des utilisateurs dans des structures de documents aptes a recevoir de tels contenus dans des contenants possédant eux- mêmes des informations de catégorie.
L'invention propose à cet effet un procédé pour affecter des catégories à des contenus accessibles par une pluralité d'utilisateurs, chaque contenu étant par ailleurs propre a être sélectivement placé dans une pluralité de contenants appartenant à des structures de documents, ces contenants possédant chacun des informations de catégorie, et à chaque contenu pouvant être associé une pluralité d'informations de catégories permettant aux utilisateurs notamment de sélectivement accéder par un critère de catégorie audit contenu ou d'automatiser la sélection de la présentation dudit contenu, comprenant l'étape consistant, lorsqu'un contenu donné est placé dans un contenant donné d'un document, à ajouter aux informations de catégorie déjà associées audit contenu les informations de catégorie possédées par ledit contenant donné. Lesdites informations de catégorie ajoutées aux contenus peuvent être ajoutées en mode suggéré.
Un troisième aspect de l'invention concerne plus précisément des nouvelles fonctionnalités ajoutés à un navigateur Internet.
Classiquement, un outil de navigation sur l'Internet comprend des moyens pour accéder à des pages en langage HTML ou autre, soit par saisie directe de l'adresse URL de la page à atteindre, soit en cliquant à l'aide du bouton d'une souris sur un lien contenu dans une page, qui pointe vers une autre page.
Les techniques de « signets », « marque-pages », « favoris », etc. permettent à un utilisateur, lorsqu'il consulte une page courante, de mémoriser et de classer, dans une structure arborescente de répertoires ou dossiers, des liens vers ces pages, qui permettront à l'utilisateur, dans le futur, d'accéder à nouveau à ces pages par un simple clic de souris après avoir le cas échéant ouvert le répertoire correspondant. Ces techniques connues présentent toutefois un certain nombre de limitations. En particulier :
- lorsque l'utilisateur est en train de consulter une page courante, il lui est systématiquement nécessaire, pour consulter d'autres pages susceptibles de traiter du même sujet, d'entrer dans la structure arborescente de répertoires de « signets », « marque-pages », « favoris » ou autres et de naviguer dans cette structure pour retrouver les liens vers lesdites pages ;
- l'utilisateur est contraint par une structure arborescente de répertoires, au sein de laquelle la navigation locale d'un répertoire à l'autre peut se trouver extrêmement fastidieuse dès que le nombre de répertoires, sous-répertoires et liens devient importante ; - les outils existants ne sont susceptibles que de créer des liens unidirectionnels situés dans un répertoire donné et pointant vers une page, et il n'existe aucun moyen, au cours de la consultation d'une page courante, pour associer à cette page et non pas à un répertoire, des liens vers d'autres pages.
Selon ce troisième autre aspect, la présente invention vise à pallier ces limitations de l'état de la technique et à proposer un système de navigation qui permette, d'une manière extrêmement simple et intuitive, d'accéder à des pages portant sur des sujets que l'utilisateur a considéré comme pertinents en relation avec la page courante.
Un autre objet de ce troisième aspect de la présente invention est de proposer à l'utilisateur des moyens extrêmement simples et intuitifs de création de liens d'une page vers une autre, avec le cas échéant une bidirectionnalité, et ceci indépendamment de toute structure de répertoires de liens.
Un autre objet encore de ce troisième aspect de la présente invention est de permettre à un utilisateur de bénéficier, sélectivement, de liens créés par des tiers en relation avec ses propres sujets d'intérêt.
Ainsi ce troisième aspect de l'invention propose un système de navigation mis en œuvre dans un système informatique pour accéder à des pages fournies notamment par des serveurs via un réseau informatique par activation de liens, caractérisé en ce qu'il comprend en combinaison :
- des moyens pour afficher une page courante,
- des moyens permettant à un utilisateur de créer et de mémoriser, au sein d'une structure de groupes de liens, des liens dont ladite page constitue une extrémité ; - des moyens de sélection et d'affichage aptes, lors de l'affichage d'une page constituant une extrémité d'au moins un lien, à sélectionner et afficher une partie de la structure de groupes de liens contenant ce ou ces liens, et
- des moyens d'entrée permettant à l'utilisateur de sélectionner et d'activer les liens affichés contenus dans ladite partie de la structure de groupes de liens.
Des aspects préférés, mais non limitatifs, du système selon ce troisième aspect de l'invention sont les suivants :
- lesdits liens comprennent des liens ajoutés, associés à ladite page courante et permettant d'accéder à d'autres pages, et les moyens d'affichage sont aptes à afficher des représentations desdits liens ajoutés activables directement par lesdits moyens d'entrée.
- les moyens de création de liens ajoutés comprennent un moyen d'entrée permettant à l'utilisateur de glisser-déposer la page courante (ou une partie de la page courante) ou un élément affiché représentant la page courante (ou une partie de la page courante) vers une autre page affichée ou un élément affiché représentant ladite autre page.
- il est prévu une zone d'affichage de liens ajoutés associée à ladite page courante et apte à contenir lesdits éléments affichés représentant les liens ajoutés vers lesdites autres pages.
- le système comprend des moyens pour afficher la page courante et sa zone d'affichage de liens ajoutés associée et des moyens pour afficher les zones d'affichage de liens d'une pluralité d'autres pages, de façon contiguë les unes aux autres. - chaque zone d'affichage de liens ajoutés contient également un élément affiché représentant la page à laquelle lesdits liens ajoutés sont associés, et les moyens de création de liens ajoutés mettent en œuvre des opérations de glisser-déposer entre les éléments affichés représentant les pages et les éléments affichés représentant les liens ajoutés.
- le système comprend des moyens pour afficher, sous la commande d'un moyen d'entrée agissant sur une zone donnée d'affichage de liens ajoutés, la page à laquelle lesdits liens ajoutés sont associés.
- lesdits éléments affichés représentant les pages auxquelles les liens ajoutés sont associés et lesdits liens ajoutés sont constituées par des images miniaturisées desdites pages associées ou des pages vers lesquelles pointent lesdits liens ajoutés.
- lesdits liens ajoutés sont sélectivement monodirectionnels ou bidirectionnels.
- ladite structure de groupes de liens est une structure arborescente de répertoires contenant chacun d'autres répertoires et/ou des liens créés.
- lesdits liens comprennent des marque-pages, et les moyens de sélection et d'affichage sont aptes à afficher les seuls groupes des liens contenant un marque- page correspondant à la page courante.
- les moyens de sélection et d'affichage sont aptes à afficher dans une première zone des éléments affichés représentant des liens ajoutés, et dans une seconde zone des répertoires de marque-pages contenant un marque-page correspondant à la page courante.
- la seconde zone sont affichés par une représentation hiérarchique lesdits répertoires de marque-pages et, sélectivement, les contenus desdits répertoires. - le système comprend des moyens pour afficher une pluralité de répertoires contenant des premiers éléments affichés constituant des liens vers des pages et secondes représentations graphiques constituant des liens ajoutés entre lesdites pages, et des moyens pour manipuler par glisser-déposer lesdites premières et secondes représentations graphiques pour ajouter, supprimer ou déplacer d'un répertoire à l'autre des liens vers des pages ou des liens ajoutés entres pages.
- lesdits liens vers des pages constituent lesdits marque-pages.
- le système comprend des moyens pour mémoriser, en association avec une pluralité d'utilisateurs de postes clients, une pluralité de tables de liens désignant, pour chaque page constituant une extrémité d'un lien créé, le ou chacun de ces liens.
- les moyens de création de liens sont aptes à être commandés par des moyens de traitement comparatif de ladite pluralité de tables de liens, pour créer des liens dans un état dit suggéré.
- le système comprend des moyens pour afficher des éléments affichés représentant chaque lien créé dans ledit état suggéré et, en association avec chacun desdits éléments, des moyens sensibles à un dispositif d'entrée pour modifier l'état du lien correspondant.
- les moyens de modification de l'état d'un lien créé dans l'état suggéré comprennent des moyens pour supprimer le lien.
- les moyens de modification de l'état d'un lien créé dans l'état suggéré comprennent des moyens pour valider le lien en l'amenant dans un état accepté.
- les moyens de modification de l'état d'un lien dans l'état suggéré ou accepté comprennent des moyens pour valider le lien en l'amenant dans un état gelé. - le système comprend en outre des moyens pour ajuster chaque lien amené à l'état gelé sur une adresse à laquelle le contenu de la page a été mémorisé.
- le système comprend en outre des moyens capables, sous la commande de l'utilisateur, d'affecter à tout lien accepté ou gelé un attribut de caractérisation du type d'intérêt porté par l'utilisateur au contenu désigné par ledit lien.
- les attributs de caractérisation comprennent un attribut « Offreur » et un attribut « Demandeur ».
- lesdits moyens de traitement comparatif sont aptes à prendre en compte les attributs de caractérisation donnés aux liens.
- le système comprend, en association avec chaque élément affiché représentant un lien créé, un moyen de codage graphique pour désigner l'état dudit lien.
- le moyen de codage graphique comprend un codage de couleur dans un cadre entourant ledit élément affiché.
- le système comprend en outre des moyens commandés par l'utilisateur pour paramétrer le traitement comparatif effectué sur ladite pluralité de tables de liens.
- les moyens de paramétrage commandés par l'utilisateur comprennent des moyens de sélection des utilisateurs pour les tables de liens desquels le traitement comparatif est effectué.
- lesdits moyens de traitement comparatif opèrent sur une pluralité de tables de liens contenant seulement les liens créés validés.
- le système comprend des moyens pour suggérer à un utilisateur, en association avec l'accès à une première page, un lien ajouté bidirectionnel avec une seconde page, ladite seconde page étant choisie par ledit système en fonction notamment de sa pertinence pour l'utilisateur au regard de la première page de telle manière que lors de l'accès ladite seconde page, le lien ajouté inverse, de ladite seconde page vers ladite première page, puisse être activé par l'utilisateur.
- ladite seconde page est choisie par le système également en fonction de la fréquence d'accès à celle-ci par l'utilisateur.
- ladite seconde page est choisie par le système également en fonction du nombre de liens ajoutés préexistants associés à ladite seconde page.
- le système comprend des moyens de traitement de ladite seconde page de manière à y inclure une élément d'affichage dudit lien inverse.
- les moyens de traitement sont paramétrables.
- les moyens de traitement sont aptes à inclure ledit élément d'affichage du lien inverse en un emplacement de la seconde page normalement destiné à comporter un bandeau publicitaire ou analogue.
- le système comprend en outre des moyens de sélection par l'utilisateur de groupes extérieurs de liens et les moyens de sélection et d'affichage sont également aptes, lors de l'affichage d'une page, à afficher les liens d'au moins un groupe extérieur de liens sélectionné.
- les groupes extérieurs de liens comprennent au moins l'un parmi :
- des groupes de liens présélectionnés par un administrateur de la page,
- des groupes de liens présélectionnés par un administrateur d'une autre page qui se trouve à l'amont de la page, - des groupes de liens présélectionnés par le système comme étant proches d'au moins un groupe de liens propre à l'utilisateur, - des groupes de liens établis par le système comme étant pertinents vis-à-vis d'au moins un groupe de liens propre à l'utilisateur, et
- des groupes de liens présélectionnés par l'utilisateur.
- lesdits liens sont situés dans des contenants définis dans la structure de la page courante, et pointent vers des contenants aptes à enrichir ladite page courante en des emplacements définis par la position desdits contenants dans ladite structure.
Selon un quatrième aspect, la présente invention concerne d'une façon générale l'affichage sur écran d'un poste informatique d'éléments interactifs tels que des pages en langage HTML (Hypertext Markup Language), chargés depuis un poste distant tel qu'un serveur Internet.
On sait qu'avec les techniques de communication courantes, par exemple avec un modem à 56 kbps sur une ligne téléphonique, et avec l'encombrement de l'Internet, des pages HTML volumineuses (qui peuvent atteindre parfois plusieurs centaines de Kilo-octets) peuvent nécessiter un temps considérable, parfois de plusieurs dizaines de secondes, pour être chargées et affichées sur le poste client.
II en résulte une navigation qui s'avère extrêmement fastidieuse et seuls des moyens de communication plus sophistiqués, et surtout sensiblement plus coûteux, permettent d'atténuer ce problème.
Ce quatrième aspect de la présente invention vise, notamment dans un tel contexte, à atténuer sensiblement, du point de vue de l'utilisateur, l'impression d'attente inutile qu'il ressent fréquemment lors de navigations sur l'Internet, ou autres consultations d'informations sur réseaux « lents ».
Par ailleurs, on connaît, dans les systèmes de navigation par exemple Internet ou Intranet, les traditionnels boutons « Précédent » et « Suivant » pour passer d'un page à l'autre. On connaît en outre un procédé d'affichage d'une barre de tâches dans un système d'exploitation pour ordinateur personnel, qui permet sélectivement d'afficher cette barre lorsque le pointeur de la souris se trouve dans la zone que cette barre doit occuper, et de masquer cette barre lorsque le pointeur quitte cette zone. Ceci a pour avantage principal d'augmenter la surface utilisable de l'écran d'affichage lorsque la barre de tâches n'est pas utilisée. Toutefois, un tel mécanisme de masquage et d'affichage interdit par sa nature d'observer cette barre de taches lorsque l'utilisateur est en train d'effectuer des actions avec le pointeur de la souris en dehors de celle-ci.
Ce quatrième aspect de la présente invention a pour objet de proposer une manière particulièrement simple et intuitive pour sélectivement afficher à titre principal l'un parmi deux ou plusieurs éléments d'affichage tels que des pages HTML, des fenêtres ou autres, et pour pouvoir établir et conserver par défaut l'affichage d'un élément d'affichage initial de façon indépendante de la position du pointeur, et ne supprimer cet élément d'affichage initial que par un déplacement de pointeur bien déterminé.
Ainsi l'invention propose selon ce quatrième aspect un procédé de gestion de l'affichage, sur l'écran d'affichage d'un poste informatique, d'éléments d'affichage comprenant un premier élément et un second élément, la zone d'affichage du premier élément recouvrant au moins partiellement la zone d'affichage du second élément, caractérisé en ce qu'il comprend les étapes successives suivantes :
(a) affichage du premier élément,
(b) détection des mouvements d'un pointeur actionné par l'utilisateur, pour déterminer si ledit pointeur entre dans une région déterminée de la zone d'affichage du premier élément, et
(c) lorsqu'une telle entrée est détectée, affichage du second élément à la place du premier élément.
D'autres aspects préférés, mais non limitatifs, du procédé selon ce quatrième aspect de l'invention sont les suivants : - le procédé est mis en œuvre sur un poste informatique client, les éléments d'affichage sont aptes à être chargés à partir d'un poste informatique serveur, le premier élément est un élément à chargement rapide, le second élément est un élément à chargement plus lent, et :
- le premier élément (El) est affiché dès après son chargement,
- l'étape de détection est démarrée seulement à la fin du chargement du second élément.
- le premier élément contient un ou plusieurs sous-éléments d'interactivité, et le procédé comprend en outre l'étape consistant, au plus tard en même temps que l'étape (b), à désactiver le ou lesdits sous-éléments d'interactivité.
- la zone d'affichage du premier élément et la zone d'affichage du second élément sont superposées.
- le second élément appartient, conjointement avec au moins un autre élément, à une page interactive.
- le procédé comprend en outre, pendant et/ou à la fin du chargement du second élément, au moins une étape d'affichage, en dehors de ladite zone d'affichage du premier élément, d'un autre élément informant l'utilisateur du déroulement dudit chargement.
- le procédé comprend en outre, après l'étape (c), les étapes suivantes :
(d) détection des mouvements du pointeur actionné par l'utilisateur, pour déterminer si ledit pointeur entre dans une région déterminée de l'écran, et
(e) lorsqu'une telle entrée est détectée, affichage du premier élément à la place du second élément. - ladite région déterminée consiste en une zone de l'écran située en dehors de la zone d'affichage du second élément.
- ladite région déterminée consiste en un onglet ou bouton situé au voisinage de la zone d'affichage du second élément.
- ladite région déterminée est celle d'un sous-élément d'interactivité appartenant au second élément.
- le premier élément n'est pas remplacé par le second élément tant que le pointeur n'a pas été amené en dehors de la région déterminée de la zone d'affichage du premier élément au moins une fois avant la détection effectuée à l'étape (b).
- le premier élément comprend plusieurs sous-éléments aptes à être affichés dans des régions déterminées de la zone d'affichage du premier élément, le second élément comprend plusieurs sous-éléments aptes à être affichés dans des régions essentiellement superposées avec les régions des sous-éléments du premier élément, l'étape (b) est mise en œuvre région par région, et l'étape (c) est mise en œuvre sous- élément par sous-élément.
- l'étape (d) est mise en œuvre région par région, et l'étape (e) est mise en œuvre sous-élément par sous-élément.
- les étapes (b) et (d) sont mises en œuvre en tenant compte du parcours du pointeur entre sous-éléments.
- le procédé comprend en outre, avant l'étape (c), l'étape supplémentaire consistant à afficher, en superposition sur le premier élément, au moins un sous-élément appartenant au second élément. - l'étape (c) comprend une sous-étape de déplacement à l'écran de la représentation du premier élément vers l'extérieur dudit écran ou d'une fenêtre de celui-ci.
- pendant la sous-étape de déplacement, le ou les sous-éléments du second élément affichés en superposition sur le premier élément restent immobiles.
- l'étape de détection des mouvements d'un pointeur est mise en œuvre pendant qu'un bouton d'un dispositif de pointage commandant les mouvements du pointeur n'est pas actionné et/ou pendant que ce bouton est actionné.
- l'étape de détection des mouvements d'un pointeur est mise en œuvre pendant que le bouton du dispositif de pointage est actionné, au cours d'une opération de glisser- déposer d'un sous-élément déplaçable entre lesdits éléments.
- le procédé comprend en outre les étapes consistant à : détecter l'appui d'un bouton d'un dispositif de pointage commandant les mouvements du pointeur, détecter les mouvements du pointeur pendant cet appui ; créer et mémoriser un lien entre un élément ou un sous-élément sur lequel était situé le pointeur au début de l'appui et un élément ou un sous-élément sur lequel se trouve le pointeur à la fin de l'appui.
- le procédé comprend en outre les étapes consistant à : détecter l'appui d'un bouton d'un dispositif de pointage commandant les mouvements du pointeur, détecter les mouvements du pointeur pendant cet appui ; déplacer le sous-élément d'un emplacement situé sous le pointeur au début de l'appui du bouton vers un emplacement situé sous le pointeur à la fin de l'appui du bouton.
le procédé comprend en outre les étapes consistant à : détecter l'appui d'un bouton d'un dispositif de pointage commandant les mouvements du pointeur, détecter les mouvements du pointeur pendant cet appui ; dupliquer le sous-élément d'un emplacement situé sous le pointeur au début de l'appui du bouton en un emplacement situé sous le pointeur à la fin de l'appui du bouton.
- pour l'affichage d'une pluralité d'éléments d'affichage empilés, les éléments d'affichage sont affichés dans des zones d'affichage telles qu'au moins l'un des bords homologues desdites zones soient progressivement décalés dans l'ordre d'empilage, de manière à pouvoir détecter l'entrée du pointeur dans l'une quelconque des zones d'affichage.
Il est également proposé, selon ce quatrième aspect de l'invention, un système de gestion de l'affichage, sur l'écran d'affichage d'un poste informatique client, d'éléments d'affichage comprenant un élément supérieur et un élément inférieur, le premier élément étant apte à recouvrir de façon variable le second élément, caractérisé en ce qu'il comprend : des moyens pour afficher l'élément inférieur dans une première zone prédéterminée, des moyens pour afficher l'élément supérieur dans une parmi au moins deux secondes zones telles que l'élément supérieur recouvre à des degrés différents l'élément inférieur, des moyens sensibles à la position d'un pointeur actionné par l'utilisateur et aptes à modifier la position de l'élément supérieur en fonction de la présence dudit pointeur dans une région sensible définie par des contours de la première zone et/ou de la seconde zone, et des moyens sensibles à une action de l'utilisateur pour activer/désactiver lesdits moyens de modification de position.
Certains aménagements préférés de ce système sont les suivants - les éléments d'affichage sont des pages transmises vers le système à partir d'un serveur.
- les moyens sensibles à une action de l'utilisateur comprennent une zone d'affichage cliquable unique située au voisinage d'une zone occupée par l'élément supérieur quelle que soit sa position.
- l'élément supérieur est apte à adopter l'une parmi deux positions dans lesquelles il recouvre une partie substantielle de l'élément inférieur et il recouvre une partie marginale de l'élément inférieur, respectivement.
- au moins l'élément supérieur possède des moyens d'interactivité et, dans la seconde position de l'élément supérieur, les moyens sensibles à la position du pointeur mettent en jeu, soit une première zone sensible extérieure à la zone occupée par l'élément supérieur dans sa première position, l'entrée du pointeur dans cette première zone sensible provoquant l'amenée de l'élément supérieur dans sa première position avec ses moyens d'interactivité inactifs, soit une seconde zone sensible incluse dans la zone occupée par l'élément supérieur dans sa seconde position, l'entrée du pointeur dans cette seconde zone sensible provoquant l'amenée de l'élément supérieur dans sa première position avec ses moyens d'interactivité actifs.
D'autres aspects, buts et avantages de la présente invention apparaîtront mieux à la lecture de la description détaillée suivante d'une forme de réalisation préférée de 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 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é d'éléments d'affichage superposés.
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,
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 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 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 éléments,
la figure 74 illustre schématiquement l'accès indirect à une page sur la Toile par l'intermédiaire du système, la figure 75 illustre schématiquement le procédé mis en œuvre 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 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,
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,
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 œuvre 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 à 1 10,
la figure 1 12 illustre une structure arborescente de classeurs selon la présente invention,
la figure 113 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,
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 1 17 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 »,
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 œuvre des fonctions d'anonymat et de commission sur opérations de commerce électronique.
Introduction de la description
On va présenter dans la suite dans trois chapitres, différents systèmes et procédés liés entre eux.
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 que le chargement de pages ou des opérations de glisser-déposer.
Le chapitre II vise, en utilisant notamment la gestion d'affichage du chapitre I, à permettre à un utilisateur de créer des liens personnels entre des pages de la Toile, et vise également différentes techniques pour mettre à profit ces liens créés.
Le chapitre III vise, en utilisant notamment les techniques de liens créés du chapitre II, différentes techniques d'enrichissement mutuel des connaissances notamment via l'Internet. Il reprend à cet égard des notions exposées dans le chapitre II et les généralise. 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'Internet, et qui est volumineuse (quelques dizaines de Kilo-octets, voire plus de cent Kilo-octet, ou même plus).
Cette page est décomposée en deux zones d'affichage Zl 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 Zl, tandis qu'un élément de page E5 est chargé dans la zone Z2.
L'une de ces zones (la zone Zl 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 externes.
Autrement dit, la décomposition en zones permet de distinguer une zone (Zl) dans laquelle l'affichage de l'élément courant (l'élément E2) peut être recouvert (entièrement ou partiellement) par l'affichage d'un (ou plusieurs) éléments qui n'appartiennent pas à la page interactive P.
Bien entendu, les zones en question pourraient être de n'importe quelle forme, et constituées de parties (sous-zones) contiguës ou non.
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 à transmettre, en étant par exemple constituée d'un simple texte introductif, c'est-à- dire très rapidement chargeable. La figure 2 illustre l'élément El affiché dans la zone Zl après avoir été chargé.
L'affichage de cet élément El est effectuée dans la zone Zl 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 œuvre 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 tout à coup privé d'un texte il est en train de lire.
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 constituant un dispositif de pointage) entre dans cette zone Zl (et sans qu'un clic de souris ne soit nécessaire), l'affichage de l'élément El est automatiquement remplacé par celui de l'élément E2.
On observera ici que l'on peut équiper la machine de moyens (bouton, fenêtre de 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 un sous-élément d'interactivité dans E2 ou El.
Section 2- Ré-affichage de l'élément El
Sauf indication contraire explicitement donnée par l'utilisateur comme indiqué ci- dessus, on prévoit alors que l'utilisateur puisse retrouver ultérieurement l'élément El de sa propre initiative et le plus facilement possible, par exemple dans le cas où il l'aurait ôté par erreur.
Or, après le remplacement de l'élément El 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 Zl, il est avantageux que cette zone Zl ne serve pas à déclencher l'opération inverse, c'est-à-dire le remplacement de l'élément E2 par l'élément El .
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 El pourra ainsi être ré-affiché dès la détection de l'entrée du pointeur dans cette zone.
Toutefois, dès que l'élément El a été de nouveau affiché, il faut que l'élément E5 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 redevient zone sensible. Ceci est illustré sur la 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 El peuvent aussi posséder des sous-éléments d'interaction, constituant d'autres zones sensibles, pour respectivement amener et enlever l'élément 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
II 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 zone d'affichage qui ne contient pas l'élément El.
Le déroulement du procédé est alors le suivant :
- l'élément El 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 E5) 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 Zl contenant l'élément El ;
- 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 pas l'élément E2, l'élément El est affiché à nouveau (E2 peut rester affiché ou pas).
Cette séquence est présentée dans le diagramme de la figure 6. Cas 2 : Le pointeur de la souris se trouve initialement dans la zone Zl
Il s'agit du cas où, au moment où les éléments E2 et E5 nécessaires à l'exécution initiale de la page interactive P ont été chargés, le pointeur de la souris se trouve dans la zone d'affichage Zl qui contient l'élément El .
Dans ce cas l'élément El reste affiché aussi longtemps que le pointeur n'est pas sorti de la zone Zl, puis à nouveau entré dans celle-ci ; c'est seulement dans ce dernier cas que l'élément El est remplacé par les éléments E2 et E5 sur l'écran d'affichage.
Cette séquence est présentée dans le diagramme de la 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 éléments de la page soient chargés pour activer la ou les « zones sensibles ».
On va présenter ci-après une approche de « streaming » pour l'élément El, qui dans le présent exemple est constitué par deux sous-éléments El. l et El .2.
Plutôt que d'attendre la fin du chargement complet de l'élément El, les parties distinctes El.l et El .2 de l'élément El (qui peuvent être par exemple principalement du texte) peuvent être chargées et affichées successivement, dans l'ordre de lecture.
Le principe d'affichage des éléments en fonction des déplacements du pointeur de la souris peut rester identique, comme le présente le schéma de la figure 8. En variante, le comportement des différentes parties de l'élément El 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 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 suivante, le cas échéant :
Rèsle I
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 Zl » :
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 Zl, les déplacements du pointeur n'ont pas d'effet tant que le pointeur n'est pas amené en dehors de la zone Zl (c'est-à-dire introduit dans la zone Z2) puis retourné ensuite dans la zone Zl. Ceci est illustré sur la figure 9.
Rèsle 2
Le déplacement du pointeur de la souris, de la zone Z2 à la zone Zl, 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.l de l'élément El provoquera son remplacement par un sous-élément E2.1 de l'élément E2, tandis que l'autre sous- élément El.2 de l'élément El restera intact.
Rèsle 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 El .l . Ceci est illustré sur la figure 10.
Les schémas des figures 11 et 12 présentent d'autres exemples de mise en œuvre de la réversibilité, tels que décrits ci-dessous :
Rèsle 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 El.2 déclenche le remplacement de l'affichage du sous-élément El.2 par celui du sous-élément correspondant E2.2 de la page interactive.
Rèsle 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 remplacé par celui du sous-élément El.2. Ceci est illustré sur la figure 11. Le schéma de la figure 12 présente une variante de mise en œuvre de la règle 5. Supposons qu'après le parcours suivant du pointeur de la souris :
Z2 → El.l (qui devient E2.1) →E1.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
3, n'engendre pas le remplacement du sous-élément E2.2 par le sous-élément El.2.
Rèsle 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 entre-temps 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 El lorsqu'une période de temps prédéterminée s'est écoulée pendant laquelle l'utilisateur est resté sur les sous- éléments de l'élément E2, ce qui est révélateur par exemple d'un début de travail de l'utilisateur sur l'élément 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 complété par exemple par des éléments présentés dans le diagramme de la 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 Zl ;
Elément E5 : la partie de la page principale occupant la zone Z2.
L'homme du métier saura aisément mettre en œuvre 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 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.) constituent des outils classiques à disposition des développeurs.
On peut par ailleurs apporter de nombreuses variantes à la présente 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 Zl) dans laquelle s'affichera, dans les conditions définies plus haut, l'élément E2. Dans ce cas, la partie de la zone Zl 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 El par l'élément E2. La région occupée par l'élément El peut aussi être plus grande que la région (zone Zl) dans laquelle s'affichera l'élément E2.
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 soient contigus ou non contigus.
Au surplus, on peut recourir à différentes techniques de déplacement d'éléments pour retirer El de la zone d'affichage Zl (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 peut prévoir une translation horizontale ou verticale progressive de la représentation de l'élément El vers l'extérieur de l'écran.
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 en cours de chargement (cas par exemple d'un chargement de E2 en « 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 d'autres sous-éléments de l'élément E2 qui vont se comporter comme indiqué ci- 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 immobiles le ou les sous-éléments de l'élément E2 alors visibles à l'écran.
On peut enfin prévoir que l'élément El affiché initialement contienne des sous- é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 de l'élément El doit provoquer la disparition de cet élément. En effet, les sous- éléments d'interactivité en question ne sont alors plus atteignables. On va maintenant décrire en référence aux figures 14 à 24 une généralisation de la présente invention telle que décrite ci-dessus.
On se place tout d'abord dans le situation où l'on souhaite visualiser deux pages (par exemple des pages HTML) dans une seule fenêtre d'affichage.
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 PI 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), comme illustré sur la 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, marginalement, comme l'illustre la 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 figures 16 et 17.
En vue en plan, l'utilisateur peut ainsi distinguer quatre zones Zl 1, Z12, Z13 et Z14 dans sa fenêtre d'affichage, comme le présente la figure 18.
La zone Zl 1 est une zone qui n'est jamais couverte par la page PI du plan supérieur. La zone Zl 1 contient donc en permanence la partie correspondante de la page P2 du plan inférieur.
La zone Z12 est la zone couverte par la page PI du plan supérieur quand celle-ci n'est pas décalée, c'est-à-dire quand elle occupe la position illustrée sur la figure 14.
Et lorsque la page PI 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 occupant alors la somme des zones Zl 1 et Z12.
La zone Z13 est la zone occupée par la pince, qui peut être symbolisée graphiquement de toute façon appropriée.
Enfin la zone Z14 est une zone qui est couverte par la page PI du plan supérieur quelle que soit la position de cette dernière.
Nous allons maintenant présenter les différents états possibles du système et les 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,
• l'état de la pince PC (ouverte ou fermée).
La figure 19 présente les deux positions possibles de la page PI du plan supérieur.
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 souris, la position de la page du plan supérieur et l'état de la pince.
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 Zl 1 et Z14) désignent des régions pour lesquelles l'entrée du pointeur dans l'une de celles-ci provoque une action, comme on le détaillera plus loin. 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 PI et P2 dans leurs plans respectifs.
Le système fait en sorte que la page PI 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 d'examiner.
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 Zl 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 Zl 2 aura comme conséquence de décaler la page PI du plan supérieur.
Ensuite, l'utilisateur pourra provoquer le mouvement inverse de la page PI du plan supérieur (c'est-à-dire la ramener dans la zone Z12) :
- soit en ramenant le pointeur de la souris dans la zone Zl 1 ,
- soit en ramenant le pointeur de la souris dans la 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 Zl 1 ,
- le deuxième choix permet d'utiliser les moyens d'interactivité contenus dans la page PI du plan supérieur dans la zone Z12.
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 et P2 (que ce soit avec la page PI décalée ou la page PI non décalée) sont figées.
Cette neutralisation peut être supprimée avantageusement en cliquant à nouveau dans la zone Z13 pour « desserrer » la pince PC.
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 Zl l à Z14, une zone de marge qui peut être utilisée, par exemple, pour passer de la zone Zl 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 superposés.
Ainsi l'on a illustré sur les figures 23 à 26 une page P2 de plan inférieur qui est fixe, et deux pages PI et PI' 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 graphique unique.
En supplément de la pince, un moyen graphique de « solidarisation » des plans adjacents pris deux à deux peut être mis en œuvre. Quand ce moyen est activé, les deux plans qu'il relie se déplacent ensemble.
Le système décrit en référence aux figures 14 à 26 peut ici encore avantageusement être mis en œuvre dans le cadre d'applications sur l'Internet, dans lesquelles les pages mettent un temps significatif à être chargées. La page PI 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 PI et/ou P2 peut permettre de faire patienter l'utilisateur pendant le chargement d'une autre page P3, encore plus « inférieure » selon la présentation adoptée ici, et ainsi de suite.
Enfin, dans les différentes formes de réalisation de l'invention, on peut prévoir une page PI sensiblement plus petite que la page P2, auquel cas les zones d'affichage occupées par la page PI dans ses deux positions respectives sont disjointes.
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 FI 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 FI. L'appui par l'utilisateur d'un bouton de la souris permet, de façon connue en soi, de « saisir » cet objet en vue d'une opération, également connue en soi, de «glisser-déposer ».
Sur la figure 29, le pointeur PI accompagné de l'objet 01 parcourt un trajet (flèche fl) de la fenêtre FI vers la partie visible de la fenêtre F2, en franchissant donc le bord (gauche en l'occurrence) de la fenêtre Fl, sans lâcher le bouton de la souris.
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 Fl préalablement franchi. Ce phénomène provoque, dans le présent exemple de réalisation, la mise en arrière-plan de la fenêtre Fl par rapport à la fenêtre F2. 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 figure 31.
Selon une variante, on peut prévoir que lors du mouvement du pointeur selon la flèche f2, la fenêtre Fl se déplace, de préférence selon le même mouvement que le pointeur PT, pour ainsi progressivement dégager la fenêtre 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 Fl peut passer automatiquement en arrière-plan de la fenêtre F2 dès que le pointeur PT muni de l'objet 01 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 Fl 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 pointeur après son mouvement selon la flèche f2.
Bien entendu, l'homme du métier saura effectuer les adaptations nécessaires dans le cas où il faut gérer l'affichage de plusieurs fenêtres superposées.
* * * 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 ajoutés ») entre des pages qu'il découvre au gré de sa navigation sur l'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 représentant un lien ajouté.
Concrètement, l'utilisateur met en place de nouveaux liens au cours même de sa navigation, ces liens ajoutés étant destinés à l'aider dans sa navigation dans le futur. II navigue ainsi de manière « pro-active ».
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 Internet (Web) à laquelle il avait déjà accès, comme illustré sur la figure 33.
A cet effet, le système est installé entre le navigateur et les sites visités, et augmente pour chaque utilisateur le réseau des liens qui sont à sa disposition pour naviguer. 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 serveur approprié). Dans la suite de la description, on se focalisera sur un stockage 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 d'une toile personnelle à une autre, ce qu'un stockage distant permet plus facilement de mettre en œuvre.
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 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 d'intérêts communs.
La suite de la description est structurée de la manière suivante :
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 été associés). Ceci est décrit dans la section « Créer et retrouver des liens ajoutés ».
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 », ou « bookmarks » ou encore « scrapbook » selon la terminologie anglo-saxonne). Ceci sera décrit dans la section « Création de liens ajoutés dans des Répertoires ».
On présentera ensuite un perfectionnement du système classique de marque-pages, qui consiste à rendre les marque-pages contextuels. 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 ajoutés ».
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 dont les centres d'intérêt sont proches. Ceci est décrit dans la section « Détection de Répertoires Proches ».
On présentera ensuite une architecture qui permet à l'éditeur ou l'administrateur d'un site Internet (« Webmaster » en terminologie anglo-saxonne) 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 l'audience probable. Ceci est décrit dans la section « Calcul de l'Audience ».
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 qui les consulte. Ceci est décrit dans la section « Publication de Répertoires ». 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 d'une page. Ceci est décrit dans la section « Liens en mode Gelé ».
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 contenants récursivement. Ceci est décrit dans la section « Contenants et contenus ».
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 « Proposition de Répertoires Spécialistes et Voisins».
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 à l'acceptation ».
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 Personnalisées ». 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 pi via l'Internet, 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 pi 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 « aggloméré » desdits liens.
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 d'information qu'il avait déjà repérés.
Créer des liens ajoutés
L'approche des plans coulissants décrite dans la première partie de la présente description est particulièrement favorable à l'établissement de liens ajoutés par la 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 se trouve dans un autre plan, afin d'établir un lien ajouté entre ces deux pages.
Cette approche est à comparer avec l'approche qui consisterait à glisser-dé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 notamment à la figure 26.
On comprend également que, selon une variante, cette technique de « glisser- 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 « pousse » la fenêtre qui était en premier plan en arrivant contre l'un de ses bords.
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 pince décrite plus haut étant active et bloquant le mouvement des plans.
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 fenêtre afin de la faire passer en arrière-plan de la fenêtre de la 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 bouton (ceci n'est pas illustré dans les figures).
Bien que la figure 37 ne le montre pas, des objets graphiques à l'intérieur des pages peuvent aussi être glissés-déposes, soit entre eux, soit vers des zones ou objets 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 pages, peuvent aussi être glissés-déposes à l'intérieur de 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 haut étant débloquée.
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 du poste client.
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 sont à sa droite peuvent être décalés.
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.
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 représentant), sans entraîner le déplacement des plans tel que décrit.
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 plusieurs plans adjacents à ladite 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 à l'aide de la souris.
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 bandeaux publicitaires.
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 exemple sous forme d'une table TABLE, comme l'illustre la 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 pi, un lien ajouté pi s'ajoute automatiquement sur les pages p2, p3 et 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 scène 3D couramment visualisée) vers la poignée de la page à relier (autre scène 3D).
Les moyens de stockage des liens ajoutés sont avantageusement mis en œuvre 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 l'intermédiaire d'un Fournisseur d'Accès à l'Internet.
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 protocole HTTP par exemple.
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 présentés conjointement à cette page.
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 des liens ajoutés avec la page peut être effectuée sur le serveur ou sur le poste client.
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 des répertoires qui peuvent former une structure arborescente de répertoires et de sous-répertoires.
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 (constituant généralement des catégories personnelles de l'internaute). En effet :
- l'utilisateur peut ranger dans un répertoire non seulement un lien (vers une page), mais aussi un lien ajouté (entre deux 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 pourtant contient aussi le lien vers ladite la première 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 même page « coca » peut ne pas se trouver de lien ajouté vers la page « pepsi ». (Voir l'exemple à la fin de cette section et la figure 51).
(Toutes les marques citées dans le présent mémoire sont des Marques Déposées de leurs titulaires respectifs, notamment « coca », « pepsi », « perrier » et « hp »).
Dans les choix de conception adoptés dans toute la suite de la 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 l'exemple de la 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 sur la base de l'union des liens ajoutés situés dans ces répertoires.
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 rangé dans ce(s) répertoire(s) courant(s).
* pour supprimer une page, l'utilisateur sélectionne la page en question et actionne la commande supprimer (par exemple par la touche « Suppr » du clavier).
- 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, il tire dans une deuxième page un lien ajouté qui pointera vers la première 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 liens vers des pages, même s'il croit déplacer les pages elles-mêmes.
Dans la suite de la description, pour simplifier la lecture et décrire ce que l'utilisateur « 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 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 raccourci pour « lien vers une page ou vers un élément contenu dans une page ».
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éé automatiquement par le système.
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 www.hp.com (« hp ») dans le répertoire Mgt.
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 pepsi (voir 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 figure 46 illustre cet exemple.
L'interface homme-machine permettant ces opérations peut par exemple être celle schématisée dans les figures 46 à 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) ;
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 n'a aucun effet. Ceci est illustré par la 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 ajoutés entre elles) ; ces deux opérations sont illustrées sur la 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 supprimée dans la même action. Ceci est illustré par la figure 49.
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 illustré sur la 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é à la 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é doivent se trouver dans un même répertoire) .
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 une copie de) la page courante visualisée, dans le cas où il veut mémoriser ledit lien.
De plus, les navigateurs modernes offrent l'option d'afficher, dans une sous-fenêtre adjacente à celle contenant la page visualisée, la structure arborescente de répertoires de marque-pages et les marque-pages (liens ou copies mémorisés) qu'ils contiennent. 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,
- et présenter leurs contenus respectifs.
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 page courante, puisqu'il les a automatiquement à sa disposition.
Dans une mise en œuvre 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 et retrouver ainsi les autres pages qu'il avait rangées ensemble dans ces répertoires.
Selon un détail de mise en œuvre, 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 offrir ainsi un accès contextuel aux liens mémorisés de manière encore plus directe.
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 ouvrir une nouvelle page présentant le répertoire r2 avec tout son contenu (les sous- répertoires et les pages qu'il contient).
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 marque-pages existants.
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 rang ».
La figure 53 illustre un exemple de mise en œuvre de cette approche. En cliquant sur une zone graphique particulière d'un lien Ajouté p3 associé à la page pi, l'utilisateur peut voir également les liens Ajoutés (p31, p32 et p33) qui sont associés à la page p3 alors que c'est la page pi qui est couramment visualisée (et non la page p3).
Bien évidemment, cette approche peut être généralisée (récursivement) pour l'affichage de liens Affichés de rangs supérieurs à 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 l'utilisateur. Ceci constitue une invitation à aller consulter à nouveau ladite page.
En outre, ce même signe peut figurer sur la représentation graphique de chaque répertoire dont au moins l'une des pages a été mise à jour.
Section 5 - Publication de liens ajoutés Un perfectionnement du système consiste à permettre de publier les liens ajoutés que 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 exemple en donnant un mot de passe).
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 le deuxième utilisateur, de manière classique par courrier électronique.
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.
Un exemple schématique de cette « invitation » en est illustré à la 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 même page chez le premier utilisateur.
On va maintenant décrire la manière dont un deuxième utilisateur est sélectionné par le premier utilisateur pour y puiser des liens ajoutés.
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 Proches »).
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, collègues, experts, etc.).
Selon une variante, peut s'ajouter aux trois listes ci-dessus une quatrième liste des répertoires appartenant au premier utilisateur.
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 (« copains ») en mode actif (c'est-à-dire sélectionné) par défaut.
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 page en 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 » ces répertoires. 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 œuvre. 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 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 étant décrit plus loin dans la section « Liens en mode Gelé »).
On donnera plus loin dans le chapitre III une description plus complète de la mise en œuvre technique de ces 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 utilisateur), sont au départ chez le premier utilisateur en mode « Suggéré ».
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 schématisée à la 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 des liens ajoutés.
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 du premier utilisateur.
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 répertoire du premier utilisateur, pour la même 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 sélectionnée (a été décochée).
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 opposition aux liens ajoutés en mode Suggéré qui eux ne seront pas publiés.
L'insertion (manuelle ou par glisser-déposer) d'un lien ajouté sur une page entraîne d'office sa mise en mode Accepté (puisque l'utilisateur l'a inséré lui-même).
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 visualiser et qui représente donc le contexte courant de ses intérêts.
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 premier utilisateur.
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 » à ce dernier.
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 seule page, l'homme de métier saura adapter cette méthode au cas de plusieurs 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 pertinence du résultat que des performances d'exécution.
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 qui ne sont pas dans le contexte qui intéresse l'utilisateur au moment courant. 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 taille du domaine du contexte courant.
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 des profils qui ne sont pas dans le domaine d'intérêt courant de l'utilisateur. 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 de catégories.
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 page, ou même à partir de ladite page et de ses liens ajoutés.
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 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 répertoires « proches » du premier utilisateur,
- plusieurs répertoires d'un même deuxième utilisateur.
Dans la suite, on décrira donc l'approche consistant à sélectionner des répertoires plutôt que des utilisateurs.
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 Ajoutés qui lui sont associés.
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 Ajoutés dans des Répertoires »).
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 :
- 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 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 page courante (conformément à la description de la section précédente).
Le système peut aussi offrir à l'utilisateur des moyens de tenter de se mettre en relation - par des moyens de communication synchrone sur Internet tels que la messagerie simultanée, la visioconférence, etc. - avec les utilisateurs possédant ces répertoires qui seraient en ligne en même temps que l'utilisateur.
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 peut communiquer avec eux.
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 pas en ligne en même temps.
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 ayant comme thème cet ensemble de pages.
On va maintenant décrire la méthode de calcul de proximité.
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, ceux qui ont le score de proximité le plus élevé autour de ladite page. En résultat, le système propose à l'utilisateur ces répertoires dans l'ordre de leur proximité.
La proximité est calculée à différents niveaux.
Au premier niveau, la proximité est fonction du nombre de liens ajoutés communs associés à la page courante. La figure 58 illustre la détermination de la proximité au niveau 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 l'illustre la figure 59.
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 d'étapes d' indirection.
Proximité transitive
On va décrire ci-après un perfectionnement du procédé de calcul de proximité entre deux répertoires décrit plus haut.
Le système peut enrichir son évaluation de proximité en anticipant les propagations probables de liens ajoutés dans le futur.
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, 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 répertoire en prenant en compte cette 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 proches du répertoire courant de l'utilisateur.
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 proche est associé audit lien ajouté.
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 répertoires où ils sont passés.
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 répertoire proche).
De manière progressivement plus indirecte, l'utilisateur peut demander au système 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 et les suggestions peuvent être effectuées dans l'ordre de ces 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 R3 pour 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 maillon le plus faible de la chaîne.
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 (acceptation de R2 par RI et de R3 par 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 proximité de R3 pour RI n'est que de 0 (aucun lien ajouté en commun).
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 maillons de la chaîne.
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 des acceptations de liens ajoutés suggérés à partir de ce deuxième répertoire.
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 valeur de ce compteur représente le coefficient de probabilité d'acceptation.
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 rapporté au nombre (total) de liens ajoutés suggérés.
Ce procédé peut comporter diverses sophistications que saura mettre en œuvre l'homme du métier, et notamment une pondération permettant de donner un poids plus fort aux acceptations/refus plus récents. 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 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) auprès d'un répertoire RO, et qu'un répertoire R2 a un fort coefficient de probabilité d'acceptation (Cl -2) auprès du répertoire RI, alors, par transitivité, R2 aura un fort coefficient de probabilité d'acceptation (CO-2) auprès du répertoire RO.
Plus précisément, la valeur C0-1 reflète le degré de confiance que le possesseur du répertoire RO accorde au contenu du répertoire RI. En effet, puisqu'en général le possesseur du répertoire RO accepte les suggestions provenant du répertoire RI, 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 RO considère que le possesseur du répertoire RI a un bon jugement en matière d'acceptation et de refus dans ledit répertoire RI.
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 Cl -2 est élevée). Puisque son jugement est bon aux yeux du possesseur du répertoire RO, le système peut conclure que le possesseur du répertoire RO va probablement aussi accepter les suggestions provenant du répertoire R2.
Par le même raisonnement, si la valeur C0-1 est forte et si la valeur Cl -2 est faible, alors, le système peut conclure que la valeur CO-2 sera faible.
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 validé ou pas. Mais, bien évidemment, la fiabilité du coefficient obtenu baissera avec la profondeur de la transitivité.
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 ») 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 des répertoires qui ont ce coefficient le plus élevé 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 peuvent être proposés à l'utilisateur dans la première liste de la figure 55a.
Les deux étapes suivantes peuvent être mises en œuvre 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 proche, et ne retenir ainsi que les répertoires candidats les plus proches).
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 celle-ci 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 éloignés de la page courante dans les répertoires candidats.
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 relatif peut être réglé par l'administrateur du site.
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 vers laquelle pointe ledit lien ajouté pointe va être visualisée. 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 à l'utilisateur.
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 figure 55 a.
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 à la description faite dans la section « Publication de liens ajoutés »).
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 à l'utilisateur, mais ne seront pas cochées par défaut.
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 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 cas de l'architecture de la 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é par l'administrateur et/ou par l'utilisateur.
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 va maintenant décrire.
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 : 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 1 qui sont en commun, le système calcule la Proximité (tel que décrit dans la section « Détection de Répertoires Proches ») en partant de ces 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 élevées de proximité Décalée déterminées comme décrit ci-dessus.
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 candidats (Proximité Décalée d'éloignement > 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 court-circuitant le point « b. »).
La figure 61 illustre la détermination de proximité décalée d'éloignement 1 pour un répertoire candidat. Dans cet exemple, le système trouve, dans le répertoire courant de l'utilisateur :
- deux pages en commun (pi et p2),
- pour la page pi 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é sur deux. 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é décrite dans la section « Détection de Répertoires Proches ».
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 pO 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 pO 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 œuvre):
- 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 des Répertoires », les liens ajoutés sont bidirectionnels, c'est-à-dire qu'un lien ajouté associé à une page PI 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 PI va y figurer et va ainsi inciter l'utilisateur à aller consulter ladite 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 proche candidat en partant de la page courante.
- 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 ajoutés associés à la page en 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 chances d'être accepté par l'utilisateur.
- 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é candidat dont 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 œuvre dans leur prise en compte (il s'agit notamment d'éviter les critères qui consommeraient trop de ressources). 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 55 a, qui est proposé à l'utilisateur par défaut.
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 1 (à 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 grande 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é en 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 que l'apparence graphique) du lien ajouté inverse.
La figure 64 illustre la présentation graphique d'un lien ajouté inverse sur une page (sous forme d'affichette). Une page pi 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 pi 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 l' attention de 1 ' internaute . Section 8 - Calcul automatique de prévision d'Audience
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 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 réalisés sur les liens ajoutés inverses.
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 pi 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 ainsi propagés d'un utilisateur à l'autre.
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 Proches »). 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 répertoires de sa toile personnelle.
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) ;
- ou au moyen du système.
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 ce répertoire.
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 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 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 couramment déjà acceptés (ou gelés) par l'utilisateur.
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 moment courant.
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 figurent pas déjà dans le répertoire courant.
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.
- 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 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 dernier sélectionne ledit répertoire.
Le grand avantage de ce procédé est qu'il permet aux utilisateurs d'associer aux répertoires des catégories appartenant à un vocabulaire commun (le système incite à parler un « langage commun »).
3. Les répertoires Copains sont les répertoires choisis par l'utilisateur (Voir la section « Publication de liens Ajoutés »).
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) par opposition aux liens ajoutés (associés aux 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, Voisins, Copains).
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 », « Demandeur », etc), données par l'utilisateur ou associés au répertoire visualisé.
Les liens qui sont ainsi suggérés à l'utilisateur doivent être distingués de ceux qu'il 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 « Liens en mode Gelé »). 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 premier utilisateur au départ en mode « Suggéré ».
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 œuvre de ces changements de mode est schématisée sur la 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 ri 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 Ajoutés. Nous complétons cette description avec la figure 67 qui montre que les liens (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 ont donné).
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 visite. 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 stocké dans le répertoire source.
Le passage d'un lien du mode Suggéré au mode Refusé a pour effet de filtrer automatiquement ledit lien lors des visites ultérieures.
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 la source n'est plus sélectionné (a été décoché).
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 ajoutés en mode Suggéré qui eux ne seront pas publiés.
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) entraîne d'office sa mise en mode Accepté (puisque l'utilisateur l'a inséré lui-même).
Une page visualisée par l'utilisateur dans le répertoire courant entraîne l'insertion du lien vers ladite page en mode Suggéré dans ledit répertoire. Il n'est donc pas stocké. 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 toujours l'utilisateur sur cette même version de la page dans le futur.
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 maintenant vers cette version stockée.
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 peuvent exister.
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 ledit lien ajouté pour le faire pointer vers cette copie. 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 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 elle est différente de la version telle que copiée).
Section 11 - Contenants et contenus
On va maintenant généraliser les concepts décrits dans les sections précédentes, en considérant des structures « Contenants » (« Containers » en terminologie anglo- saxone) contenant des éléments « Contenus » (« Contents » en terminologie anglo- saxone), à n'importe quel niveau dans la structure des informations gardées par l'utilisateur dans son espace de stockage personnel.
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.
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 à une structuration hiérarchique des informations.
Toute la toile personnelle de l'utilisateur est vue comme une structure arborescente 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 ancêtre le plus proche ayant un XSL est affiché par défaut.
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 eux-mêmes contiennent des contenus, et ainsi de suite.
Tous les moyens décrits jusqu'ici pour les répertoires et les pages sont applicables respectivement aux contenants et contenus.
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'à des Répertoires. 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 de l'utilisateur.
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 page considérée dans sa globalité, par exemple.
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 œuvre affichera le plus proche contenu parent (qui le contient) dans la hiérarchie des contenus.
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 suggéré dans le premier contenant dès leur acceptation dans le deuxième contenant.
Les documents que constituent les pages publiées dans les sites Internet 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-l" name="Anatole">
<C name≈'Ηubert" id="C-l"/> <C name="Edouard"/> <C name="Antoine"/> <C name="Raymond"/>
</A>
<B name- 'Henri"/>
<B name="Claude" myfriend- 'C-l" myenemies="A-l B-l"> exemple informations texte exemple informations texte <D name="Dominique" myfriend- 'A- 1 "/>
</B>
<B name="Robert" id="B-l"//> <B name="Andre"/> </Root>
Un exemple de feuille de style XSL, permettant d'obtenir le rendu, est présenté dans les dix paragraphes suivants.
Entête de la feuille de style : <?xml version="1.0" encoding='TSO-8859-l" ?>
<xsl:stylesheet xm s:xsl- 'http://www.w3.org/TR/WD-xsl"> <xsl:template match- 7"> <HTML> <HEAD /> <BASEFONT FACE=" ARIAL" SIZE="2">
<xsl:apply-templates /> </BASEFONT> </HTML> </xsl:template>
Les nœuds du code source pour lesquels aucun traitement particulier n'est prévu sont copiés dans la page HTML : <xsl:template match="*"> <xsl:copy> <xsl:apply-templates select="@*|node()" /> </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"> <H1>FAMILLE/AMITIE/ETC...</H1> <p>Dans la rue, il y a plein de gens :</p> <xsl:apply-templates />
</xsl:template>
La valeur de l'attribut name est inscrite en caractères gras. <xsl :template match=" * [@name] "> <li>
<b> <xsl:value-of select="@name" /> </b>
Si le nœud 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 nœud possède un attribut myfriend, la valeur de l'attribut est placée dans le rendu entre parenthèses :
<xsl:if test="@myfπend"> (ami de
<xsl:value-of select="@myfiïend" />
) </xsl:if
Si le nœud 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 nœud possédant un attribut name possède des sous-nœuds avec des attributs name, ces sous-nœuds sont présentés dans une liste précédé du label "Enfants:" : <xsl:when test="*[@name]"> <blockquote> Enfants : <ol>
<xsl : for-each sélect- ' * [@name] "> <xsl:apply-templates select="." />
</xsl:for-each> </ol> </blockquote> </xsl:when> Si un nœud possédant un attribut name ne possède pas des sous-nœuds 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 contenants (illustrés en pointillés).
La figure 69 illustre le fait qu'une telle structure permet de prendre des éléments d'un contenant pour les placer dans d'autres par le procédé importation. 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 schématisé par la figure 70.
La figure 71 illustre le fait que ces manipulations peuvent également être effectuées d'un document à l'autre.
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 contenus, qui pourront ainsi être déplacés ou reproduits d'une page à l'autre.
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 ;
- une suite de contenus, regroupant les éléments référencés dans les contenants.
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 système .
A. Création de la macrostructure
Pour que le code « source » puisse être restructuré et stocké en évitant les 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 la 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="l" CATEGORY="urll"> exemple d'informations <img src- 'urlsource"/> de toutes sortes
<A id="A-l" name="Anatole">
<C name="Hubert" CONTAINERNUMBER="l"" CATEGORY="url2" id="C-l" />
<C name="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-l" myenemies="A-l B-l"> exemple informations texte exemple informations texte
<D name- 'Dominique" myfriend- 'A- 1"/> </B>
<B name="Robert" CONTAINERNUMBER="l" CATEGORY="url4" id="B-l"/>
<B name=" André" CONTAINERNUMBER="l" CATEGORY="url4" />
</Root>
On notera que : - « Hubert » est dans un container (CONTAINERNUMBER= "1") différent de celui d' « Antoine », « Edouard » et « Raymond » (CONTAINERNUMBER= "2").
- les attributs « myfriend » et « myenemies » sont des références aux nœuds de l'arbre, car ils ont été spécifiés comme tels (type « idref ») par le schéma associé au code source en langage 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 que soit le nombre de fois où ils ont été reproduits.
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 quels contenants.
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 suite de contenus.
Dans notre exemple, l'arbre de structure est la suivante :
<CONTAINER SRC="...?id=12" CATEGORY- 'urll">
<CONTENTREF id="ContentRef-l" SRC- '...?id= Content-42" NAME="Root">
<POSITION_CONTAINER N=" 1 ">
(Container où se trouve Hubert)
<CONTAINER SRC="...?id=13" CATEGORY- 'url2"> <CONTENTREF id="ContentRef-2" SRC="...?id= Content-43" NAME="C"> </CONTAINER>
(Container où se trouvent Antoine, Edouard et Raymond) <CONTAINER SRC="...?id=14" CATEGORY- 'url3"> <CONTENTREF id="ContentRef-3" SRC- '...?id= Content-44" NAME="C"> <CONTENTREF id="ContentRef-4" SRC=" ... ?id= Content-45" NAME="C"> <CONTENTREF id="ContentRef-5" SRC="...?id= Content-46" NAME="C"> </CONTAINER>
</POSITION_CONTAINER >
<POSITION CONTAINER N="2">
<CONTAINER SRC="...?id=15" CATEGORY="url4">
<CONTENTREF id="ContentRef-6" SRC="... ?id= Content-47" NAME="B"> <POSITION_ELTREFS N="l"> <ELTREFS SRC="... ?id=ContentRef-2"/> </POSITION_ELTREFS >
<POSITION_ELTREFS N="2">
<ELTREFS SRC="... ?id=ContentRef-l*7> <ELTREFS SRC="... ?id=ContentRef-7'7> </POSITION_ELTREFS >
<POSITION_ELTREFS N="3">
< ELTREFS SRC="... ?id=ContentRef-l"/> </POSITION ELTREFS >
</ CONTENTREF>
<CONTENTREF id="ContentRef-7" SRC="...?id= Content-48" NAME="B"/> <CONTENTREF id="ContentRef-8" SRC="...?id= Content-49" NAME="B"/> </CONTAINER> </POSITION_CONTAINER > </CONTENTREF> </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-l">
<POSITION_CONTAINER N="l"/> </A>
<B name="Henri" /> <POSITIθN_CONTAINER N="2"/> </Root> </CONTENT>
<CONTENT id="Content-43" CATEGORY="url2"> <C name="Hubert" id=C-l/> </CONTENT>
<CONTENT id=" Content-44" CATEGORY="url3"> <C name="Edouard"/>
</CONTENT>
<CONTENT id=" Content-45" CATEGORY- 'url3"> <C name- 'Antoine"/> </CONTENT>
<CONTENT id=" Content-46" CATEGORY="url3">
<C name="Raymond"/> </CONTENT>
<CONTENT id=" Content-47" CATEGORY="url4">
<B name="Claude" myfriend="C-l" myenemies="A-l B-l"> <POSITION_ELTREFS N="l" ATTRIB="myfriend"/> <POSITION_ELTREFS N="2" ATTRIB="myenemies"/> exemple informations texte exemple informations texte
<D name- 'Dominique" myfriend="A-l">
<POSITION_ELTREFS N="3" ATTRIB="myfriend"/> </D> <B/> </CONTENT> <CONTENT id="48" CATEGORY="url4">
<B name- 'Robert" id="B-l"/> </CONTENT>
<CONTENT id="49" CATEGORY="url4"> <B name="Andre"/> </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.
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 regroupés dans deux contenants différents sous « 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 POSITION CONTAINER ayant un numéro. Ce numéro correspond à l'indication « N » figurant dans les contenus. Ceci est illustré sur la 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 contenu où se trouve l'élément référencé. Ceci est illustré à la 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 identifié par une adresse URL dénommée 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é le contenant. Cette catégorie est spécifiée au moyen d'une adresse 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 trouve.
Par exemple : <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 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 :
<CONTENTREF ID= «432» SRC=«... ?43» NAME=«A»/>
3. Balise « POSITION CONTAINER »
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 CONTENTREF peut contenir plusieurs balises POSITION_CONTAINER, c'est-à- 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 :
< CONTENTREF ID=26 SRC=«... ?ID=44» NAME=«B»> <POSITION_CONTAINER N=l>
<CONTAINER SRC=«... ?ID=13» CATEGORY=«URLl»> < CONTENTREF ID=27 SRC=«... ?ID=45» NAME=«B 1 »/> </CONTAINER> <CONTAINER SRC=«... ?ID=14» CATEGORY=«URL2»>
< CONTENTREF ID=28 SRC=«... ?ID=46» NAME=«B2»/> </CONTAINER> </POSITION_CONTAINER>
<POSITION CONTAINER N=2> <CONTAINER SRC=«... ?ID=13» CATEGORY=«URLl»> <CONTENTREF ID=29 SRC=«... ?ID=47» NAME=«B3»/> </CONTAINER> </POSITION_CONTAINER> </ CONTENTREF>
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 :
<CONTENT ID=«43» CATEGORY=«URL»>
<A>
<C/>
</A> </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>
</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 :
<CONTENT ID=«44» CATEGORY=«URL3» INDIRECT=«43» > </CONTENT>
2. Balise « POSITION_CONTAINER »
Cette balise indique la position où un contenant peut être inséré dans un contenu, par exemple :
< POSITION_CONTAINER N=«l»/>
3. Balise « POSITION_ELTREFS »
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=«l» 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 avec les contenants et les contenus, c'est-à-dire les organiser selon sa volonté. 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 contenus et contenants).
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é sur la figure 75.
D. Code XML reconstitué
Afin de pouvoir être présenté à l'internaute, le code XML décomposé est reconstitué. 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 l'utilisateur puisse les manipuler.
A cet égard, comme on va le voir par la suite, l'internaute peut sélectionner un contenu ou un contenant au moyen de « poignées » pour les déplacer où les mettre dans un autre document.
Pour l'exemple traité jusqu'ici le code reconstitué est le suivant :
<Root CONTAINERNUMBER- '1" CATEGORY- 'urll">
Exemple d'informations <img src="urlsource"/> de toutes sortes
<A id="A- 1 " name=" Anatole"> <C name="Hubert" CONTAINERNUMBER- ' 1 "
CONTAINERID="13"
CONTENTID="43"
CATEGORY="url2" id- 'C-l" />
<C name="Edouard" CONTAINERNUMBER="2"
CONTAINERID="14"
CONTENTID="44"
CATEGORY="url3"/>
<C name=" Antoine" CONTAINERNUMBER- '2"
CONTAINERID="14"
CONTENTID="45"
CATEGORY="url3"/>
<C name="Raymond" CONTAINERNUMBER="2"
CONTAINERID="14"
CONTENTID="46"
CATEGORY="url3"/>
</A>
<B name- 'Henri" />
<B name="Claude" CONTAINERNUMBER="l" CONTAINERID="86" CONTENTID="47" CATEGORY="url4" myfriend- 'C-l" myenemies="A-l B-l">
Exemple informations texte exemple informations texte <D name- ' Dominique" myfriend- 'A- 1"/>
</B>
<B name- 'Robert" CONTAINERNUMBER="l" CONTAINERID="87" CONTENTID="48" CATEGORY="url4" id="B-l"/>
<B name=" André" CONTAINERNUMBER="l" CONTAINERID="88" 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 d'interagir avec le contenu de la 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 conséquence : la 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 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 nœud 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é à l'élément communique alors avec le système.
Le modèle précité est ajouté en fin de la page XSL afin de la surcharger efficacement et pour que les éléments de dérivation soient effectivement affichés. L'allure de ce modèle peut par exemple être la suivante :
<xsl:template match="*[@CONTAINERID>0]">
<xsl:if test="/*[@HANDLEMODE=T]">
<xsl:element name- 'DIV">
<xsl:attribute name="STYLE"> BEHAVIOR :url(..Jsystem.dragndrop.htc) ; </xsl:attribute>
<xsl:eval>this.nodeName</xsl:eval>
<xsl:attribute name="containerid"> <xsl:value-of select="@CONTAINERID"/> </xsl:attribute>
<xsl:attribute name="contentid"> <xsl:value-of select="@CONTENTID"/> </xsl:attribute>
</xsl:element> </xsl:if>
<xsl:eval> this.setAttribute("CONTAINERID",0)
</xsl:eval>
<xsl:apply-templates select="." />
</xsl:template>
L'élément DIV (introduit en 3e ligne) est un élément de dérivation auquel est associé le composant « BEHAVIOR :url(.. Jsystem.dragndrop.htc) », dont l'allure est présentée en Annexe. Ce composant permet une gestion du « glisser-déposer » des éléments pour la dérivation de contenants qu'il communiquera au système.
B. Réception de l'événement « ONDERIVE »
Lorsque le composant BEHAVIOR déclenche l'événement ONDERIVE, par l'instruction « fire("ONDERιVE",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 :
1- il demande si l'utilisateur désire importer le contenu ou dériver le contenant ;.
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 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 ;
b. si la page est dynamique, simple notification d'insertion de données.
Dans ce cas, la page reçoit la 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 initialisée) et d'insérer le code HTML résultant dans la 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 de contenants.
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 ») (ces références sont symbolisées par des flèches noires). 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 se traduit par la 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 re-caté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 de contenus, au sein d'une catégorie. Ceci est illustré sur la figure 78.
Dans le cas où les contenus importés possèdent des contenants, ces derniers sont dérivés suivant le mécanisme décrit ci-après.
Dérivation
Supposons que l'on dispose de l'imbrication contenant/contenu présentée sur la figure 79.
Dériver le contenant 1 revient à l'insérer dans un contenu à une certaine « 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 de la figure 80a) vers le contenant que l'on veut dériver.
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»> <POSITION CONTAINER N=l> <CONTAINER SRC=«... ?ID=126» SOURCESRC=«... ?ID=1>»
</CONTAINER>
<POSITION_CONTAINER>
</ CONTENTREF>
- pour la suite de contenus :
<CONTENT ID=«44» CATEGORY=«URL»> <Contenu> <POSITION_CONTAINER N=«l»/> </Contenu> </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 poste client, à la disposition illustrée sur la 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 sous-contenant source. La profondeur à laquelle on charge les éléments dans le contenant dérivé est fixée par un mécanisme de chargement progressif 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, comme le montre la figure 81, et de créer ainsi une structure virtuellement infinie. Sans ce mécanisme, charger un contenant provoquerait alors une boucle infinie dans le cadre d'une structure réellement infinie.
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 position. On parle alors de superposition de contenants.
Partons de la structure présentée dans la figure 82 (en notant que les éléments situés dans un cadre en pointillés sont considérés comme étant dans un contenant).
Cela se traduit ainsi :
- pour l'arbre de structure :
<CONTENTREF ID=54 SRC=«... ?ID=42» NAME=«Root»>
<POSITION_CONTAINER N=l>
<CONTAINER SRC=«... ?ID=12» CATEGORY=«URL»> <CONTENTREF ID=55 SRC=«... ?ID=43» NAME=«A»>
<POSITION_CONTAINER N=l>
<CONTAINER SRC=«... ?ID=13» CATEGORY=«URL»>
<CONTENTREF ID=56 SRC=«... ?ID=44» NAME=«C»/>
</CONTAINER> </POSITION_CONTAINER>
</CONTENTREF>
<CONTENTREF ID=57 SRC=«... ?ID=45» NAME=«B»>
<POSITION_CONTAINER N=l>
<CONTAINER IDCONTAINER=«14»> <CONTENTREF ID=58 SRC=«... ?ID=46» NAME=«D»/>
</CONTAINER>
</POSITION_CONTAINER>
</ CONTENTREF>
</CONTAINER> </POSITION_CONTAINER>
</CONTENTREF> - pour la suite de contenus :
<CONTENT ID=«42» CATEGORY=«URL»> <Root>
<POSITION_CONTAINER N=«l»/>
</Root>
</CONTENT>
<CONTENT ID=«43» CATEGORY=«URL»>
<A>
<POSITION_CONTAINER N=«l»/>
</A>
</CONTENT>
<CONTENT ID=«44» CATEGORY=«URL»>
<B>
<POSITION_CONTAINER N=«l»/>
</B> </CONTENT>
<CONTENT ID=«45» CATEGORY=«URL»> <C/>
</CONTENT>
<CONTENT ID=«46» CATEGORY=«URL»>
<D/>
</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=l, comme indiqué ci-dessous :
<CONTENTREF ID=32 SRC=«... ?ID=42» NAME=«Root»>
<POSITION_CONTAINER N=l> <CONTAINER SRC=«... ?ID=12» CATEGORY=«URL»>
<CONTENTREF ID=33 SRC=«... ?ID=43» NAME=«A»>
<POSITION_CONTAINER N=l>
<CONTAINER SRC=«... ?ID=13» CATEGORY=«URL»>
<CONTENTREF ID=34 SRC=«... ?ID=44» NAME=«C»/> </CONTAINER>
</POSITION_CONTAINER>
</CONTENTREF>
<CONTENTREF ID=35 SRC=«... ?ID=45» NAME=«B»>
<POSITION_CONTAINER N=l> <CONTAINER SRC=«.. ?ID=14» CATEGORY=«URL»>
<CONTENTREF ID=36 SRC=«... ?ID=46» NAME=«D»/>
</CONTAINER>
<CONTAINER SRC=«15» CATEGORY=«URL»
SOURCESRC=«... ?ID=13>» </CONTAINER>
</POSITION_CONTAINER>
</CONTENTREF>
</CONTAINER>
</POSITION_CONTAINER> </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
« Suggéré », et l'utilisateur peut modifier leur 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 chaque contenu chargé dans ce contenant, avec un attribut MODE=SUGGESTED.
Ce qui est suggéré peut être accepté ou refusé (ou encore laissé en mode suggéré). 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 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 être présenté à l'utilisateur à la prochaine connexion.
La mémorisation correspondant à ces différents cas est schématisée sur la 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 issue comme devant être présentés par défaut.
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 Refusé, en accédant à cette même page avec le système.
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 de « Spécialistes ». Avec ladite page, l'utilisateur peut aussi recevoir des liens ajoutés (qui y ont été associés par l'administrateur du site ou par les Spécialistes qu'il aura sélectionnés). 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 ainsi pas la page d'emblée.
Dans l'exemple que l'on prendra tout au long de cette section (voir figure 84a), pour une page sur le foie gras, des Spécialistes (ici des Chefs) différents présentent :
- 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 (Canard, Oie).
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 contenants de la 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 courant qui l'accueille.
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 mette également à jour l' attribut Mode du lien ajouté par l'intermédiaire duquel il a accédé à cette 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 répertoires « Voisins d'intérêt » (voir la liste « Copains » dans la 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 Répertoires ».
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 ont été proposé pour construire son profil.
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 les sections « Publication de Liens Ajoutés » et « Publication de Répertoires ».
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 Répertoires Proches ».
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 les procédés décrits jusqu'ici pour mettre en œuvre cette fonctionnalité.
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 qu'il y porte le cas échéant, en fonction du type de contenu.
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 à 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 « Proposition de Répertoires Spécialistes et Voisins »).
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 sont proposés en relation avec ladite page courante.
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 à Y achat groupé ) qui se déclenche quand ce critère est utilisé.
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 courante ainsi que sur d'autres produits proposés par ces vendeurs.
Dans le deuxième cas, l'utilisateur bénéficiera des découvertes des autres utilisateurs (acheteurs potentiels) ayant des intérêts (et/ou goûts) proches.
Rapelons que les utilisateurs du système sont anonymes et peuvent y accéder en utilisant un pseudonyme.
On va maintenant décrire une mise en œuvre particulière de cet aspect de l'invention. Seuls deux attributs sont mis en œuvre : « Demandeur » et « Offreur ».
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, à savoir : « Demandeur » et « Offreur ».
Cette configuration est illustrée schématiquement à la 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 positionner à la fois comme demandeur et comme offreur.
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 sélection des répertoires à proposer aux utilisateurs.
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.
Ces deux autres cases à cocher sont cochées par défaut.
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 page courante. 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 la chose présentée dans la page courante.
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 vidéoconférence), avec une utilisatrice qui apprécie cet acteur tel qu'il est présenté dans ladite 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 pour négocier les prix avec les Offreurs).
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 effectuée cette sélection.
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 le cas échéant.
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 automatiquement la requête formée par l'utilisateur.
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 critère supplémentaire sera ainsi pris en compte comme étant une « préférence ».
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 l'utilisateur pour les contenants en 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 des catégorisations considérées comme qualitativement mauvaises ou non fiables.
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 utilisateurs. Ensuite sont présentés les méthodes de renforcement de l'anonymat des Utilisateurs et les modèles économiques possibles (Section 5). La Section 6 présente l'exploitation du mécanisme de dérivation/suggestion/acceptation décrit dans la première section pour la fidélisation des utilisateurs en exploitant leur fibre de collectionneur. La section 7 présente les principes d'une application concrète en XML.
Section 1 - Structure et procédé fondamentaux
A. Bref rappel de la notation UML
Considérons la structure hiérarchique schématisée ci-dessous :
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 Référence 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 peuvent pas contenir d'éléments.
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 être différents d'un Utilisateur à l'autre.
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 Commune, notée « BD », accessible par tous les Utilisateurs .
On appelle ici « Profil » l'ensemble des Contenus d'un Utilisateur donné pour un Contenant donné.
Le diagramme de classe correspondant est illustré sur la figure 86.
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), puisqu'il peut consulter l'ensemble de la Base de Données Commune.
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 distinguer les Profils eux-mêmes.
De là, un Utilisateur est incapable de déterminer dans quels Profils est référencé un Contenu donné auquel il accède dans la Base de Données Commune.
Cette organisation est schématisée sur la 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 davantage de détails dans la suite.
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 (qu'il aurait par exemple collecté par navigation sur le réseau 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 en prendre connaissance.
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 stockés de manière permanente (c'est-à-dire qu'une Référence n'est pas encore créée dans la BD de Profils).
« 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 chapitre correspond au mode « Gelé » décrit dans le chapitre 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ù 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 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 a précédemment été « Refusé ».
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 », et le Contenu Référencé est appelé « Contenu Direct ». 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 UML associé est illustré sur la 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 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, (3) suppression du Contenu Direct lui-même.
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 Direct référencé à la place du Contenu Indirect, afin de ne pas perdre l'information. Le système peut être conçu pour lui en laisser la possibilité.
Les Contenus Indirects peuvent aussi constituer des références à des contenus externes au système, et notamment des liens vers des éléments trouvés sur l'Internet. Le système comporte alors des moyens de mise à jour (ou gestion des erreurs d'accès) en cas de suppression des contenus externes.
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 catégorie. 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 indirection (Contenu Indirect).
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 qu'on les décrira dans la suite.
L'avantage essentiel de cette forme de réalisation de base de l'invention peut être 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 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 à tous les Utilisateurs.
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 pour leur organisation personnelle d'informations.
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 « Profil Non Confidentiel ».
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 enlever ou y ajouter des Contenus.
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 peut ainsi en Accepter tout ou partie. 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
* des Références à des Références se trouvant dans d'autres Profils.
Les nouveaux Contenus (Directs ou Indirects) sont alors ajoutés dans la BD Commune dans le Contenant lié au Profil dérivé, s'il n'y figuraient pas déjà.
Un diagramme de classe relatif à la structure d'un tel système de dérivation de Profils est illustré sur la figure 91 des dessins.
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 pour aboutir finalement aux Contenus dans la Base de Données Commune.
Optionnellement, un Profil Dérivé peut être fusionné avec un Profil déjà existant (que ce dernier soit lui-même Dérivé ou non) et adopter le Contenant de ce dernier. En résultat, un Profil peut ainsi être dérivé de plusieurs Profils.
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 autre Profil.
L'état d'un lien Profil-Contenu peut être « Suggéré », « Refusé », « Ajouté » ou
« Retiré ». Ceci sera précisé plus loin. c) Archive
On peut également introduire une fonction d'« Archive de Profil », qui sert d'étape intermédiaire avant la suppression effective d'une Référence dans un Profil.
Une Référence R peut être Retirée dans un Profil PI 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 PI, elle est placée dans l'« Archive de Profil » liée à PI et ne pourra être effectivement supprimée que lorsque plus aucun Profil n'y fera référence en mode Ajouté ou Suggéré.
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 passe à zéro.
d) Procédé de Suggestion
La suggestion est le procédé de communication entre Profils. Par ce procédé, les 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 Profil.
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 l'illustre la figure 92.
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 que sur le poste client.
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 Référence R' pointant sur R est créée, comme le montre la 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 ce Contenu à la prochaine connexion de l'Utilisateur sur ce Profil.
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 peu(ven)t les accepter ou les refuser.
Le schéma de la figure 95 illustre la communication de UB à Uc via le Profil de UA, Les Profils de UB et Uc ayant été dérivés du Profil de UA. 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 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 Contenu dans un autre Contenant et entraîne la création d'un Contenu Indirect.
Un lien Profil-Contenu de Suggestion de Référencement a le même comportement que les liens Profil-Contenant de Suggestion automatique (déjà évoqués ci-dessus - voir aussi plus loin les spécifications des transitions d'état).
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 retrouver le Profil dans lequel le Contenu en question a été référencé.
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 sur R est créée, comme illustré sur la 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 différents.
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 * des liens Suggérés (liens avec des Contenus qui lui ont été suggérés).
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
* des liens Suggérés (liens avec des Contenus qui lui ont été suggérés).
Le diagramme de classe illustrant ces différents types de liens est illustré sur la figure 100 des dessins.
Note sur les Transitions des liens
On va décrire ci-dessous les différentes transitions apparaissant pour des liens Créés, des liens Dérivés, des liens Suggérés et des liens Archive.
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 son lien.
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 cas échéant) passe à Consulté (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é.
3. « Restauration » (retour de l'Archive). Transition 2 pour le lien Archive.
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 supprimé (Transition 4).
c. Transitions des liens Suggérés (figure 103)
On notera tout d'abord que le lien Suggéré Dérivé en est un cas particulier.
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 Profil et n'est donc pas une information redondante). 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
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 être suggéré à nouveau.
4. La source étant effectivement supprimée (lien Archive - 2), son lien est supprimé. S'il existe, le lien Dérivé correspondant effectue la Transition 4.
d. Transitions des liens Archive (figure 104)
1. Référence mise en Archive (cause : transition 2 des liens Créés et Dérivés).
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 : Transition 4 pour les lien Suggéré et Dérivé ou pour le lien Créé.
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 Profil 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é sur la figure 107. 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 communiquées à UA.
- 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) dernier(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, Les Profils de UB et UC ayant été dérivés du Profil de UA.
- enfin, grâce à la fonctionnalité d'Archivé, un Contenu dérivé dans un Profil reste vivant même quand le Contenu d'origine est supprimé.
D. Deuxième perfectionnement (Niveau 3) Selon ce deuxième perfectionnement, les Utilisateurs ne partagent plus une structure commune de Contenants. Autrement dit, chaque Utilisateur peut avoir une structure de Contenants différente de celles des autres Utilisateurs.
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 plus en tant que telle mais en tant qu'ensemble de fichiers (« Contenants »).
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 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 Utilisateurs (Profils Non Confidentiels - voir plus haut).
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 d'une BD Personnelle à une autre.
De manière primitive, cette structure peut être représentée par un diagramme de classe UML , comme illustré sur la 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 Personnelle.
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 classe « Profil » (ou en constitue un attribut) et non pas à la classe « Contenant ».
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 Sous-Contenants sont créés dans les Profils, ainsi que l'incitation qui existe pour un Utilisateur à dériver un Profil.
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- 1) 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 automatiquement suggérés dans ce nouveau Sous-Profil.
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 boucle infinie.
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 PI, duquel un Profil P2 a été dérivé, se retrouvent automatiquement dans P2, en mode suggéré. Inversement, grâce au processus de suggestion remontante, un nouveau Sous-Profil ajouté dans P2 est suggéré dans PI. Quand un nouveau Sous-Profil apparaît ainsi, l'Utilisateur peut l'ignorer (c'est le cas par défaut), le garder (l'ajouter) ou le refuser.
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 PI à un Utilisateur UB , pour qu'il soit dérivé en tant que Référence RI ' ou profil PI' sous un Profil P2 (Non Confidentiel) de la BD Personnelle de UB.
Ces différents liens apparaissent sur le diagramme de classe de la figure 111.
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 arborescentes de Contenants.
- 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 opposition aux suggestions automatiques décrites plus haut.
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 « modérateurs » décentralisés. Le système est ainsi auto-régulé.
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 Contenus pour un même Contenant. 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) plusieurs « Pages ». Chaque Page rassemble un ensemble de Contenus.
Un Classeur contient donc des Pages et des sous-classeurs.
La structure arborescente est ainsi représentée sous la forme d'une hiérarchie de « Classeurs », comme illustré sur la figure 112.
Les classeurs, les pages et les Références peuvent être dérivés. Les liens Profil- 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.
Cette structure est spécifiée par le diagramme de classe illustré sur la 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.
Les avantages des niveaux 1 à 3 subsistent ici.
On va maintenant décrire une application pratique de ce troisième perfectionnement.
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 intégré au système.
b) Création de sous-éléments « dérivés »
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 »
L'Utilisateur supprime ses propres éléments.
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, telle qu'illustrée sur la 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 pour une page, IDcontenu pour un calque). On va décrire ci-dessous, dans ce contexte, des exemples d'actions.
a) Prologue : création d'Utilisateur
Avant toute action de l'Utilisateur, il faut bien que celui-ci soit défini. Son existence est inscrite dans une table « Utilisateurs », telle qu'illustrée sur la figure 115.
(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 tous les éléments en voie de suppression, comme décrit plus haut).
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, pour un Utilisateur donné (ici l'Utilisateur No. 1 appelé « Démo »).
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 « REFelement » est toujours égal à la valeur « Null », c'est-à-dire vide).
On distingue les 3 types d'éléments suivants, reconnus par la valeur de la variable Type de la Table de la 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 « Démo 0 » et « Démo 0 1 », le Classeur No. 1 étant d'ailleurs le Classeur de Base de l'Utilisateur en question. ii) Les Pages (type 2)
Dans le présent exemple, les éléments Nos. 3 et 7 sont des Pages de l'Utilisateur.
iii) Les Calques (type 3)
Dans ce même exemple, les éléments Nos. 4 et 5 sont des Calques de l'Utilisateur.
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. 1 (« Démo 0 ») est le Parent des éléments Nos. 2 et 6 ( « Démo 0 1 » et « Démo 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 un Classeur « Dérivé » (nommé ici « Aline favoris »), et de la Table associée.
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 ajouté une référence à l'élément original.
L'exemple de la figure 118 montre que l'élément No. 9 (« Aline favoris ») est dérivé de l'élément No. 2 (« Démo 0 1 »), car la valeur de REFelement est ici égale à 2.
Le Classeur No. 9 possède alors implicitement les sous-éléments du classeur 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, selon le cas. 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 suppressions seront d'ailleurs suggérés par la suite à l'auteur de l'élément original.
(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 « démo 0 1 »). Ceci permet de savoir si la suppression de l'original est possible ou si cet original doit être mis en archive lorsque son auteur le masque.
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 « démo » désire supprimer le sous-élément « Démo 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 « Démo 0 » et « Démo 0 2 », mais aussi supprimer « Démo 0 » et tous ses sous-éléments dont la valeur du Compteur de Dérivation est nul.
Le résultat de cette suppression est illustré sur la figure 119.
ii) Suppression d'un sous-élément « propre » dérivé au moins une fois
Considérons ici l'exemple où l'Utilisateur « démo » désire supprimer le sous-élément
« Démo 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 « Démo 0 » et « Démo 0 1 », mais on ne peut pas supprimer l'élément « Démo 0 1 » lui-même. 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 Compteur de Dérivation tombe à zéro.
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. 1 (Idparent = 1), car son attribut « Opération » a la valeur zéro.
Ce même élément est en revanche ajouté à l'élément « archive » n° 12 (Idparent = 12) de l'Utilisateur, dont il devient un sous-élément.
Le fait que ce sous-élément soit rattaché à vin élément « archive » permettra de pouvoir encore le visualiser le cas échéant le restaurer à l'initiative de l'Utilisateur, comme on va le voir ci-dessous.
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 entre cet élément et l'élément « archive ». Ceci est illustré sur la 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 que leur compteur de dérivation est non nul.
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 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 dérivé d'un classeur n° 2 (REFelement = 2), et possède donc implicitement les sous- éléments de ce dernier, tels que les éléments illustrés sur la figure 123, dont la variable Idparent est égale à 2.
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 proposer aux Utilisateurs qui dériveront ou qui ont dérivé à leur tour l'élément dérivé (par exemple, si dans l'exemple ci-dessus un troisième Utilisateur crée un classeur dérivé du classeur n°9).
L'acceptation d'un sous-élément « implicite » est en fait une dérivation de ce sous- élément dans le classeur dérivé. En base de données, cela revient donc à créer un classeur dérivé et à en faire un enfant de l'élément dérivé.
Exemple d'acceptation du sous-classeur implicite « Démo 0 1 1 »
La figure 124 illustre la création de l'élément n°15 dérivé du n°13, à savoir « Démo 0 1 1 », et la figure 125 illustre la création du lien de parenté entre les éléments. 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) lorsqu'il ne souhaite pas le voir réapparaître à chaque ouverture de son classeur.
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 avec la valeur « - » dans le champ Opération.
Exemple de refus du sous-classeur implicite « Démo 0 1 2 »
Cet exemple particulier est illustré sur les figures 126 et 127, la figure 127 montrant la valeur « - » du champ Opération.
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é et pourra donc être également supprimé.
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 Cadre 1 et Cadre2, le cadre supérieur Cadre 1 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 affichés avec le style imposé par le cadre couramment choisi. Des onglets permettent également de naviguer dans la structure. Cette interface permet notamment :
- d'importer à partir du classeur tiers, par la technique du « glisser-déposer » du cadre Cadre2 vers le cadre Cadre 1, 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 Cadre 1 vers Cadre2, tout ou partie de son propre classeur, pour mettre en œuvre 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 éléments suggérés.
Par ailleurs, ces aspects de l'invention permettent :
- à des fournisseurs d'informations, tels que des magazines grand public par exemple, de créer et mettre à jour leurs informations directement sur l'Internet,
- 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 automatiquement des informations apparentées.
Ainsi un nouveau magazine en ligne rejoignant un système existant pourra exploiter le trafic qui y est déjà présent.
Section 2 - Auto-épuration du Système
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.
Introduction
Le système met en œuvre un double principe d'épuration. 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 audience baisse donc.
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 informations fournies par un autre Utilisateur.
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 confiance pour le suivant (c'est à dire par transitivité).
Le degré de confiance ainsi obtenu permet de filtrer automatiquement les suggestions de contenu ayant une forte probabilité de ne pas être pertinentes.
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 perfectionnement de l'invention le recours à une notation de contribution, c'est-à- 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 reçoit des points négatifs.
L'Utilisateur A peut ainsi automatiquement filtrer (dans ses requêtes) les suggestions faites par des Utilisateurs dont le degré de confiance est inférieur à un certain seuil.
L'intérêt de cette fonction réside surtout dans le fait que l'évaluation (ou notation) se fait dans le cadre l'utilisation courante de l'outil, de manière transparente.
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 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 conservant leur anonymat les uns par rapport aux autres). 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, ainsi que d'autres critères et seuils divers.
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 de stabilité).
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 suggestions inadéquates.
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 différents, dans le but de suggérer des Contenus de mauvaise qualité.
Cet Utilisateur malveillant n'étant évalué par personne au début, ses suggestions ne pourront être filtrés pendant un certain temps.
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 à 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 pour atteindre le seuil de contribution.
Alternativement, le fait de s'inscrire dans le système d'échange par suggestions peut être payant, ou nominatif via un tiers de confiance qui découragerait de suggérer des Contenus sous des pseudonymes différents. 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 automatiquement aux Utilisateurs.
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 compacte (par exemple par les techniques de Réseaux Bayesiens, 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 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 de tels critères.
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 les profils proches. Ces procédés sont décrits dans la section suivante. 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 reconnaissance de motifs (« pattern 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 calculée en fonction de leurs poids respectifs) ont les mêmes valeurs.
Ainsi, il n'est pas nécessaire que deux Utilisateurs aient dans leurs profils des Contenus exactement les mêmes pour qu'ils soient jugés proches.
La proximité entre deux profils Px et Py - ordonnés selon un critère donné - est 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 et B respectivement, comme illustré sur la figure 128.
Pratiquement la mesure de proximité va se faire Contenu par Contenu tant que le poids marginal reste supérieur à un certain seuil. Ainsi il suffira comparer un nombre fixé d'éléments dans l'ordre correspondant au critère donné.
L'Utilisateur peut aussi s'appuyer sur un certain nombre d'autres indicateurs tels que par exemple : - le pourcentage d'informations en commun, comme illustré sur la figure 129 ;
- le nombre de fois qu'un même Contenu est suggéré (à partir de Profils différents). 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 chacun selon deux critères λl et λ2.
Pour cette catégorie, ul et u36 sont proches au sens où ils possèdent tous les deux les Contenus c4 et cl 2. 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 étant suggéré de ul à u36.
Si ces suggestions sont acceptés par chaque Utilisateurs, les Contenus sont alors insérés en accord avec les positions qu'ils occupent dans leur page d'origine.
Pour le critère λl de ul, c8 est classé par rapport aux Contenus communs à ul et u36, il est donc placé avant c4 et cl2. 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 λ2, 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 cl2 et c4 dans xsA, et cl doit être inséré après cl2 dans xsB (bien qu'il soit avant c4 dans le profil de départ). Le résultat est illustré sur la figure 132. Une autre convention pourrait par exemple être d'insérer cl dans xsA et c8 dans xsB relativement à l'élément commun le plus proche, comme illustré sur la figure 133.
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 nœuds supérieurs de la taxonomie (profils agrégés). La place où le nouveau Contenu est inséré dans les profils agrégés est fonction de l'endroit où il a été classé lors de son insertion, et du critère utilisé.
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é explicitement ordonnés. Dans les feuilles, à ceux-ci correspondent des onglets grisés.
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 l'ordre suggéré par ce voisin.
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 » c'est-à-dire à l'origine de chaque 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 ceux-ci 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 retrouver directement les Profils qui les contiennent).
De l'utilisation du système résulte donc un « graphe de dérivation » dynamique, dont le nœuds 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 Classeur ou d'une Page, si l'on se place au Niveau 4) ou dérivation de Contenus.
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 entre Profils.
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 dans l'arborescence, ni à passer vers un portail Internet ou analogue.
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 nœud 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 dérivation), avec pour chaque voisin, un ensemble d'indicateurs de proximité. Les indicateurs peuvent être par exemple ceux mentionnés dans la section précédente ou tout simplement des compteurs de Contenus en commun.
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 l'indicateur « compteur de Contenus en commun » dans les deux Profils en question. A chaque retrait de Contenu, le système décrémente ce même compteur.
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 des suggestions automatiquement par Filtrage Collaboratif.
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 des suggestions à différentes 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 traitements « batch » de durées considérables.
Section 5 - Anonymat et commerce électronique
Architecture
On considère ici une architecture composée de 4 classes d'ordinateurs connectés sur 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) ;
- éventuellement un ou plusieurs Serveurs de Fournisseurs de Produits (SFP).
Les besoins de base sont les suivants :
- Anonymat minimal : l'anonymat des Utilisateurs peut être directement assuré par le ou les SdS qui centralisent les éléments d'information recueillis.
- 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 Utilisateurs, qui consultent les éléments d'informations, sont ainsi cachées.
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 ajout (en plus du fait que son adresse IP est cachée).
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 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 cadre de divers modèles économiques, comme on le verra plus loin. 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 profils, les maintiennent et les confrontent.
- 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é transformée (codée, chiffrée).
Les serveurs de recommandation ne manipulent alors que des profils anonymes et sont incapables de déceler que deux profils appartiennent à un même Utilisateur.
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 différent par profil (autant que possible, c'est à dire dans la mesure où l'on dispose d'un nombre suffisant de serveurs de transfert. 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 à la 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 de stockage.
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 que ceci incite fondamentalement l'utilisateur ou abonné à visiter le serveur au moins une fois dans la période de « validité » des contenus ajoutés (en l'espèce deux fois par semaine), ceci de façon à bénéficier de toutes les suggestions d'ajouts.
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) 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 que la mise à jour des contenus. L'utilisateur se trouve ainsi fidélisé.
Section 7 - Application en XML
On va maintenant reprendre le concept de macrostructure décrit dans le chapitre 2 et illustrer quelques avantages des techniques de catégorisation décrites dans le présent chapitre.
Un document (ou « source ») XML comporte une structure arborescente d'éléments. Pour rappel, le procédé, déjà décrit au chapitre 2, que l'on va illustrer consiste en premier lieu à insérer dans le document des attributs de délimitation aptes chacun à regrouper des nœuds descendants avec un nœud parent desdits nœuds descendants, et de façon automatique extraire dudit document les informations situées aux nœuds regroupés, et créer une macrostructure du document constituée par une structure arborescente plus grossière que ladite structure arborescente de document, dans laquelle lesdits nœuds parents correspondant à des regroupements sont remplacés par des références auxdites informations extraites indiquant la position desdites informations extraites dans la structure, et dans laquelle lesdits nœuds descendants qui ne sont pas eux-mêmes des nœuds parents sont absents.
Nous appellerons « contenu » (identifié par le terme « content » ; selon la terminologie anglo-saxone) lesdites informations extraites. On va prendre l'exemple d'un utilisateur nommé « M. BoutiqueMode ». Le système logiciel de gestion des documents transformés (en macrostructures et contenus) sera appelé « Mix ». Le logiciel Mix est installé sur les serveurs (accèdes selon le protocole http) que nous allons appeler des « plateformes » ; ces serveurs auront pour nom « platforml.net », « platform2.net », etc. M. BoutiqueMode veut mettre à disposition des autres utilisateurs des plateformes Mix les contenus d'un document en fomat XML comprenant des informations à propos de sa collection printemps-été 2000. Dans son document XML, M. BoutiqueMode marque - au moyen d'un attribut « mix-position » (mix est le préfixe des attributs propres au système Mix) - la position à laquelle se trouvent regroupés des contenus. Il spécifie ainsi chaque nœud qui délimite une collection modifiable de contenus. Il s'agit ici du nœud « produits ».
<catalogue saison="printemps-ete" année- '2001 ">
<intro>Nouvelles créations du célèbre couturier fernand Durand.</intro> <auteur> <nom>durand</nom>
<prenom>fernand</prenom> <mail>fd@hotmail.com</mail> </auteur>
<produits mix-position- "true "> <produit>
<nom>Short Bunias</nom>
Figure imgf000184_0001
<description>Laine vierge à 100%</description> illustration src="img/photol .gif 7> </produit>
<produit>
<nom>Chemisier argent</nom> <prix>790Frs</prix>
<description>Soie de Chine, légère et douce</description> illustration src- 'img/photo2.gif 7>
</produit> </produits> </catalogue>
II transmet ensuite (par postage HTTP par exemple) son document sur une plateforme, « platforml.net » en l'occurrence. Dans le cas où M. BoutiqueMode demande à modifier son document ainsi mémorisé, la plateforme lui retourne le document suivant qui remplace celui qu'il avait transmis :
<catalogue saison="printemps-ete" annee="2001" mix-document-src- "http' /plaiforml .net/share?doc-id≈d2150 " mix-content-src- "http://platform 1.net/share?id—c3215640 "> <intro>Nouvelles créations du célèbre couturier fernand Durand.</intro> <auteur>
<nom>durand</nom> <prenom>fernand</prenom>
<mail>fd@hotmail . com</mail> </auteur>
<produits mix-position-id= "p3155435 "> <produit mix-content- src— "http- /platforml .net/share?id-c3215641 ">
<nom>Short Bunias</nom>
Figure imgf000185_0001
<description>Laine vierge à 100%</description> illustration src- 'img/photol .gif 7> </produit>
<produit mix-content- src= "http://platfόrml.net/share?id=c3215642 "> <nom>Chemisier argent</nom>
Figure imgf000185_0002
<description>Soie de Chine, légère et douce</description> illustration src- 'img/photo2.gif'/> </produit> </produits> </catalogue> On voit là que le système a retourné un document qui n'est pas rigoureusement identique à l'original, mais préserve le plus possible son schéma XML. En effet, seul des attributs ont été ajoutés et ceux-ci sont en nombre très limité.
Avant de pouvoir retourner le document ci-dessus, la plateforme a décomposé le document original en une macrostructure et des contenus, et seulement ensuite les a recomposé pour obtenir ledit document. Le résultat du procédéde décomposition est illustré ci-dessous :
La macrostructure :
<mix:document id='W2750" xmlns:mix- 'http://linkdeal.net schemas/docιιment''> <mix:content-τef src="local://c3215640"> <mix:position id= 3/ 55435,y> <mix:content-ref src- 'local://c321564 !"/>
<mix:content-ref sxc="local://c3215642"l> </mix:position> </mix:content-ref> </mix:document>
La suite des contenus :
<mix:contents>
<mix:content
Figure imgf000186_0001
<catalogue saison="printemps-ete" année- '2001 "> <intro>Nouvelles créations du célèbre couturier fernand Durand.</intro> <auteur>
<nom>durand</nom> <prenom>fernand</prenom> <mail>fd@hotmail.com</mail> </auteur>
<produits mix-position-id= "p3155435 "></produits </catalogue>
</mix:content>
<mix:content iά- ic3215641"> <produit> <nom>Short Bunias</nom>
Figure imgf000187_0001
<description>Laine vierge à 100%</description> illustration src="img/photol .gif 7> </produit> </mix:content>
<mix:content ià- ic3215642n> <produit>
<nom>Chemisier argent</nom>
Figure imgf000187_0002
<description>Soie de Chine, légère et douce</description> illustration src- 'img/photo2. gif 7> </produit> </mix:content> [...]
</mix:contents>
Bien évidemment, en variante, les attributs mix:position id- 'p3155435", qui dans l'exemple ont une portée globale à la plateforme, peuvent avoir une portée locale aux contenus. Dans les exemples présentés, le schéma XML utilisé pour la macrostructure est le suivant :
<Schema name- 'mix-document" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
<elementType name- 'position"> <attributeType name- 'id" dt:type="id"/>
<attribute type- 'id" required- 'yes"/>
<attributeType name- 'cat-id" dtitype- 'id"/>
<attribute type="cat-id" required- 'no"/>
<element type="content-ref ' minOccurs="0" maxOccurs="*"/> </elementType>
<elementType name- 'content-ref ' content="element">
<attributeType name="src" dtitype- 'urn"/>
<attribute type- 'src" required- 'yes"/> <attributeType name="previous-src" dttype- 'urn"/>
<attribute type- 'previous-src" required="no"/>
<element type="position" minOccurs- O" maxOccurs- '*"/> </elementType>
<elementType name=" document" content="element">
<attributeType name="version" dtitype- 'i8"/> <attribute type- 'version" required- 'yes"/> <attributeType name- 'id" dtitype- 'id"/> <attribute type- 'id" required="yes"/> <element type- 'content-ref ' minOccurs- ' 1 " maxOccurs- ' 1 "/>
</elementType> </Schema>
M. BoutiqueMode, qui a reçu le document recomposé, peut maintenant le modifier, à condition toutefois de conserver les attributs « mix-... » (sinon, les contenus dont les attributs ont étés supprimés ne pourront plus être mis à jour sur la plateforme et de nouveaux contenus avec de nouveaux identifiants seront créés à leur place).
Modification d'un contenu existant
M. BoutiqueMode modifie alors ses informations (le prix du « Chemisier argent » a été baissé à « 690Frs ») et envoie la nouvelle version suivante sur sa plateforme « platforml.net » :
<catalogue saison- 'printemps-ete" annee="2001" mix-docι ιent-src- 'http://platform 1.net/share?id=d2150" mix-content-src="http://platforml .net/share?id=c3215640"> <intro>Nouvelles créations du célèbre couturier fernand Durand.</intro> <auteur>
<nom>durand</nom> <prenom>fernand</prenom>
<mail>fd@hotmail.com</mail> </auteur> <produits mix-position-id="p3155435">
<produit mix-content-src- 'http://platforml .net/share?id=c3215641 "> <nom>Short Bunias</nom>
Figure imgf000189_0001
<description>Laine vierge à 100%</description> illustration src- 'img/photol .gif 7> </produit> <produit mix-content-src- 'http://platforml .net/share?id=c3215642">
<nom>Chemisier argent</nom> <prix>6' 0Er,s'</prix>
<description>Soie de Chine, légère et douce</description> illustration src- 'img/photo2.gif'/> </produit> </produits>
</catalogue>
Noter qu'un attribut « mix-create-new-version » peut être utilisé pour expliciter qu'une modification de contenu a été effectuée (M. BoutiqueMode donnera la valeur « true » à cette attribut chaque fois qu'il fera une nouvelle version du contenu). En cas d'absence de cet attribut, la plateforme compare les contenus envoyés avec les contenus déjà existants sur le serveur.
M. BoutiqueMode transmet (par un post http...) la nouvelle version du document à la plateforme platforml .net où il avait été mémorisé (où il est « hébergé »). En réponse, la plateforme lui retourne le document suivant (qui remplace l'ancien) :
<catalogue saison="printemps-ete" annee="2001" mix-document-src="http://platforml .net/share?doc-id=d2150" mix-content-src="http://platforml.net/share?id=c3215640">
<intro>Nouvelles créations du célèbre couturier fernand Durand.</intro> <auteur>
<nom>durand</nom> <prenom>fernand</prenom>
<mail>fd@hotmail. com</mail> </auteur>
<produits mix-position-id- 'p3155435"> <produit mix-content-src- 'http://platforml.net/share?id=c3215641">
<nom>Short Bunias</nom>
Figure imgf000191_0001
<description>Laine vierge à 100%</description> illustration src- 'img/photol .gif 7> </produit>
<produit mix-content-src= "http://platforml.net/share?id-c3215643"> <nom>Chemisier argent</nom> <prix>6' 6' r.s</prix>
<description>Soie de Chine, légère et douce</description> illustration src- 'img/photo2.gif 7>
</produit> </produits> </catalogue>
On voit que l'attribut « mix-content-src = "c3215642" » a été modifié en
"c3215643". En effet, la modification de l'élément prix a entraîné la création d'une nouvelle version du contenu en entier (la granularité des modifications est le contenu). Voyons dans le détail les modifications qui ont été effectués sur la plateforme (c'est-à-dire dans l'ordinateur serveur):
Nouvelle macrostructure :
<mix:document xmlns:mix- 'http://linkdeal.net/schemas/document"> <mix:content-ref src- 'local://c3215640"> <mix:position src="p3155435">
<mix:content-ref src="local://c3215641 "/>
<mix: ontent-ref src= "local ://c3215643 " previous-src- " local ://c3215642 "l> </mix:position> </mix:content-ref> </mix:document> Nouvelle suite de contenus :
<mix:contents>
<mix:content id- 'c3215640">
<catalogue saison- 'printemps-ete" année- '2001 "> <intro>Nouvelles créations du célèbre couturier fernand Durand.</intro> <auteur> <nom>durand</nom>
<prenom>fernand</prenom> <mail>fd@hotmail.com</mail> </auteur>
<produits mix-position- 'p3155435"x/produits> </catalogue>
</mix:content>
<mix:content id- 'c3215641 "> <produit> <nom>Short Bunias</nom>
Figure imgf000192_0001
<description>Laine vierge à 100%</description> <illustration src- 'img/photol .gif 7> </produit> </mix:content>
<mix:content id="c32/5<W2"> <produit>
<nom>Chemisier argent</nom>
Figure imgf000192_0002
<description>Soie de Chine, légère et douce</description> illustration src- 'img/photo2.gif'/> </produit> </mix:content>
<mix:content id="c3215643">
<produit>
<nom>Chemisier argent</nom>
Figure imgf000193_0001
<description>Soie de Chine, légère et douce</description> illustration src- 'img/photo2.gif 7>
</produit> </mix:content>
</mix:contents>
Le content c3215642 sera ensuite supprimé dans le cas où plus personne ne l'utilise.
Ajout d'un nouveau contenu
M. BoutiqueMode modifie ses informations et envoie la source suivante sur sa plateforme platforml.net :
<catalogue saison- 'printemps-ete" année- '2001" mix-document-src="http://platform 1.net/share?id=:d2150" mix-content-src- 'http://platforml .net/share?id=c3215640">
<intro>Nouvelles créations du célèbre couturier fernand Durand.</intro> <auteur>
<nom>durand</nom>
<prenom>fernand</prenom> <mail>fd@hotmail.com</mail>
</auteur> <produits mix-position-id- 'p3155435">
<produit mix-content-src="http://platform 1.net/share?id=c3215641 "> <nom>Short Bunias</nom>
Figure imgf000194_0001
<description>Laine vierge à 100%</description> illustration src- 'img/photol .gif 7> </produit>
<produit mix-content-src="http://platforml .net/share?id=c3215643"> <nom>Chemisier argent</nom>
Figure imgf000194_0002
<description>Soie de Chine, légère et douce</description> illustration src- 'img/photo2.gif'/> </produit> <produit> <nom>Pull Orange</nom>
<prix> 1590Frs</prix>
<description> Cachemire à 99%</description> <illustration src- "img/photo3.gif'7> </produit> </produits>
</catalogue>
La plateforme lui retourne le document suivant (en remplacement de celui soumis) :
<catalogue saison="printemps-ete" annee="2001 " mix-document-src- 'http://platforml.net share?doc-id=d2150" mix-content-src- 'http://platform 1.net/share?id:=c3215640"> <intro>Nouvelles créations du célèbre couturier fernand Durand.</intro> <auteur> <nom>durand</nom>
<prenom>fernand</prenom> <mail>fd@hotmail . com</mail> </auteur>
<produits mix-position-id=:"p3155435"> <produit mix-content-src- 'http://platforml .net/share?id=c3215641 ">
<nom>Short Bunias</nom>
Figure imgf000195_0001
<description>Laine vierge à 100%</description> <illustration src- 'img/photol .gif 7> </ρroduit>
<produit mix-content-src- 'http://platforml.net/share?id=c3215643">
<nom>Chemisier argent</nom>
Figure imgf000195_0002
<description>Soie de Chine, légère et douce</description> illustration src- 'img/photo2.gif'/> </produit>
<produit mix-content-src= "http: //platforml .net/share? id-c3215644"> <nom>Pull Orange</nom>
Figure imgf000195_0003
<description>Cachemire à 99%</description> Illustration src="img/photo3.gif 7> </produit> </produits>
</catalogue>
En interne, la plateforme a (avant recomposition et retour à M. BoutiqueMode) modifié la macrostructure et les contenus comme suit (un nouveau contenu « produit » a été ajouté) : Nouvelle macrostructure :
<mix:document xmlns:mix: "http://linkdeal.net/schemas/document"> <mix:content-ref src="local://c3215640"> <mix:position src- 'p3155435">
<mix:content-ref src- 'local://c3215641"/>
<mix:content-ref src- 'local://c3215643" previous-src- 'local://c3215642"/> <mix:content-ref rc- "local://c3215644 "/> </mix:position> </mix: content-ref> </mix:document>
Nouvelle suite des contenus :
<mix:contents>
<mix:content id- 'c3215640">
<catalogue saison^printemps-ete" année- '2001 "> <intro>Nouvelles créations du célèbre couturier femand Durand.</intro>
<auteur>
<nom>durand</nom> <prenom>fernand</prenom> <mail>fd@hotmail.com</mail> </auteur>
<produits mix-position- 'p3155435"></produits> </catalogue> </mix:content>
<mix:content id="c3215641">
<produit> <nom>Short Bunias</nom>
Figure imgf000197_0001
<description>Laine vierge à 100%</description> illustration src="img/photol .gif 7> </produit>
</mix:content>
<mix:content id- 'c3215642"> <produit> <nom>Chemisier argent</nom>
Figure imgf000197_0002
<description>Soie de Chine, légère et douce</description> <illustration src="img/photo2.gif7> </produit> </mix:content>
<mix:content id- 'c3215643"> <produit>
<nom>Chemisier argent</nom>
Figure imgf000197_0003
<description>Soie de Chine, légère et douce</description> illustration src- 'img/photo2.gif'/> </produit> </mix:content>
<mix: content id= "c3215644 "> <produit>
<nom>Pull Orange</nom> <prix> 1590Frs</prix> <description> Cachemire à 99%</description>
<illustration src- "img/photo3.gif"/> </produit> </mix:content> [...]
</mix:contents>
Importation d'un contenu de la même plateforme
M. BoutiqueMode modifie ses informations et envoie la source suivante sur sa plateforme (platforml.net) :
<catalogue saison- 'printemps-ete" année- '2001" mix-document-src="http://platforml .net/share?doc-id=d2150" mix-content-src- 'http://platform 1.net/share?id=c3215640"> <intro>Nouvelles créations du célèbre couturier femand Durand.</intro> <auteur>
<nom>durand</nom> <prenom>fernand</prenom> <mail>fd@hotmail.com</mail> </auteur> <produits mix-position-id- 'p3155435">
<produit mix-content-src="http://platforml.net/share?id=c3215641"> <nom>Short Bunias</nom>
Figure imgf000198_0001
<description>Laine vierge à 100%</description> illustration src- 'img/photo 1.gif 7>
</produit>
<produit mix-content- src= "http: //platforml. net/share?id=c3215660 "> <nom> Pantalon à pince</nom>
<prix>870Frs</prix> <description> Coton à 99%</description> illustration src- "img/photo4.gif"/> </produit> </produits> </catalogue>
Il a ajouté un élément « produit » qui est disponible à l'adresse (URL) « http://platforml.net/share?id=c3215660 »
1. La plateforme s'apperçoit que ce nouveau contenu est stocké chez elle-même.
2. L'attribut « mix-create-new-version » n'étant pas mentionné, le système compare la source fournie avec la source en stock et crée une nouvelle version si elles diffèrent (s'il y a eue une modification). Dans cet exemple, il n'y a pas de modification, donc pas de nouvelle version.
La plateforme retourne à M. BoutiqueMode :
<catalogue saison="printemps-ete" annee="2001" mix-document-src- 'http://platforml.net/share?doc-id=d2150" mix-content-src="http://platforml .net/share?id=c3215640">
<intro>Nouvelles créations du célèbre couturier femand Durand.</intro> <auteur>
<nom>durand</nom> <prenom>fernand</prenom>
<mail>fd@hotmail . com</mail> </auteur>
<produits mix-position-id- 'p3155435"> <produit mix-content-src- 'http://platforml .net/share?id=c3215641">
<nom>Short Bunias</nom>
Figure imgf000200_0001
<description>Laine vierge à 100%</description> illustration src="img/photol .gif 7> </produit> [...]
<produit mix-content-src= "http://platjbrml.net/share?id=c3215660"> <nom> Pantalon à pince</nom> <prix>870Frs</prix> <description> Coton à 99%</description>
<illustration src= "img/photo4.gif'/> </prodιιit> </produits> </catalogue>
En interne, la plateforme platforml.net modifie les données comme suit.
Nouvelle macrostructure :
<mix:document xmlns:mix- 'http://linkdeal.net/schemas/document">
<mix:content-ref src="local://c3215640"> <mix:position id- 'p3155435"> <mix:content-ref src- 'local://c3215641 "/> <mix:content-ref src- 'local://c3215643" previous- src- 'local://c3215642"/>
<mix:content-ref src- 'local://c3215644"/> <mix: content-ref src= "local://c32l 5660' '/> </mix:position>
</mix:content-ref> </mix:document> La suite des contenus reste inchangée (puisque le contenu c3215660 qui vient d'être ajouté résidait déjà sur cette même plateforme) :
<mix:contents> [...]
<mix:content id- 'c3215640">
<catalogue saison- 'printemps-ete" année- '2001 "> <intro>Nouvelles créations du célèbre couturier femand Durand.</intro> <auteur>
<nom>durand</nom> <prenom>femand</prenom> <mail>fd@hotmail.com</mail> </auteur> <produits mix-position="p3155435"x/produits>
</catalogue> </mix:content>
<mix:content id="c3215641"> <produit>
<nom>Short Bunias</nom>
Figure imgf000201_0001
<description>Laine vierge à 100%</description> illustration src="img/photol .gif 7> </produit>
</mix:content>
<mix:content id- "c3215660"> <produit> <nom> Pantalon à pince</nom>
<prix> 870Frs</prix> <description> Coton à 99%</description> illustration src= " imgZphoto4.gif" /> </produit> </mix:content> [...]
</mix:contents>
Importation d'un contenu d'une autre plateforme
M. BoutiqueMode modifie à nouveau ses informations et envoie la source suivante sur sa plateforme :
<catalogue saison- 'printemps-ete" année- '2001" mix-document-src="http ://platform 1.net/share?doc-id=d2150" mix-content-src="http.7/platforml.net/share?id=c3215640''>
<intro>Nouvelles créations du célèbre couturier femand Durand.</intro> <auteur>
<nom>durand</nom> <prenom>fernand</prenom> <mail>fd@hotmail.com</mail>
</auteur>
<produits mix-position-id- 'p3155435">
<produit mix-content-src="http ://platform 1.net/share?id=c3215641 "> <nom>Short Bunias</nom>
Figure imgf000202_0001
<description>Laine vierge à 100%</description> illustration src- 'img/photol .gif 7> </produit>
<produit mix-content- src- "http://platform2.net/share?id=c545123 "/> </produits> </catalogue>
Cette fois-ci, l'élément « produit » qu'il a ajouté se trouve sur une autre plateforme Mix, la plateforme « platform2.net ». Plus précisément, ce contenu est disponible à l'URL « http://platforrn2.net/share?id=c545123 ».
Noter que si M. BoutiqueMode modifie le contenu en provenance de « http://platfoιτn2.net/share?id=c545123 », la plateforme « platforml .net » effectue une copie du contenu chez lui-même. D'autre part, si M. BoutiqueMode spécifie l'attribut « mix-create-new-version- ' false" », il précise par là au serveur qu'en tout état de cause il ne veut pas créer une nouvelle version du contenu.
En réponse, platforml .net (l'hébergeur du document de M. BoutiqueMode) retourne
<catalogue
Figure imgf000203_0001
annee="2001" mix-document-src="http://platforml .net/share?doc-id=d2150" mix-content-src- 'http://platforml .net/share?id=c3215640">
<intro>Nouvelles créations du célèbre couturier femand Durand.</intro> <auteur>
<nom>durand</nom> <prenom>fernand</prenom> <mail>fd@hotmail.com</mail>
</auteur>
<produits mix-position-id=:"p3155435">
<produit mix-content-src- 'http://platforml.net/share?id=c3215641"> <nom>Short Bunias</nom>
Figure imgf000203_0002
<description>Laine vierge à 100%</description> illustration src- 'img/photol .gif 7> </produit>
<produit mix-content- src- "http://platform2.net/share?id=c545123 "> <nom> Juppé en toile</nom>
Figure imgf000204_0001
<description>Acrylique</description> <illustration src— " img/photo5.gif" />
</produit> </produits> </catalogue>
La plateforme platforml .net est allée chercher le dernier contenu sur le serveur « http://platform2.net ».
Noter que plutôt que d'aller récupérer (et insérer dans son document) un contenu « vierge » (tel que stocké en interne dans la suite de contenus, c'est-à-dire sans aucun sous-contenu sous les positions), M. BoutiqueMode peut aussi insérer dans son document (par exemple par un copier-coller) un contenu avec tous ses sous-contenus (et sous-sous-contenus, et ainsi de suite) en le récupérant directement à partir d'un autre document. L'outil (outil de copier-coller ou équivalent) qu'il utilise lui permettra alors de spécifier une référence à la référence (« contentref ») à un contenu, cette dernière référence se trouvant dans la macrostructure du document d'où M. BoutiqueMode veut récupérer le contenu en question. La référence spécifiée permettra de retrouver le chemin du contenu (et sous-contenus, etc) en question dans la macrostructure, c'est-à-dire le chemin du document en question puis le chemin vers le contenu à l'intérieur du document. Noter que le chemin vers le contenu à l'intérieur du document peut être notée à une « granularité grossière » en se servant des positions sans mentionner tous les nœuds. L'homme du métier saura réaliser cette fonctionnalité. Il saura aussi ajouter les mécanismes de suggestion automatique présentés dans ce mémoire.
On va maintenant décrire des avantages particuliers liés aux catégories. Le principe est le suivant :
Dans la macrostructure, à une position donnée (c'est-à-dire au niveau du contenant que la position représente) est associé une catégorie (« category-ref ...»). Avantageusement, quand M. BoutiqueMode place un contenu à cette position, ledit contenu (dans la suite de contenus) ajoute la ou les catégorie(s) de cette position dans sa propre liste de catégories.
Ainsi, comme les données relatives aux contenus sont centralisées dans les plateformes Mix et mis à la disposition de tous les utilisateurs qui y ont accès, tous ces utilisateurs pourront en bénéficier.
Autrement dit, pour un contenu, tous les utilisateurs qui y ont accès auront accès à l'information de catégorisation fournie par l'un quelconque d'entre eux. Ainsi, par exemple la feuille de style XSL (ou le programme qui gère la présentation du contenu sur le poste client) ou un moteur de recherche (située en général sur le serveur) pourront en tirer parti.
Les catégories ainsi ajoutées aux contenus peuvent l'être en « mode suggéré » comme décrit plus haut dans le présent mémoire. L'utilisateur peut donc les accepter ou les refuser.
Par ailleurs, les mauvaises catégorisations peuvent être filtrées automatiquement par un moyen d' « auto-épuration » comme décrit plus haut également. Reprenons du début l'exemple du document XML de M. BoutiqueMode. Les informations de position et de catégorie qu'il ajoute à son document initial sont en italique :
<catalogue saison="printemps-ete" annee="2001">
<intro>Nouvelles créations du célèbre couturier femand Durand.</intro> <auteur>
<nom>durand</nom> <prenom>fernand</prenom> <mail>fd@hotmail.com</mail>
</auteur>
<produits mix-position= "true " mix-categories— "http:// plateforml.net/categories/commerce/shopping, http:// plateform 1. net/categories/commerce/mode "> <produit mix- categories— "http://platefor l.net/categories/commerce/luxury"> <nom>Short Bunias</nom>
Figure imgf000206_0001
<description>Laine vierge à 100%</description> illustration src="img/photol .gif 7> </produit> <produit>
<nom>Chemisier argent</nom>
Figure imgf000206_0002
<description>Soie de Chine, légère et douce</description> illustration src- 'img/photo2.gif'/> </produit> </produits> </catalogue> La plateforme « platforml .net » a maintenant stocké les informations sous la forme suivante. Les ajouts concernant les catégories sont en italique.
Macrostructure :
<mix:document id="d2150" xmlns:mix- 'http://linkdeal.net/schemas/document"> <mix:content-ref src- 'local://c3215640"> <mix:position id- 'p3155435"> <mix:category-refs> <mix:category-refid- '213120"/>
<mix:category-refid= "143108 "/> </mix:category-refs> <mix:content-refs>
<mix:content-ref src- 'local://c3215641"/> <mix:content-ref src- 'local ://c3215642"/>
<mix:content-ref src- 'local://c3215642"/> </mix : content-refs> </mix:position> </mix : content-ref> </mix:document>
Suite des contenus :
<mix:contents> [...]
<mix:content id="c3215640"> <mix:category-refs/> <mix:content-code>
<catalogue saison="printemps-ete" année- '2001 "> <intro>Nouvelles créations du célèbre couturier femand
Durand.</intro> <auteur>
<nom>durand</nom> <prenom>femand</prenom> <mail>fd@hotmail.com</mail> </auteur>
<produits mix-position-id- 'p3155435"/> </catalogue> </mix:content-code> </mix:content> <mix:content id- 'c3215641"> <mix:category-refs>
<mix:category-refid="213120"/> <mix:category-refid- '143108"/> <mix:category-refid= "135424 "/> </mix:category-refs>
<mix : content-code> <produit>
<nom>Short Bunias</nom>
Figure imgf000208_0001
<description>Laine vierge à 100%</description> illustration src- 'img/photol .gif 7> </produit> </mix:content-code> </mix:content> [...]
</mix:contents>
Les informations concernant les catégories peuvent être centralisées comme suit
<mix:categories> <mix:category id="213120" urn- "http://plateforml.net/categories/commerce/shopping' '/>
<mix:category id≈" 143108" urn— "http: //plateforml.net/categories/commerce/mode"/> <mix:category id=" 135424" um: "http://plateforml.net/categories/commerce/clothes"/>
<mix:category id≈" 543146" urn = "http://plateforml.net/categories/commerce/luxury "/> </mix : categories>
La plateforme retourne le document XML suivant à M. BoutiqueMode :
<catalogue saison="printemps-ete" année- '2001" mix-document-src- 'http://platforml .net/share?doc-id=d2150" mix-content-src- 'http://platforml .net/share?id=c3215640">
<intro>Nouvelles créations du célèbre couturier femand Durand.</intro> <auteur>
<nom>durand</nom> <prenom>femand</prenom> <mail>fd@hotmail.com</mail>
</auteur>
<produits mix-position-id="p3155435" mix-categories-id- "213120,
143108 ">
<produit mix-content-src- 'http ://platforml .net/share?id=c3215641" mix-categories-id= "213120, 143108, 135424 ">
<nom>Short Bunias</nom>
Figure imgf000209_0001
<description>Laine vierge à 100%</description> illustration src- 'img/photol .gif 7> </produit>
<produit mix-content-src- 'http://platfoπnl .net/share?id::::c3215642" mix-categories-id= "213120, 143108 > <nom>Chemisier argent</nom>
Figure imgf000210_0001
<description>Soie de Chine, légère et douce</description> <illustration src- 'img/photo2.gif 7>
</produit> </produits> </catalogue>
Noter que puisque les catégories sont référencées sur la plateforme et puisque l'adresse de la plateforme figure sur le document (attribut « mix-document-src »), les dénominations des catégorie ont pu être racourcies.
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 chapitres peuvent être combinées de manières très diverses.
ANNEXE
Composant BEHAVIOR
<PUBLIC:ATTACH EVENT="ondragstart" ONEVENT="InitiateDrag"/> <PUBLIC:ATTACH EVENT="ondrop" ONEVENT="FinishDrag"/> <PUBLIC:ATTACH EVENT="ondragenter" ONEVENT="DragEnter"/> <PUBLIC:ATTACH EVENT="ondragleave" ONEVENT="DragLeave"/>
<SCRIPT LANGUAGE="JScript">
//
// gestion du drag'n drop // ->L'utilisateur commence à déplacer la poignée... // Met en mémoire l'identifiant du Container source. function InitiateDragO
{ var caid = event.srcElement.containerid ; var ceid = event.srcElement.contentid ; event.dataTransfer.setData("Text","#contentid="+ceid+"#containerid="+caid) event.dataTransfer.effectAllowed = "copy" ;
} // ->L'utilisateur place la poignée sur une autre...
// Modifie le style poxir montrer l'interaction de la cible, function DragEnter()
{ event.dataTransfer.dropEffect='copy' ; style.backgroundColor='red' ; style.color='white' ; event.returnValue=false ;
} // ->L'utilisateur éloigne la poignée de l'autre...
// Re-modifie le style pour remettre la cible à un état normal, function DragLeave()
{ style.backgroundColor=" ; style.color=" ;
}
// ->L'utilisateur lâche la poignée sur l'autre... // 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=" ;
Figure imgf000211_0001
// iff i d l'événement "onderive" ... var oEvent = createEventObject() ; oEvent.cible = event.srcElement.containerid ; oEvent.source = event.dataTransfer.getData("Text") ; fire("onderive",oEvent) ; }
// Fin de gestion du drag'n drop
//
</SCRIPT>

Claims

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 contenant correspondant.
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 sont accessibles.
3. Système selon la revendication 2, caractérisé en ce que lesdites références à des contenus sont constituées par des liens.
4. Système selon la revendication 1, caractérisé en ce que le premier ensemble de d'informations organisées fait partie d'un servexir 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 contenants correspondants des seconds ensembles d'informations organisées.
6. Système selon l'une des revendications 4 et 5, caractérisé en ce que tous les ensembles d'informations organisées comprennent une structure organisée de contenants.
7. Système selon la revendication 6, caractérisé en ce que les structures organisées sont arborescentes.
8. Système selon l'une des revendications 6 et 7, caractérisé en ce que tous les ensembles d'informations organisées comprennent la même structure organisée de contenants.
9. Système selon l'une des revendications 1 à 8, caractérisé en ce qu'il 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 processus de suggestion.
10. Système selon la revendication 9, caractérisé en ce que l'indicateur d'état peut prendre les valeurs « Suggéré », « Accepté » et « Refusé ».
11. Système selon l'une des revendications 9 et 10, caractérisé en ce 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.
12. Système selon les revendications 10 et 11 prises en combinaison, caractérisé en ce que la vérification des indicateurs d'état consiste à vérifier que tous possèdent la valeur « Refusé ».
13. Système selon l'une des revendications 9 et 10, caractérisé en ce 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 contenu vers ledit autre ensemble d'informations organisées.
14. Système selon l'une des revendications 1 à 13, caractérisé en ce que lesdites informations incluent des liens vers des contenus externes au système.
15. Système selon l'une des revendications 1 à 14, caractérisé en ce que chaque ensemble d'informations organisées permet d'accéder également à des informations dont l'ajout ne donne lieu à aucune suggestion.
16. Système selon l'une des revendications 1 à 15, caractérisé en ce 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 xin 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 xme correspondance entre le contenant d'origine et le contenant de 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 xine correspondance entre le contenant de destination et le contenant d'origine.
18. Système selon l'une des revendications 16 et 17, caractérisé en ce que les moyens d'intercommunication comprennent en outre des moyens aptes, lors de la mise en œuvre des moyens de dérivation, pour sélectivement accepter et refuser l'accessibilité desdites informations via le contenant de destination.
19. Système selon l'une des revendications 16 à 18, caractérisé en ce que les moyens de dérivation sont aptes à effectuer des dérivations en chaîne entre plusieurs ensembles d'informations organisées.
20. Système selon l'une des revendications 16 à 19, caractérisé en ce que les moyens de dérivation sont aptes à fusionner, dans un contenant de destination donné, des informations accessibles via une pluralité de contenants d'origine.
21. Système selon l'une des revendications 1 à 20, caractérisé en ce 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 information via un contenant d'archivage.
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 cette information dans le ou les contenants correspondants d'autres ensembles d'informations organisées.
23. Système selon l'une des revendications 1 à 22, caractérisé en ce que les moyens d'intercommunication comprennent des moyens pour référencer, à partir d'xin 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 référencement desdites informations.
24. Système selon l'une des revendications 1 à 23, caractérisé en ce 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 contenants catégorisants.
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 des correspondants desdits contenants catégorisants.
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 contenant catégorisant, pour nommer celui-ci indépendamment du nom du contenant catégorisant.
27. Système selon l'une des revendications 24 à 26 prise en combinaison avec l'une des revendications 16 à 20, caractérisé en ce que 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 préservée lors de la dérivation.
28. Système selon l'une des revendications 1 à 27, caractérisé en ce 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 forme de classeurs.
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 structure arborescente sous forme de pages de classeur.
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 formant des pages sous forme de calques appliqués sur la page considérée.
31. Système selon l'une des revendications 1 à 30, caractérisé en ce 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 autre ensemble d'informations organisées du système.
32. Système selon la revendication 31 prise en combinaison avec l'une des revendications 16 à 20, caractérisé en ce que les moyens de dérivation sont commandés par une opération de glisser-déposer effectuée sur ladite représentation des structures arborescentes.
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 des structures arborescentes.
34. Système selon l'une des revendications 1 à 33, caractérisé en ce 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 une variable de contribution par couple d'ensembles d'informations organisées.
37. Système selon l'une des revendications 1 à 36, caractérisé en ce qu'il 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 suggestion d'un contenant vers l'autre et réciproquement.
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 accepté est supprimée.
39. Système selon la revendication 38, caractérisé en ce qu'il est prévu une variable de similarité par couple de contenants correspondants.
40. Système selon l'une des revendications 34 à 39, caractérisé en ce que les moyens d'établissement de correspondance entre des contenants de deux ensembles d'informations organisées sont aptes à être mis en œuvre 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 d'informations organisées associés.
41. Système selon l'une des revendications 34 à 40, caractérisé en ce 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 similarité concernant lesdits ensembles est inférieure à un seuil.
42. Système selon l'une des revendications 1 à 41, caractérisé en ce que les moyens d'intercommunication sont aptes à suggérer ledit ajout d'information pendant une durée limitée.
43. Système selon l'une des revendications 1 à 42, caractérisé en ce 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 d'être mis en correspondance avec un autre contenant.
44. Procédé de transformation d'un document, notamment d'un document au format XML destiné à être transmis via un réseau informatique tel que l'Internet, le document comportant une structure arborescente de document possédant des nœuds contenant des informations, apte à être combinée avec des données de présentation, notamment au format XSL, desdites informations, caractérisé en ce qu'il comprend les étapes suivantes : - lors de la création ou d'une modification du document, insérer dans celui- ci des attributs de délimitation aptes chacun à regrouper des nœuds descendants avec un nœud parent desdits nœuds descendants,
- à partir dudit document comportant lesdits attributs, et de façon automatique à l'aide d'un système de traitement de données, extraire dudit document les informations situées aux nœuds regroupés, et créer une macrostructure du document constituée par une structure arborescente plus grossière que ladite structure arborescente de document, dans laquelle lesdits nœuds parents correspondant à des regroupements sont remplacés par des références auxdites informations extraites, indiquant la position desdites informations extraites dans la structure, et dans laquelle lesdits nœuds descendants qui ne sont pas eux-mêmes des nœuds parents sont absents.
45. Procédé selon la revendication 44, caractérisé en ce qu'il comprend en outre l'étape consistant à insérer dans la macrostructure des contenants aptes à recevoir des informations.
46. Système de traitement de données destiné à présenter des documents sur un dispositif d'affichage ou analogue, caractérisé en ce qu'il comprend : - des moyens commandés par utilisateur pour effectuer sur des documents transformés par le procédé selon l'une des revendications 44 et 45 au moins l'une parmi les opérations suivantes :
- ajouter à un document transformé des informations extraites d'xm autre document transformé, - supprimer des informations extraites d'un document transformé,
- remplacer des informations extraites d'un document transformé par d'autres informations extraites,
- déplacer des informations extraites d'un document transformé vers un autre document transformé, et - des moyens pour reconstruire une structure arborescente de document à partir d'une macrostructure donnée et en fonction des opérations effectuées sur les informations extraites.
47. Système de navigation mis en œuvre dans un système informatique pour accéder à des pages fournies notamment par des serveurs via un réseau informatique par activation de liens, caractérisé en ce qu'il comprend en combinaison :
- des moyens pour afficher une page courante,
- des moyens permettant à un utilisateur de créer et de mémoriser, au sein d'une structure de groupes de liens, des liens dont ladite page constitue une extrémité ;
- des moyens de sélection et d'affichage aptes, lors de l'affichage d'une page constituant une extrémité d'au moins un lien, à sélectionner et afficher une partie de la structure de groupes de liens contenant ce ou ces liens, et
- des moyens d'entrée permettant à l'utilisateur de sélectionner et d'activer les liens affichés contenus dans ladite partie de la structure de groupes de liens.
48. Système selon la revendication 47, caractérisé en ce que lesdits liens comprennent des liens ajoutés, associés à ladite page courante et permettant d'accéder à d'autres pages, et en ce que les moyens d'affichage sont aptes à afficher des représentations desdits liens ajoutés activables directement par lesdits moyens d'entrée.
49. Système selon la revendication 48, caractérisé en ce que les moyens de création de liens ajoutés comprennent un moyen d'entrée permettant à l'utilisateur de glisser-déposer la page courante ou un élément affiché représentant la page courante vers une autre page affichée ou un élément affiché représentant ladite autre page.
50. Système selon l'une des revendications 48 et 49, caractérisé en ce qu'il est prévu une zone d'affichage de liens ajoutés associée à ladite page courante et apte à contenir lesdits éléments affichés représentant les liens ajoutés vers lesdites autres pages.
51. Système selon l'une des revendications 48 à 50, caractérisé en ce qu'il comprend des moyens pour afficher la page courante et sa zone d'affichage de liens ajoutés associée et des moyens pour afficher les zones d'affichage de liens d'une pluralité d'autres pages, de façon contiguë les unes aux autres.
52. Système selon la revendication 51, caractérisé en ce que chaque zone d'affichage de liens ajoutés contient également un élément affiché représentant la page à laquelle lesdits liens ajoutés sont associés, et en ce que les moyens de création de liens ajoutés mettent en œuvre des opérations de glisser-déposer entre les éléments affichés représentant les pages et les éléments affichés représentant les liens ajoutés.
53. Système selon l'une des revendications 51 et 52, caractérisé en ce qu'il comprend des moyens pour afficher, sous la commande d'un moyen d'entrée agissant sur une zone donnée d'affichage de liens ajoutés, la page à laquelle lesdits liens ajoutés sont associés.
54. Système selon l'une des revendications 48 à 53, caractérisé en ce que lesdits éléments affichés représentant les pages auxquelles les liens ajoutés sont associés et lesdits liens ajoutés sont constituées par des images miniaturisées desdites pages associées ou des pages vers lesquelles pointent lesdits liens ajoutés.
55. Système selon l'une des revendications 48 à 54, caractérisé en ce que lesdits liens ajoutés sont sélectivement monodirectionnels ou bidirectionnels.
56. Système selon l'une des revendications 47 à 55, caractérisé en ce que ladite structure de groupes de liens est une structure arborescente de répertoires contenant chacun d'autres répertoires et/ou des liens créés.
57. Système selon la revendication 47, caractérisé en ce que lesdits liens comprennent des marque-pages, et en ce que les moyens de sélection et d'affichage sont aptes à afficher les seuls groupes des liens contenant un marque-page correspondant à la page courante.
58. Système selon les revendications 56 et 57 prises en combinaison, caractérisé en ce que les moyens de sélection et d'affichage sont aptes à afficher dans une première zone des éléments affichés représentant des liens ajoutés, et dans une seconde zone des répertoires de marque-pages contenant un marque-page correspondant à la page courante.
59. Système selon la revendication 58, caractérisé en ce que dans la seconde zone sont affichés par une représentation hiérarchique lesdits répertoires de marque- pages et, sélectivement, les contenus desdits répertoires.
60. Système selon l'une des revendications 56 à 59, caractérisé en ce qu'il comprend des moyens pour afficher une pluralité de répertoires contenant des premiers éléments affichés constituant des liens vers des pages et secondes représentations graphiques constituant des liens ajoutés entre lesdites pages, et des moyens pour manipuler par glisser-déposer lesdites premières et secondes représentations graphiques pour ajouter, supprimer ou déplacer d'un répertoire à l'autre des liens vers des pages ou des liens ajoutés entres pages.
61. Système selon la revendication 60, caractérisé en ce que lesdits liens vers des pages constituent lesdits marque-pages.
62. Système selon l'une des revendications 47 à 61, caractérisé en ce qu'il comprend des moyens pour mémoriser, en association avec une pluralité d'utilisateurs de postes clients, une pluralité de tables de liens désignant, pour chaque page constituant une extrémité d'xm lien créé, le ou chacun de ces liens.
63. Système selon la revendication 62, caractérisé en ce que les moyens de création de liens sont aptes à être commandés par des moyens de traitement comparatif de ladite pluralité de tables de liens, pour créer des liens dans un état dit suggéré.
64. Système selon la revendication 63, caractérisé en ce qu'il comprend des moyens pour afficher des éléments affichés représentant chaque lien créé dans ledit état suggéré et, en association avec chacun desdits éléments, des moyens sensibles à un dispositif d'entrée pour modifier l'état du lien correspondant.
65. Système selon la revendication 64, caractérisé en ce que les moyens de modification de l'état d'un lien créé dans l'état suggéré comprennent des moyens pour supprimer le lien.
66. Système selon l'une des revendications 64 et 65, caractérisé en ce que les moyens de modification de l'état d'un lien créé dans l'état suggéré comprennent des moyens pour valider le lien en l'amenant dans un état accepté.
67. Système selon l'une des revendications 64 à 66, caractérisé en ce que les moyens de modification de l'état d'un lien dans l'état suggéré ou accepté comprennent des moyens pour valider le lien en l'amenant dans un état gelé.
68. Système selon la revendication 67, caractérisé en ce qu'il comprend en outre des moyens pour ajuster chaque lien amené à l'état gelé sur une adresse à laquelle le contenu de la page a été mémorisé.
69. Système selon l'une des revendications 66 à 68, caractérisé en ce qu'il comprend en outre des moyens capables, sous la commande de l'utilisateur, d'affecter à tout lien accepté ou gelé un attribut de caractérisation du type d'intérêt porté par l'utilisateur au contenu désigné par ledit lien.
70. Système selon la revendication 69, caractérisé en ce que les attributs de caractérisation comprennent un attribut « Offreur » et un attribut « Demandeur ».
71. Système selon l'une desdites revendications 69 et 70, caractérisé en ce que lesdits moyens de traitement comparatif sont aptes à prendre en compte les attributs de caractérisation donnés aux liens.
72. Système selon l'une des revendications 64 à 71, caractérisé en ce qu'il comprend, en association avec chaque élément affiché représentant un lien créé, un moyen de codage graphique pour désigner l'état dudit lien.
73. Système selon la revendication 72, caractérisé en ce que le moyen de codage graphique comprend un codage de couleur dans un cadre entourant ledit élément affiché.
74. Système selon l'une des revendications 63 à 73, caractérisé en ce qu'il comprend en outre des moyens commandés par l'utilisateur pour paramétrer le traitement comparatif effectué sur ladite pluralité de tables de liens.
75. Système selon la revendication 74, caractérisé en ce que les moyens de paramétrage commandés par l'utilisateur comprennent des moyens de sélection des utilisateurs pour les tables de liens desquels le traitement comparatif est effectué.
76. Système selon l'une des revendications 63 à 75, caractérisé en ce que lesdits moyens de traitement comparatif opèrent sur une pluralité de tables de liens contenant seulement les liens créés validés.
77. Système selon l'une des revendications 48 à 55, caractérisé en ce qu'il comprend des moyens pour suggérer à un utilisateur, en association avec l'accès à une première page, un lien ajouté bidirectionnel avec une seconde page, ladite seconde page étant choisie par ledit système en fonction notamment de sa pertinence pour l'utilisateur au regard de la première page de telle manière que lors de l'accès ladite seconde page, le lien ajouté inverse, de ladite seconde page vers ladite première page, puisse être activé par l'utilisateur.
78. Système selon la revendication 77, caractérisé en ce que ladite seconde page est choisie par le système également en fonction de la fréquence d'accès à celle-ci par l'utilisateur.
79. Système selon l'une des revendications 77 et 78, caractérisé en ce que ladite seconde page est choisie par le système également en fonction du nombre de liens ajoutés préexistants associés à ladite seconde page.
80. Système selon l'une des revendications 77 à 79, caractérisé en ce qu'il comprend des moyens de traitement de ladite seconde page de manière à y inclure une élément d'affichage dudit lien inverse.
81. Système selon la revendication 80, caractérisé en ce que les moyens de traitement sont paramétrables.
82. Système selon l'une des revendications 80 et 81, caractérisé en ce que les moyens de traitement sont aptes à inclure ledit élément d'affichage du lien inverse en un emplacement de la seconde page normalement destiné à comporter x bandeau publicitaire ou analogue.
83. Système selon la revendication 47, caractérisé en ce qu'il comprend en outre des moyens de sélection par l'utilisateur de groupes extérieurs de liens et en ce que les moyens de sélection et d'affichage sont également aptes, lors de l'affichage d'une page, à afficher les liens d'au moins un groupe extérieur de liens sélectionné.
84. Système selon la revendication 83, caractérisé en ce que les groupes extérieurs de liens comprennent au moins l'un parmi :
- des groupes de liens présélectionnés par x administrateur de la page,
- des groupes de liens présélectionnés par un administrateur d'une page à l'amont,
- des groupes de liens présélectionnés par le système comme étant proches d'au moins un groupe de liens propre à l'utilisateur, - des groupes de liens établis par le système comme étant pertinents vis-à-vis d'au moins un groupe de liens propre à l'utilisateur, et
- des groupes de liens présélectionnés par l'utilisateur.
85. Système selon la revendication 47, caractérisé en ce que lesdits liens sont situés dans des contenants définis dans la structure de la page courante, et pointent vers des contenus aptes à enrichir ladite page courante en des emplacements définis par la position desdits contenants dans ladite structure.
86. Procédé de gestion de l'affichage, sur l'écran d'affichage d'un poste informatique, d'éléments d'affichage comprenant un premier élément (El) et un second élément (E2), la zone d'affichage (Zl) du premier élément recouvrant au moins partiellement la zone d'affichage (Zl) du second élément, caractérisé en ce qu'il comprend les étapes successives suivantes : (a) affichage du premier élément (El),
(b) détection des mouvements d'un pointeur actionné par l'utilisateur, pour déterminer si ledit pointeur entre dans une région déterminée de la zone d'affichage (Zl) du premier élément, et
(c) lorsqu'une telle entrée est détectée, affichage du second élément (E2) à la place du premier élément (El).
87. Procédé selon la revendication 86, caractérisé en ce qu'il est mis en œuvre sur un poste informatique client, en ce que les éléments d'affichage sont aptes à être chargés à partir d'un poste informatique servexir, en ce que le premier élément (El) est un élément à chargement rapide, en ce que le second élément (E2) est un élément à chargement plus lent, et en ce que:
- le premier élément (El) est affiché dès après son chargement,
- l'étape de détection est démarrée seulement à la fin du chargement du second élément.
88. Procédé selon la revendication 87, caractérisé en ce que le premier élément (El) contient un ou plusieurs sous-éléments d'interactivité, et en ce qu'il comprend en outre l'étape consistant, au plus tard en même temps que l'étape (b), à désactiver le ou lesdits sous-éléments d'interactivité.
89. Procédé selon l'une des revendications 87 et 88, caractérisé en ce que la zone d'affichage (Zl) du premier élément et la zone d'affichage (Zl) du second élément sont superposées.
90. Procédé selon l'une des revendications 87 à 89, caractérisé en ce que le second élément (E2) appartient, conjointement avec au moins un autre élément (E5), à une page interactive (P).
91. Procédé selon l'une des revendications 87 à 90, caractérisé en ce qu'il comprend en outre, pendant et/ou à la fin du chargement du second élément (E2), au moins une étape d'affichage, en dehors de ladite zone d'affichage (Zl) du premier élément (El), d'un autre élément (E3 ; E4) informant l'utilisateur du déroulement dudit chargement.
92. Procédé selon l'une des revendications 87 à 91, caractérisé en ce qu'il comprend en outre, après l'étape (c), les étapes suivantes : (d) détection des mouvements du pointeur actionné par l'utilisateur, pour déterminer si ledit pointeur entre dans une région déterminée (Z2) de l'écran, et
(e) lorsqu'une telle entrée est détectée, affichage du premier élément (El) à la place du second élément (E2).
93. Procédé selon la revendication 92, caractérisé en ce que ladite région déterminée consiste en une zone (Z2) de l'écran située en dehors de la zone d'affichage (Zl) du second élément.
94. Procédé selon la revendication 92, caractérisé en ce que ladite région déterminée consiste en un onglet ou bouton situé au voisinage de la zone d'affichage du second élément.
95. Procédé selon la revendication 92, caractérisé en ce que ladite région déterminée est celle d'un sous-élément d'interactivité appartenant au second élément.
96. Procédé selon l'une des revendications 86 à 95, caractérisé en ce que le premier élément (El) n'est pas remplacé par le second élément (E2) tant que le pointeur n'a pas été amené en dehors de la région déterminée de la zone d'affichage (Zl) du premier élément (El) au moins une fois avant la détection effectuée à l'étape
(b).
97. Procédé selon l'une des revendications 86 à 97, caractérisé en ce que le premier élément (El) comprend plusieurs sous-éléments (El.l, El.2) aptes à être affichés dans des régions déterminées de la zone d'affichage (Zl) du premier élément, en ce que le second élément (E2) comprend plusieurs sous-éléments (E2.1, E2.2) aptes à être affichés dans des régions essentiellement superposées avec les régions des sous-éléments du premier élément, en ce que l'étape (b) est mise en œuvre région par région, et en ce que l'étape (c) est mise en œuvre sous-élément par sous-élément.
98. Procédé selon les revendications 92 et 97 prises en combinaison, caractérisé en ce que l'étape (d) est mise en œuvre région par région, et en ce que l'étape (e) est mise en œuvre sous-élément par sous-élément.
99. Procédé selon la revendication 98, caractérisé en ce que les étapes (b) et (d) sont mises en œuvre en tenant compte du parcours du pointeur entre sous-éléments.
100. Procédé selon l'une des revendications 86 à 99, caractérisé en ce qu'il comprend en outre, avant l'étape (c), l'étape supplémentaire consistant à afficher, en superposition sur le premier élément (El), au moins un sous-élément appartenant au second élément.
101. Procédé selon l'une des revendications 1 à 100, caractérisé en ce que l'étape (c) comprend une sous-étape de déplacement à l'écran de la représentation du premier élément (El) vers l'extérieur dudit écran ou d'une fenêtre de celui-ci.
102. Procédé selon les revendications 100 et 101 prises en combinaison, caractérisé en ce que, pendant la sous-étape de déplacement, le ou les sous-éléments du second élément (E2) affichés en superposition sur le premier élément restent immobiles.
103. Procédé selon l'une des revendications 86 à 102, caractérisé en ce que l'étape de détection des mouvements d'un pointeur est mise en œuvre pendant qu'un bouton d'un dispositif de pointage commandant les mouvements du pointeur n'est pas actionné et/ou pendant que ce bouton est actionné.
104. Procédé selon la revendication 103, caractérisé en ce que l'étape de détection des mouvements d'un pointeur est mise en œuvre pendant que le bouton du dispositif de pointage est actionné, au cours d'une opération de glisser-déposer d'un sous- élément déplaçable entre lesdits éléments (E 1 , E2) .
105. Procédé selon l'une des revendications 86 à 104, caractérisé en ce qu'il comprend en outre les étapes consistant à : détecter l'appui d'un bouton d'un dispositif de pointage commandant les mouvements du pointeur, détecter les mouvements du pointeur pendant cet appui ; créer et mémoriser un lien entre un élément ou un sous-élément sur lequel était situé le pointeur au début de l'appui et un élément ou un sous-élément sur lequel se trouve le pointeur à la fin de l'appui.
106. Procédé selon l'une des revendications 86 à 104, caractérisé en ce qu'il comprend en outre les étapes consistant à : détecter l'appui d'un bouton d'un dispositif de pointage commandant les mouvements du pointeur, détecter les mouvements du pointeur pendant cet appui ; déplacer le sous-élément d'un emplacement situé sous le pointeur au début de l'appui du bouton vers un emplacement situé sous le pointeur à la fin de l'appui du bouton.
107. Procédé selon l'une des revendications 86 à 104, caractérisé en ce qu'il comprend en outre les étapes consistant à : détecter l'appui d'un bouton d'un dispositif de pointage commandant les mouvements du pointeur, détecter les mouvements du pointeur pendant cet appui ; dupliquer le sous-élément d'un emplacement situé sous le pointeur au début de l'appui du bouton en un emplacement situé sous le pointeur à la fin de l'appui du bouton.
108. Procédé selon l'une des revendications 86 à 107, caractérisé en ce que, pour l'affichage d'une pluralité d'éléments d'affichage empilés, les éléments d'affichage sont affichés dans des zones d'affichage telles qu'au moins l'un des bords homologues desdites zones soient progressivement décalés dans l'ordre d'empilage, de manière à pouvoir détecter l'entrée du pointeur dans l'une quelconque des zones d'affichage.
109. Système de gestion de l'affichage, sur l'écran d'affichage d'un poste informatique client, d'éléments d'affichage comprenant un élément supérieur (PI) et un élément inférieur (P2), le premier élément étant apte à recouvrir de façon variable le second élément, caractérisé en ce qu'il comprend : des moyens pour afficher l'élément inférieur dans une première zone prédéterminée (Zl 1+Z12), des moyens pour afficher l'élément supérieur dans une parmi au moins deux secondes zones (Z12+Z14 ; Z14) telles que l'élément supérieur (PI) recouvre à des degrés différents l'élément inférieur, des moyens sensibles à la position d'un pointeur actionné par l'utilisateur et aptes à modifier la position de l'élément supérieur (PI) en fonction de la présence dudit pointeur dans une région sensible (Zl l ; Z12 ou Z13 ou Z14) définie par des contours de la première zone et/ou de la seconde zone, et des moyens sensibles à une action de l'utilisateur (Z13) pour activer/désactiver lesdits moyens de modification de position.
110. Système selon la revendication 109, caractérisé en ce que les éléments d'affichage sont des pages transmises vers le système à partir d'un servexir.
111. Système selon l'une des revendications 109 et 110, caractérisé en ce que les moyens sensibles à une action de l'utilisateur comprennent une zone d'affichage cliquable unique située au voisinage d'une zone (Z14) occupée par l'élément supérieur quelle que soit sa position.
112. Système selon l'une des revendications 109 à 111, caractérisé en ce que l'élément supérieur (PI) est apte à adopter l'une parmi une première position dans laquelle il recouvre une partie substantielle de l'élément inférieur et une seconde position dans laquelle il est adjacent à l'élément inférieur, respectivement.
113. Système selon la revendication 112, caractérisé en ce qu'au moins l'élément supérieur (PI) possède des moyens d'interactivité et en ce que, dans la seconde position de l'élément supérieur (PI), les moyens sensibles à la position du pointeur mettent en jeu, soit une première zone sensible (Zl l) extérieure à la zone occupée par l'élément supérieur dans sa première position, l'entrée du pointeur dans cette première zone sensible provoquant l'amenée de l'élément supérieur dans sa première position avec ses moyens d'interactivité inactifs, soit une seconde zone sensible (Z14) incluse dans la zone occupée par l'élément supérieur dans sa seconde position, l'entrée du pointeur dans cette seconde zone sensible provoquant l'amenée de l'élément supérieur dans sa première position avec ses moyens d'interactivité actifs.
114. Procédé pour affecter des catégories à des contenus accessibles par une pluralité d'utilisateurs, chaque contenu étant par ailleurs propre a être sélectivement placé dans une pluralité de contenants appartenant à des structures de documents, ces contenants possédant chacun des informations de catégorie, et à chaque contenu pouvant être associé xme pluralité d'informations de catégories permettant aux utilisateurs notamment de sélectivement accéder par un critère de catégorie audit contenu ou d'automatiser la sélection de la présentation dudit contenu, comprenant l'étape consistant, lorsqu'un contenu donné est placé dans un contenant donné d'un document, à ajouter aux informations de catégorie déjà associées audit contenu les informations de catégorie possédées par ledit contenant donné.
115. Procédé selon la revendication 114, caractérisé en ce que lesdites informations de catégories ajoutées aux contenant sont ajoutées en mode suggéré.
PCT/FR2000/003157 1999-11-10 2000-11-10 Systeme de partage d'informations entre au moins deux utilisateurs sur un reseau informatique WO2001035269A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/FR2001/001731 WO2001095146A2 (fr) 2000-06-06 2001-06-05 Systeme et procede permettant l'importation semi-automatique de fragments de ressources d'informations

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
FR99/14151 1999-11-10
FR9914151A FR2805373A1 (fr) 1999-11-10 1999-11-10 Systeme de partage d'informations entre au moins deux utilisateurs sur un reseau informatique
FR00/04207 2000-04-03
FR0004207A FR2807179A1 (fr) 2000-04-03 2000-04-03 Procede de gestion, dans un poste informatique, de l'affichage d'elements d'affichage charges depuis un poste distant
FR0007249A FR2805375A1 (fr) 1999-11-10 2000-06-06 Systeme de partage d'informations sur un reseau informatique
FR00/07249 2000-06-06

Publications (2)

Publication Number Publication Date
WO2001035269A2 true WO2001035269A2 (fr) 2001-05-17
WO2001035269A3 WO2001035269A3 (fr) 2003-01-09

Family

ID=27248641

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2000/003157 WO2001035269A2 (fr) 1999-11-10 2000-11-10 Systeme de partage d'informations entre au moins deux utilisateurs sur un reseau informatique

Country Status (2)

Country Link
FR (1) FR2805375A1 (fr)
WO (1) WO2001035269A2 (fr)

Cited By (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
US7102640B1 (en) 2002-03-21 2006-09-05 Nokia Corporation Service/device indication with graphical interface
US8526916B2 (en) 2002-02-13 2013-09-03 Nokia Corporation Method and system for multimedia tags
US9087204B2 (en) 2012-04-10 2015-07-21 Sita Information Networking Computing Ireland Limited Airport security check system and method therefor
US9324043B2 (en) 2010-12-21 2016-04-26 Sita N.V. Reservation system and method
US9460572B2 (en) 2013-06-14 2016-10-04 Sita Information Networking Computing Ireland Limited Portable user control system and method therefor
US9460412B2 (en) 2011-08-03 2016-10-04 Sita Information Networking Computing Usa, Inc. Item handling and tracking system and method therefor
US9491574B2 (en) 2012-02-09 2016-11-08 Sita Information Networking Computing Usa, Inc. User path determining system and method therefor
US10001546B2 (en) 2014-12-02 2018-06-19 Sita Information Networking Computing Uk Limited Apparatus for monitoring aircraft position
US10095486B2 (en) 2010-02-25 2018-10-09 Sita Information Networking Computing Ireland Limited Software application development tool
US10235641B2 (en) 2014-02-19 2019-03-19 Sita Information Networking Computing Ireland Limited Reservation 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
US11036371B2 (en) 2004-04-29 2021-06-15 Paul Erich Keel Methods and apparatus for managing and exchanging information using information objects
US11347704B2 (en) * 2015-10-16 2022-05-31 Seven Bridges Genomics Inc. Biological graph or sequence serialization
US20230075191A1 (en) * 2019-02-01 2023-03-09 Comcast Cable Communications, Llc Managing network packet flows based on device information
US11782587B1 (en) 2018-01-23 2023-10-10 Paul Erich Keel Computer-implemented environment for creating, sharing, and storing documents in a modular format
CN117076005A (zh) * 2023-10-16 2023-11-17 龙芯中科技术股份有限公司 一种应用运行方法、装置、电子设备及存储介质

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 mai 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 mars 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 avril 1998 (1998-04-01), pages 747-749, XP004121477 ISSN: 0169-7552 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072886B2 (en) 2001-05-15 2006-07-04 Nokia Corporation Method and business process to maintain privacy in distributed recommendation systems
US6968334B2 (en) 2001-05-15 2005-11-22 Nokia Corporation Method and business process to maintain privacy in distributed recommendation systems
US8526916B2 (en) 2002-02-13 2013-09-03 Nokia Corporation Method and system for multimedia tags
US7102640B1 (en) 2002-03-21 2006-09-05 Nokia Corporation Service/device indication with graphical interface
US11036371B2 (en) 2004-04-29 2021-06-15 Paul Erich Keel Methods and apparatus for managing and exchanging information using information objects
US11861150B2 (en) 2004-04-29 2024-01-02 Paul Erich Keel Methods and apparatus for managing and exchanging information using information objects
US10095486B2 (en) 2010-02-25 2018-10-09 Sita Information Networking Computing Ireland Limited Software application development tool
US10586180B2 (en) 2010-12-21 2020-03-10 Sita N.V. Reservation system and method
US9324043B2 (en) 2010-12-21 2016-04-26 Sita N.V. Reservation system and method
US10586179B2 (en) 2010-12-21 2020-03-10 Sita N.V. Reservation system and method
US9460412B2 (en) 2011-08-03 2016-10-04 Sita Information Networking Computing Usa, Inc. Item handling and tracking system and method therefor
US10129703B2 (en) 2012-02-09 2018-11-13 Sita Information Networking Computing Usa, Inc. User path determining system and method therefor
US9491574B2 (en) 2012-02-09 2016-11-08 Sita Information Networking Computing Usa, Inc. User path determining system and method therefor
US9667627B2 (en) 2012-04-10 2017-05-30 Sita Information Networking Computing Ireland Limited Airport security check system and method therefor
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
US9460572B2 (en) 2013-06-14 2016-10-04 Sita Information Networking Computing Ireland Limited Portable user control system and method therefor
US10235641B2 (en) 2014-02-19 2019-03-19 Sita Information Networking Computing Ireland Limited 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
US20220261384A1 (en) * 2015-10-16 2022-08-18 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
US20230075191A1 (en) * 2019-02-01 2023-03-09 Comcast Cable Communications, Llc Managing network packet flows based on device information
US11888653B2 (en) * 2019-02-01 2024-01-30 Comcast Cable Communications, Llc Managing network packet flows based on device information
CN117076005A (zh) * 2023-10-16 2023-11-17 龙芯中科技术股份有限公司 一种应用运行方法、装置、电子设备及存储介质
CN117076005B (zh) * 2023-10-16 2024-03-01 龙芯中科技术股份有限公司 一种应用运行方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2001035269A3 (fr) 2003-01-09
FR2805375A1 (fr) 2001-08-24

Similar Documents

Publication Publication Date Title
US20220075812A1 (en) Using content
Bonzanini Mastering social media mining with Python
Vossen et al. Unleashing Web 2.0: From concepts to creativity
Gretarsson et al. Smallworlds: visualizing social recommendations
Tsui The hyperlinked society: Questioning connections in the digital age
CN107256270B (zh) 将搜索历史组织成合集
US8055673B2 (en) Friendly search and socially augmented search query assistance layer
Aranda et al. From big data to rich theory: Integrating critical discourse analysis with structural topic modeling
WO2005045698A2 (fr) Procede mis en oeuvre dans un environnement informatique pour engendrer une vue courante a partir d’au moins un objet d’information source susceptible de varier
FR2947358A1 (fr) Un assistant-conseiller utilisant l&#39;analyse semantique des echanges communautaires
US20070106627A1 (en) Social discovery systems and methods
WO2001035269A2 (fr) Systeme de partage d&#39;informations entre au moins deux utilisateurs sur un reseau informatique
WO2006108865A9 (fr) Procedes pour permettre l&#39;acces a des ressources modifiables par des utilisateurs dans un environnement informatique, et ressources structurees a cet effet
WO2003057648A9 (fr) Procedes et systemes de recherche et d&#39;association de ressources d&#39;information telles que des pages web
FR2762460A1 (fr) Systeme destine a fournir un environnement et une interface utilisateur ameliores pour des technologies de discussion en ligne
FR3043816B1 (fr) Procede de suggestion de contenus extraits d’un ensemble de sources d’information
US8775336B2 (en) Interactive interface for object search
Roth Algorithmic distortion of informational landscapes
Bogers Recommender systems for social bookmarking
WO2016198635A1 (fr) Gestion de noms de domaine du reseau internet
Medynskiy et al. Exploring websites through contextual facets
FR2806184A1 (fr) Systeme de navigation mis en oeuvre dans un systeme informatique pour acceder a des pages fournies par des serveurs via un reseau informatique
Vossen et al. From Version 1.0 to Version 2.0: A brief history of the web
WO2001095146A2 (fr) Systeme et procede permettant l&#39;importation semi-automatique de fragments de ressources d&#39;informations
FR2807182A1 (fr) Systeme de traitement de donnees oriente objet a chargement progressif

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase