Mémoire Vive Numéro 4


EDITORIAL

Comme un premier coup d'oeil au sommaire vous l'aura montré, Mémoire Vive change un peu avec ce numéro. En fait, il a semblé au nouveau comité de rédaction qu'il serait plus fructueux pout tous de centrer l'ancienne rubrique SAVOIR-FAIRE sur des DOSSIERS THEMATIQUES auxquels sera rattachée, autant que faire se peut, la rubrique LOGICIELS. Le présent numéro inaugure la formule avec un dossier sur les hypertextes. Toutes les revues spécialisées en micro-informatique en ont parlé récemment, le mot est de plus en plus répandu, les utilisateurs d'hypertextes pour des applications historiques se multiplient, mais de quoi s'agit-il ? c'est la question à laquelle Gérard Verroust a voulu répondre en consituant ce dossier auquel il manque, malheureusement, le versant logiciel qui ne nous est pas parvenu à temps. Le dossier du prochain numéro sera consacré à la représentation graphique des données. Autre innovation de ce numéro, liée à l'évolution des activités de l'association, la rubrique GROUPES DE TRAVAIL. Cette rubrique sera ouverte chaque fois qu'un groupe proposera un texte. Voici pour les nouveautés qui ne constituent donc pas une "révolution" : qu'on se rassure, le feuilleton de notre président se poursuit et les objectifs principaux du bulletin restent ceux qui avaient été définis lors de sa création : développer une réflexion méthodologique sur la pratique de l'informatique en histoire tout en montrant de manière concrête (par l'exemple ou par une formation) comment concevoir et mener à bien un projet, être le moyen de liaison privilégié entre les membres de l'Association française pour l'Histoire et l'Informatique en diffusant le maximum d'informations et en permettant à chacun d'exprimer son point de vue. Cette rubrique "Informations " pourrait surement s'enrichir mais pour ce faire, nous avons besoin de vous : A vos plumes ou à vos claviers !

Bourlet


LE DOSSIER


HYPERTEXTES ET HYPERMEDIAS

Nous allons en quelques pages, tâcher de présenter aux historiens ce qu'on appelle hypertexte, en quoi il s'agit de quelque chose de nouveau, bien que certaines idées en soient très anciennes, en quoi ça se distingue des systèmes de gestion de bases de données ou des systèmes documentaires classiques. Nous insisterons sur l'intérêt que cette technique présente pour la recherche et l'enseignement en histoire. Et nous montrerons bien sûr les problèmes techniques que pose sa mise en œuvre pratique.

D'où ça vient, qu'est-ce que c'est ?

La problématique de l'hypertexte a été énoncée pour la première fois en 1945 par Vannevar Bush, pionnier de l'Informatique et du calcul automatique qui avait réalisé dans les années 30 un célèbre analyseur différentiel mécanique. En 1945, Vannevar Bush était conseiller scientifique du Président Roosevelt. L'ordinateur n'était pas encore inventé mais on se posait le problème de la "mécanisation de la pensée" avec nombre d'illusions réductionnistes perdues depuis. Et Vannevar Bush, confronté à d'énormes problèmes documentaires, proposa sous le nom de memex un système dans lequel un individu aurait pu stocker des documents, des textes de toutes sortes (livres, etc.) mais aussi des notes personnelles, des idées et qui aurait pu lui permettre vite et facilement de les retrouver, de les consulter, de les associer. Une extension de la mémoire de son cerveau.

Bush signalait que le cerveau humain fonctionnait par associations et proposait de mettre en œuvre le même processus pour la gestion des documents de son système. Évidemment, cela aurait été réalisé avec de la mécanique, des fiches en carton, des cartes perforées.

Il avait défini des notions importantes, celles de lien, de nœud mais butait sur des impossibilités technologiques.

Douglas Engelbart, pionnier des moyens modernes de dialogue homme-machine (et inventeur de la souris) reprit dès 1963 les travaux de Bush au sein de Stanford Research Institute. Ceci aboutit en 1968 à un système appelé NLS (pour oN Line System), première mise en œuvre effective d'un hypertexte rudimentaire.

Enfin au début des années 70, un jeune chercheur enthousiaste, membre de la contre-culture américaine, conçut un système utopique appelé Xanadu (d'après un poème de Coleridge). Il publia en 1975 un ouvrage fameux : "Computer Lib / Dream Machines" qui, illustré par les plus célèbres auteurs de bandes dessinées de l'époque (Robert Crumb entre autres), se présente comme les publications du mouvement hippie... Dans cet ouvrage d'une exceptionnelle richesse intellectuelle et créative se trouvent entièrement définis pour la première fois tous les concepts des hypertextes d'aujourd'hui et nombre d'idées encore en cours de concrétisation. Là se trouvent aussi pour la première fois les termes d'hypertexte et d'hypermédia.

De cette époque datent nombre d'idées, de travaux fondateurs. Nous-même en 1975 avions proposé de faire sur support informatique des éditions de référence de textes littéraires avec des repères permettant d'y associer notes, variantes, pagination d'éditions classiques, etc.

Définitions

Venons-en aux définitions. D'abord qu'est-ce qu'un système d'hypertexte ?

Un système interactif qui permet de construire et de gérer des liens sémantiques entre des objets repérables dans un ensemble de documents polysémiques.

De manière plus précise, on parle d'hypertexte lorsque les objets polysémiques sont des éléments de texte c'est-à-dire des chaînes de codes.

On parle d'hypermédia lorsqu'il s'agit d'objets au sens le plus général.

Nous reviendrons sur les problèmes que cela pose et dont beaucoup sont encore à résoudre.

Par exemple :

  • banque d'images à 2 ou 3 dimensions
  • séquences d'images animées
  • cartes de géographie avec leurs données associées
  • sons bruts
  • séquences sonores, textes parlés
  • bien sûr des textes
  • mais évidemment des textes manuscrits, des pages imprimées.

Il convient d'insister sur une notion fondamentale : L'objet élémentaire de l'hypertexte est un objet polysémique dont la sémantique n'est pas connue de l'automate/hypertexte, à la différence des réseaux sémantiques des systèmes experts. La lecture, l'interprétation de cet objet doit être faite par un être humain. Elle est subjective. Donc les liens sont sémantiques pour un utilisateur mais ne représentent que subjectivement telle lecture des objets. (Peut-être plus tard les automates connexionnistes ou neuronaux modéliseront certains aspects de cette subjectivité).

Une terminologie précise s'est instituée. On appelle hyperdocument un ensemble d'objets d'une certaine classe, mémorisés et repérés de façon à y permettre l'édition de liens. On appelle lien (link) la relation établie par un utilisateur entre deux objets. Ce lien peut être une simple référence ou contenir des relations logiques complexes, des algorithmes ou même des documents polysémiques créés par l'utilisateur et associés à ce lien. Par exemple une fiche contenant des remarques écrites. Il est clair que les liens sont sémantiques pour un utilisateur donné et ne se réfèrent donc que subjectivement à telle ou telle lecture des objets. On appelle nœud (node) de l'hypertexte la représentation du document dans la mémoire logique du système.

Par exemple, dans un gestionnaire de vidéodisque, le document c'est une image du vidéodisque, le nœud correspondant, le bloc descriptif de cette image dans la mémoire de l'ordinateur ou sur la disquette associée au vidéodisque. Ce bloc étant muni de possibilités de chaînage pour établir des liens.

On appelle ancre (anchor) l'objet informatique (en général un pointeur, c'est-à-dire l'adresse d'une information) qui dans le nœud contient le point de départ ou d'arrivée d'un lien. Remarquons que cette ancre (ainsi que le nœud) peut se trouver enregistrée avec l'objet, voire en faire partie dans le cas des hypertextes.

Dans certains systèmes d'hypertextes (Hypercard par exemple), on appelle bouton la représentation d'un point d'ancrage sur l'objet polysémique visualisé sur écran, ce bouton pouvant être désigné au système par un curseur ou une flèche commandée par une souris.

La mise en œuvre la plus courante d'un hypertexte consiste à avoir sur un ordinateur une banque d'images numérisées (ou de morceaux de texte, ou de fiches) ; une base de données où chaque élément est représenté par un nœud et un système de gestion dynamique de liens établis par l'utilisateur à l'aide d'un écran graphique et d'outils de dialogue (souris et icones, clavier ou autres).

Lorsqu'un utilisateur a établi entre les objets qu'il a consultés un ensemble de liens correspondant à sa propre vision ou à un usage déterminé, le tissu (qui peut être très complexe) de ces liens constitue un réseau (en Anglais web /tissu, maillage, toile/). On utilise parfois le terme de web en Français dans ce sens technique précis.

Bien entendu pour quelques applications ce réseau peut avoir été établi une fois pour toutes et l'utilisateur y chemine sans pouvoir y créer de liens nouveaux. Par exemple pour l'hypertexte d'une documentation technique, d'un manuel électronique, d'une encyclopédie.

Il en est ainsi en particulier pour les hypertextes à usage pédagogique.

Un hypertexte pourrait apparaître comme un nouveau système de gestion de bases de données apparenté non aux SGDB relationnels mais aux SGBD chaînés en réseaux sémantiques dont on a depuis longtemps montré l'intérêt mais qui posent des problèmes de mise en œuvre matérielle efficace et de formalisation mathématique. Mais attention, un hyperdocument est un corpus de documents polysémiques intégraux avec des repères purement physiques, et le réseau sémantique y est construit par l'utilisateur pour ses besoins propres.

Nous allons examiner rapidement quelles sont les caractéristiques principales des éléments d'un système de gestion d'hypertextes et les problèmes de mise en œuvre.

Les nœuds

La définition d'un nœud dans un hyperdocument peut poser des problèmes complexes : comment découper un document continu ? Pour un texte la solution est en général simple et naturelle. Même s'il peut être intéressant de créer une hiérarchie de nœuds (livre - tome - chapitre - page - § - phrase - mot - lettre), certaines informations continues peuvent faire l'objet de découpages différents. Par exemple dans un système d'information géographique la carte administrative, la carte scolaire, militaire, les zones aériennes, linguistiques, les bassins hydrographiques, etc.

On peut avoir besoin de donner à un nœud des attributs, un type. Cela peut en particulier être nécessaire pour gérer un hypermédia contenant des objets hétérogènes.

Les liens

On a défini nombre de propriétés intéressantes des liens. Possibilité de lien du document sur lui-même, défilement automatique des documents dans un ordre fixé par un jeu de liens, connexion à des annotations ou des algorithmes, description d'arborescences, etc.

Un lien peut être uni ou bi-directionnel. Dans le cas d'un lien unidirectionnel on parle de référence pour la source, et de référent pour le but.

On peut parfois combiner les liens entre eux de manière complexe selon une algèbre des liens. Outre le grand nombre de liens vite établis par un utilisateur, l'existence de possibilités multiples de combinaisons de liens entre eux conduit à une croissance considérable du nombre de liens posant de graves problèmes de gestion et de visualisation. Il devient intéressant de pouvoir définir une hiérarchie de liens.

Le domaine ou point d'ancrage pose des problèmes parfois complexes. En particulier lorsqu'on a affaire à des documents complexes continus. On est alors conduit à définir une région de lien sur le document. Par exemple sur une carte de géographie.

Les cheminements

Tant dans les hypertextes avec webs prééxistants qu'on exploite que dans ceux qu'on structure soi-même, on souhaite souvent garder trace des cheminements, c'est-à-dire de la succession temporelle des liens établis ou parcourus.

Ceci peut être important par exemple dans un hypertexte à usage didactique dans lequel le cheminement de l'apprenant doit pouvoir être piloté ou analysé par un méta-programme didacticiel.

En résumé

Résumons donc rapidement les caractéristiques des divers éléments d'un système d'hypertexte à prendre en compte selon les besoins.

Objets Nœuds

  • Texte seul ou autres objets : images, etc...
  • Dans le cas d'un texte, recherche automatique de chaîne ou d'objet
  • Traitement d'objets continus ou discontinus

  • Nœuds

    • Un ou plusieurs par objet
    • Informations associées (Fiche, algorithme)
  • Liens

    • Simples
    • Typés ou orientés
    • Hiérarchisés
    • Regroupables (algèbre des liens)
    • Dénombrables ou numérotables
    • Associables à des données (fiche de lien) ou des algorithmes
  • Réseaux (Webs), cheminements

    • Individualisables et stockables
  • Fonctionnalités générales

    • Gestion, mémorisation des chemins sur les réseaux
    • Ergonomie, mode de dialogue, souris, vision du document
    • Présentation des réseaux (vision générale ou partielle) et du lieu où on se trouve
    • Gestion multiutilisateur (sur gros système). Accès simultanés
    • Accès local ou à distance et lieu de constitution du web.

Intérêt et problèmes

La technique des hypertextes constitue une étape importante dans la mécanisation d'importantes activités intellectuelles souvent fastidieuses. Si les idées mises en œuvre sont anciennes, ce sont les importants progrès techniques récents qui en permettent la concrétisation. Et ce dans deux domaines :

  • Les nouvelles techniques de mémorisation de masse
  • Les progrès importants dans le dialogue homme-machine.

Il ne faut pas se cacher que des problèmes très complexes sont à résoudre mais que les évolutions actuelles sont rapides et spectaculaires. Il s'agit d'un domaine de recherche important en Informatique. C'est le livre du XXIème siècle qui est en train de naître.

Nous n'analyserons pas ici les problèmes à résoudre mais nous donnerons un exemple qui montre à la fois la complexité des structures d'informations à gérer et la difficulté de les présenter à un usager de manière claire et utilisable.

L'intérêt pour l'historien

Un hypertexte historique idéal est donc constitué d'un fonds aussi exhaustif que possible de documents bruts stockés sur un support informatique à accès direct.

Une station de travail munie des outils de dialogue homme-machine les plus évolués permet à un utilisateur de consulter librement le fonds documentaire dans n'importe quel ordre, d'y établir des relations complexes selon ses besoins, d'y adjoindre des notes, commentaires, d'isoler éventuellement la partie du fonds qui l'intéresse, et d'avoir à tout moment une vue d'ensemble des opérations qu'il a effectuées.

Avec les capacités de stockage des mémoires actuelles (on compte sur certains supports en Térabytes, c'est-à-dire en milliers de milliards de caractères soit mille fois l'Encyclopædia Universalis !) et avec les progrès considérables dans les méthodes de dialogue homme-machine on dispose ainsi d'une bibliothèque idéale. Et plus encore que d'une bibliothèque, d'une médiathèque idéale pouvant contenir des images fixes ou animées, des modèles d'objets pluridimensionnels, des sons, etc.

Ajoutons que la puissance des micro-ordinateurs continue à croître et que l'on sait dupliquer et éditer en série des mémoires optiques à très haute capacité pour comprendre que nous assistons à l'émergence d'une révolution dans la communication, la diffusion des connaissances.

Pour l'historien c'est la possibilité de travailler avec ses approches, ses analyses, sa problématique sur des fonds documentaires exhaustifs bruts non structurés selon telle vision ou telle lecture. Reste évidemment le problème des lacunes fortuites ou intentionnelles dans l'établissement du corpus. Mais là l'informatique ne saurait être coupable et bien des bibliothèques souffrent des mêmes défauts...

Mais attention : la carte n'est pas le territoire

Avec un hyperdocument riche exploité par un système hypertextuel puissant et convivial, l'historien dispose ainsi d'archives brutes qu'il peut lire et interpréter comme il le désire. Mais attention, en aucun cas il ne peut considérer avoir à sa disposition la totalité des faits historiques.

D'abord il s'agit d'un fonds qui ne saurait qu'exceptionnellement être exhaustif, même si on constitue aujourd'hui des corpus documentaires évolutifs mis à jour en permanence et contenant la totalité des documents connus sur un sujet au jour de la consultation. Mais surtout il s'agit uniquement de documents stockés en machine, d'une bibliothèque idéale en quelque sorte. Et même si on dispose à la fois des images, du contenu textuel, des informations sur le lieu de découverte, la nature du support etc., un jour peut-être on aura besoin de connaître par exemple le spectre des colorants utilisés, de rechercher s'il s'agit d'un palimpseste etc., informations qui peuvent s'avérer essentielles pour résoudre un problème historique.

Remarquons que ce problème a déjà été rencontré dans les sciences expérimentales aux débuts de l'usage de l'Informatique. En Physique par exemple, certains ont pensé pouvoir se contenter de stocker dans un ordinateur la totalité des mesures faites sur un phénomène et n'avoir plus à faire que du calcul. Hélas la découverte se situait ailleurs...

Et donc la machine ne remplacera pas l'historien, ce qui est rassurant, mais lui permettra de faire plus et mieux, et de se consacrer aux tâches spécifiquement humaines.

Gérard VERROUST
LIVRE/Université Paris VIII
e-mail:verroust@frp8v11.bitnet

Bibliographie

Theodor H. NELSON, Computer Lib / Dream machines, Hugo's, Chicago (1974).

Jeff CONKLIN, Hypertext : An introduction and Survey, COMPUTER, Vol. 20 n° 9 (09/1987), p.17.

John B. SMITH & Stephen F. WEISS (Editors), Hypertext, COMMUNICATIONS of the ACM, vol. 31 n° 7 (07/1988) , pp.816-895.

Jakob NIELSEN, The Art of Navigation through Hypertext, COMMUNICATIONS of the ACM, vol. 33 n° 3 (03/1990), p.296.

Gérard VERROUST, Quels sont les besoins des Sciences Humaines en Informatique... et les Sciences Humaines ont-elles vraiment besoin d'Informatique ? L'outil Informatique à l'Université, Poitiers (1988).

Jean-Pierre BALPE, Hyperdocuments, hypertextes, hypermédias, Eyrolles (1990).


LA CAO, L'HYPERTEXTE ET L'HISTOIRE

L'intêret des maquettes virtuelles

Electricité de France, dans le cadre d'un mécénat technologique, a participé récemment à la reconstitution "informatique" de l'histoire des temples de Karnak [référence 1]. La question était : les outils d'étude des centrales nucléaires peuvent-ils servir une cause non plus industrielle mais culturelle ? La réponse est une restitution spatio-temporelle à l'aide d'une maquette virtuelle (sur écran ou papier) du temple d'Amon-Rê à Karnak.

Ce travail s'est traduit concrètement par la possibilité offerte aux chercheurs de se déplacer dans une maquette du site de Karnak pour une époque donnée, autorisant même des vues de l'intérieur comme des survols ou des coupes. Il est aussi possible de se promener dans le site tel qu'il aurait été s'il avait été "terminé" ! Vu l'ampleur du projet et la dimension de Karnak, les logiciels informatiques retenus sont ceux-là même qui participent au dimensionnement des centrales nucléaires. Il s'agit donc de logiciels très performants nécessitant des ordinateurs très puissants.

Cependant, l'évolution des technologies tant matérielles qu'intellectuelles, fait qu'aujourd'hui, ces outils de modélisation dans l'espace deviennent accessibles aux ordinateurs de table. Dès à présent, certains d'entre eux sont capables de possibilités graphiques étonnantes et il n'est pas déraisonnable d'imaginer d'y concevoir des maquettes virtuelles de sites historiques et culturels, peut-être un peu moins vastes que les grands sites égyptiens, avec une très grande précision dans la restitution. Les méthodes de base utilisées par les logiciels informatiques graphiques sont décrites en [référence 2].

L'hypertexte

Mais les reconstitutions par l'image, ou les maquettes, ne forment qu'une part des connaissances associées à un site historique. L'autre part est avant tout textuelle ou chiffrée. Pour cette part, les ordinateurs de table offrent aussi des outils de navigation d'une autre nature. En effet, à l'inverse d'une navigation spatiale dans une maquette tridimensionnelle, il s'agit d'une navigation plus subtile dans la logique textuelle des connaissances. Je veux parler de l'hypertexte, et plus précisément des méthodes de navigation dans la structure des textes, dans leur logique, et même de navigation par associations d'idées [référence 3]. Les modes de recherche privilégiés sont calqués sur l'intuition du lecteur par résolution des associations qu'effectue le cerveau humain.

Sur ces principes ont été réalisées, à la Direction des Etudes et Recherches d'Electricité de France, des bornes interactives de communication multimédia dont l'objectif est de fournir immédiatement et sans apprentissage les informations souhaitées, en résolvant les associations d'idées du lecteur. Ces bornes sont donc avant tout des outils de navigation dans les connaissances. La différence entre un texte et un hypertexte provient du fait que l'hypertexte ne privilégie aucun parcours de lecture particulier. Ainsi un texte est une expression linéaire de la pensée de son auteur, la logique se traduisant par l'agencement des idées; a contrario l'hypertexte, reprenant bien sûr cette séquence, permet aussi le cheminement de lecture selon d'autres logiques de consultation : il privilégie la logique du lecteur.

L'hypertexte va même au-delà : il introduit le foisonnement dans l'expression et dans la lecture des informations, ce qui est un enrichissement. Mais il accroît en même temps la complexité. En effet, en admettant que la communication par une expression linéaire soit pauvre, elle a le mérite d'être simple : le lecteur ne se perd pas et il ne perd rien en principe de l'information transmise. Avec l'hypertexte, il faut donc compenser cette plus grande complexité par une simplicité dans les interfaces : l'évidence des écrans, les idéogrammes, les métaphores.

Les avantages de conjuguer la CAO et l'hypertexte

Ré-explicitons les deux thèmes déjà exposés dans cet article :

  • l'intérêt des maquettes spatio-temporelles pour les historiens et archéologues,
  • les outils de navigation dans les connaissances textuelles selon les principes de l'hypertexte.

L'existence d'outils informatiques permettant de traiter ces deux aspects sur des ordinateurs de table incite très naturellement à les associer entre eux. En effet, la conjugaison de ces deux outils, conception assistée par ordinateur et navigation dans les connaissances, permettra de passer naturellement d'un déplacement dans l'espace (et le temps) à un déplacement dans l'information associée aux éléments de la maquette et cela quelque soit la nature de celle-ci (historique, sociologique, archéologique, politique ou économique,...) mais toujours selon les choix du lecteur.

La réussite de tels outils passe par une coopération pluridisciplinaire, dont la partie visible devient l'évidence de la présentation et de l'accès aux informations (la navigation). L'utilisation évidente de la navigation dans la maquette permet de supposer que le passage à la navigation dans les connaissances associées à la maquette en est grandement facilité. Les chances de réussite sont élevées car, si la conception des maquettes et celle des hyperdocuments restent encore du domaine des spécialistes, les bornes interactives de communication multimédia ont montré la simplicité de mise en œuvre des hypertextes. En effet, ceux-ci ne nécessitent aucune connaissance[approfondie] de l'outil; la compréhension du mécanisme des liens entre les éléments d'information suffit.

Jean-Louis VULDY

Références :

[1] M. ALBOUY, H. BOCCON-GIBOD, J.-C. GOLVIN, J.-C. GOYON, P. MARTINEZ, KARNAK, Le temple d'Amon restitué par l'ordinateur, M.A. Editions

[2] J.-L. VULDY, Graphisme 3D sur votre micro-ordinateur, Eyrolles

[3] J.-P. BALPE, Hyperdocuments, Hypertextes, Hypermédias, Eyrolles

Jean-Louis Vuldy est actuellement ingénieur-chercheur à la Direction des Etudes et Recherches d'Electricité de France. Au sein du Service Informatique et Mathématiques Appliquées, il a entrepris une étude portant sur les applications des principes de l'hypertexte. Cette étude l'a souvent entraîné aux frontières entre les sciences dites exactes et les sciences dites humaines.


SAVOIR-FAIRE


LA PEDAGOGIE DE L'INFORMATIQUE POUR LES ETUDIANTS EN HISTOIRE

L'introduction de l'informatique au sein des études d'histoire apparaît encore aujourd'hui comme une nouveauté... Rares, très rares sont les universités françaises qui ont pu et qui ont su marier harmonieusement, du DEUG au DEA, l'apprentissage du métier d'historien et l'emploi de l'outil ordinateur. Cette situation contraste, en amont, avec le rôle stimulant que joue l'informatique dans l'enseignement secondaire (même si les professeurs d'histoire-géographie des lycées et collèges constatent un reflux), et en aval avec le poids des traitements automatisés de l'information dans la recherche de type universitaire ou CNRS.

C'est en partant de ce constat que notre association a suscité (dans le cadre de l'atelier sur la pédagogie et la formation) une réunion qui s'est tenue le 1er juin dernier, à l'Institut d'histoire moderne et contemporaine, en présence de Martine Cocaud (Rennes II), Annie Moulin (Clermont), Jean-Paul Le Flem (Paris IV), Catherine Omnès (Nanterre), Jean-Louis Robert (Paris I) et André Zysberg (Caen). Deux autres collègues, à savoir Michel Hau (Strasbourg) et Alain Ruggiero (Nice), qui ne pouvaient pas venir, nous ont envoyé un texte.

Ce premier état des lieux n'a sans doute rien d'exhaustif. Nous n'avons pas pu joindre plusieurs collègues, dont Jean-Claude Debeir à Paris VII, qui semble poursuivre une expérience très intéressante. Notre ami Bernard Cousin, de l'Université d'Aix-en-Provence, l'un des premiers à introduire l'informatique dans les études d'histoire, n'a pas eu le temps de nous transmettre quelque chose. Il est aussi problable que des enseignements spécifiques se sont mis en place à Lille, à Amiens, à Besançon, à Grenoble ...

Il s'agissait d'abord de faire le point sur les expériences acquises ou en cours, puis de comparer ces expériences au plan des objectifs, des moyens et du contenu des formations. Nous publions ici l'essentiel des propos de chacun, sous le titre "Un premier bilan", puis le président de H&I se permettra quelques réflexions. Cette rencontre n'est qu'un début. Il est aussi évident que les activités de l'atelier "pédagogie" ne se limiteront heureusement pas à évoquer les aspects universitaires... Nous programmerons bientôt une rencontre-atelier sur un thème susceptible d'intéresser tous les enseignants (les suggestions seront les bienvenues). Nous pensons que l'intégration de l'informatique au coeur d'une discipline comme la nôtre est un problème global, qu'il faut profiter de l'expérience de tous, et que la confrontation des points de vue correspond exactement aux objectifs de notre association.

UN PREMIER BILAN

A RENNES

Le démarrage s'est produit en 1982, grâce à l'esprit d'entreprise d'un enseignant d'AES qui a pris en charge la création d'un centre d'informatique pour les "littéraires", dont les ressources sont communes aux différents UFR. Ce centre fonctionne jour et nuit..., il dispose de moyens considérables (environ 70 micro-ordinateurs compatibles PC ET 8 MAC) qui proviennent en majeure partie du plan "Informatique pour tous". Il faut noter que les micro-ordinateurs sont tous reliés à un serveur local. Il existe aussi une grappe de consoles connectée au centre de calcul de l'Université des Sciences.

Lors de la 2e année de DEUG, les étudiants d'histoire doivent suivre une UV semestrielle, comprenant une heure de cours et une heure de TD (16 étudiants par TD, deux par machine). L'enseignement est assuré par des moniteurs (niveau 3e cycle en informatique). Le programme comprend une initiation au traitement de texte (WORD), à la gestion de fichiers (DBASE), au tableur (MULTIPLAN) et à la manipulation de graphiques (CHART). C'est Martine Cocaud qui fournit les sujets de TP et coordonne le travail des moniteurs. Les étudiants travaillent donc sur des exemples correspondant à leur discipline. Il y a un contrôle des connaissances en cours d'UV.

Au niveau de la licence, l'informatique est intégrée dans une UV du type science auxiliaire de l'histoire (1h 30 par semaine toute l'année). On approfondit DBASE (programmation, gestion multi-fichiers); on voit aussi un logiciel d'analyse de données (CHADOC). Le nombre de places est assez limité, car il correspond nécessairement à la capacité d'un atelier IPT de 8 machines (16 inscrits pour 40 demandes). L'enseignement est assuré par M. Cocaud. Le contrôle des connaissances consiste à préparer un dossier sur une étude de cas. M. Cocaud assume également le suivi des étudiants de maîtrise qui utilisent l'informatique (soit 7 à 8 par an).

A CLERMONT

Rien au niveau DEUG. L'initiation à l'informatique commence en licence, à raison de deux heures pendant un semestre, dans le cadre d'une UV de science auxiliaire de l'histoire. Les moyens matériels sont ceux du plan IPT (un atelier de 8 micro-ordinateurs). Une vingtaine d'étudiants suivent cet enseignement (tirage au sort sur une quarantaine de demandes). Le cours est assuré par Annie Moulin. Après les généralités usuelles, les étudiants travaillent sur DBASE avec un exemple de données fourni par un collègue de Clermont. On s'arrête avant la programmation. Suivent quelques séances d'apprentissage du traitement de texte (WORD), puis le cours se termine par une réflexion méthodologique (exposés et discussions sur des articles et des livres). Une aide ponctuelle est aussi apportée, dans la mesure du possible, aux étudiants de maîtrise.

A NANTERRE

En seconde année de DEUG, les étudiants d'histoire peuvent suivre une UV optionnelle d'informatique, pilotée par les économistes, qui n'est pas vraiment adaptée à leur "culture". Les enseignants d'histoire interviennent directement au niveau de la maîtrise, sous la responsablité de Catherine Omnès et de Michel Lescure. Les moniteurs proviennent du département de géographie, qui partage avec le département d'histoire les ressources d'une salle d'informatique (8 machines de la donation de la Mission de la Recherche). L'enseignement (une heure-année) prend la forme de mini-stages d'une demi-journée, qui sont suivis par une quinzaine d'étudiants. Travail avec DBASE, VP PLANNER et WORD sur des exemples procurés par les historiens.

A PARIS 1

Depuis 1987, mise en place d'une initiation pour les 600 étudiants de 2e année de DEUG, qui est entièrement gérée et contrôlée par l'UFR d'histoire, sous la responsabilité de Jean-Louis Robert. Les moyens (atelier de 15 machines compatibles PC) sont ceux du plan IPT. Cette initiation fait partie d'une UV obligatoire (statistique avec informatique, plus une réflexion méthodologique). Les TD d'informatique (20 groupes de 30 étudiants) sont assurés par des moniteurs (niveau 3e cycle en sciences humaines). Il y a un examen oral et aussi "écrit", mais pas de copies: Jean-Louis Robert nous a dit que l'on ramassait les disquettes...

Il existe, au niveau licence, une UV intitulée comme il se doit, "histoire et informatique", qui est assurée par Jean-Philippe Genet. Trois heures par semaine durant toute l'année (deux heures de TP et une heure de cours), sur les micro-ordinateurs faisant partie de la dotation de la Mission de la Recherche (MEN). Les étudiants sont répartis en deux groupes de quinze, mais la demande pourrait permettre d'en former quatre. En TD, travail avec DBASE et VP PLANNER; utilisation aussi de logiciels plus spécialisés, tels que TRI-DEUX (analyse factorielle), PROSOP (traitement de données biographiques) et PISTE (lexicométrie). Les cours portent sur l'historiographie et les problèmes de méthode (lectures, exposés, discussions critiques). Les étudiants construisent et exploitent eux-mêmes une base de données au cours de l'année, qui correspond en principe à leurs centres d'intérêt. Ils doivent rendre un dossier sur ce travail qui valide l'obtention de l'UV. Pas d'enseignement spécifique au niveau de la maîtrise. Suivi au cas par cas (bénévolat..)

A STRASBOURG

Equipe formée par Michel Hau et Jean-Luc Pinol. Dans la lettre qu'il nous a envoyée, Michel Hau estime que la priorité doit être donnée, "avant même de recourir à l'outil informatique", à une solide formation aux méthodes statistiques, qui ne devrait pas se limiter à un élément de DEUG, mais "irriguer" aussi les autres enseignements, en particulier au niveau de la licence et de la maîtrise : "Des progrès ont été enregistrés ces dernières années dans notre université, et nos étudiants entendent parler de l'analyse factorielle dans certains cours d'archéologie, de la lexicologie dans des cours d'histoire politique, ou du test du Khi-Deux dans des cours d'histoire urbaine."

Au niveau du DEUG, l'informatique a été introduite par le canal de la formation aux méthodes statistiques : "nous avons mis en place en 1988 et 1989 des stages obligatoires sur Bull Micral au cours desquels chaque étudiant devait réaliser une régression ou un test du KHI-DEUX avec le logiciel Stat. I.T.C.F. Ces stages sont devenus facultatifs cette année, parce que nous manquions de crédits pour rétribuer les moniteurs, mais, l'année prochaine, ils seront à nouveau obligatoires et seront effectués sur des Macintosh avec Excel."

Rien au niveau licence. En ce qui concerne la maîtrise, "il n'y a pas d'enseignement systématique de l'informatique (sauf pour ceux qui travaillent en archéologie avec J.M. Spieser), mais chaque fois qu'un étudiant de maîtrise rencontre un problème susceptible d'être traité par l'outil informatique, nous l'initions aux techniques susceptibles de lui apporter une réponse. J'ai notamment fait découvrir le BMDP à plusieurs, grâce à nos terminaux reliés en permanence à l'IBM 3081 implanté à Cronenbourg." (BMDP est un logiciel de statistiques créé à l'origine pour les médecins et les biologistes.)

A NICE

L'introduction de l'informatique dans les études d'histoire a été décidée à partir de l'année 1989-1990 (pilotage par Alain Ruggiero). Le conseil d'UFR a retenu trois niveaux d'intervention.

1) Pour les étudiants de 1ere année de DEUG, un travail de sensibilisation de courte durée, que Alain Ruggiero définit joliment comme le bagage de "l'honnête homme." Cette sensibilisation a consisté "en une fraction du cours magistral de méthodologie (5 heures seulement) permettant d'aborder les problèmes tels que le passage des documents bruts aux fichiers, manuels ou non, l'éventuel codage des informations, les différents tris possibles, les différents types de résultats obtenus... Cette présentation servait également à préparer les TP qui se sont déroulés par groupe de 16 dans les locaux d'Informatique Pour Tous sur du matériel compatible PC (Bull Micral 30) sous la conduite d'un moniteur rétribué par Informatique pour Tous, mais recruté par le département d'histoire (un étudiant de 3e année ayant une expérience certaine en informatique); compte tenu des moyens disponibles, chaque étudiant a suivi trois séances de 2 heures, qui ont été, à la grande surprise du moniteur, très souvent leur premier contact avec un micro-ordinateur"...

2) Une aide personnalisée pour les étudiants de maîtrise, qui n'a pas pris le caractère d'une prise en charge, faute de temps et de logiciels adéquats, mais devrait pouvoir se développer au cours des années suivantes sur les trois machines allouées par la Mission de la Recherche.

3) Au niveau DEA, une initiative intéressante : "deux journées destinées à faire un inventaire des utilisations actuellement possibles de l'outil informatique, (...) à présenter quelques exemples d'utilisation, bases de données, cartographie automatique, représentations graphiques (...) Une troisième journée, dont la conduite a été assurée par Madame Sanouillet, maître de conférences à l'URFIST, a permis aux étudiants d'avoir dans la plupart des cas leur premier contact avec l'informatique documentaire."

