Construction d`un prototype de base documentaire

Transcription

Construction d`un prototype de base documentaire
Initiation à l’informatique et à la programmation
par un projet concret
-Construction d’un prototype de base documentaire(Introduction)
Marie-Noëlle Terrasse, Joël Savelli, Eric Leclercq, Marinette Savonnet
Département IEM, Université de Bourgogne
21 janvier 2005
Ce cours est organisé autour d’un projet qui consiste à créer une base documentaire avec thésaurus à partir
des mots utilisés dans les fiches techniques associées aux images d’un fond documentaire (par exemple en
archéologie1, minéralogie2 . Cette introduction commence par un bref rappel des faits marquants de l’histoire
de l’informatique. Suit une présentation des notions de développement de projet, de base documentaire et de
thesaurus en informatique.
1
Définition et usage de l’informatique
L’informatique est la “science de l’information” c’est à dire (Dictionnaire Robert) :
l’ensemble des techniques de la collecte, du tri, de la mise en mémoire, de la transmission et de l’utilisation
des informations traitées automatiquement à l’aide de programmes (logiciels) mis en oeuvre sur ordinateurs.
D’un point de vue historique, on peut faire remonter le traitement automatique de l’information à la machine de
Babbage3 . Plusieurs noms importants marquent la période préparatoire à la construction du premier ordinateur
dont Alan Turing4 et John Louis Von Neumann5 . Le premier ordinateur –au sens actuel du terme– a été construit
en 1945 : il s’appelait l’ENIAC6 .
Les ordinateurs ont tout d’abord été utilisés pour le calcul scientifique. Ils ont ensuite pris en charge les applications de gestion. Aujourd’hui, à travers des logiciels et des technologies très variées, ils permettent de
traiter aussi du texte, du son, des images ou des vidéos. Les ordinateurs sont devenus indispensables partout :
communication, surveillance de processus industriels, transports, etc.
Exercice 1- Les usages de l’informatique
i) Trouver des exemples d’utilisation de l’informatique dans divers domaines de la vie quotidienne.
ii) Que peut-on dire de l’évolution de l’informatique de gestion en quelques décennies (vous pouvez vous inspirer
des systèmes informatiques de banques, de grandes surfaces, d’administration, etc.) ?
1 Voir
par exemple le site d’URL http : //www.archeologie − aerienne.culture.gouv.f r.
2 Voir
par exemple le site d’URL http : //www.gemsbrokers.com/f rench.
3 Charles
Babbage, P lanf orAnalyticalEngine en 1858, voir http : //www.ex.ac.uk/BABBAGE.
4 Alan
Turing, T heT uringmachine : OnComputableN umbers, 1936, voir http : //www.turing.org.uk.
5 John
Louis Von Neumann, mathématicien, (1903-1957), voirei.cs.vt.edu/˜history/V onN eumann.
6 ENIAC
(Electronic Numerical Integrator and Computer), voir ei.cs.vt.edu/˜history/EN IAC.Richey.HT M L.
1
2
iii) Que peut-on dire des changements apportés par internet dans la vie quotidienne ?
On peut considérer que l’évolution de l’informatique “moderne” est constituée de quatre grandes phases :
L’informatique centralisée (avant 1987) est caractérisée par l’utilisation de grosses machines dans de grandes
entreprises ou des administrations.
L’informatique client-serveur (1987-1995) pendant laquelle chaque unité d’une grande entreprise (puis peu
à peu chaque entreprise de taille moyenne) développe –de façon indépendante– sa propre plateforme
informatique (cette plateforme étant adaptée aux besoins des seuls employés du service).
L’informatique de l’information (1995-2000) caractérisée par l’ouverture sur internet (qui permet la communication entre l’entreprise et le monde extérieur) et l’apparition du concept d’intranet (qui permet la
communication à l’intérieur de l’entreprise).
L’informatique de communication (depuis 2000) qui introduit largement le mobile et met en avant le lien
entre les nouvelles technologies de communication et une informatique qui devient “interactive, multiplateforme, immédiatement disponible”.
Exercice 2- Informatique et nouvelles technologies de la communication
i) Quels sont les nouveaux moyens de communication qui font des ordinateurs de vraies “machines à communiquer” ?
ii) Donnez des exemples d’utilisation de l’informatique portable.
2
Les ordinateurs
Les ordinateurs prennent aujourd’hui des formes très variées : de l’ordinateur personnel (lancé par IBM en 1981)
au super calculateur7 , de l’informatique mobile à l’informatique embarquée ou sans fil.
Exercice 3- Les différents types d’ordinateur
Proposez une ou plusieurs applications –de nos jours– pour les différents types d’ordinateur : personnel, supercalculateur, portable, informatique embarquée.
La composition d’un ordinateur est la suivante :
– La partie “matérielle” : la carte mère (sur laquelle tous les autres composants sont connectés), le processeur
qui est la partie active (celle qui traite l’information), les bus (permettant de transférer les informations d’un
composant à un autre), la mémoire centrale dans laquelle l’information en cours d’utilisation est stockée), les
périphériques (qui permettent la communication avec l’extérieur) : clavier, écran et souris, imprimante,
joystick, modems, les mémoires externes (pour stocker de gros volumes d’information : disques durs,
disquettes, DVD, CD-ROM, etc.).
– La partie “logicielle” : le système d’exploitation (qui contrôle les actions des différents composants), les langages de programmation (pour faire faire ce que l’on souhaite à l’ordinateur), les utilitaires et logiciels
de haut niveau (bases de données, outils graphiques, outils statistiques, etc.).
2.1
Les réseaux
A l’heure actuelle, la plupart des ordinateurs sont connectés entre eux par internet. Il s’agit d’un mode de
communication entre ordinateurs qui a été développé à l’échelle mondiale. Les réseaux sont construits sur
plusieurs types de supports physiques de transmission tels que le téléphone, le satellite, des cables spécialisés.
Le principe de base est l’utilisation d’une adresse pour chaque ordinateur (appelée adresse internet, par exemple
193.50.50.2) et d’une organisation hiérarchique. Chaque ordinateur fait partie d’un réseau, les réseaux sont
interconnectés entre eux : par exemple l’ordinateur d’adresse 193.50.50.2 est dans le réseau de l’Université de
Bourgogne qui est un des composants du réseau français des universités (le réseau RENATER 8 ), RENATER est
7 Le
premier super calculateur, lancé en 1976, est le Cray 1, voir http : //www.thocp.net/hardware/cray1.htm.
8 De façon plus précise, RENATER est le Réseau National de Télécommunications pour la Technologie, l’Enseignement et la
Recherche, voir www.renater.f r
3
un composant du réseau européen GEANT pour la recherche, le réseau GEANT est interconnecté avec les réseaux
pour la recherche aux Etats-Unis (STAR TAP), etc.). A partir de l’adresse de l’ordinateur (193.50.50.2) on peut
retrouver le réseau dont fait partie cet ordinateur (d’adresse 193.50). Lorsqu’une information est envoyée à un
ordinateur, elle est tout d’abord adressée à son réseau qui la renvoie uniquement sur l’ordinateur destinataire 9 .
La connexion des ordinateurs à internet se fait soit par des lignes spécialisées (pour les grandes et moyennes
entreprises et administrations essentiellement) ou via les lignes téléphoniques (connection par modem standard
ou modem ADSL). Selon le type de connexion, le coût et les performances (volume et temps de transfert) varient
de façon signifivative.
De nombreux services de la vie quotidienne sont maintenant accessibles par internet : information et inscription
pour la plupart des établissements de l’Education Nationale, SNCF, annuaire mais aussi vente en ligne, bourse,
comptes bancaires, recherche d’itinéraires routiers, programmes de cinéma, informations touristiques, météo,
jeux, etc. Certains de ces services manipulent des informations “sensibles” et doivent donc être protégés : il
faut vérifier l’identité de l’utilisateur (c’est l’authentification) et garantir que les informations ne sont ni lues ni
modifiées pendant leur transit sur le réseau (c’est la sécurisation de la communication).
Exercice 4- Vie quotidienne et internet
Trouver des exemples de services qui utilisent internet.
Exercice 5- Tests
i) Lorsque je paye avec ma carte bancaire dans un magasin quels sont les ordinateurs qui interviennent ?
ii) Lors d’un achat en ligne, comment savoir si l’envoi de mon numéro de compte bancaire est sécurisé ?
iii) Un VRP peut depuis son ordinateur portable (par exemple depuis sa voiture) accéder à la base de données
de son entreprise pour effectuer une commande ou vérifier qu’un produit est bien en stock : comment ?
iv) Lorsque je passe à proximité d’un magasin, je peux recevoir automatiquement sur mon téléphone portable
une publicité venant de ce magasin. Vrai ou faux ?
v) Qu’est ce que le logiciel libre ?
3
Résolution d’un problème à l’aide d’un ordinateur
Il existe deux grandes approches de résolution d’un problème à l’aide d’un ordinateur. La première approche
est la programmation pure et dure qui consiste à concevoir de toutes pièces un programme adapté au problème
à résoudre. La seconde approche consiste à réutiliser des outils existants, à les combiner afin de produire un
logiciel permettant de résoudre le problème.
3.1
La programmation : problèmes et programmes
La construction et l’utilisation de programmes informatiques pour résoudre –en utilisant des ordinateurs– des
problèmes est en fait une chaîne complexe d’activités que l’on peut résumer de la façon suivante :
– Quel problème ? : Définir le problème et son contexte afin de savoir exactement ce qui doit être fait et
quelles sont les contraintes (temps de construction du programme, qualité des résultats, types de machines et
de réseaux disponibles, etc.). Ceci se traduit par un document qui peut prendre des formes diverses : énoncé
du problème, spécification du problème, cahier des charges du système, etc.
– Quelle solution (abstraite, théorique) ? : Choisir parmi les différentes façons de résoudre le problème
celle qui convient le mieux (meilleur équilibre entre qualité de la solution et coût). C’est l’algorithme du
programme qui indique quelles informations doivent être stockées et quels calculs il faut faire 10 .
– Quelle solution (concrète sur machine) ? : Prendre en compte les limitations de l’ordinateur afin de
rendre opérationnelle la solution théorique. C’est le programme (écrit dans un langage de programmation,
i.e., lisible par un humain).
9 Sauf dans le cas particulier de l’ADSL par satellite où chaque ordinateur du réseau reçoit en permanence toutes les informations
pour tous les ordinateurs du réseau et “trie” dans ce flot d’informations celles qui lui sont destinées.
10 Lorsqu’il
s’agit d’une application complexe, on parle de modèle du système et non plus d’algorithme du programme.
4
– Quelle solution (utilisable sur machine) ? : Traduire le texte du programme en instructions assez simples
pour être exécutée par l’ordinateur. C’est le code exécutable. On appelle compilation cette phase de traduction.
– Cette solution convient-elle ? : Tester si le programme lorsqu’il s’exécute produit bien les résultats attendus dans un temps raisonnable.
– Exploiter cette solution : Il s’agit d’exécuter le programme aussi souvent que nécessaire afin de produire
les résultats attendus. Lors de cette exploitation il peut y avoir des modifications à faire : soit parce que
certains cas n’ont pas été prévus (c’est la correction des erreurs) soit parce que l’on a besoin de nouvelles
informations (c’est la mise à jour, la maintenance).
3.2
La combinaison d’outils existants
Cette seconde approche consiste à :
– imaginer une décomposition de l’outil (du logiciel) visé en sous-outils (de moindre envergure),
– chercher des logiciels disponibles répondant plus ou moins à la définition de ces sous-outils,
– adapter chaque sous-outil (éventuellement en écrivant de “petits” programmes d’adaptation),
– à combiner ces sous-outils pour constituer le logiciel de résolution du problème.
Les différents sous-outils peuvent être programmés dans des langages différents. Par exemple dans le cadre de
notre projet (le programme de construction de thesaurus à partir des fiches d’un fond documentaire), nous
pouvons proposer la méthode de travail suivante :
Décomposition de l’outil Pour cette application nous devons effectuer les opérations suivantes :
1. Collection des textes à traiter à partir de la base documentaire choisie.
2. Analyse des textes de façon à récupérer les mots de la spécialité qui sont susceptibles d’apparaître dans
le thésaurus.
3. Calcul de statistiques et présentation des résultats sous une forme assez lisible pour servir de base à une
discussion avec les spécialistes du domaine.
4. Constitution de la liste des mots à inclure dans le thesaurus. Il est possible pendant cette phase de
supprimer des mots qui avaient été trouvés dans les textes de référence et d’ajouter des mots qui n’ont
pas été trouvés mais que les experts considèrent comme essentiels.
5. Mise en place de la structure du thesaurus pour l’ensemble des mots choisis à l’étape précédente.
6. Test de qualité du thesaurus et analyse des résultats. Retour éventuel à la phase 4 si les résultats ne sont
pas satisfaisants.
Composants logiciels disponibles Nous allons mener le projet de façon semi-automatique : certaines phases
seront réalisées par l’ordinateur, d’autre pouvant être –au moins en partie– réalisées par vous. Ceci nous donne
le schéma de travail suivant :
1. Collection des textes : effectuée par les programmeurs en récupérant via internet les textes à traiter. Dans
le cas de notre projet (traitement d’un nombre limité de fiches) le traitement manuel sera plus rapide.
2. Analyse des textes : le choix des mots sera fait par les experts du domaine. Les programmeurs utiliserons
un analyseur de textes (outil awk sous Unix) pour retrouver toutes les fiches contenant les mots retenus
par les experts.
3. Calcul de statistiques : L’outil awk sera utilisé pour faire les calculs. La présentation des résultats sera
faite en utilisant l’outil gnu-plot sous Linux.
4. Constitution de la liste : effectuée manuellement par les programmeurs sous contrôle des experts.
5. Mise en place de la structure du thesaurus : la mise en forme du thesaurus sera faite en utilisant awk
autant que possible mais des interventions manuelles seront nécessaires.
6. Test de qualité du thesaurus : les tests seront faits en utilisant awk, les statistiques sur la qualité des
réponses aussi (avec présentation des résultats avec gnu-plot).
Adaptation et combinaison des composants logiciels Les composants logiciels étant faits pour être
programmés, le seul besoin d’adaptation sera celui des enchaînements : par exemple produire avec awk des
résultats de calcul qui soient directement utilisable par gnu-plot.

Documents pareils

Initiation à l`informatique et à la programmation

Initiation à l`informatique et à la programmation Initiation à l’informatique et à la programmation par un projet concret -Construction d’un prototype de base documentaire(Notion de base documentaire) Marie-Noëlle Terrasse, Joël Savelli, Eric Lecl...

Plus en détail