Nuvola apps important.png Attention, suite à une faille de sécurité, les liens vers les serveurs d'exploration sont désactivés.

-

H2PTM (1989) Biezunski

De H2PTM
(Redirigé depuis H2PTM (1989) Bienzunski)

Programmer du texte


 
 

 
Titre
Programmer du texte
Auteurs
Michel Biezunski (France).
Affiliations
Enseignant-chercheur
Communication scientifique et industrielle
Université de Technologie de Compiègne à Sévenans
Dans
actes du colloque H2PTM 1989 Paris
publié dans H²PTM89 : Communication interactive, (Île-de-France, France)Paris, 1990
Mots-clés 
Navigation; Document électronique; Informatisation; Logiciel; Balisage.

Introduction

La « programmation de texte » est une expression paradoxale, vue du point de vue de l'informatique traditionnelle. Mais le paradoxe n'est que la survivance d'une période révolue : à l'heure des bases de données relationnelles et de la programmation orientée objet, le texte est un objet programmable, soit considéré dans sa globalité comme objet, soit au contraire considéré du point de vue de sa structure intrinsèque. C'est ce deuxième aspect qui sera étudié ici, car la conception d'un hypertexte amène à envisager le texte comme un ensemble d'éléments structurés, en arbres et en réseaux, sur lesquels sont greffés des liens qui autorisent la navigation.

Le texte préfigure l'hypertexte. Comme la peinture a préfiguré la photographie, comme la photographie a préfiguré le cinéma, comme le codex a préfiguré le livre. Certains ouvrages - une encyclopédie en plusieurs volumes, une documentation technique, etc... - sont structurés comme des hypertextes. Ce qu'introduisent les hypertextes conçus en tant que tels, avec un appareillage logiciel, est la possibilité d'une « navigation assistée par ordinateur » . Les documents papier et les documents électroniques sont cependant conçus de façon différente, et le passage des uns aux autres peut poser des problèmes d'ajustement délicats, que l'on sait cependant de mieux en mieux traiter. C'est précisément sur ce point que l'on a besoin d'outils de programmation textuelle, qui permettent d'effectuer de manière partiellement automatique cette transition.

Depuis que la nécessité de produire des textes à l'échelle industrielle - grosses bases de données, documentation technique, par exemple - a imposé l'informatisation de la gestion textuelle, on s'aperçoit que, contrairement aux présupposés qui ont longtemps eu cours, le texte n'est pas un ensemble de signes disposés linéairement sans structure, s'opposant en cela aux « fichiers » bien structurés. Une analyse de ce qu'est un texte destiné à être publié, révèle au contraire de fortes caractéristiques structurelles, parfois mises en lumière par la typographie, mais pas obligatoirement. Nous vivons ainsi une période comparable à celle qui a suivi l'invention de l'imprimerie : on sait en effet que l'utilisation des caractères mobiles a imposé des usages nouveaux à l'écriture : séparation des lettres (par abandon progressif des ligatures), blanc entre les mots et signes de ponctuation, folios indiquant les numéros de page, etc... Ce sont là autant de séparateurs qui définissent des structures : ainsi le mot, la phrase, le paragraphe, la page, qui apparaissent dans les livres sont des sous-produits de l'imprimerie. Puis vinrent les tables de matières, index et notes infrapaginales. On pourrait étendre cette remarque à de nombreux signes mathématiques, qui ont été élaborés en rupture avec les pratiques de l'écriture scientifique. Ainsi l'utilisation des parenthèses pour opérer des regroupements d'expressions a été imposée par les typographes, en remplacement d'un surlignage de l'expression, difficilement manipulable par la technologie des caractères mobiles en plomb. Mais ce trait de surlignement a survécu par exemple dans les racines carrées, prouvant que les traditions qui finissent par s'imposer résultent de compromis entre intérêts contradictoires.

La manipulation des données textuelles