A PARIS IV

Démarrage au niveau licence, depuis deux années, sous la responsabilité de Jean-Paul Le Flem, d'un enseignement qui, dans un premier temps, a surtout mis l'accent sur le couplage entre statistique et informatique. Travail sur VP PLANNER et VP GRAPHIC avec quatre groupes de TD (10 étudiants par groupe). Dans ce même cadre, s'effectue l'apprentissage du traitement de texte (WORD). Est prévue également une initiation à la gestion de bases de données (logiciel FOXBASE).

Niveau maîtrise et DEA, séminaire de André Zysberg sur l'informatique appliquée à la recherche historique (dans le cadre de l'Institut de recherche sur les civilisations de l'occident moderne). Il s'agit actuellement d'un cours de deux heures par semaine, au long de l'année universitaire, qui est suivi par une vingtaine d'auditeurs. A partir des techniques de gestion de bases de données, on expose les différents aspects de la manipulation des informations. Le cours vise à montrer que tout au long du processus informatique se posent des problèmes d'historien. L'approche efficace suppose une imbrication étroite entre le savoir faire et une réflexion critique sur les méthodes et les objectifs de telle ou telle recherche.

Le séminaire de Jean-Pierre Bardet donne également lieu à une utilisation de l'informatique par des étudiants de maîtrise et de DEA. Ces étudiants emploient la version pour micro-ordinateur de CASOAR, logiciel de démographie historique.

