Procédé de consultation de documents informatiques et système associé La présente invention concerne un procédé de consultation de documents informatiques, et un système pour mettre en œuvre un tel procédé.
Un "document" peut être défini comme un ensemble d'informations pouvant être affiché simultanément sur un support. Auparavant, ce support était généralement le papier. Désormais, un document peut aussi être présenté sur un écran d'ordinateur. Dans la suite du présent texte, on désignera ces deux types respectifs de document comme "document papier" et "document informatique ", étant entendu que lorsque le terme général "document" est employé seul, il désigne un document se rapportant à la présente invention, c'est à dire un "document informatique". Un tel document est généralement mémorisé dans un système informatique sous la forme d'un ou plusieurs fichiers, éventuellement associés à des liens vers d'autres fichiers.
Les documents informatiques sont désormais un support extrêmement répandu d'échange d'informations, tendant à s'ajouter aux documents traditionnels sur support papier ou à les supplanter dans de nombreux cas.
En outre, il existe "maintenant de nombreuses fonctionnalités associées à la consultation de documents. On connaît ainsi les liens hypertexte qui peuvent être intégrés dans un document, que l'on peut définir comme des « pointeurs » associés à un champ qui peut être une chaîne de caractères, une image ou à toute zone d'écran, de sorte que la sélection (généralement par un clic de souris) du champ provoque l'exécution d'une commande associée au lien hypertexte, de manière à permettre à un utilisateur consultant le document d'afficher à l'écran un autre document, de lancer une séquence multimédia, d'appeler une page
Internet, ou de manière générale, de provoquer l'exécution d'un programme.
Ce type de possibilité représente un progrès important, car elle permet d'enrichir considérablement les documents, en rendant accessibles aux utilisateurs des informations (texte, images, sons, ... ) mémorisées dans différents fichiers pouvant être appelés par les liens hypertexte, et les architectures réseau (privées, ou publiques comme Internet) permettent à de nombreux utilisateurs de consulter de tels documents comportant des liens hypertexte. Mais de tels documents donnant accès à des fonctionnalités telles que celles offertes par les liens hypertexte, s'ils sont effectivement riches en contenu, et souvent accessibles à plusieurs utilisateurs, imposent à tous les utilisateurs une version unique du document consulté.
C'est en effet l'auteur du document qui détermine les fonctionnalités du document (liens hypertexte en particulier), de sorte que les liens que les utilisateurs peuvent activer sont obligatoirement ceux qui ont été prévus par le concepteur du document.
Ceci constitue une limitation, dans la mesure où il serait avantageux de fournir à l'utilisateur désireux de consulter un document la possibilité de personnaliser les liens hypertexte du document, en fonction de ses besoins spécifiques.
En effet, différents utilisateurs n'ont pas forcément les mêmes besoins, et n'attendent pas forcément les mêmes informations de la consultation d'un document. Par exemple, dans le secteur de l'enseignement, et particulièrement de l'enseignement à distance, il serait avantageux de permettre à des participants d'un groupe de travail (constitué d'élèves, et d'un ou plusieurs professeurs) de consulter diverses versions de documents d'origines variées dans un environnement de travail commun au groupe de travail,
sans nécessiter l'utilisation de noms de fichiers différents pour appeler chaque document ou version de document.
Selon un autre exemple, dans le secteur industriel et commercial, un client potentiel d'une société, en consultant un document accessible par le réseau Internet présentant les produits de la société, pourra n'être intéressé que par les produits distribués dans sa région.
Il est bien sûr possible d'adapter un document aux besoins de certains utilisateurs en prévoyant une version spécifique du document pour chaque type d'utilisateur, et de constituer ainsi différentes versions du document avec des liens hypertexte adaptés aux attentes des différents types d'utilisateur.
Mais ceci oblige à constituer des fichiers différents, correspondant aux différentes versions de document souhaitées, ce qui comporte des inconvénients (espace de mémoire nécessaire pour stocker les différents fichiers, gestion des modifications des différents versions...).
Le but général de l'invention est de permettre d'adapter des documents aux besoins spécifiques de certains utilisateurs, sans entraîner les inconvénients ci-dessus.
Plus précisément, un but important de l'invention est de permettre de réaliser des documents comportant des liens hypertexte pouvant être adaptés, en fonction de besoins de différents utilisateurs.
Afin d'atteindre ces buts, l'invention propose un procédé permettant à un utilisateur d'entrer, dans un système informatique comprenant des moyens de mémorisation de fichiers, un système d'exploitation et une interface visuelle telle qu'un écran, des chaînes de caractères qui constituent des instructions primaires, en vue de déclencher une action dudit système d'exploitation, caractérisé en ce que le procédé permet de traduire des instructions primaires en instructions secondaires respectives qui sont associées aux instructions primaires respectives et qui seront fournies au système d'exploitation à la place de l'instruction primaire
associée, et les correspondances entre instructions primaires et secondaires sont individuellement associées à l'utilisateur.
Des aspects préférés, mais non limitatifs du procédé selon l'invention sont les suivants : « le procédé comprend les étapes consistant à :
> Activer au moins une liste établissant des correspondances entre des instructions primaires respectives et des instructions secondaires qui leur sont respectivement et individuellement associées, > Sélectionner une instruction primaire,
> Si ladite instruction primaire sélectionnée appartient à une liste activée :
- remplacer cette instruction primaire par l'instruction secondaire correspondante dans ladite liste activée, et fournir au système d'exploitation ladite instruction secondaire à la place de ladite instruction primaire sélectionnée.
• la sélection de l'instruction primaire peut être effectuée par un utilisateur. • ladite sélection peut être effectuée de l'une des manières suivantes :
> Une saisie directe de l'instruction primaire sur une interface du système informatique telle qu'un clavier, Une sélection dans un document affiché sur l'interface visuelle, Une sélection dans ladite liste affichée sur l'interface visuelle.
• la sélection de l'instruction primaire peut être effectuée automatiquement.
• ladite sélection résulte de l'activation par un utilisateur d'une surcharge associée à un document affiché sur l'interface visuelle.
• la sélection de l'instruction primaire est effectuée lors de l'affichage sur l'interface visuelle d'un document informatique.
• • lors de l'affichage du document, le procédé comprend la mise en évidence systématique des instructions primaires appartenant à une liste activée pour constituer des liens hypertexte.
• l'activation des listes est effectuée par un utilisateur, qui peut activer des listes désirées.
• l'utilisateur a la possibilité de créer, modifier et supprimer à volonté les listes susceptibles d'être activées. • les listes sont des fichiers dont au moins un est enregistré dans un emplacement de mémoire associé individuellement à l'utilisateur.
• l'utilisateur a la possibilité d'associer à tout document désiré une liste qui sera automatiquement activée lors de l'affichage du document sur l'interface visuelle. « au moins une liste comprend une commande initiale qui est exécutée par le système d'exploitation lors de l'activation de la liste.
• la commande initiale est une commande de lancement d'une application. • il est automatiquement établi un ordre de priorité entre les listes activées, de sorte que lorsqu'une instruction primaire est sélectionnée, le procédé comporte une étape de recherche automatique de l'instruction primaire dans les listes activées selon ledit ordre de priorité, et le remplacement de cette instruction primaire par la première instruction secondaire correspondante identifiée.
• le procédé comprend la succession des étapes consistant à : Vérifier dans une première étape que l'instruction primaire n'a pas encore été traitée,
> analyser ladite instruction primaire pour déterminer s'il s'agit d'une commande reconnue par le système d'exploitation,
> si l'instruction primaire est une commande du système d'exploitation, faire exécuter ladite commande par le système d'exploitation,
> si l'instruction primaire n'est pas une commande du système d'exploitation :
• rechercher dans les listes activées ladite instruction primaire, V et, si l'instruction primaire est localisée dans une des listes activées,
» constituer une nouvelle instruction primaire avec l'instruction secondaire correspondant à l'instruction primaire initialement sélectionnée, • et réinitialiser ladite première étape avec la nouvelle instruction primaire ainsi constituée.
L'invention propose également un système de consultation de documents comprenant des moyens de mémorisation de fichiers, un système d'exploitation et une interface visuelle telle qu'un écran, le système étant destiné à être mis en œuvre avec un système d'exploitation, le système comprenant des moyens pour permettre à un utilisateur d'entrer dans le système des chaînes de caractères qui constituent des instructions primaires, en vue de déclencher une action dudit système d'exploitation, caractérisé en ce que le système comprend des moyens pour traduire des instructions primaires en instructions secondaires respectives qui sont associées aux instructions primaires respectives et qui seront fournies au système d'exploitation à la place de l'instruction primaire associée, lesdits moyens de traduction des instructions primaires en instructions secondaires permettant d'associer individuellement à chaque utilisateur des correspondances désirées entre instructions primaires et secondaires.
Des aspects préférés, mais non limitatifs du procédé selon l'invention sont les suivants :
• il comprend des moyens pour :
> Activer au moins une liste établissant des correspondances entre des instructions primaires respectives et des instructions secondaires qui leur sont respectivement et individuellement associées,
> Sélectionner une instruction primaire,
> Si ladite instruction primaire sélectionnée appartient à une liste activée : remplacer cette instruction primaire par l'instruction secondaire correspondante dans ladite liste activée,
- et fournir au système d'exploitation ladite instruction secondaire à la place de ladite instruction primaire sélectionnée.
• il est prévu des moyens pour permettre à l'utilisateur d'effectuer une sélection de l'instruction primaire.
• ladite sélection peut être effectuée de l'une des manières suivantes : > Une saisie directe de l'instruction primaire sur une interface du système informatique telle qu'un clavier,
> Une sélection dans un document affiché sur l'interface visuelle,
> Une sélection dans ladite liste affichée sur l'interface visuelle. • il est prévu des moyens pour effectuer automatiquement la sélection de l'instruction primaire.
• ladite sélection résulte de l'activation par un utilisateur d'une surcharge associée à un document affiché sur l'interface visuelle.
• la sélection de l'instruction primaire est effectuée lors de l'affichage sur l'interface visuelle d'un document informatique.
• lors de l'affichage du document, le procédé comprend la mise en évidence systématique des instructions primaires appartenant à une liste activée pour constituer des liens hypertexte.
• il est prévu des moyens pour permettre à l'utilisateur d'activer des listes désirées.
• il est prévu des moyens pour permettre à l'utilisateur de créer, modifier et supprimer à volonté les listes susceptibles d'être activées.
« les listes sont des fichiers dont au moins un est enregistré dans un emplacement de mémoire associé individuellement à l'utilisateur.
• il est prévu des moyens pour permettre à l'utilisateur d'associer à tout document désiré une liste, et des moyens pour activer automatiquement ladite liste lors de l'affichage du document sur l'interface visuelle.
• au moins une liste comprend une commande initiale qui est exécutée par le système d'exploitation lors de l'activation de la liste. • la commande initiale est une commande de lancement d'une application.
• il est prévu des moyens pour établir automatiquement un ordre de priorité entre les listes activées, et des moyens pour effectuer, lorsqu'une instruction primaire est sélectionnée, une recherche automatique de l'instruction primaire dans les listes activées selon ledit ordre de priorité, et le remplacement de cette instruction primaire par la première instruction secondaire correspondante identifiée.
• il est prévu des moyens permettant de :
Vérifier dans une première étape que l'instruction primaire n'a pas encore été traitée,
> analyser ladite instruction primaire pour déterminer s'il s'agit d'une commande reconnue par le système d'exploitation, si l'instruction primaire est une commande du système d'exploitation, faire exécuter ladite commande par le système d'exploitation,
> si l'instruction primaire n'est pas une commande du système d'exploitation : rechercher dans les listes activées ladite instruction primaire, et, si l'instruction primaire est localisée dans une des listes activées,
» constituer une nouvelle instruction primaire avec l'instruction secondaire correspondant à l'instruction primaire initialement sélectionnée, " et réinitialiser ladite première étape avec la nouvelle instruction primaire ainsi constituée. D'autres aspects, buts et avantages de l'invention apparaîtront mieux à la lecture de la description suivante d'une forme de réalisation de l'invention, faite en référence aux dessins annexés sur lesquels :
• Les figures 1 , 2 et 4 sont des représentations schématiques de la structure d'un système mettant en œuvre l'invention,
• La figure 3 est un logigramme représentant schematiquement les principales étapes d'un processus de sélection et de traitement de chaînes de caractères mis en œuvre dans l'invention,
• Les figures 5 et 6 sont des logigrammes représentant schematiquement les principales étapes de processus de recherche de fichiers mis en œuvre dans l'invention.
En préambule à la description qui suit, il est précisé que si cette description constitue un support destiné à établir une protection par brevet, elle ne constitue en rien une atteinte aux autres droits de propriété intellectuelle attachés au système décrit ci-dessous, en particulier le droit d'auteur.
En référence tout d'abord à la figure 1 , on a représenté globalement par la référence 10 des moyens de mémorisation permanente de fichiers.
Comme on le verra, ces moyens peuvent comporter plusieurs emplacements, reliés par des moyens de transmission de données (pouvant mettre en œuvre des réseaux privés ou public, Internet notamment) mais n'étant pas nécessairement regroupés physiquement, chaque emplacement de mémoire pouvant correspondre à un support physique différent, de tout type connu en soi.
Dans la suite de ce texte, on désignera globalement les moyens 10 par le terme général de " mémoire ", ladite mémoire comportant une pluralité d'emplacements qui peuvent chacun être identifiés par une adresse.
On a également représenté une unité 20 reliée à un système d'exploitation du type à fenêtres ou non (le mode particulier de réalisation décrit ci-dessous mettant en œuvre de manière non limitative un système d'exploitation à fenêtres).
Le système d'exploitation, connu en soi, permet de manière connue d'appeler, d'afficher, d'éditer et d'enregistrer des fichiers, l'unité 20 comportant des moyens d'interface permettant à un utilisateur d'effectuer des opérations sur des fichiers édités (écran de visualisation, souris et clavier de saisie par exemple). Cette unité 20 peut être un ordinateur de type quelconque.
L'unité 20 est reliée globalement à la mémoire 10 par une liaison 30 permettant le transfert de données et de fichiers entre ces deux éléments. La liaison 30 peut être de tout type connu, mettant en œuvre des
composants filaires (liaison classique ou à haut débit), non lalres (liaison radio, infrarouge, etc..) ou une combinaison des deux types de liaison.
Pour ouvrir sur l'unité 20 une session de travail du système selon l'invention, un utilisateur doit après lancement du système d'exploitation déclarer un nom d'utilisateur u1 qui est enregistré dans un emplacement Eutil de la mémoire 10.
A cet effet, le système décrit ici met en œuvre un programme P qui est situé dans un emplacement E0 de la mémoire 10 (l'emplacement EO pouvant être intégré physiquement à l'unité 20) et dont l'utilisateur lance l'exécution, ce qui provoque sur l'écran de l'unité 20 l'ouverture d'une fenêtre F1 dédiée au programme P. A l'intérieur de cette fenêtre F1 , le programme ouvre également une sous-fenêtre F2 de saisie du nom d'utilisateur.
Une fois le nom d'utilisateur u1 déclaré dans cette sous-fenêtre, ce nom d'utilisateur demeurera enregistré dans l'emplacement de mémoire Eutil pendant toute la durée de la session de travail (c'est-à-dire pendant que le programme P est actif), mais également après la fermeture de cette session. L'emplacement de mémoire Eutil mémorise ainsi le nom d'utilisateur u1 de manière permanente. Eutil peut également contenir des références propres à l'utilisateur
(mot de passe sécurisant l'ouverture d'une session sous le nom u1 ,... ) et à la dernière session effectuée par cet utilisateur (écrans ouverts, fichiers consultés...).
Comme on l'a dit, le système selon l'invention est destiné à fonctionner avec un système d'exploitation, les deux systèmes étant interfaces ensemble. Ainsi, à l'intérieur d'une session de travail, un utilisateur peut appeler à l'écran des fichiers contenus dans des emplacements Ei de la mémoire 10.
Les emplacements de mémoire Ei peuvent constituer un emplacement unique, ou une pluralité d'emplacements de mémoire
distincts dont chacun peut être un répertoire spécifique d'un même disque mémoire, ou un emplacement dans un disque mémoire ou un serveur spécifique (ledit serveur pouvant être un serveur privé ou accessible au public - par le biais du réseau Internet par exemple), ou un emplacement sur un support de données enregistrable tel qu'un CD-ROM, ou tout autre type de mémoire connu.
Les fichiers mémorisés dans les emplacements Ei peuvent être de tout type connu en soi compatible avec le système d'exploitation à fenêtres, leur format étant précisé par le type d'extension du fichier (.doc, .xls, .wav, .gif, jpeg, .htm, .html, .xml, .ppt, .pdf, etc. ). Le système selon l'invention est en effet conçu pour traiter tout type de fichier connu, et dispose à cet effet d'interfaces avec le système d'exploitation.
On va maintenant décrire le fonctionnement général d'un mode de réalisation du système selon l'invention, qui permet comme on va le voir d'associer des surcharges actives à un document. On précise toutefois que l'invention (dont les aspects essentiels seront décrits plus loin dans ce texte) n'est pas limitée à sa mise en œuvre avec un tel système permettant l'ajout de surcharges actives, qui ne constitue qu'un mode de réalisation préférée de l'invention. Soit un fichier A d'un emplacement Ei, le fichier A étant de format extl (extl pouvant désigner tout type d'extension connu en soi - htm par exemple). A l'intérieur d'une session de travail, l'utilisateur ouvre le fichier A.extl et affiche le document correspondant dans une nouvelle fenêtre de l'écran de l'unité 20, incluse dans la fenêtre F1 du programme P. II est connu que le système d'exploitation permet à l'utilisateur de modifier ce document et d'enregistrer ses modifications en remplaçant l'ancienne version du fichier A.extl par une nouvelle version comportant les modifications apportées (fonction " enregistrer "), ou bien en enregistrant dans un emplacement de mémoire désiré ladite dernière version modifiée (fonction " enregistrer sous ... "). On va voir que le système décrit ici, qui
permet d'associer des surcharges actives à un document, que l'on nommera par la suite simplement " le système " par commodité, et qui est destiné à être combiné avec le système d'exploitation, offre des possibilités bien supérieures. En effet, le programme P qui est actif permet en permanence à l'utilisateur déclaré sous le nom u1 d'effectuer des surcharges qui lui sont personnelles sur un tel document correspondant au fichier A.extl , sans altérer l'intégrité du fichier A.extl comme on va le voir.
Il convient de définir tout d'abord la notion de " commande " du système. Une commande est une chaîne de caractères reconnaissable par le système, qui provoque l'exécution d'une action par le système (celui-ci faisant pour cela intervenir le système d'exploitation).
Pour ce faire, la chaîne de caractères à reconnaître doit être fournie au système; pratiquement, ceci peut se faire en particulier de deux manières :
• l'utilisateur saisit directement la chaîne de caractères dans une fenêtre appelée par un programme annexe associé au programme P, ce programme annexe pouvant être lui-même appelé par un bouton spécifique de la fenêtre F1 que l'utilisateur actionne,
• ou la chaîne de caractères a elle-même été produite par une commande.
Le système reconnaît les chaîne de caractères obéissant à un format prédéfini et mémorisé dans un emplacement spécifique de mémoire (qui peut être l'emplacement EO). Il est ainsi possible de définir dans le système des fonctions pouvant être exécutées par une chaîne de caractères formulée selon une certaine syntaxe. On peut par exemple définir les associations suivantes :
chaîne de caractères Fonction associée
# A .extl Ouvrir le fichier A.extl
&A.ext1 Ouvrir le fichier A.extl (sans afficher les liens contenus dans ce fichier)
>message, x, y Editer le message dans une fenêtre à l'emplacement (x,y)
<son Exécuter un son programme, a, b, c Exécuter le programme avec les paramètres a, b, c
©glossaire Activer un glossaire (ce terme sera expliqué plus loin) localisation Ajouter une localisation (ce terme sera expliqué plus loin) πa, b, c Ajouter une surcharge (ce terme sera expliqué plus loin) avec les paramètres a, b, c
Plusieurs chaînes de caractères peuvent également être fournies au système " en une seule fois ", chaque chaîne de caractères étant séparée de la suivante par un point virgule (cas de la saisie directe de la commande par l'utilisateur). Dans ce cas, le système traite les chaînes de caractères les unes après les autres.
On notera que les chaînes de caractères peuvent être transcodées sous forme différente, par exemple des signaux ne correspondant pas à des caractères affichables à l'écran ; cette variante peut être utile pour des raisons de confidentialité. On peut également définir des chaînes de caractères sous la forme d'un caractère unique ce qui permet d'économiser de la mémoire.
Il est possible d'améliorer l'ergonomie du système en définissant dans la fenêtre F1 un ensemble de menus et de boutons permettant à l'utilisateur d'accéder rapidement à une pluralité de commandes.
Ainsi, reprenant le cas du fichier A.extl, l'utilisateur dispose :
• d'une commande pour ouvrir à l'écran le document correspondant au fichier A.extl (ou à tout autre fichier des emplacements de mémoire Ei, quel que soit son format), • et de commandes activant un menu dit " de surcharge " qui permet à l'utilisateur de superposer à l'écran sur le document
correspondant au fichier A.extl (que l'on nommera " le fichier original ", le document associé étant le " document original ") des surcharges (ou objets graphiques), sur le même écran d'édition. Pour cela l'utilisateur utilise la souris de l'unité 20 qui permet de positionner les surcharges en des endroits désirés de la fenêtre d'édition (ou de l'écran dans le cas d'un système d'exploitation sans fenêtre), et de les dimensionner. Ces objets graphiques sont ainsi superposés au document original en des endroits déterminés par des coordonnées liées au repère du document original, de sorte que lors de l'édition de ce document original, les surcharges sont fixes par rapport aux éléments de ce document et se déplacent avec ces éléments lorsqu'on fait défiler à l'écran le contenu du document. Les surcharges peuvent être des surfaces d'aspect paramétrable, et être associées comme on le verra à des commandes du système.
Lorsque l'utilisateur ouvre le document original correspondant à A.extl et lui superpose des surcharges, le système crée automatiquement un fichier dit "associé" A.@ext1 auquel une extension spécifique est associée (ainsi le système selon l'invention associera un fichier associé A.@doc à un fichier original A.doc, un fichier A.@gif à un fichier original A.gif, etc. ).
Le fichier associé A.@ext1 qui comporte l'ensemble des surcharges apportées par l'utilisateur u1 au document correspondant au fichier original A.extl , est enregistré par le système dans un emplacement de mémoire Eu1 individuellement associé à l'utilisateur ul L'adresse de Eu1 a été définie par l'utilisateur lors de sa première session de travail (le système proposant à l'utilisateur une adresse par défaut). Cette adresse est mémorisée en association avec u1 dans l'emplacement de mémoire Eutil, de sorte que le fichier A.@ext1 est associé par le système au fichier original A.extl et au nom d'utilisateur ul
Dans la suite de ce texte on définira Eu1 comme le " dossier personnel " de l'utilisateur ul
L'adresse de Eu1 est un paramètre important du système car elle permet d'associer individuellement à chaque utilisateur une adresse de sauvegarde des fichiers associés de surcharge du type de A.@extl Cette adresse peut être par la suite modifiée par l'utilisateur lors de toute session de travail déclarée sous le nom u1, en rappelant par une commande dédiée (actionnable par le menu de la fenêtre F1) la sous-fenêtre F2 de saisie du nom d'utilisateur, qui comporte également un champ permettant de modifier l'adresse de sauvegarde (ou les adresses de sauvegarde comme on va le voir).
L'utilisateur peut ainsi apporter des surcharges à un document original correspondant à un fichier original A.extl , lesdites surcharges étant sauvegardées dans un fichier spécifique associé A.@ext1 et pouvant avoir tout aspect désiré (forme, couleur, taille, association à une icône ou une image...) grâce à des commandes de paramétrage de ces aspects.
L'utilisateur a, à tout moment, la possibilité d'enregistrer les surcharges qu'il a apportées à un fichier par une commande dédiée du système, qui provoque l'enregistrement du fichier associé A.@ext1 dans le dossier personnel Eu1 de ul
Il est à noter que pour l'utilisateur, la superposition des documents associés respectivement aux fichiers A.extl et A.@ext1 dans la même fenêtre est " transparente ", c'est-à-dire que l'utilisateur traite une fenêtre d'édition unique, qui affiche une superposition du contenu du document original A.extl et des surcharges du document "associé" A.@ext1 qui correspond au fichier A.@ext1, comme un document unique en apparence, le fichier A.@ext1 fournissant un " calque " qui " plaque " des surcharges sur le document original en des endroits de ce document original choisis par l'utilisateur.
Lorsque l'utilisateur ouvre ainsi le document correspondant au fichier A.extl , ien ne lui indique que les surcharges du fichier " calque " associé A.@ext1 lui sont superposées, de sorte que l'utilisateur traite en apparence une seule entité. Lorsqu'un utilisateur déclaré sous le nom u1 ouvre ensuite le document correspondant à A.ext1 , le système recherche automatiquement dans Eu1 qui est le dossier personnel de u1 (et éventuellement dans d'autres emplacements de mémoire définis dans le système comme on le verra plus loin à propos des "listes de localisation"), l'existence d'un fichier associé nommé A.@ext1 , et superpose automatiquement dans la fenêtre d'édition les surcharges du fichier associé A.@ext1 sur le document original, si un fichier A.@ext1 a été détecté dans Eul Dans le cas contraire, seul le document associé à A.extl est affiché. Dans tous les cas, il est nécessaire d'exécuter une commande activant le menu de surcharges pour ajouter ou modifier des surcharges sur A.extl .
De la sorte, le système permet à chaque nom d'utilisateur (u1 ou autre) déclaré dans le système de disposer de sa version personnelle de surcharges apportées à un même document original alors que l'intégrité du fichier correspondant à ce document est préservée, le fichier original ne subissant aucune modification. Les surcharges associées sont automatiquement superposées au document original de sorte que l'utilisateur manipule en apparence un document unique.
Lors de la création du fichier A.@ext1 de surcharge associé au fichier original A.extl , le système crée également un descriptif de ce fichier associé. Le descriptif est un ensemble d'informations concernant le fichier associé A.@ext1 , enregistrées dans le fichier A.@ext1 , dans l'emplacement de mémoire Eul
Cet ensemble d'informations n'apparaît pas directement à l'écran lors de l'ouverture des documents correspondant aux fichiers A.extl et
A.@ext1 , mais l'utilisateur peut l'appeler par une commande spécifique afin de visualiser les informations qu'il contient, et les modifier au besoin.
Le descriptif contient ainsi entre autres les informations suivantes :
• nom du fichier associé (A.@ext1 ), • nom du fichier original (A.extl ),
• titre (ce titre sera celui qui sera affiché en haut de la fenêtre d'édition de la superposition de A.extl et de A.@ext1 - il est par défaut le nom du fichier original A.extl mais peut être modifié par l'utilisateur), • informations de version et de date de mise à jour (renseignées automatiquement par le système),
• description (zone de texte libre pouvant être renseignée par l'utilisateur),
• informations sur les surcharges du fichier A.@ext1 (coordonnées, aspect, commandes associées - on expliquera ci-dessous l'association d'une commande à une surcharge),
• glossaires associés au fichier (cette notion sera précisée dans la suite du texte).
Il est aussi possible à un même utilisateur de modifier le nom d'utilisateur sous lequel il est déclaré à l'intérieur de la même session de travail. Un utilisateur U1 peut ainsi se déclarer non plus sous le nom u1 mais sous le nom ul, qui sera mémorisé dans un fichier dédié à l'emplacement Eutil et auquel correspond un dossier personnel Eul dont le système mémorise l'adresse dans Eutil, en association avec le nom ul (voir figure 1 ).
Dans ce cas, si l'utilisateur ouvre ensuite le document correspondant au fichier A.extl , il n'aura pas accès aux surcharges apportées sous le nom u1 et mémorisées dans le fichier A.@ext1 se trouvant dans le dossier personnel Eu1 de ul II pourra par contre apporter d'autres surcharges, différentes, que le système mémorisera dans un autre fichier également
nommé A.@ext1 mais qui sera enregistré dans un dossier personnel Eul du nom d'utilisateur ul, différent du dossier personnel de ul
Lorsqu'un utilisateur se connectera au système sous le nom d'utilisateur u1 et appellera A.extl , le système cherchera un fichier associé A.@ext1 dans Eu1 le dossier personnel de u1 , et l'utilisateur aura ainsi accès à la superposition de A.extl et des surcharges de la version du fichier associé correspondant au dossier personnel Eu1 de ul
Lorsque l'utilisateur se connectera sous le nom d'utilisateur ul et appellera de la même manière le même document correspondant au fichier A.extl ce sont les surcharges de la version du fichier associé correspondant au dossier personnel Eul de ul qu'il visualisera car le système recherche alors le fichier associé dans Eul le dossier personnel de u .
L'utilisateur peut également ouvrir en parallèle plusieurs sessions de travail en lançant plusieurs exécutions du programme P qui provoquent chacune l'ouverture d'une sous-fenêtre Fi de la fenêtre F1 , et se déclarer ainsi sous plusieurs noms d'utilisateur différents.
Comme on l'a dit, les surcharges sont des objets graphiques qui peuvent avoir un aspect désiré et être associés à des commandes du système.
Plus précisément, le système selon l'invention permet à l'utilisateur de paramétrer, par l'intermédiaire de commandes dédiées :
• l'aspect de la zone graphique de la surcharge (forme, couleur, épaisseur des traits de contour, taille, inclusion et format de texte, remplacement par une icône ou une image, etc. ),
• la fonction de la zone graphique. Si celle-ci peut être une zone " inerte " ne pouvant comporter que du texte (par exemple une surcharge équivalente à un " post it " (marque déposée) placée dans la marge d'un document, afin d'apporter un commentaire ou
de poser une question sur ce document), elle peut également être une zone activable.
Dans ce dernier cas, l'utilisateur peut associer à la zone graphique une commande qui déclenche une action comme expliqué au début de ce texte. Cette commande sera activée lors des consultations ultérieures de la superposition du document correspondant au fichier original et de ses surcharges, par exemple en déplaçant un curseur à l'aide d'une souris sur la zone graphique et en cliquant dessus. De la sorte, il est possible d'associer à la surcharge une commande quelconque du système et de rendre la surcharge active.
Le système décrit permet donc la création de surcharges actives, qui peuvent ainsi comprendre des liens vers des objets ou des documents d'adresse quelconque (commande d'ouverture de fichier), y compris des liens hypertexte vers des pages de sites Internet, lesdits liens pouvant être activés par un simple clic de souris sur la surcharge correspondante (et on verra par ailleurs dans la suite de ce texte que selon l'aspect essentiel de l'invention, les liens hypertexte peuvent être adaptés en fonction de l'utilisateur).
On précise que dans le cas d'une commande d'ouverture d'un autre fichier, le système offre la possibilité de " marquer " le document correspondant au fichier appelé, par une surcharge apposée automatiquement en un endroit déterminé du document ainsi appelé (par exemple en haut à gauche de sa fenêtre d'édition), afin de visualiser le lien ainsi établi entre les deux documents. II est possible de paramétrer le système pour que des surcharges associées à une commande soient invisibles à l'écran. Il est également possible d'activer en permanence une fonction de " commentaire " sur les surcharges sur lesquelles le curseur se trouve (signal de la présence d'une surcharge - utile lorsque la surcharge est invisible, description de la commande associée... ).
On comprend donc que le système décrit est un outil souple et puissant de traitement et de gestion de documents, qui permet à un utilisateur de personnaliser des documents originaux par des ajouts de zones graphiques, de commentaires, de commandes ou de liens afin d'adapter le document à son environnement et à ses besoins particuliers, ceci sans altérer l'intégrité des fichiers originaux qui demeurent inchangés. On a dit que le descriptif d'un fichier A.@ext1 associé à un fichier original A.extl comportait un rattachement au fichier original, c'est-à-dire l'adresse du fichier original. L'utilisateur a également la possibilité de modifier ce rattachement, et d'associer le fichier A.@ext1 à un autre fichier original (du même type que le premier fichier original ou non), par exemple B.ext2 (ext2 désignant un type de fichier pouvant être différent des fichiers en .extl ).
Dans ce cas, lorsque l'utilisateur exécute une commande pour ouvrir ensuite le document correspondant au fichier A.extl , le système cherche automatiquement un fichier associé A.@ext1 dans le dossier personnel de l'utilisateur, y trouve A.@ext1 et lit le fichier de rattachement de son descriptif. Le descriptif de ce fichier associé faisant maintenant référence à B.ext2, le système provoque l'ouverture du document correspondant à ce deuxième fichier original B.ext2 avec les surcharges de A.@ext1 superposées, et non l'ouverture de A.extl
Cette possibilité est avantageuse, par exemple dans le cadre de la gestion de versions successives d'un fichier original qui évolue. Soit le fichier original A.extl , il est alors possible de rattacher le fichier associé A.@ext1 à une version désirée de ce fichier original (dernière version par exemple), en mettant à jour le descriptif du fichier associé A.@ext1.
De la sorte, plusieurs fichiers originaux différents qui sont tous nommés A.extl , correspondant à des versions différentes d'un document, peuvent être enregistrées dans des emplacements de mémoire différents (disques de sauvegarde successifs par exemple... ); dans tous les cas
l'exécution de la commande d'ouverture de A.extl provoquera l'édition de la version désirée déterminée par la mise à jour du descriptif de A.@ext1.
Il est également possible de définir pour plusieurs noms d'utilisateurs différents des accès à des versions différentes du fichier original A.extl , ou à un autre fichier original, par rattachement du fichier associé A.@ext1 de chaque utilisateur à une version spécifique du fichier original ou à l'autre fichier original.
Ainsi, en appelant le même fichier A.extl , les différents utilisateurs auront-ils accès non seulement à des surcharges qui peuvent être différentes, mais également à des fichiers originaux qui peuvent être également différents.
En référence maintenant à la figure 2, on va décrire l'aspect essentiel du système selon l'invention, qui peut avantageusement mais de manière non limitative être mis en œuvre en combinaison avec le système de création et de gestion de surcharges décrit ci-dessus.
On retrouve sur cette figure la mémoire 10, l'unité 20 et la liaison 30. On retrouve également dans la mémoire 10 les emplacements Ei de mémorisation des fichiers originaux, l'emplacement EO, l'emplacement Eutil contenant les noms d'utilisateurs et les adresses de dossiers personnels correspondant, et des emplacements Eu1 et Eul qui sont des dossiers personnels.
Lors de la création d'un nom d'utilisateur u1 , le système selon l'invention crée non seulement un dossier personnel Eu1 qui sera l'emplacement de mémorisation des fichiers de surcharges associés à des fichiers originaux que l'utilisateur u1 consulte, mais également un fichier de type "glossaire", Motsclés.@dy, qui est vide à sa création et que le système enregistre dans Eu1 le dossier personnel de u1.
Ce glossaire est un fichier destiné à contenir une série de chaînes de caractères que l'on nommera " clés ", chaque clé pouvant former un ou plusieurs mots, ou non. Dans le glossaire, chaque clé est associée
individuellement à une commande telle que celles évoquées ci-dessus (affichage d'un message à l'écran, ouverture d'un fichier, etc. ), ou bien à une autre chaîne de caractères qui n'a pas obligatoirement le format d'une commande dont la syntaxe est reconnue par le système. L'utilisateur u1 a la possibilité d'éditer ce glossaire et de le modifier, en ajoutant, supprimant ou modifiant des couples (clé, commande) ou de manière plus générale (clé, chaîne de caractères).
L'utilisateur a également la possibilité d'activer ce glossaire et de le désactiver. Pour activer le glossaire, il suffit à l'utilisateur d'ouvrir le fichier correspondant Motsclés.@dy, directement en utilisant le système d'exploitation, ou bien par l'intermédiaire d'une commande dédiée du système. Le glossaire est ainsi présent dans la mémoire vive de l'unité 20 lorsqu'il est activé.
Dans le cas où le glossaire Motsclés.@dy est activé, toute "sélection" d'une des clés du glossaire provoquera l'exécution de la commande associée. On verra en référence à la figure 3 quelles sont les principales manières d'effectuer une telle "sélection" d'une clé.
Ainsi, les clés du glossaire représentent des « instructions primaires », que l'utilisateur a la possibilité de sélectionner d'une des manières qui vont être décrites, et les commandes associées représentent des « instructions secondaires » correspondant individuellement aux instructions primaires associées du glossaire, lesdites instructions secondaires étant exécutées par le système.
Chaque utilisateur u1 dispose ainsi d'un glossaire qui lui est personnel et qui lui permet d'associer des commandes spécifiques à certaines chaînes de caractères susceptibles d'être sélectionnées.
Lorsque qu'un utilisateur u1 ouvre un document original correspondant à un fichier A.extl et lui associe un fichier A.@ext1 comme décrit ci-dessus, il a également la possibilité de créer et de lier au fichier
associé A.@ext1 , un glossaire A.@dy qui sera ainsi associé au couple (utilisateur u1 , fichier associé A.@ext1).
Tout comme le glossaire personnel Motsclés.@dy, un tel glossaire A.@dy dit " de document " est créé par le système avec une extension en .@dy afin d'être reconnaissable par le système selon l'invention. Ce glossaire, mémorisé dans le fichier associé A.@ext1 , est automatiquement actif lorsque l'utilisateur affiche à l'écran le document correspondant au fichier A.@extl
Par contre, le glossaire du document n'est pas actif lorsque la fenêtre d'édition du document correspondant au fichier A.@ext1 , auquel le glossaire A.@dy est lié, n'est pas la fenêtre qui est sélectionnée (chaque ouverture de document provoquant l'ouverture d'une fenêtre à l'intérieur de la fenêtre F1 qui est la fenêtre d'application du système selon l'invention).
Selon l'invention, l'utilisateur peut également intégrer à tout glossaire une commande dite " commande initiale " qui sera exécutée lors de l'ouverture du glossaire. Cette commande peut être de tout type mentionné ci-dessus.
Et un troisième type spécifique de glossaire qu'un utilisateur peut créer est le " glossaire d'application ". Un tel glossaire est un fichier en .@dy qui est " associé " au lancement d'une application désirée dans le système d'exploitation.
Dans ce cas le glossaire d'application comporte une commande initiale qui lance l'application et l'ouverture du glossaire d'application provoque l'exécution d'une première commande de l'application, ledit glossaire restant actif pour l'application.
Il est également possible de créer un ou plusieurs glossaires indépendants, grâce à une commande dédiée du système. On peut ainsi créer à volonté des fichiers ayant une extension spécifique .@dy, qui pourront être actifs à la demande.
Il est ainsi possible de créer et modifier plusieurs types de glossaires contenant des couples de chaînes de caractères, dont la première est une clé et la deuxième peut être une commande reconnue par le système.
La figure 3 expose différentes manières de "sélectionner" une chaîne de caractères pour activer une commande qui lui serait associée dans un glossaire actif.
Ainsi, il est tout d'abord possible pour ceci de : • sélectionner la chaîne de caractères dans un document en cours d'affichage à l'écran, grâce par exemple à la souris. L'utilisateur peut ainsi délimiter une chaîne de caractères et cliquer dessus, ce qui provoque la sélection de la chaîne de caractères (étape 300). On reviendra dans la suite sur ce mode de sélection d'une chaîne de caractères, qui correspond au mode préféré de réalisation de l'invention, • l'utilisateur peut également saisir directement la chaîne de caractères au clavier de l'unité 20, le système permettant d'appeler une boîte de dialogue pour effectuer une telle saisie (étape 301 ). . une autre alternative est la sélection de la chaîne de caractères par le système lui-même (étape 302). Une telle sélection peut résulter par exemple de la sélection par l'utilisateur d'une surcharge active d'un document affiché à l'écran, ladite surcharge active générant la chaîne de caractères (étape 303). Une telle sélection peut également résulter de l'exécution d'une commande initiale suite à l'ouverture d'un glossaire (étape 304), • et il est également possible pour l'utilisateur d'afficher à l'écran le glossaire et de sélectionner directement une chaîne de caractères qui constitue une clé dudit glossaire, dans une fenêtre d'édition du glossaire (étape 305). Les étapes 300 à 305 sont des alternatives (non limitatives) de sélection d'une chaîne de caractères. La sélection de la chaîne de
caractères provoque l'activation d'une fonction du système qui consiste à traiter la chaîne de caractères sélectionnée (étape 306). Schematiquement, cette fonction exécute les étapes suivantes :
. vérification (étape 307) du fait que la chaîne de caractères n'a pas encore été traitée, un indicateur du système lié à la chaîne de caractères étant crée lors du traitement de la chaîne de caractères. Ainsi, si le système ne détecte pas de tel indicateur, la fonction poursuit son traitement comme on va le voir. Si au contraire le système détecte un indicateur d'un traitement effectué sur la chaîne de caractères, la fonction de traitement se termine
(étape 308) en annulant l'indicateur en 309 en prévision de sélections ultérieures de la chaîne de caractères,
• dans le cas où aucun indicateur associé à la chaîne de caractères n'a été détecté, la fonction de traitement crée un tel indicateur en 310 (de sorte que si cet indicateur n'est pas annulé, lors d'un prochain traitement de la même chaîne de caractères la fonction de traitement se terminera en 308),
• après l'étape 310, la fonction de traitement analyse en 311 la chaîne de caractères. A cet effet, cette fonction met en œuvre des moyens tels que des moyens de découpage de la chaîne de caractères en "mots" et des moyens de reconnaissance syntaxique,
• à l'issue de cette analyse, lors d'une étape 312, si la chaîne de caractères est une commande du système telle qu'évoquée ci- dessus la fonction de traitement exécute en 313 cette commande et annule en 314 l'indicateur crée en 310. Si au contraire la chaîne de caractères ne correspond à aucune commande reconnue par le système, la fonction de traitement consulte en 315 les glossaires actifs (les modalités de cette consultation étant détaillées ci-
dessous) pour déterminer en 316 si la chaîne de caractères est une clé d'un glossaire actif,
• si la chaîne de caractères n'est pas une clé d'un glossaire, la fonction de traitement se termine en 317 en annulant en 318 l'indicateur généré en 310,
• si la chaîne de caractères est une clé d'un glossaire actif, la fonction de traitement génère en 319 la chaîne de caractères correspondant dans ce glossaire à ladite clé, ce qui constitue un moyen supplémentaire de sélectionner une chaîne de caractères pour activer une nouvelle fois en 306 la fonction de traitement avec la nouvelle chaîne de caractères générée en 319. On constate que lors d'une session de travail, plusieurs glossaires peuvent être actifs en même temps. Pour résoudre les problèmes de conflit qui pourraient survenir lors de l'étape 315 dans le cas où une même clé serait associée dans deux glossaires différents à deux commandes différentes, les deux glossaires étant actifs en même temps, un ordre de priorité par défaut est prévu : lorsqu'une chaîne de caractères est sélectionnée d'une des manières décrites ci-dessus, le système consulte, lors de cette étape 315, dans l'ordre : • le glossaire " de document " du fichier dont la fenêtre d'édition est sélectionnée,
• puis le glossaire de l'application liée au format du fichier édité, si celui-ci existe,
• enfin le glossaire personnel de l'utilisateur (glossaire des mots- clés Mots clés.@dy).
Dès que le système détecte une clé correspondant à la chaîne de caractères qui a été sélectionnée, la commande correspondante est exécutée et le système arrête de consulter les glossaires, et passe à l'étape 316.
Il est à noter que cet ordre de priorité peut être neutralisé par le choix d'une option dans laquelle le système présente à l'utilisateur l'ensemble des glossaires contenant une clé correspondant à une chaîne de caractères sélectionnés, l'utilisateur pouvant alors choisir le glossaire qu'il désire utiliser.
Il apparaît ainsi que les glossaires constituent des « filtres » qui permettent, lorsqu'ils sont actifs, de traduire une instruction « primaire » qui est la chaîne de caractères sélectionnée initialement (par l'utilisateur, ou automatiquement par le système) et qui est une clé d'un glossaire actif, en une instruction « secondaire », qui est la chaîne de caractères correspondant à l'instruction primaire dans le glossaire, et qui est fournie au système d'exploitation au lieu de l'instruction primaire.
On notera que dans le cas, qui correspond au mode préféré de réalisation de l'invention, où l'utilisateur sélectionne à l'écran la chaîne de caractères désirée dans le document affiché (étape 300), il est possible selon une variante préférée de l'intervention de mettre en évidence graphiquement les chaînes de caractères qui sont des clés d'un glossaire actif.
Dans ce cas, toutes les clés des glossaires actifs sont systématiquement mises en évidence graphiquement à l'intérieur de la fenêtre sélectionnée, dans laquelle l'utilisateur affiche un document A.extl susceptible de contenir de telles clés.
Cette mise en évidence peut se faire par une modification de la police de caractères et/ou de la couleur de ces caractères, de manière similaire par exemple à la mise en évidence des liens hypertexte dans de nombreuses applications existantes.
Et une mise en œuvre particulièrement avantageuse d'une telle mise en évidence graphique des clés des glossaires consiste à créer des liens hypertexte dans un document (la clé étant dans ce cas la chaîne de caractère qui permet de visualiser le lien hypertexte dans le document, et
qui permet également d'exécuter la commande correspondante du glossaire lorsque l'utilisateur clique sur cette clé).
Selon cette mise en œuvre, un utilisateur peut adapter les liens hypertexte du document en modifiant les glossaires actifs. Une clé correspondant à une chaîne de caractères d'un document peut ainsi être présente dans plusieurs glossaires différents, l'utilisateur pouvant choisir d'activer un de ces glossaires pour exécuter une commande correspondante désirée lorsqu'il clique sur le lien.
Il apparaît ainsi que l'invention permet à un utilisateur de personnaliser les liens hypertexte d'un document en fonction de ses besoins ; le système selon l'invention constitue ainsi un système « hypertexte inversé » qui est un progrès important par rapport au système connu des documents avec liens hypertexte classiques, qui imposent à tous les utilisateurs une version unique de chaque lien. On notera par ailleurs que l'utilisation des glossaires n'est pas limitée à la consultation de documents ; en effet, ces glossaires peuvent également être mis en œuvre (par exemple avec un système d'exploitation fonctionnant en mode texte - à l'instar de UNIX ou MS-DOS (marques déposées) ), pour « traduire » des instructions primaires entrées par l'utilisateur en instructions « secondaires » transmises au système d'exploitation.
Selon un autre aspect avantageux de l'invention qui peut être combiné avec les aspects précédents, le système selon l'invention permet également comme on va le voir maintenant de gérer de manière originale l'accès à des fichiers et documents différents.
. On a dit que le système permettait à l'utilisateur d'appeler des fichiers A.extl mémorisés dans des emplacements de mémoire Ei ; à cet effet le système est interface avec le système d'exploitation.
Selon ce troisième aspect de l'invention, lors de chaque session de travail pour laquelle un utilisateur se déclare sous un nom - u1 par exemple
- le système offre également à l'utilisateur la possibilité de définir au moins une liste ordonnée LOC1 d'adresses de mémoire (pouvant chacune correspondre à un emplacement de mémoire quelconque d'une configuration en réseau ou non, chaque emplacement pouvant être localisé sur un support physique quelconque connu en soi).
Cette liste LOC1 que l'on nommera " liste de localisation " constitue un fichier enregistré par le système dans l'emplacement Eutil, en association avec le nom d'utilisateur u1 sous lequel l'utilisateur est déclaré.
La liste est consultable et modifiable à tout moment par l'utilisateur (y compris pour changer l'ordre des adresses), en appelant la sous-fenêtre F2 qui est éditée à la connexion de l'utilisateur au système et qui contient les paramètres propres à la session et à l'utilisateur.
Un utilisateur peut sélectionner une liste de localisation désirée, ce qui provoquera l'enregistrement par le système de la nouvelle liste sélectionnée dans l'emplacement Eutil à la place de l'ancienne liste, et modifier sa liste de localisation sélectionnée (en ajoutant ou retirant des adresses, ou en modifiant leur ordre dans la liste).
Il peut également n'avoir sélectionné aucune liste de localisation. En tout état de cause, seule une liste de localisation peut être sélectionnée à la fois par un utilisateur.
Si une liste de localisation telle que LOC1 est sélectionnée par l'utilisateur, dans une variante préférée de mise en œuvre de l'invention, le système selon l'invention constitue automatiquement une liste ordonnée d'adresses dite « liste de recherche », dans laquelle l'adresse de Eu1 le dossier personnel de l'utilisateur est en tête de liste, suivie des adresses ordonnées de la liste de localisation sélectionnée.
Dans une autre variante de mise en œuvre de l'invention, le système peut constituer la liste de recherche simplement avec la liste de localisation, sans y adjoindre l'adresse de Eu1 en tête de liste.
Revenant à cette variante préférée, si maintenant aucune liste de localisation n'a été sélectionnée par l'utilisateur, la liste de recherche est constituée par défaut de la seule adresse du dossier personnel Eul
Dans le cas connu de la simple mise en œuvre d'un système d'exploitation, l'utilisateur voulant ouvrir un fichier A.extl doit spécifier l'adresse du fichier en précisant l'arborescence des répertoires menant à l'emplacement de mémorisation du fichier.
Dans le cas de la mise en œuvre du troisième aspect de l'invention au contraire, lorsque l'utilisateur appelle un fichier A.extl , il n'a pas à spécifier l'adresse de ce fichier.
Si toutefois il le fait, le système va de toute façon ignorer dans un premier temps cette adresse et va automatiquement consulter les adresses de la liste de recherche, dans leur ordre selon cette liste, pour chercher successivement dans chacun des emplacements correspondant à ces adresses respectives un fichier nommé A.extl (dans l'application la plus simple du troisième aspect de l'invention, c'est à dire en particulier sans le combiner avec des fichiers associés de type A.@ext1 ).
Dès que le système détecte un fichier A.extl correspondant à cette recherche, il l'ouvre et ne poursuit pas sa recherche ; c'est donc le document correspondant à ce fichier A.extl , localisé dans un des emplacements de mémoire désignés par les adresses de la liste de localisation, qui est affiché à l'écran).
Dans le cas où cette recherche est infructueuse, le système va en dernier ressort chercher dans l'adresse spécifiée par l'utilisateur lors de la commande d'ouverture de A.extl , si une telle adresse a été spécifiée.
Ainsi, en changeant de liste de localisation, l'utilisateur peut avoir accès à des fichiers différents en appelant le même nom de fichier. Ceci constitue un moyen de « localisation dynamique » de fichiers souple et avantageux.
Et cette caractéristique est en outre avantageusement applicable en combinaison avec les autres aspects de l'invention décrits plus haut ; on va décrire ci-dessous les modalités d'une telle combinaison (en présentant des possibilités qui sont évidemment applicables dans le cas de l'application la plus simple du troisième aspect tel que décrit ci-dessus).
Plus précisément, la figure 5 représente les étapes mises en œuvre lorsqu'un utilisateur appelle un fichier, qu'il soit original (de type A.extl ) ou associé (de type A.@ext1).
Sur cette figure, on a ainsi représenté en 501 et 502 ces deux premières manières possibles pour appeler un fichier.
Si l'utilisateur appelle un fichier original A.extl en 501 , le système constitue automatiquement une requête pour que le système d'exploitation recherche un fichier associé A.@ext1 , ce qui est équivalent à l'étape 502 dans laquelle c'est l'utilisateur qui formule directement une telle requête. Un fichier ayant ainsi été appelé en 501 ou en 502 par l'utilisateur, le système cherche, successivement dans les différents emplacements de mémoire désignés par les adresses de la liste de recherche, le fichier associé A. @ext1 (étape 503).
Dès qu'un tel fichier A.@ext1 est localisé dans un des emplacements de mémoire de la liste de recherche, le système lit en 504 le nom du fichier original associé à A.@ext1 et son titre dans le descriptif de A.@ext1 (ce titre pouvant être comme on l'a dit modifié par l'utilisateur). Si ce titre est différent du nom du fichier, le système le mémorise (toujours en 504).
Si aucun fichier A.@ext1 n'a été trouvé dans les emplacements désignés par la liste de recherche (ni en dernier ressort dans un emplacement désigné par une éventuelle adresse fournie par l'utilisateur lors de sa commande d'ouverture en 501 ou 502), le système considère automatiquement que le fichier original associé à A.@ext1 a pour nom A.extl ; cette identification du nom fichier original à partir du nom du fichier associé a lieu en 505.
Après l'étape 504 ou 505, le système dispose donc d'un nom de fichier original et cherche en 506 dans les emplacements de la liste de recherche ce fichier original. S'il ne le trouve pas, le système stoppe sa recherche en 507 et la demande de l'utilisateur n'aboutit pas. Si au contraire le fichier original recherché (A.extl ou autre) a été trouvé en 506, le système procède en 508 à :
• l'ouverture de ce fichier original trouvé,
• la lecture du titre associé à ce fichier original trouvé dans le descriptif, et si ce titre est différent du nom du fichier, à la mémorisation du titre lu,
• l'affichage à l'écran du document correspondant au fichier original trouvé,
• l'affichage à l'écran du document correspondant au fichier associé A.@ext1 superposé sur le document correspondant au fichier original, si un tel fichier associé a été trouvé en 503.
Après avoir réalisé ces opérations, le système met à jour en 509 deux "listes historiques" qui sont des fichiers similaires à des glossaires, une liste étant relative à la session de travail en cours et l'autre étant permanente et mise à jour lors de chaque session du même utilisateur. Ces listes historiques contiennent un ensemble de couples (titre, nom de fichier), le système commandant l'ouverture d'un fichier associé à un titre lors de l'appel dudit titre.
Pour cette mise à jour, le système renseigne le champ "titre" par le premier titre lu et mémorisé en 504 ou 508 et différent des noms de fichier dans le descriptif duquel il est intégré ou, sinon, le nom du fichier original identifié en 506.
Les listes historiques permettent à l'utilisateur d'appeler des fichiers d'une troisième manière, différente des étapes 501 et 502 : l'utilisateur peut en effet simplement saisir un titre en 510, le système déterminant ensuite en 511 si ce titre appartient à une liste historique ou non.
Si le titre appartient à une liste historique, le système appelle en 501 ou 502 le fichier (original ou associé) qui est associé au titre dans ladite liste. Sinon, la demande de l'utilisateur n'aboutit pas (étape 507 de fin).
On comprend qu'en modifiant sa liste de localisation LOC1 , l'utilisateur a la possibilité de modifier la liste de recherche de manière à, en appelant simplement un nom de fichier ou un titre, ouvrir en réalité différents fichiers.
Il est également possible d'activer une option « tous documents » dans laquelle le système n'arrête pas sa recherche lorsqu'il a localisé lors de l'étape 503 un fichier associé dans un des emplacements correspondant à une adresse de la liste de recherche.
Dans ce cas en effet, le système poursuit sa recherche en balayant toutes les adresses de la liste de recherche, et ouvre à l'écran le fichier original A.extl appelé, ainsi que l'ensemble des fichiers associés nommés A.@ext1 qui ont pu être localisés dans les différents emplacements correspondant à une adresse de la liste de recherche, ces fichiers associés étant alors tous superposés à l'écran sur le fichier original:
Plus précisément et en référence à la figure 6, après appel en 601 d'un fichier original ou associé, par l'intermédiaire d'une commande correspondant aux étapes 501 , 502 ou 510 décrites en référence à la figure 5, le système balaye en 602 - correspondant à l'étape 503 de la figure 5 - la totalité des emplacements de la liste de recherche, pour constituer en 603 un ensemble constitué de tous les couples (fichier associé trouvé ; fichier original correspondant). En 604, le système détermine si tous les fichiers originaux des couples de cet ensemble sont en fait un seul et même fichier original.
Si c'est le cas, le système affiche à l'écran le document correspondant audit fichier original, avec l'ensemble des documents correspondant aux fichiers associés en superposition (étape 605).
Il est également possible dans une option que le système propose à l'utilisateur un menu déroulant permettant de sélectionner les fichiers associés dont il souhaite afficher les documents correspondant à l'écran, en superposition (étape 606). Si maintenant les couples de l'ensemble constitué en 603 comprennent des fichiers originaux différents, le système propose en 607 à l'utilisateur de sélectionner un fichier original et affiche le document correspondant avec ses documents associés.
On comprend donc qu'en changeant de liste de localisation (et/ou de dossier personnel), un utilisateur va ouvrir des fichiers différents en exécutant une même commande d'ouverture d'un fichier A.extl .
Il est également possible de sauvegarder en des emplacements de mémoire désirés des listes de localisation LOC1, LOC2... différentes, correspondant à des listes d'emplacements de mémoire contenant des fichiers différents. En tout état de cause, comme on l'a dit seule une liste de localisation est active à la fois pendant une session de travail.
Si on envisage par exemple le cas d'étudiants et d'un professeur connectés en réseau et travaillant sur un projet, le professeur peut demander à ses différents étudiants de travailler sur un même fichier original X.htm contenant l'énoncé d'un problème et les données nécessaires à sa résolution.
Pour répondre aux questions, chaque étudiant ouvre le document correspondant au fichier original X.htm et crée un fichier de surcharges
X.@htm qu'il mémorise dans un emplacement de mémoire qui lui est propre pour enregistrer ses réponses (qui peut être le dossier personnel de l'étudiant).
Chaque étudiant crée ainsi un fichier X.@htm différent, qui peut comporter des surcharges associées ou non à des commandes, pouvant appeler différents fichiers (y compris des pages Internet), le professeur pouvant appeler chacun de ces fichiers associés en sélectionnant une liste
de localisation dans laquelle l'emplacement de mémoire de l'étudiant est en tête de liste.
Dans ce cas, lorsque le professeur appelle le fichier X.htm, le système superpose au document correspondant au fichier original comportant l'énoncé, le document correspondant au fichier associé de réponses de l'étudiant choisi.
Le professeur peut également activer l'option "tous documents" décrite ci-dessus et choisir une liste de localisation dans laquelle figurent les adresses des emplacements de mémoire respectifs dans lesquels les différents étudiants enregistrent leurs réponses.
Dans ce cas, en appelant le fichier X.htm, le professeur récupère à l'écran la superposition de tous les fichiers réponse sur le fichier original de questions ; il peut également sélectionner un emplacement de mémoire dédié à un étudiant dans une liste telle qu'évoquée pour l'étape 606 en référence à la figure 6, pour visualiser les réponses de cet étudiant.
Il apparaît ainsi que l'utilisateur peut diriger le système d'exploitation avec lequel le système selon l'invention est interface pour, à l'aide d'une même commande simple d'ouverture de fichier, accéder à différents fichiers désirés. Ainsi, selon le contexte dans lequel se trouve l'utilisateur, il pourra accéder à des fichiers différents en exécutant les mêmes commandes d'ouverture de fichier, seule la liste de localisation désirée devant être actualisée par l'utilisateur.
Il pourra également le faire en définissant une commande qui paramètre automatiquement une liste de localisation LOC1 donnée comme étant la liste de localisation active, en fonction d'un environnement de travail désiré.
On peut par exemple penser à l'exemple d'un intervenant préparant dans une base de préparation une mission sur le terrain, et utilisant pour cela une liste de localisation qui permet d'accéder à un premier ensemble
de fichiers en exécutant une série donnée de commandes d'ouverture de fichier (ladite série pouvant être décrite dans une procédure).
Une fois sur le terrain, l'utilisateur aura besoin de traiter les mêmes thèmes que lors de la préparation, mais il aura besoin d'informations différentes auxquelles il accédera en changeant sa liste de localisation active de sorte que l'exécution de la série de commande de la même procédure provoquera l'accès à des fichiers différents.
Et il est également possible selon l'invention que ce ne soit pas le nom du fichier, ni le nom d'un fichier associé, qui constitue la « clé » permettant d'ouvrir un fichier d'une liste de recherche (c'est à dire le paramètre associé au fichier et par lequel l'utilisateur appelle le fichier, sans obligatoirement préciser son adresse).
Il est en effet possible de mettre en œuvre ce troisième aspect de l'invention en utilisant tout autre paramètre associé à un fichier (tel qu'un des paramètres du descriptif du fichier évoqués ci-dessus lors de la présentation du contenu du descriptif), ou même un autre paramètre que l'on peut associer au fichier dans le système (nom du créateur ou du dernier utilisateur ayant modifié le fichier, date caractéristique, type désigné par l'extension, ... ). Un utilisateur U1 déclaré sous le nom u1 peut également constituer, avec d'autres utilisateurs déclarés sous des noms ui ou même à lui seul, un
" groupe " G auquel est associé un emplacement EG de la mémoire 10
(représenté sur la figure 4).
La déclaration d'un groupe est une opération analogue à la déclaration d'un nom d'utilisateur, qui nécessite de choisir un emplacement
EG ou « dossier de groupe » correspondant à un emplacement de mémorisation des données propres au groupe, EG étant pour le groupe l'équivalent du dossier personnel de l'utilisateur.
Un groupe est une entité reconnue par le système, de la même manière qu'un utilisateur, le groupe constituant un niveau supérieur de
rattachement de plusieurs utilisateurs. Et il est possible d'associer à un groupe une liste de localisation, comme pour un utilisateur, et de modifier la liste de localisation du groupe ou d'en changer.
Lors de l'ouverture d'une session de travail et de l'édition de la sous- fenêtre F2, le système offre à l'utilisateur la possibilité de créer un groupe et de définir un emplacement de mémoire EG associé, l'utilisateur pouvant se rattacher ou non à ce groupe pour la session de travail.
De la même manière que les noms d'utilisateurs sont mémorisés de manière permanente entre deux sessions de travail, les noms de groupe et les adresses associées demeurent dans la mémoire 10 (l'utilisateur ayant la possibilité de modifier les adresses des groupes ou de supprimer des groupes).
Lorsque l'utilisateur u1 est rattaché à un groupe G, le système mémorise dans l'emplacement Eu1 l'adresse de l'emplacement EG associé au groupe et constitue la liste de recherche de l'utilisateur en faisant suivre l'adresse du dossier personnel de l'utilisateur par les adresses de la liste de recherche du groupe, incluant la liste de localisation associée au groupe si celui-ci en a une. Plusieurs utilisateurs différents peuvent se rattacher à un même groupe. En réponse à une commande d'ouverture d'un fichier A.extl par u1 , le système recherche un fichier associé A.@ext1 dans la liste de recherche composée de l'adresse du dossier personnel Eu1 de l'utilisateur suivie de la liste de recherche du groupe.
Dans ce cas, le système fonctionne à la fois au niveau de l'utilisateur et au niveau du groupe, en affichant à l'écran la superposition :
• des documents correspondant au fichier original A.extl ,
• et des documents correspondant aux fichiers associés A.@ext1 trouvés dans Eu1 et dans les emplacements de la liste de recherche du groupe.
Ainsi, l'utilisateur u1 visualise ses surcharges propres, avec celles qui sont associées au niveau du groupe.
Mais si l'utilisateur u1 apporte alors de nouvelles surcharges, les surcharges seront enregistrées uniquement dans le fichier associé A.@ext1 de Eu1 le dossier personnel de ul Les éventuels fichiers A.@ext1 associés à A.extl et enregistrés dans EG et/ou dans la liste de localisation du groupe ne sont pas modifiés.
Les surcharges apportées par l'utilisateur à A.extl lui sont dans ce cas propres et ne sont pas partagées avec les autres utilisateurs rattachés au même groupe, car un autre utilisateur u2 rattaché au même groupe G ne visualisera pas le contenu du fichier A.@ext1 enregistré dans le dossier personnel de ul
Si un autre utilisateur u2 rattaché au même groupe G appelle A.extl , il visualisera les surcharges apportées au niveau du groupe (mémorisées dans EG), ainsi que les éventuelles surcharges supplémentaires associées au groupe (désignées par la liste de localisation du groupe), mais pas celles apportées spécifiquement par u1 déclaré en tant que simple utilisateur.
Et u2 pourra par ailleurs apporter ses propres surcharges qui ne seront visibles que de lui seul, en ouvrant A.extl alors qu'il est déclaré comme u2 dont le dossier personnel est celui de u2 et non celui du groupe.
Chaque utilisateur a ainsi la possibilité d'ajouter ses surcharges personnelles à des surcharges apportées au niveau du groupe, les surcharges personnelles n'étant visibles que de cet utilisateur. Le système offre également à l'utilisateur la possibilité de se déclarer pour une session de travail non pas simplement en tant qu'utilisateur (ul..), mais en tant que « gestionnaire de groupe » (par un champ modifiable de la sous-fenêtre F2, qui permet à l'utilisateur de déclarer comme son " dossier personnel " l'emplacement EG qui correspond au groupe).
Dans ce cas, la liste de recherche de l'utilisateur est assimilée à celle du groupe, à savoir l'adresse de EG l'emplacement de mémorisation du groupe suivie des éventuelles adresses ordonnées de la liste de localisation associée au groupe. Et l'utilisateur déclaré en tant que gestionnaire du groupe « est » le groupe, c'est à dire qu'il peut modifier la liste de localisation associée au groupe, ou changer de liste de localisation pour le groupe entier. L'accès d'un utilisateur au niveau « gestionnaire de groupe » peut être protégé par un mot de passe spécifique. Si le même utilisateur u1 déclare maintenant que son dossier personnel est EG, se plaçant ainsi au niveau du gestionnaire de groupe, l'exécution d'une commande d'ouverture de A.extl entrée par l'utilisateur fera apparaître à l'écran la superposition du document original A.extl et des surcharges correspondant au fichier associé A. @extl présent dans EG (et éventuellement au(x) fichier(s) associé(s) d'une liste de localisation du groupe), les surcharges enregistrées dans Eu1 n'apparaissant pas.
Par contre, à ce niveau les surcharges apportées par l'utilisateur seront enregistrées dans le fichier A.@ext1 mémorisé dans EG, et apparaîtront pour tous les autres utilisateurs appelant A.extl dès lors qu'ils sont déclarés comme rattachés au groupe G pour leur session de travail.
Il est ainsi possible de modifier à deux niveaux différents les surcharges apportées à un fichier, les surcharges apportées au niveau du groupe (c'est à dire par un utilisateur déclaré en tant que gestionnaire de groupe) pouvant être visualisées par l'ensemble des utilisateurs rattachés au groupe.
Et chaque utilisateur a par ailleurs la possibilité d'apporter en plus au fichier ses propres surcharges, qui ne seront visibles que de lui seul.
L'utilisateur peut également choisir de ne sélectionner aucun groupe de rattachement pour sa session de travail, il sera alors déclaré simplement en tant qu'utilisateur (il peut également ouvrir simultanément différentes
sessions, certaines sous des noms d'utilisateur, d'autres en tant que gestionnaire d'un groupe). L'utilisateur a comme on l'a dit aussi la possibilité de modifier la liste des groupes auxquels il est rattaché.
Si l'utilisateur est déclaré sous le nom u1 sans avoir sélectionné de groupe de rattachement, son dossier personnel est Eu1 qui est celui de ul Par conséquent, lorsque l'utilisateur appelle alors un fichier A.extl le système cherche dans la liste de recherche constituée de l'adresse du dossier personnel Eu1 suivie, le cas échéant, d'une liste de localisation d'utilisateur sélectionnée par u1 , un fichier associé A.@ext1. On comprend ainsi que le système permet de traiter les fichiers à deux niveaux (niveau utilisateur et niveau gestionnaire de groupe), chaque niveau correspondant à un type d'entité (utilisateur pour le niveau utilisateur, groupe pour le niveau groupe).
De la même manière, le système permet de créer à volonté d'autres niveaux, qui peuvent constituer ainsi une arborescence à niveaux multiples.
Par exemple, dans un mode de réalisation du système selon l'invention, quatre niveaux sont ainsi prévus par défaut, avec en partant du niveau le plus général et en allant vers le niveau le plus détaillé :
• un niveau 4 « application » qui est le niveau auquel un ensemble de fichiers utilisés sont modifiés. Ce niveau ne comprend qu'une entité,
• un niveau 3 « mise à jour » pouvant rassembler les différentes versions de mise à jour de cet ensemble de fichiers. Dans ce cas, une entité donnée du niveau 3 correspond à la mise à jour à une date donnée de l'ensemble de fichiers et toutes ces entités sont rattachées au niveau précédent,
• un niveau 2 « groupe », chaque groupe pouvant rassembler plusieurs utilisateurs, et être rattaché lui-même à toutes les entités du niveau « mise à jour », ou à certaines seulement contenant les versions intéressant le groupe, • un niveau 1 « utilisateur ».
Dans l'exemple d'architecture ci-dessus, lorsqu'un utilisateur est déclaré au niveau utilisateur (niveau 1 ) et qu'il appelle un fichier A.extl , la liste de recherche de l'utilisateur est constituée de l'adresse du dossier personnel de l'utilisateur, suivie de la liste de recherche du niveau 2, puis de la liste de recherche du niveau 3, et enfin de celle du niveau 4.
Le système superposera donc à l'écran les fichiers associés A.@ext1 des niveaux 1 à 4 au fichier original, de sorte que l'utilisateur visualisera l'ensemble des surcharges apportées aux niveaux supérieurs au sien (tout en ne pouvant apporter de surcharges qu'à son niveau, ces surcharges n'étant pas visibles par exemple pour les autres utilisateurs rattachés au même groupe, ou pour les autres groupes rattachés à la même mise à jour).
De la même manière, un gestionnaire de groupe visualisera les surcharges apportées aux niveaux 2, 3 et 4. II est également possible de définir pour un utilisateur un « niveau minimum » afin de ne visualiser que les surcharges apportées à des niveaux généraux. Dans l'exemple ci-dessus d'architecture à quatre niveaux, un utilisateur u1 déclaré dans le système en tant qu'utilisateur peut ainsi déclarer dans le système comme niveau minimum le niveau 3 (« mises à jour »).
Dans ce cas, lorsque l'utilisateur appelle un fichier A.extl , le système ne superpose au document original que les documents associés des niveaux 3 et 4, de sorte que l'utilisateur ne visualisera que les surcharges apportées à ces niveaux, et pas les surcharges apportées au niveau du groupe et de l'utilisateur lui-même.