Il existe un certain nombre d'outils spécialisés pour manipuler les données textuelles. Vincent Quint[1] les sépare en quatre catégories : les éditeurs et traitements de texte d'abord, puis les programmes de formatage, les éditeurs syntaxiques, et les outils spécialisés. Les éditeurs sont des logiciels permettant une saisie rudimentaire de texte, les traitements de texte y ajoutent des attributs typographiques, les programmes de formatage effectuent des opérations de compilation du texte comme la numérotation automatique, tables des matières et index, etc... Les éditeurs syntaxiques, eux, sont des systèmes interactifs capables de guider l'utilisateur dans la construction d'un logiciel. Enfin, les outils spécialisés sont en même temps des programmes d'édition et de formatage. Ils permettent notamment l'intégration de formules mathématiques, de tableaux, d'éléments graphiques, etc...

La classification proposée par V. Quint repose sur sa constatation que les systèmes de traitement de texte sont limités dans leurs fonctionnalités. En particulier il leur reproche leur incapacité à gérer un certain niveau de complexité : dès qu'il s'agit de numéroter à la suite des chapitres, des sections, des figures, écrit-il, de fabriquer des tables des matières, de figures, ou des références croisées, d'assurer une certaine uniformité de la présentation, l'utilisateur est livré à lui-même. Cette observation a été vraie jusqu'à une période récente, mais il semble que la nouvelle génération des logiciels de traitement de texte dispose de fonctionnalités permettant précisément de répondre à ce type d’exigences. Nous tenterons ici de montrer quelles sont les tendances actuelles de cette évolution, qui se situe dans un contexte de redéfinition permanente des frontières et des classifications entre différentes familles logicielles. L'étendue du parc de systèmes installés crée de nouvelles pratiques, de nouvelles familiarités, et les utilisateurs avancés de systèmes largement diffusés ont à leur disposition des potentialités jusque là réservées aux professionnels. Par exemple, les logiciels dédiés de photocomposition ont cédé la place aux logiciels de publication assistée par ordinateur disponibles sur micro-ordinateurs, et les professionnels ont été forcés de s'adapter à cette nouvelle donne, qui a entièrement bouleversé les professions implantées et les niveaux de technicité requis à chaque étape du processus de fabrication. L'hypothèse sous-tendue ici est qu'il vaut la peine de s'intéresser aux fonctions nouvelles désormais accessibles sur les logiciels standard, condition pour prévoir les évolutions futures.

On s'intéressera ici à trois types de logiciels définis non pas fonctionnellement, mais empiriquement, par la façon dont ils se présentent sur le marché: d'abord les programmes dits de publication assistée par ordinateur, puis ceux de traitement de texte, et enfin les éditeurs de documents structurés.

La publication assistée par ordinateur

Les logiciels de publication assistée par ordinateur, traduction approximative du terme anglais « desktop publishing » qui signifie plus justement « édition sur son bureau », sont orientés en priorité vers la sortie imprimée. Ils permettent une mise en page directe, interactive, ils restituent en quelque sorte sur ordinateur le foisonnement typographique qui était celui des manuscrits enluminés, avec un mélange de textes et d'illustrations ; certains d'entre eux vont jusqu'à la sélection des couleurs pour des épreuves de quadrichromies. La publication assistée par ordinateur rend accessible à tous l'activité qui était réservée jusqu'à un passé récent aux maquettistes des ateliers de composition et de mise en page. La typographie y occupe une place prépondérante, et le travail porte le plus souvent sur l'esthétique de la page.

WYSIWYG