Ces trois enseignements utilisent les micro-ordinateurs (compatibles PC) de la dotation de la Mission de la Recherche.

A CAEN

Rien au niveau du DEUG, ni à celui de la licence. Depuis 1988, l'enseignement de l'informatique commence avec les étudiants de maîtrise, au Centre de calcul de l'Université, où toutes les facilités nous sont données pour travailler. On débute par l'apprentissage du traitement de texte, puis on passe à FOXBASE (frère jumeau, en plus performant, de DBASE) pour la gestion de bases de données. Il s'agit d'un cours-TD (deux heures par semaines) assuré par André Zysberg. Une dizaine d'étudiants réalisent leur travail personnel, sur leur sujet de maîtrise, en utilisant ce qu'ils apprennent au cours de l'année. Des entretiens individuels permettent d'affiner et de mettre au point les modèles de fichiers, les types de traitement. Cet enseignement présente deux défauts majeurs. Il est trop centré sur la gestion de fichiers et devrait s'étoffer par le recours à d'autres logiciels (analyse de données, lexicométrie, cartographie automatique) qui correspondent impérieusement aux besoins des étudiants. Il implique aussi une course de vitesse pour ceux (les 4/5) qui découvrent l'informatique en même temps que leurs archives... La solution, évidente, consiste à "étaler" le cursus vers la licence et le DEUG. Il faudra un peu de temps pour la mettre en place et trouver le moyen de recruter les moniteurs si l'on veut passer d'un enseignement "intime" à une formation intéressant dans ce cas 200 à 300 étudiants...