La qualité de l'interface utilisateur est un critère décisif dans ce domaine. L'exigence principale est de savoir si ces logiciels se conforment au principe « WYSIWYG » (What you see is what you get). Il s'agit là d'une nécessité impérative pour les cas considérés jusqu'ici de mise en page directe, interactive. Mais l'édition électronique, dans sa généralité, n'est pas réductible à ce seul souci. Pourquoi imposer à la présentation écran d'imiter la présentation papier, alors qu'à ce jeu l'écran est toujours perdant ? Il risque en tous cas de l'être longtemps parce que la résolution d'une image sur papier est pour un certain temps encore spectaculairement supérieure à celle de la visualisation vidéo et qu'une image coûte à l'heure actuelle très cher en stockage; l'illusion est possible, pour des images quadri - et encore, cela demande à être confirmé par les professionnels de la photogravure - mais elle reste aujourd'hui notoirement insuffisante pour les caractères typographiques, surtout s'ils sont affichés en de petits corps. Ceci dit, les améliorations de la résolution vidéo sont à prévoir dans les années qui s'ouvrent. Les écrans capables d'afficher les fontes paramétrables Postscript ou autres, devraient inonder prochainement le marché. Leur succès probable est à la mesure de la frustration que ressentent les utilisateurs d'outils informatiques, de plus en plus exigeants à mesure que leur nombre s'accroît. Preuve supplémentaire, s'il en fallait, de la persistance du papier comme support essentiel de la communication écrite. Mais on peut utiliser un ordinateur pour autre chose que simplement pour constituer séquentiellement une base d'informations, regroupées par page, comme dans un livre. D'une certaine façon, pour reprendre le parallèle avec les premiers livres imprimés, le WYSIWYG est au texte électronique ce qu'étaient les caractères gothiques ou les lettres ligaturées à l'imprimerie - conçues pour reproduire le plus fidèlement possible les anciens supports. Ce que l'on voit est ce que l'on obtient (WYSIWYG), mais l'on n'obtient que ce que l'on mérite [2] ! À quand l'ère du WYSIWYW (What you see is what you want) ? Les livres produits par les copistes ne comportaient ni table des matières ni index. Peut-on concevoir aujourd'hui un livre savant sans index ? Un Cd-Rom sans hypertexte ?

Les feuilles de style

Le type d'approche présenté ici correspond seulement à un type de logiciels, ceux que l'on peut qualifier de programmes de mise en page « interactive » (en anglais, Layout Driven Pagination). Or il existe une autre approche qui est celle de la mise en page « automatique » (Content Driven Pagination)[3]. Là intervient la notion de « feuille de style » qui peut être définie comme une étape supérieure dans la modélisation du document : on définit un certain nombre de styles qui diffèrent par leurs attributs typographiques, et on applique ces styles à des zones du texte. La mise en pages se réorganise en fonction des styles appliqués. Il suffit de modifier la définition d'un style pour que toutes les zones du texte sur lesquelles il s'applique soient automatiquement modifiées. Ainsi, des liens « invisibles » sont établis entre différentes parties du texte rendues solidaires par le style qu'elles partagent, mais qui sont comparables aux liens existant entre les cellules d'une feuille de calcul. Les feuilles de style sont au texte ce que les formules de calcul sont à un tableau de chiffres. Les « feuilles de style » représentent un passage en douceur entre les deux approches - interactive et structurée -. Elles sont à la fois un moyen d'interagir avec le texte du point de vue visuel et de lui conférer une structure. On distinguera l'« attribut » , qui affecte une partie d'un texte et dont la valeur n'est que typographique - l'italique, par exemple - et le « style », qui porte sur certains éléments déterminés d'un document et qui peut être modifié après coup. Le style nous intéresse ici en tant qu'il constitue l'ensemble des occurrences de l'italique par exemple, ou d'une police de caractères différente de la police courante. Affecter des styles à un texte est une façon de le structurer, de la même façon qu'un manuscrit peut être structuré — on dit « préparé » — par l'action d'attribuer à certains de ces éléments une valeur typographique particulière que l'on représente traditionnellement par un codage en couleurs, l'ensemble des équivalents constituant le « protocole » du texte à composer. Le passage par la fonction « style » constitue une étape de modélisation qui n'existe pas lorsqu'on affecte directement un attribut typographique à une partie du texte. En ce sens, le « style » tisse des liens entre éléments - équivalant souvent à donner à ces morceaux de texte la même valeur sur l'arbre hiérarchisé qui en décrit la structure : niveau de titres, par exemple.

Les traitements de texte

Les feuilles de style sont des caractéristiques non pas seulement des logiciels dits de publication assistée par ordinateur, mais aussi des logiciels dits de traitement de texte. Leur évolution permet de les envisager comme outils de programmation du texte. En se sophistiquant, ces logiciels, qui jusqu'ici étaient surtout des outils d'aide à la saisie, une « dactylographie assistée par ordinateur » en quelque sorte, commencent à se doter de fonctions qui les rapprochent à la fois des outils de publication assistée par ordinateur et de ceux d'édition structurée dont il sera question plus loin. L'évolution à laquelle on assiste aujourd'hui est la possibilité d'envisager un véritable « traitement du texte ». On rappellera à ce sujet qu'en anglais on les appelle « traitements de mots » (word processing). Les fonctions élaborées de ces logiciels sont importantes parce qu'ils sont extrêmement diffusés. Et on voit apparaître, au fur et à mesure des nouvelles versions, des modules qui leur sont intégrés et qui annoncent un bouleversement de la façon dont on travaille le texte.

Frontière mouvante entre PAO et traitement de texte

Avant de développer ce point, il faut signaler que les logiciels de traitement de texte se dotent eux aussi de fonctions de mise en page qui rivalisent parfois avec les logiciels de publication assistée, au point que la différence entre les deux familles commence à s estomper. Les traitements de texte possèdent d'ores et déjà une grande richesse de formats de présentation: les cadres, filets, le multicolonnage, l'insertion de graphiques, de fonds tramés, la composition de tableaux, les fonctions micro-typographiques, ne sont plus désormais l'apanage des seuls logiciels strictement PAO. Et on voit apparaître dans ces derniers, de façon symétrique, des fonctions jusque là réservées aux seuls traitements de texte: recherche-remplacement ou multiples possibilités de correction, par exemple.

La programmation textuelle

Les possibilités de programmation textuelle dans les logiciels de traitement de texte récents se développent. La programmation du texte a une double nature: elle peut être procédurale, exactement comme dans un langage informatique classique: un certain nombre d'instructions existent et peuvent être écrites dans un programme, appelée « macro-instruction » , puis exécutées. Elle peut être également déclarative, autrement dit les instructions de programmation consistent en des codes dispersés dans un texte, qui déclenchent l'action correspondante au moment où le texte est « compilé » , ou « fusionné » Ces deux approches coexistent dans la version la plus récente d'un logiciel considéré pratiquement comme un standard en matière de traitement de texte : WordPerfect[4]. La programmation dans un texte consiste en la possibilité de gérer automatiquement des éléments du texte. Toutes les fonctions liées à la saisie, bien entendu, sont importantes pour un logiciel de traitement de texte, parfois déterminantes dans le choix d'un produit, mais ne nous intéressent pas ici. En revanche, une instruction comme la recherche-remplacement est une procédure de traitement automatique. L'utilisateur indique la chaîne de caractères qu'il souhaite chercher, celle qui doit la remplacer, en précisant certaines caractéristiques de la procédure: sens de la recherche, sensibilité à la casse (majuscules/minuscules), etc. On a là une possibilité de traitement qui peut affecter l'ensemble du document Tous les logiciels de traitement de texte intègrent cette fonctionnalité, que l'on considère aujourd'hui comme une nécessité indispensable. Les feuilles de style, on l'a vu, permettent de transformer complètement la présentation d'un texte - en le rendant par exemple compatible avec un certain système de sortie - simplement en modifiant les styles qui y sont inclus. Le logiciel de traitement de texte choisi ici comprend trois sortes de styles: les styles ouverts qui prennent effet à partir de l’activation du style, les styles fermés qui s appliquent entre le délimiteur de début et le délimiteur de fin de style, et enfin les styles de type « titres » , qui affectent à chaque niveau hiérarchique d'un plan un style particulier. Les styles de type titre sont en réalité formés de l'agrégation de huit styles, chacun correspondant à un niveau hiérarchique dans le plan. En outre, le style n'est pas composé que de purs attributs typographiques. Il peut inclure du texte.

Macro-instructions