Contributions de Martine COCAUD, Michel HAU, Jean-Paul LE FLEM, Annie MOULIN, Catherine OMNES, Jean-Louis ROBERT, Alain RUGGIERO et André ZYSBERG.

QUELQUES REFLEXIONS

Disons d'abord qu'il n'existe plus de blocage institutionnel et de moins en moins d'obstacles matériels. La plupart des responsables d'UFR ou de département tendent désormais à soutenir nos initiatives, voire à les susciter, au fur et à mesure que l'usage polyvalent du micro-ordinateur a fait ses preuves. Au niveau ministériel, nous ne pouvons plus nous plaindre d'être mal lotis. Les flux sont en amélioration constante, qu'il s'agisse des crédits du plan "Informatique pour tous" ou d'opérations ponctuelles, comme la dotation récente en machines et logiciels pour les étudiants en maîtrise et DEA d'histoire de toutes les universités, qui avait été menée à bien en 1988 par Jean-Pierre Bardet. La décentralisation fait aussi que les universités parviennent à obtenir des ressources régionales. Il arrive cependant que des collègues pourtant pleins de bonne volonté se sentent assez isolés ou ne parviennent pas à obtenir des moyens suffisants.

Il me parait toujours indispensable que nos étudiants apprennent, dès le DEUG, à se servir de la trilogie classique (traitement de texte, tableur-grapheur, gestion de fichiers). Or les effectifs de premier cycle (de 200 à 1000 étudiants, voire plus...) exigent des moyens qui dépassent le cadre artisanal. Le plan "informatique pour tous", auquel j'ai déjà fait allusion, est établi dans toutes les universités. Concrètement, cela signifie que des machines (sous la forme d'ateliers de 8 micro-ordinateurs) et des crédits (pour l'entretien et le renouvellement de ces machines, mais aussi pour la rémunération de moniteurs) existent et sont reconduits d'une année sur l'autre. Ces moyens sont souvent pilotés par le directeur du centre de calcul de l'Université, mais parfois, ce sont des UFR ou des fédérations d'UFR qui gèrent les moyens fournis par le plan IPT. Il faudra donc tenir compte des situations locales, plus ou moins avantageuses pour les historiens, et s'insérer dans le réseau, si ce n'est déjà fait.... Dans tous les cas, cette possibilité ne peut être ignorée. On doit l'exploiter : le plan IPT appliqué aux universités a été conçu pour cela, sans discrimination de discipline. Il faut néanmoins veiller, si cette initiation se déroule dans un cadre élargi, qu'elle soit la plus concrète possible et bien adaptée aux besoins et à la "culture" des étudiants d'histoire... D'autre part, le couplage statistique et informatique, lorsqu'il est possible, semble la meilleure solution pour la plupart d'entre nous.

Après le DEUG, niveau Licence, puis Maîtrise et DEA, les enseignants d'histoire/informatique doivent monter eux-mêmes au créneau, car on ne peut plus passer par le système du monitorat. C'est surtout à partir de la licence que les étudiants deviennent motivés et éprouvent le besoin d'une formation en informatique spécifiquement adaptée à leur discipline, quand leur goût pour les études historiques se confirme et s'affine. C'est bien dans cette perspective que l'informatique pourrait jouer le rôle d'un apprentissage à la recherche ou au métier d'historien. L'utilisation de l'ordinateur, au moyen d'un effet de loupe, pose en effet, très concrètement, tous les problèmes de l'exploitation et de l'analyse des données, et ce à toutes les étapes du travail historique, depuis la collecte des sources jusqu'à l'analyse et la représentation des résultats. Le recours à l'informatique, c'est autant et plus une méthode qu'un savoir-faire. Au-delà de la panoplie de base, il vaut mieux recourir à des logiciels couvrant des besoins spécifiques (lexicométrie, analyse factorielle, démographie historique, cartographie automatique). La mise en oeuvre d'applications ou de projets va de soi. Au stade de la maîtrise, le système du tutorat apparaît comme la formule la plus souple et la mieux adaptée; elle peut être complétée par des stages courts ou des séances de séminaire. Sur le plan de l'encadrement, plusieurs solutions sont possibles. Certains UFR ou départements ont déjà un, voire deux enseignants titulaires qui possèdent une solide expérience en matière d'utilisation de l'ordinateur. Mais ces enseignants ne peuvent pas toujours consacrer la majeure partie de leur service à organiser l'implantation d'un enseignement ad hoc. On refusera le bénévolat. La meilleure stratégie consiste à recruter un enseignant possédant un double profil (une spécialité en histoire plus des compétences sérieuses en informatique appliquée)...

Notre démarche première apparait différente de celles des collègues des lycées et collèges, car c'est presque exclusivement par la voie de la recherche que nous nous sommes familiarisés avec l'ordinateur. Et c'est tout "naturellement" que nous avons construit nos modèles pédagogiques sur la base d'une préparation à la recherche historique. Cette situation fait que les universitaires qui n'ont pas employé l'ordinateur pour leur thèse ou pour leurs travaux personnels, ceux-là, se trouvent en quelque sorte hors jeu... Or il serait parfaitement possible d'intégrer l'usage de l'informatique pour la transmission et l'analyse des connaissances. Ainsi, dans les TD d'histoire, où l'usage d'un tableur et d'un logiciel de cartographie pourrait rendre des services plus appréciables, plus souples et plus dynamiques qu'un paquet de photocopies... On pourrait aussi et surtout envisager le recours à des bases de données spécialement conçues pour l'enseignement de notre discipline (bibliographies et diverses bases des connaissances dans tel ou tel domaine). Ces procédures se sont récemment développées dans les départements d'histoire des universités anglaises, américaines et allemandes. Leur implantation en France supposera :

  • L'existence de salles équipées pour des TD d'histoire avec des postes d'informatique.
  • La réalisation de ces bases de données à objectif pédagogique pour les étudiants en histoire. Il serait possible de faire appel, en tant que producteurs, à des laboratoires et instituts de recherche qui valoriseraient ainsi une seconde fois leur capital.
  • La formation des enseignants, qui n'a pas besoin d'être "lourde", mais bien adaptée aux objectifs ici purement pédagogiques...

Nous avons donc du pain sur la planche... Réflexion faite, ce premier bilan n'a rien de négligeable. Nous possédons un avantage : le petit nombre d'universités, qui permet de se concerter entre nous, de réfléchir et d'envisager des actions communes sans déplacer des montagnes... Un autre point essentiel, c'est la concertation avec nos collègues de l'enseignement secondaire. Nos universités sont destinées à former les futurs enseignants d'histoire des lycées et collèges. Sur ce terrain, nous devons travailler ensemble, et je suis persuadé que notre association pourrait jouer un rôle efficace.

André ZYSBERG


LA CONDUITE DE PROJETS INFORMATIQUES PAR LA METHODE MERISE

Dans le dernier numéro de Mémoire Vive, nous avons présenté la fiche numéro 1, concernant l'expression des besoins informatiques. Nous présentons aujourd'hui les deux fiches suivantes.


FICHE NO 2 : LES OBJECTIFS RECHERCHES

OBJET DE LA FICHE : Préciser la finalité du projet.

QUE VEUT-ON FAIRE ?

  • Positionner le projet dans l'organisme:

    • son origine: l'objectif est de présenter les acteurs du projet (nom, fonction, position hiérarchique) ainsi que l'unité qu'ils représentent (activité, nombre de personnes, relations avec d'autres unités).

    • son énoncé et objectifs envisagés. Classer les principaux objectifs de l'application selon les paramètres suivants:

      • Organisationnels:

        • gérer de gros volumes d'informations
        • faciliter la recherche des documents
        • optimiser les temps de réponse des consultations
        • avoir un accès partagé à l'information
      • Financiers:

        • diminuer le coût du stockage
        • améliorer la productivité
        • commercialiser une base documentaire
  • Préciser son contexte et ses limites:
    S'agit-il - d'un projet stratégique faisant appel aux nouvelles technologies de l'information ?, d'un projet s'intégrant dans un sous-ensemble déjà constitué ?, d'un projet autonome ?

    • repérer les bases documentaires existantes sur un domaine similaire
    • sélectionner les personnes pouvant contribuer à la mise en oeuvre de ce projet ou du moins celles pouvant fournir un support méthodologique
    • inventorier les institutions ou laboratoires abritant des architectures informatiques (serveurs, matériels...)
    • constituer une liste d'entrevues à réaliser et rédiger un questionnaire afin de faciliter la synthèse des entretiens.
  • Déterminer le type d'application à réaliser:
    S'agit-il d'une base documentaire " classique " ? d'un système de gestion documentaire multimedia (liant textes et images) ? de diffusion et de commercialisation d'une base existante sur disque magnétique (recours au CD-ROM, vidéodisque) ?

  • Constituer un groupe de projet (3 à 5 personnes) composé des utilisateurs(décideurs, usagers, informaticiens). Ce groupe sera responsable du suivi et de l'élaboration du projet dans toutes ses phases - conception et réalisation

  • Rédiger un RECUEIL DES BESOINS incluant les parties déjà citées.