Les « macro-instructions » ou « macros » correspondent à la possibilité de stocker un enchaînement de commandes - ou de textes. Dans leur forme la moins élaborée, les macros sont des séquences de touches enregistrées, qui visent à alléger les actions répétitives et résultent en de précieux gains de temps tout en personnalisant l'image du logiciel. Mais ces macros que l'on peut qualifier de « raccourcis » ou de « glossaires » n'ont pas d'autre intérêt que d'automatiser la frappe de certaines touches. Elles constituent donc un outil de saisie paramétrée et non pas de traitement ou d'analyse. Elles sont à distinguer des macro-instructions de programmation qui s'écrivent, elles, dans un véritable langage, dit « langage de programmation macro » (LPM), constitué, comme les autres langages procéduraux, d'un programme principal, de sous-programmes de structures telles que des boucles qui permettent la prise de décision en fonction de l'environnement, le contrôle du flux d'exécution (interruption, redirection, enchaînement, imbrication), le traitement des conditions extérieures (annulation, erreur), une interaction sophistiquée avec l'utilisateur (attente d'un caractère ou d'une chaîne, puis test), l’affichage écran.

Le LPM est constitué de soixante-six instructions et utilise des variables en nombre illimité, qui ne dépend que de la mémoire disponible. Les assignations de variables peuvent avoir lieu directement en programmation, soit moyennant une interaction avec l'utilisateur. Certaines instructions permettent de stocker la touche tapée par l'utilisateur dans une variable, une autre affecte une chaîne de caractères à une variable, une autre permet de définir un bloc dans le texte puis de l'assigner à une variable. Le contrôle de l'exécution a lieu moyennant des possibilités d'affichage de messages en superposition sur le texte, en réglant la vitesse de déroulement de la macro, l'arràt éventuel pour affichage d'un message, l'insertion d'un signal sonore; le déroulement et la prise de décisions se font en posant des labels dans le programme, ce qui permet de définir des procédures (sous-programmes) ou des boucles, les structures For, While, et If permettent d'introduire des conditions avec des tests; les cas peuvent être analysés et envoyés vers des parties distinctes du programmes moyennant des aiguillages, l'exécution peut être interrompue (Break) au milieu d'une sous-structure. Une macro peut en appeler une autre, elle peut aussi être imbriquée à l'intérieur d'une autre et tenir le rôle d une procédure externe. Plusieurs instructions donnent lieu à des informations sur l' état du système, notamment « State » qui indique le numéro du document en cours, le mode de division de l'écran, l'activation de la sélection de blocs, et « System » qui permet d obtenir la valeur de 17 variables donnant l'état actuel du système, à la position du curseur : l' attribut (typographique), numéro de cellule dans un tableau, attribut de la cellule, numéro de la colonne et de la ligne d'un tableau, statut du document (modifié ou non, vide ou non), numéro de la note de fin de document ou de bas de page, numéro de l'équation mathématique, numéro de la figure, numéro des différents encadrés (texte, tables, utilisateur), caractère situé à gauche ou à droite du curseur, numéro de page, position verticale du curseur (mesurée en 1200e de pouces), présence du curseur dans une liste, par exemple de polices de caractères, puis nom du document, chemin d'accès, menu et sous-menu, statut de l'impression. On peut également gérer des conditions particulières qui peuvent donner lieu à un traitement spécifique: fin de la recherche d'une chaîne de caractères, appui sur la touche « annulation » , et enfin occurrence d'une erreur. Il existe en outre des instructions d'aide à la programmation, avec la possibilité d’insérer des commentaires à l'intérieur des codes de programmes, et un mode « trace » qui ralentit l'exécution pas à pas pour mieux contrôler l'exécution.

La programmation se fait en utilisant des variables, zones de mémoire où sont temporairement stockées les chaînes de caractères ou les séquences de touches de commandes; on peut alors effectuer un certain nombre de tests, grâce à des opérateurs identité, différence, supérieur ou inférieur à, etc. Le LPM permet d'identifier certains éléments associés (notes, figures,...) ou unités isolables (items de liste, cellule de tableau, paragraphe) et de parcourir le texte en pointant vers les unités de même nature précédentes ou suivantes.

Les fonctions, on le voit, de ce langage qui se superpose à toutes les fonctions déjà intégrées dans le traitement de texte autorise la conception d'applications sophistiquées mettant en jeu l'analyse de texte: on citera par exemple le comptage d'occurrences d'un mot ou d'une chaîne de caractères, les contrôles d'appariement (parenthèses, crochets, guillemets), l'aide à l'indexation par repérage préalable des noms propres, définis comme les mots commençant par une majuscule à l'exclusion d'une liste de mots courants (articles, prépositions, etc.). On est loin ici des programmes de traitement de texte qui n'autorisent qu'une saisie des attributs typographiques généralement limités à ceux des imprimantes matricielles (souligné, gras, compressé, exposant, etc.).

D'autres logiciels de traitement de texte intègrent également des fonctions tout aussi puissantes- Cest le cas par exemple de XY-Write, adapté à la saisie de texte complexe et qui est proche par sa conception des modes de saisie adapté à la photocomposition. Ce logiciel est également paramétrable, et programmable et se prête à la construction d'applications élaborées. Les écrans d aide, qui peuvent être entièrement réécrits pour s'adapter au contexte, fonctionnent en mode « hypertexte » (certains mots-clés sont des boutons qui déclenchent l' apparition d autres écrans qui leur sont liés). L'action est possible jusqu'à un niveau extrêmement fin des commandes, au point que l'on peut construire, en plus d'applications, un nouveau logiciel. Les commandes sont entrées dans le texte comme des couples de balises, et l'aspect général de ce logiciel lui donne certains éléments communs avec les éditeurs de documents structurés que l' on verra plus loin. On pourrait imaginer aboutir au même résultat en fournissant une série de macro-instructions préparées qui accomplissent le même travail. C'est d'ailleurs ce qui a été fait pour TeX, dont la version appelée LATEX est un ensemble de macro-même adaptées au traitement des équations mathématiques, des références bibliographiques, etc.[5] On constate donc une convergence entre deux des types de logiciels présentés jusqu'ici: les éditeurs traitements de texte, d’une part, les « formateurs » de l'autre.

Compilation de texte. Fusions

A côté de la programmation procédurale permise par les macro-instructions, le logiciel WordPerfect propose également une possibilité de compiler du texte. Cette fonction, désignée par le terme générique de « fusion » , est issue de l'évolution de la fonction mailing. Le mailing, appelé parfois en français « publipostage » est une fonction ancienne et assez répandue dans les traitements de texte, qui permet de mélanger des structures apparentés aux enregistrements d'une base de données constitués d'un nombre fixe de champ avec un texte unique - une lettre - dans lequel ont été insérées les places auxquelles doivent venir se coller les champs des différents enregistrements du fichier. Le fichier dit primaire - la lettre - peut ne contenir que des codes variables, ce qui permet de créer de nombreuses présentations différentes - fiches, listes, tableaux, etc. On peut ainsi gérer complètement un fichier de références bibliographiques à l'aide de cette fonction de fusion, au départ conçue exclusivement pour du mailing. En outre, le mailing peut être partiel, conditionnel, il peut faire intervenir un mélange entre plusieurs fichiers, il peut être interrompu pour laisser l'utilisateur entrer des données variables, avec des messages pour le guider, etc. On peut également construire des contrôles de saisie. On peut désormais insérer dans le texte « primaire » , c'est-à-dire pour l'exemple considéré dans la lettre, des commandes de fusion; celles-ci sont au nombre de 71 dans la version étudiée de WordPerfect, la moitié environ étant identiques aux instructions du LPM. De plus, une fusion peut appeler une macro, et une macro peut déclencher une fusion, de sorte qu'il y a souvent plusieurs façons de créer une application en privilégiant soit les macros soit la fusion. Là encore, les variables peuvent être soumises à des tests, et des décisions peuvent être prises en fonction du résultat, par exemple pour fusionner d'autres fichiers.