FICHE NO 3 : LES MOYENS FINANCIERS

OBJET DE LA FICHE : Chiffrer l'enveloppe budgétaire consacrée au projet, en y incluant l'analyse des besoins ET l'exploitation du système.

COMBIEN CELA COUTE-T-IL ?

  • Considérer les coûts d'étude préalable (phase du recueil des besoins, conseils en organisation documentaire...). On estime à 10% du coût matériel l'étude d'un système d'information à base de disque optique numérique.

  • Evaluer les coûts d'équipement:

    • matériel: le système, les fournitures et les coûts annexes
    • logiciel, qu'il soit standard ou spécifique
      Dans la plupart des cas, des développements devront être effectués.
  • Tenir compte de la FORMATION d'une ou deux personnes de l'équipe à la gestion du système.

  • Chiffrer les coûts d'exploitation du système, en particulier:

    • des extensions futures à apporter au système
    • de la maintenance matérielle et logicielle

Michèle CHAMPAGNE


FORMATION


LE FEUILLETON DE MEMOIRE VIVE
TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR L'EXPLOITATION INFORMATIQUE DES CORPUS PAR LES HISTORIENS SANS JAMAIS AVOIR OSE LE DEMANDER
Troisième épisode : Editer son corpus

Vous avez écrit sur une disquette quelques dizaines d'enregistrements. Même lorsque ce travail a été effectué avec minutie, il subsiste toujours des erreurs, telles que des fautes de frappe, et bien d'autres encore, que vous devrez dépister et éradiquer. La règle du jeu exige une comparaison scrupuleuse entre la source documentaire et le fichier de données qui en est issu. D'où la nécessité, sans attendre la fin de la constitution du ou des fichiers, d'éditer peu à peu le produit de la saisie informatique, c'est à dire d'imprimer des listes, de les collationner avec les documents qui ont servi de source, puis d'effectuer les corrections sur la base de données. Ce processus de vérification sera recommencé autant de fois que nécessaire en se souvenant du fameux adage énoncé par l'historien John Mabillon : "garbage in, garbage out"...

Savoir naviguer dans une base de données

Nous avons "engrangé" 199 enregistrements. Notre fichier comporte donc autant d'expéditions négrières, sauf si nous avons saisi par mégarde des fiches blanches ou fictives, ce qui arrive fréquemment...

Il faut d'abord apprendre à naviguer au sein d'un fichier. Nous avons un repère qui est délivré automatiquement par le logiciel, dans l'ordre de saisie des fiches, c'est le numéro d'enregistrement. Ce numéro servira à faciliter et à préciser les opérations de correction et d'impression. Il est impossible de s'en passer.

Démarrage ordinaire de la session :

.SET DEFAULT TO A
.SET DATE FRENCH
.SET CENTURY ON
.USE NEGRIERS

Quand le fichier de données vient d'être "ouvert", ce que les initiés appellent le "pointeur d'enregistrement" -comme le bras d'un tourne-disque- se positionne toujours sur la première fiche. Nous pouvons piloter ce pointeur comme nous voulons d'un bout à l'autre d'une base de données, à l'aide de la commande GOTO (ou GO) suivie d'un nombre correspondant à un numéro d'enregistrement :

.GOTO 6

Le pointeur se place sur le sixième enregistrement. On peut le vérifier en observant, au bas de l'écran, la ligne de renseignements, qui mentionne ENR : 6/199. Le premier nombre correspond à l'enregistrement courant, et le second au total des fiches.

. GOTO TOP
. GOTO BOTTOM

Le pointeur se place sur le premier enregistrement (TOP), puis sur le dernier (BOTTOM, autrement dit le "fondement" ou le "derrière" de votre base de données...).