Il existe de nombreuses possibilités de tri et d'extraction pour les fichiers secondaires de fusion: tris fins sur plusieurs clés imbriquées (jusqu'à neuf), sachant qu’à l'intérieur d'un champ la place d'un mot dans une ligne ou le numéro de la ligne peut être considérée comme clé de tri. Les clés de tri peuvent permettre également d'extraire du fichier les seuls enregistrements correspondants à ces critères, fonction bien plus puissante que la simple recherche d'une chaîne de caractères au fil d'un texte. Finalement, la combinaison des feuilles de styles, des macro-instructions et des fonctions de fusion fait que l'on dispose avec un logiciel de traitement de texte d'un environnement de programmation qui permet d'envisager des traitements sophistiqués de documents. Mais il reste que les logiciels étudiés jusqu'ici ne disposent pas de manière intégrée de fonctions d'analyse structurée. Si on peut les obtenir, c'est au prix du développement d'outils qui les complètent. Ceci n'est donc accessible qu'au prix d'une acquisition d'expertise et de temps de développement Le grand avantage que possèdent sur les traitements de texte les logiciels d'édition structurée est précisément que les utilisateurs n'ont pas à programmer les fonctions de structuration: ils n'ont qu'à définir les types de documents qu'ils utilisent.

Programmation et structuration d'un texte

Dans son article « Authoring Tools for Complex Document Sets »[6], Janet H. Walker compare le génie logiciel et la conception de la documentation technique, là où les données textuelles apparaissent en grand nombre et doivent être traitées avec une extrême précision. L'auteur considère que les deux concepts-clés de l'ingénierie logicielle que sont la « modularité » et l'« abstraction » sont exportables à la documentation technique, et expose les moyens de rendre des documents modulaires - un module dans un document étant défini par analogie comme une unité sémantique d'information. Il est nécessaire de faire passer son organisation hiérarchisée de la forme d'arbre (chapitre, section, sous-section, etc.) à la forme modulaire, en entourant chacun des modules par un délimiteur de début et de fin de module. Pour être efficace, cette structuration du texte doit se faire en accordant une importance particulière à l'ouverture sur l'extérieur.

Balisage descriptif et balisage générique

La mise en forme d'un document peut se faire à l'aide d'un balisage procédural, qui consiste à indiquer au système la commande qu'il doit effectuer: mettre en gras, ou centrer la ligne par exemple. L autre moyen de coder du texte est d'en faire un balisage générique, qui en décrit la structure. Le traitement qui doit être subi dépend ensuite de chacun des éléments de la structure. L étape supplémentaire ainsi introduite correspond aux feuilles de style, qui stockent à part les procédures à appliquer à chacun des éléments balisés. Le concept de balisage générique est dû à C.F. Goldfarb, E. J. Mosher et R.A. Lorie[7]

La norme SGML

C'est pourquoi la structuration de documents a donné lieu à l’élaboration d’une norme internationale de description de documents: la norme SGML[8]. SGML « n'est pas seulement un langage de balisage, mais un outil pour construire plusieurs langages de balisage, autrement dit un méta-langage »[9]. Les éditeurs de documents structurés qui lui sont conformes permettent de saisir des textes organisés selon une « définition de type de document » pourront par la suite être analysés et traités en vertu de l'organisation voulue du document;« L'une des caractéristiques de la documentation technique est la gestion de versions différentes à partir d’un même fonds de données. Cette nécessité a entraîné, d'après Janet H. Walker, la nécessité d’une « remodularisation » du document, soit la transformation d'une modularité physique en modularité fonctionnelle. Cet objectif impose de retravailler un certain nombre d'éléments textuels, les références croisées par exemple. Il faut distinguer différentes même de modules, les « blocs sémantiques » et les « éléments associés » - liste de références bibliographiques notamment, qui se caractérisent par le fait qu'ils entretiennent des liens avec l'ensemble du document. Il y a deux sortes de liens: inclusion et pointage.

Les éditeurs de documents structurés