La position de ce pointeur ne doit pas être négligée, car toutes les opérations concernant un enregistrement ou un ensemble d'enregistrements se rapportent toujours implicitement à l'enregistrement en cours, celui qui correspond à l'adresse du pointeur. En effet, comme beaucoup de commandes peuvent s'appliquer à tout ou partie d'un fichier, il importe donc de savoir définir leur "étendue". C'est pourquoi nous avons besoin de comprendre le fonctionnement de ce pointeur. Celui-ci peut également se guider au moyen de la commande SKIP :

.GOTO 12
.SKIP

Le pointeur se trouve sur l'enregistrement n° 13. Saut de une position (+1) par défaut).

.SKIP 3

Le pointeur se trouve sur l'enregistrement n° 16 (plus 3 "cases", y compris la position précédente du pointeur).

.SKIP -6

Le pointeur se trouve maintenant sur l'enregistrement n° 10 (moins 6 "cases", y compris la position précédente du pointeur).

Pour connaître le numéro de l'enregistrement courant, il suffit de regarder la ligne d'information qui se trouve au bas de l'écran.

Afficher un enregistrement en mode edit

La commande EDIT permet d'envoyer sur l'écran le contenu d'une fiche, afin de le lire et éventuellement de le modifier. Le résultat apparait identique à celui qu'on obtenait avec la commande APPEND, à ceci près qu'il ne s'agit plus de remplir un questionnaire vierge, mais de corriger ou de compléter des fiches déjà enregistrées.

.EDIT

Affiche l'enregistrement courant

.EDIT 15

Affiche l'enregsitrement n° 15

En "mode" EDIT, la totalité du fichier de données est accessible, non seulement l'enregistrement en cours, mais aussi ceux qui se trouvent devant ou derrière lui. Il est donc possible de faire défiler tout le fichier sur l'écran, jusqu'à ce que l'on atteigne le premier ou le dernier enregistrement. Le curseur est d'abord positionné sur le premier caractère du premier champ de l'enregistrement courant. On le déplace n'importe où. Le déplacement du curseur au-delà du dernier champ de la fiche en cours entraîne l'affichage de la fiche suivante. Même chose pour la fiche précédente si l'on bouge le curseur vers le début du fichier.

Les touches de déplacement sont les mêmes qu'en mode APPEND:

  • les quatre touches "flèche" ;
  • les deux touches de page-écran (haut et bas);
  • la touche "entrée".

Sauf pour les fichiers ne comprenant qu'un petit nombre de champs, la totalité d'un enregistrement ne tient pas sur une seule page-écran. Il est possible d'augmenter la surface de l'affichage en gagnant sur les quatre premières lignes qui vous rappellent le fonctionnement de la commande. Pour cela, on appuie sur la touche F1 (touche de fonction).

Nous pouvons modifier à volonté le contenu de chaque rubrique, en ajoutant, supprimant ou insérant des caractères. Nous agirons de même avec le champ de type "mémo" .On y acccède de la même façon qu'en mode APPEND avec les touches CTRL-HOME et on en revient également avec les touches CTRL-FIN.

Quand les modifications sont-elles effectivement enregistrées? Tant que vous vous trouvez sur la fiche en cours, aucune correction n'est encore prise en compte (sauf dans le cas d'une rubrique de type "mémo" après avoir fait le CTRL-FIN). Dès que vous laissez la fiche en cours pour passser à un autre enregistrement, qui devient l'enregistrement courant, les modifications sur l'ex-fiche courante sont automatiquement enregistrées. Si vous souhaitez (par exemple, pour cause de mauvaise manoeuvre) que les corrections de la fiche en cours (et elles seulement) ne soient pas prises en compte il suffit d'apppuyer sur la touche ESC ou ECHAP, qui vous éjecte du mode EDIT. Si vous voulez sortir du mode EDIT en validant vos dernières modifications, vous pressez CTRL-END (ou FIN).

Afficher des enregistrements en mode BROWSE

Le mode BROWSE affiche les données sous la forme d'un tableau : une ligne par enregistrement et autant de colonnes que la structure comporte de rubriques. C'est une représentation très puissante et très commode, qui facilite notamment le répérage des erreurs et autorise des modifications en série sur une même rubrique. Nous verrons donc de façon détaillée les diverses possibilités de la commande Browse. Elle s'obtient en tapant :

.BROWSE

On peut augmenter l'affichage des lignes de données en agissant sur F1 (gain de 6 lignes ou représentation de 6 enregistrements supplémentaires). Une autre pression sur F1 rétablit l'état antérieur.

En mode BROWSE, l'enregistrement courant apparait toujours en vidéo inverse. Sa numérotation est indiquée dans la ligne d'information, au bas de l'écran, comme pour les autres commandes. Pour faire défiler le fichier du haut vers le bas ou vice versa, il suffit de descendre ou de monter le curseur sur une ou plusieurs lignes à l'aide des touches habituelles de déplacement. Sur le plan horizontal, le curseur se déplace d'un caractère à l'autre avec les deux touches de direction droite et gauche (-> et <-), et d'un champ à l'autre avec la touche "entrée" (active seulement de la gauche vers la droite). Tous les champs ne sont pas visibles en une seule fois, faute de place en largeur sur l'écran. L'étendue de l'affichage dépend de la taille des rubriques.

Dans notre exemple, seul le contenu des cinq premiers champs est immédiatement disponible sur l'écran. Lorsque le curseur parvient au-delà du dernier caractère du cinquième champ, on ne passe pas automatiquement au champ suivant ou à la colonne suivante, mais à l'enregistrement suivant ou à la ligne suivante. Si l'on veut se déplacer latéralement, il faut presser simultanément les touches :

CTRL et -> pour obtenir un déplacement de la "fenêtre" vers la droite;
CTRL et <- pour revenir vers la gauche.

C'est de cette façon que l'on peut afficher progressivement l'ensemble des champs.

Cette "gymnastique" des déplacements vers la droite et vers la gauche devient vite fatigante si l'on doit travailler sur des champs qui ne sont pas tous voisins... Aussi, le mode BROWSE comporte des possibilités qui vous permettent de moduler l'affichage selon vos besoins.

.BROWSE FIELDS NUMEX,DATERETOUR,NOMCAPIT

Avec l'emploi du paramètre FIELDS, vous choisissez les rubriques qui seront affichées en mode BROWSE. Il suffit d'en donner la liste (la virgule joue ici le rôle de séparateur). Autre avantage, c'est vous qui définissez l'ordre des colonnes. Vous pouvez donc juxtaposer des champs qui étaient éloignés les uns des autres lorsque vous avez créé le modèle de saisie. Bien entendu, cette facilité ne change strictement rien à la structure du fichier.

Les options de BROWSE

La commande BROWSE comprend aussi des options, qui peuvent d'ailleurs se combiner avec l'emploi du paramètre FIELDS. Grâce à ces options, cette commande devient un véritable "éditeur". Le texte, ce sont vos données. On entre d'abord dans le mode BROWSE. Sur le bord supérieur de la fenêtre-écran, juste au-dessus de l'intitulé des rubriques de votre fichier, vous trouvez la liste assez sybilline des options : Fin, Début, Enreg. n°, Trouve, Saute, fIge, Gèle.(cf. figure 10)

On positionne le curseur sur la ligne des options en appuyant sur les touches CTRL et HOME (ou DEBUT selon les claviers). Pour choisir une option, on déplace le curseur vers la droite ou vers la gauche à l'aide des touches-flèches de déplacement latéral, puis l'on presse sur la touche "entrée" pour engager l'action.

L'option "FIN" a un effet immédiat. Elle positionne le pointeur d'enregistrement et la ligne "courante" sur la dernière fiche. C'est un moyen rapide pour afficher la queue de votre base de données. Même action avec l'option "Début", mais en sens inverse, vers le premier enregistrement. C'est comme si vous aviez exécuté au clavier les commandes GOTO BOTTOM et GOTO TOP.

L'option "Enreg. n°" fait d'abord apparaître une mini-fenêtre avec un message vous demandant d'entrer un numéro d'enregistrement. Vous tapez le nombre voulu et appuyez sur la touche "entrée". Le pointeur d'enregistrement se placera alors sur le numéro souhaité et la ligne de l'enregistrement courant apparaîtra en vidéo inverse. C'est l'équivalent d'un GOTO suivie du numéro d'enregistrement.

De la même manière, l'option "Saute" vous permet d'exécuter une commande SKIP. Il suffit de donner le nombre de sauts de ligne. Nous n'examinons pas ici l'option "Trouve" qui concerne les fichiers dotés d'une clé d'index.

Ces options de déplacement sont surtout utiles pour les fichiers qui comportent un grand nombre d'enregistrements, plusieurs centaines, voire plusieurs milliers, ce qui évite de faire défiler les pages-écran.

L'option "fIge" vous permet de "clouer" l'affichage d'un ou plusieurs champs à la gauche de l'écran quand vous déplacez la fenêtre-écran sur la droite. Dans l'exemple ci-dessous, nous voulons que le contenu de la rubrique NUMEX (qui sert à identifier les expéditions négrières) demeure constamment visible. Après le choix de l'option, on vous demande d'entrer le nombre de champs qui devront rester "figé" à la gauche de l'écran. En déplaçant le curseur à la droite de la fenêtre, on vérifie que le champ NUMEX reste accroché sur la première colonne.

Avec l'option "Gèle", vous pouvez, quel que soit l'affichage, restreindre la possibilité de modification à un seul champ. Les autres champs demeurent visibles, mais vous n'aurez pas accès à leurs colonnes respectives avec le curseur afin d'opérer des corrections. Après le choix de l'option, on vous demande d'entrer le nom du champ à geler. Vous répondez en tapant le nom d'une rubrique. En fait, ce n'est pas du tout le contenu de la rubrique désignée qui sera "gelé" (c'est même le contraire), mais celui des autres champs...

BROWSE sert également à ajouter des enregistrements. On positionne le curseur sur la dernière ligne du fichier, puis on essaie de descendre au-delà. Au bas de l'écran s'affiche un message qui vous demande si vous voulez ajouter de nouveaux enregistrements. En cas de réponse positive, vous remplissez une nouvelle ligne de données, et ainsi de suite.

On sort de la commande BROWSE :

  • avec la touche ESC ou ECHAP si l'on ne veut pas valider une correction sur la ligne en cours;
  • avec les touches CTRL et FIN si l'on souhaite valider les dernières modifications sur la ligne en cours.

Browse est une commande très complète, mais cet outil exige des précautions d'emploi. Si, en faisant défiler les lignes de votre fichier, vous appuyez par inadvertance sur une touche quelconque, cette erreur de manipulation entraînera une ou plusieurs modifications involontaires... Lorque vous êtes en mode BROWSE, il faut savoir que c'est la totalité de votre fichier qui est disponible et se trouve donc vulnérable : il suffit de presser par erreur une touche pour modifier vos données sans vous en apercevoir...

Les corrections automatiques

Avec EDIT et BROWSE, vous ne pouvez corriger ou compléter vos fiches qu'en tapant au clavier les modifications voulues, enregistrement par enregistrement. La commande REPLACE vous permet d'opérer des corrections automatiques, c'est à dire d'ordonner un changement quelconque sur le contenu de telle ou telle rubrique, qui sera exécuté ensuite par le logiciel sur tout ou partie de votre base de données.

Exemple.

Toutes les expéditions négrières de notre fichier concernent l'armement nantais. Lors de la saisie, nous avons laissé en "blanc" la rubrique PORTARMT, afin de la remplir en une seule opération à l'aide de la commande REPLACE :

.REPLACE ALL PORTARMT WITH "NANTES"
199 remplacement(s)

Ce qui signifie : pour tout le fichier, remplace le contenu actuel de la rubrique PORTARMT par la chaîne de caractères "NANTES". Avec nos 199 enregistrements et un micro-ordinateur assez poussif, cette commande s'exécute en deux à trois secondes. Un message vous indique le nombre d'enregistrements qui ont fait l'objet d'un remplacement.

L'usage du paramètre ALL est indispensable si l'on veut que la commande porte sur la totalité des enregistrements. Les autres paramètres d'étendue sont : REST, NEXT n, RECORD x. Le premier fait porter la commande sur le reste du fichier à partir de l'enregistrement courant ; le second sur n enregistrements à partir de l'enregistrement courant; le troisième sur un seul enregistrement de numéro x. Si le paramètre d'étendue est omis, la commande REPLACE portera uniquement (par défaut) sur l'enregistrement courant.

Après la précision de l'étendue, l'on indique la rubrique qui doit subir une modification, puis on introduit par le mot-clé WITH la modification elle-même.

On ne peut remplacer le contenu d'une rubrique que par une expression dont le statut correspond au type de la rubrique à modifier.

Dans l'exemple cité, PORTARMT est une rubrique de type caractère, donc l'expression de remplacement sera obligatoirement une chaîne de caractère -délimitée par des guillemets- ou une variable de type caractère. Si nous avions tapé : REPLACE ALL PORTARMT WITH NANTES, la commande n'aurait pas été exécutée et nous n'aurions obtenu qu'un message d'erreur. La commande : REPLACE ALL PORTARMT WITH "456" sera syntaxiquement correcte, même si pour nous elle n'a aucun sens, car l'expression "456" est effectivement une chaîne de caractères. C'est l'encadrement par les guillemets qui signifie : ceci est une chaîne de caractères, car il faut pouvoir distinguer les chaînes de caractères (qui peuvent contenir n'importe quels caractères, y compris des chiffres) des nombres ou expressions numériques qui seront tapées sans délimiteurs.

Envisageons le fonctionnement de la commande REPLACE avec une rubrique de type numérique. Laissons ici les navires négriers pour imaginer un fichier d'objets quelconques dont les longueurs sont mesurées en pieds du roi, pouces et lignes. Il est inutile de traduire ces longueurs dans notre système métrique avant la saisie informatique des données. La structure du fichier comprendra trois champs de type numérique dans lesquels nous reporterons la valeur des mesures en pieds, pouces et lignes, que nous appellerons respectivement LGPIEDS, LGPOUCES et LGLIGNES. Nous aurons aussi prévu un champ LGCTMETRE (longueur en centimètres), de type numérique, comportant deux ou trois chiffres décimaux (selon le degré de précision souhaité), qui ne sera pas rempli "à la main", enregistrement par enregistrement, mais automatiquement, après la saisie des mesures anciennes, à l'aide de la commande REPLACE :

.REPLACE ALL LGCTMETRE WITH LGPIEDS*33.67+LGPOUCES*2.8+LGLIGNES*0.23

Sachant qu'un pied du roi vaut 33,67 cm, que ce pied comprend 12 pouces et que le pouce se subdivise en 12 lignes, nous obtenons les coefficients qui permettront de convertir nos mesures de longueur en centimètres. Le signe * est l'opérateur de multiplication.

L'on voit que l'expression suivant le mot WITH peut combiner:

  • des opérateurs artihmétiques (+,-,*,/);
  • des valeurs constantes ou valeurs littérales, sous la forme de nombres ou de chaînes de caractères;
  • des champs correspondant à la structure du fichier en cours d'utilisation.

La commande REPLACE permet donc d'exécuter des calculs et de conserver le résultat de ces calculs dans une rubrique à l'intérieur du fichier de données. La formule du calcul, c'est l'expression qui suit le mot clé WITH. Cette possibilité s'avère très commode pour toutes les opérations de conversion d'unité.

L'usage de la commande REPLACE pose le problème des expressions, de la manipulation des différents types de valeurs et de la hiérarchie des différents opérateurs avec DBASE. Nous examinerons de façon détaillée tout ce qui concerne les expressions dans un prochain épisode. On verra notamment que la portée de la commande REPLACE peut être limitée ou précisée en recourant à des opérateurs logiques : je veux que ceci s'exécute si telle et/ou telle condition est remplie...

La commande REPLACE sert également à remplacer le contenu d'un champ par celui d'un autre champ. Par exemple, je ne suis pas pas satisfait de l'intitulé de la rubrique NOMBATEAU, et je préférerai l'appeler NOMNAVIRE... Si je change directement son nom avec la commande MODIFY STRUCTURE, je perd son contenu... On peut procéder de la façon suivante.

D'abord, avec la commande MODIFY STRUCTURE, créer une nouvelle rubrique NOMNAVIRE , qui possède exactement les mêmes caractéristiques que le champ NOMBATEAU.

On utilise ensuite la commande REPLACE pour remplir automatiquement le champ NOMNAVIRE avec le contenu du champ NOMBATEAU :

.REPLACE ALL NOMNAVIRE WITH NOMBATEAU
199 remplacement(s)

Après avoir vérifié la bonne exécution de cette opération, on pourra supprimer le champ superflu, NOMBATEAU, à l'aide de la commande MODIFY STRUCTURE.

Comment insérer des enregistrements?

En mode APPEND ou en mode BROWSE, les enregistrements s'ajoutent à la file, selon l'ordre de leur saisie. Il est également possible d'intercaler de nouvelles fiches à l'aide de la commande INSERT. On ne peut insérer qu'un seul enregistrement à la fois.

.GOTO 6
.INSERT

L'insertion s'effectue implicitement juste après l'enregistrement courant. Si je veux placer une nouvelle fiche entre les enregistrements 6 et 7, il faut que le pointeur soit positionné au numéro 6. L'exécution de la commande INSERT fait apparaître un questionnaire vierge. On le remplit comme en mode APPEND, puis on presse CTRL END pour valider. Le nouvel enregistrement portera le N° 7, tandis que l'ex n°7 aura désormais le N°8, et ainsi de suite jusqu'au dernier.

On peut aussi effectuer une insertion avant l'enregistrement courant :

.GOTO 12
.INSERT BEFORE

Lorsque l'insertion est validée, le nouvel enregistrement prend le numéro 12, tandis que l'ex n°12 devient le n°13, etc. Notre fichier compte maintenant 201 fiches.

Comment supprimer des enregistrements?

La suppression d'un ou plusieurs enregistrements s'effectue toujours en deux temps. On choisit d'abord le ou les enregistrements que l'on souhaite effacer, puis on les élimine définitivement de la base de données. Seule la seconde étape est irréversible (du moins si on ne possède pas une copie de l'état antérieur du fichier, ce qui est la précaution la plus élémentaire...).

Première étape : marquer pour efffacer.

On se sert de la commande EDIT ou de la commande BROWSE. En mode EDIT, le jeu consiste à faire apparaître sur l'écran l'enregistrement à effacer, puis à le marquer en pressant les touches CTRL U. La ligne d'information de l'écran indique : "Eff" avec FOXBASE et "*DET*" avec DBASE

On peut réaliser plus rapidement et surtout répéter la même opération en mode BROWSE. Il suffit de placer successivement le curseur sur les lignes correspondant à tel ou tel enregistrement, puis de presser à chaque fois les touches CTRL U dès que l'on veut marquer une fiche. Les enregistrements ainsi "apostillés" ne sont pas encore détruits. En cas de repentir, Il suffira de les faire réapparaître à l'écran (en mode EDIT ou en mode BROWSE) et de taper à nouveau CTRL U pour annuler le marquage "Eff".

On peut marquer directement un ou plusieurs enregistrements au moyen de la commande DELETE :

.DELETE

Marque uniquement l'enregistrement courant.

.DELETE RECORD 12

Marque l'enregistrement n°12 quelle que soit la position du pointeur.

.DELETE NEXT 5

Marque cinq enregistrements à partir de la position du pointeur.

.DELETE REST

Marque le reste du fichier à partir de la position du pointeur.

.DELETE ALL

Attention : marque tous les enregistrements.

Les paramètres RECORD, NEXT, REST et ALL n'ont rien de particulier. Ce sont les paramètres d'étendue, que l'on utilise avec d'autres commandes (par exemple REPLACE), qui servent à délimiter la partie du fichier qui sera concernée par telle ou telle opération. Si l'on veut démarquer un et surtout plusieurs enregistrements qui étaient destinés à l'effacement, il est possible de recourir à la commande RECALL avec un paramètre d'étendue.

.RECALL ALL

Annule tous les marquages précédents.

.RECALL NEXT 6

Annule le marquage de six enregistrements à partir de la position du pointeur.

Pour supprimer vraiment tous les enregistrements (tous, sans exception) qui auront été marqués, il suffira de taper :

.PACK
197 enregistrements copiés

Notre fichier comptait 201 fiches. Si l'on a marqué auparavant les fiches n°7 et 12, ainsi que deux autres enregistrements fictifs, l'on peut vérifier avec la commande BROWSE que ces quatre enregistrements ont effectivement disparu de la base de données NEGRIERS.

Le message qui achève l'exécution de la commande PACK ne vous dit pas combien de fiches ont été supprimées, mais vous renseigne sur le nombre d'enregistrements "copiés". La commande PACK procède de la manière suivante. Elle recopie le fichier de départ en ne prenant que les enregistrements qui n'ont pas été marqués pour l'effacement. La nouvelle version se substitue irrémédiablement à la version précédente. D'où l'impérieuse nécessité, avant de lancer la commande PACK, de réaliser une copie de votre fichier de données. Après l'exécution de PACK, les enregistrements sont renumérotés. Ceci signifie que les numéros d'enregistrement ne peuvent pas représenter des repères permanents (d'autant que d'autres commandes comme INSERT agissent aussi sur la numérotation), et qu'il est donc nécessaire, lors de la définition de la structure du fichier, de prévoir un champ permettant d'identifier à coup sûr un enregistrement. Dans notre base sur les navires négriers, c'est la rubrique NUMEX qui assure ce rôle de champ identificateur.

Comment imprimer vos données?

C'est la première action à laquelle pensent tous les néophytes de l'informatique: la possession d'une trace "papier" vous donne la preuve tangible et palpable que vous n'avez pas travaillé pour le roi de Prusse, que vous pouvez récupérer les milliers d'informations enregistrées sur un support informatique. Ce souci est parfaitement légitime. N'écoutez pas ceux qui vous conseillent d'épargner le papier listing sous le prétexte fallacieux de sauvegarder quelques sapins de la forêt nordique. Bien au contraire, effectuez dès que possible une impression complète du contenu de votre base de données. Le dépouillement minutieux de cette liste constituera le moyen le plus efficace (car la lecture sur écran est très fatigante) de dépister des erreurs. Récidivez quand cela sera nécessaire : après avoir effectué un gros paquet de corrections, n'hésitez à pas rééditer vos données.

A l'évidence, toutes les explications suivantes supposent qu'une imprimante est connectée à votre micro-ordinateur, et surtout que vous n'avez pas oublié de la mettre sous tension ...

La façon la plus simple de procéder : on affiche les données en mode BROWSE (nous avons vu qu'il était possible de moduler cet affichage ), puis on imprime la page-écran à l'aide de la touche ad hoc, on passe à la page-écran suivante, on l'imprime, et ainsi de suite... Avec un gros fichier, cette façon de procéder s'avère fastidieuse. Il vaudra mieux recourir à la commande LIST.

.LIST NOMNAVIRE,DATEDEPART,DATERETOUR TO PRINT

Après avoir tapé l'ordre LIST, on énumère les rubriques dont on veut lister le contenu (en utilisant la virgule comme séparateur), sans oublier le paramètre TO PRINT si l'on veut une sortie sur l'imprimante, car autrement l'ordre LIST s'appliquerait uniquement à l'écran. L'on obtient un tableau de données. Comme en mode BROWSE, les colonnes correspondent aux champs et les lignes à chaque enregistrement. Si vous ne spécifiez pas les noms de champs, la commande éditera automatiquement le contenu de toutes les rubriques... Par défaut, la commande list s'applique à l'ensemble des enregistrements (ALL). Si l'on veut restreindre l'impression à telle ou telle partie du fichier, il faudra donc utiliser un paramètre d'étendue :

.GO TO 50
.LIST NEXT 10 NOMNAVIRE TO PRINT

On obtient la liste des noms de navires pour un sous-ensemble de 10 enregistrements à partir du n°50.

Outre les champs, l'ordre LIST... TO PRINT imprime automatiquement, en première colonne, les numéros d'enregistrement, ce qui est bien commode pour préparer des corrrections. Pour supprimer cette possibilité, il suffit de mentionner le paramètre OFF :

.LIST OFF NEXT 10 NOMNAVIRE TO PRINT

Pour améliorer l'impression, avec au passage quelques remarques sur les fonctions

La largeur d'une ligne d'impression est limitée à 80 caractères. Si le contenu de la commande LIST dépasse cette limite, il s'éditera sur deux ou trois lignes et vous obtiendrez un gros pâté peu lisible... La plupart du temps, vous serez donc contraint de fractionner l'édition de vos données, car il vaut mieux s'en tenir à une sortie où la longueur de la ligne-enregistrement (c'est à dire la somme de la longueur maximale des champs spécifiés dans la commande LIST) ne dépasse pas 80 caractères...

L'on a deviné que les possibilités d'impression ne sont pas le côté fort de DBASE ou FOXBASE. Il existe cependant deux astuces pour augmenter sensiblement la longueur d'une ligne d'impression. La première consiste à éditer vos données en utilisant les caractères en mode compressé de votre imprimante, ce qui permettra de loger 132 caractères sur une ligne au lieu de 80. Le gain n'est pas négligeable. On procède de la manière suivante :

.SET PRINT ON
Grognement d'aise de l'imprimante.

.?CHR(15)
Gargouillis de l'imprimante.

.LIST NOMNAVIRE, NOMCAPIT
Elle imprime les données.

Il faut d'abord relier directement votre logiciel à votre imprimante au moyen de la commande SET PRINT ON. Tant que cette commande restera active, tout ce qui apparaîtra sur l'écran, y compris ce que vous taperez au clavier sera imprimé au fur et à mesure. La seconde commande peut se traduire ainsi : envoie ou imprime (le "?" est une commande qui signifie affiche à l'écran ou imprime) le code caractère 15 ou CHR(15). Pour chaque type de micro, tous les caractères sont affectés d'un code numérique, y compris les caractères spéciaux qui permettent de piloter l'imprimante.

C'est de cette façon que les petits futés peuvent sortir des soulignés, des gras et d'autres fioritures typographiques avec DBASE en envoyant, avant l'impression de leurs données, les codes ad hoc (ils se trouvent sur le manuel de l'imprimante) au moyen de la commande ?CHR (code caractère). Le code 15 correspond à l'écriture en mode compressé... L'écran affiche alors quelques caractères sybillins signifiant que vous avez désormais droit à 132 caractères par ligne, et le tour est joué. Puis l'on tape la commande LIST... (La commande SET PRINT ON vous dispense de préciser TO PRINT.). (cf. figure 19)

L'autre façon consiste à supprimer les zones de blancs se trouvant à la droite des champs qui n'ont pas été complètement remplis. Le contenu d'une questionnaire déjà enregistré n'est jamais vide : à défaut de réponse, il sera plein de blancs... Par exemple, si nous avons prévu une dimension de 80 caractères pour la largeur du champ ARMATEURS, cela signifie que lors de l'impression des données, l'édition du champ armateur mobilisera à chaque fois 80 cases ou espaces, même quand son contenu effectif se limitera à une vingtaine de caractères... Mais dans certains cas, à vrai dire peu nombreux, le champ ARMATEUR nécessitera vraiment 70 ou 80 caractères (cf.figure 20)

L'ordre TRIM permet d'éliminer les blancs de droite. Il s'agit d'une fonction et non pas d'une commande. Les fonctions sont des ordres qui s'insèrent dans une ligne de commande. Elles ne ne peuvent jamais être employés isolément. On reconnait une fonction à sa syntaxe, qui se compose toujours d'un mot-clé suivi d'une ouverture et d'une fermeture de parenthèses. Un ou plusieurs arguments, ainsi que des expressions peuvent se trouver à l'intérieur des parenthèses. Nous avons déjà vu deux fonctions: CHR et TRIM. La première nécessite comme argument une valeur numérique correspondant à un code de caractère; la seconde a besoin d'une expression ou d'une rubrique de type chaîne de caractère. Si nous appliquons la fonction TRIM à une rubrique de type numérique, nous obtenons un message d'erreur. On ne peut pas mettre plusieurs arguments en facteur : taper TRIM(NOMCAPIT,ARMATEURS) entraînera un message d'erreur.

Certaines fonctions ne nécessitent aucun paramètre, mais même dans ce cas, elles comporteront toujours une ouverture et une fermeture de parenthèses. C'est le cas de la fonction RECNO() qui contient le numéro de l'enregistrement courant :

.?RECNO()
Enreg. 197

Ceci signifie : affiche ou imprime (commande ?) le numéro d'enregistrement correspondant à la position actuelle du pointeur.

Une fonction renvoie une valeur qui peut être un nombre (cas de la fonction RECNO), une chaîne de caractères (cas de la fonction CHR), une date ou une valeur logique. Pour connaître cette valeur, il faut donc vouloir l'afficher ou l'imprimer. C'est pourquoi l'usage d'une fonction est souvent associé à la commande "?". Par exemple, la fonction EOF() (abréviation de "end of file") vous indique si le pointeur d'enregistrement se trouve au-delà de la dernière fiche :

.GOTO BOTTOM
.?EOF()
.F.
.SKIP
?EOF()
.T.

Lorsque le pointeur est déplacé après le dernier enregistrement, la fonction EOF() renvoie la valeur .T. (vrai ou "true"). Cette fonction est surtout utilisée en programmation.

Pour en finir avec l'impression

Attention : nous sommes toujours sous l'effet de la commande SET PRINT ON et de l'impression en mode compressé. Si nous voulons revenir au mode cractère normal, il faudra taper :

.?CHR(18)

Si nous voulons couper le lien entre l'affichage sur l'écran et l'imprimante, nous taperons :

.SET PRINT OFF

La mise à jour d'un fichier exige seulement de la minutie et de la rigueur. Vous manipulerez très fréquemment les commandes EDIT, BROWSE, et de temps à autre les commande REPLACE, INSERT, DELETE et PACK. Gare aux fausses manoeuvres! Prenez toujours la précaution de réaliser une copie de votre base de données avant d'opérer des modifications, même s'il s'agit de changements mineurs : on ne sait jamais ce qui peut arriver... Servez-vous de LIST. Epluchez vos listings afin de déceler les erreurs. Le prochain épisode sera un peu plus excitant sur le plan intellectuel et présentera plus de rapports avec le métier d'historien : nous verrons comment extraire et conserver des résultats.

N'oubliez pas que c'est en forgeant que l'on devient forgeron. La seule lecture de ce feuilleton ne vous procurera rien d'autre qu'un ennui irrépressible. Il s'agit d'un savoir-faire que vous devrez adapter à vos sources documentaires. Son bon usage exige donc un apprentissage ou une expérience concrète de la micro-informatique...

André ZYSBERG