L'utilisation des éditeurs de documents structurés et la formalisation du balisage s'appliquent à des cas spécifiques d'édition lourde: gros volumes, remises à jour fréquentes possibilité d'extraction sur différents supports éditoriaux (papier, optique, télématique, etc. ). Les produits existants sont interactifs, ils permettent une saisie contrôlée du texte avec un multifenêtrage dans lequel les actions sur un élément sont immédiatement répercutés sur l'ensemble des groupes qui lui sont liés. Les éditeurs s'inspirent de la programmation orientée objet: le document est considéré comme un ensemble de structures construites dynamiquement à partir de modèles génériques [10]Ces logiciels couvrent les domaines qui sont à la fois des traitements de texte et ceux des bases de données relationnelles [11]. Ils tiennent compte de la structure logique des documents et les fichiers qu’ils produisent sont portables sur une gamme étendue de matériels. Ils sont les outils privilégiés de ceux qui manipulent des documents fortement structurés, la documentation technique notamment, et intéressent directement les concepteurs et producteurs d’hypertextes.

On constate donc qu'au-delà des améliorations dans le domaine du WYSIWYG, la plus spectaculaire, les logiciels gagnent en puissance et que l'on commence à ne plus se satisfaire, au niveau des logiciels même courants de traitement de texte, des fonctions qui ne permettent que de produire un document papier ou de faciliter la saisie. Les puissantes fonctions de programmation intégrées aux logiciels de traitement de texte montrent qu'une évolution parallèle se fait pour une plus grande maîtrise de la manipulation du texte électronique. En ce sens, le texte, une fois traité, se rapproche de l'hypertexte. Mais la rançon de l'efficacité visée est la rigueur que nécessite l'organisation des données. D'où le fait que les fonctions de ce type sont encore réservées aux possesseurs de gros systèmes dans leurs versions interactives ou aux utilisateurs prêts à investir en programmation pour les systèmes moins performants.

Notes

  1. V. Quint, "Systems for the manipulation of structured documents", in Structured Documents, J. André , V. Furuta et V. Quint éd. sc., The Cambridge Series On Electronic Publishing, Cambridge University Press, 1989.
  2. Ce que Vania Joloboff exprime par la formule : "What you see is all you get", dans son article "Document Representation: Concepts and standards" in Structured Documents, op. cit.
  3. Je dois ces concepts à une conversation avec F. Chahuneau(Advanced Information Systems)
  4. La vesion 5.1 est apparue à la fin de l'année 1989 aux États-Unis. Elle représente d'une certaine façon la fin d’une époque, dans la mesure où il s agit d un logiciel en mode texte, mais en même temps on peut y déceler des éléments qui ouvrent une transition vers une nouvelle ère du traitement électronique des documents accessible à un grand nombre
  5. Leslie Lamport, LATEX: A Document Preparation System, Addison-Wesley, 1985.
  6. in Edward Barret (ed), The society of Text, Hypermedia and the Social Construction of Information, MIT Press, 1989
  7. C.F. Goldfarb, E J. Mosher et R.A. Lorie. "An Online System for Integrated Text Processing, Proceedings of the American Society for Information Science, 7, 147-150 (1970) et C.F. Goldfarb, Document Composition Facility Generalized Markup Language: Concepts and Design Guide, Form No. SH20-9188-1, IBM Corp., White
  8. Standard Generalized Markup Language, norme ISO 8879-1986
  9. D. Vignaud, L'édition structurée de documents. SGML, application à l'édition française. Syndicat national de l'édition, Cercle de la librairie, 1989. 10 D'après l'artícle de V. Quint, op.cit.
  10. Parmi les outils les plus récents, on citera Pliéade( J.Nanard, M.Gottin),Speed (Giovanni Coray, Rolf Ingold et Christine Vanoirbeek), W system (Peter R. King), Grif (V. Quint, I.Vatton et H. Bedor), ainsi que les éditeurs SGML, comme Author/Editor (SoftQuad, sur MacIntosh) et Text Write (IBM, OS/2).
  11. 11