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
par un projet concret
-Construction d’un prototype de base documentaire(Notion de base documentaire)
Marie-Noëlle Terrasse, Joël Savelli, Eric Lecl...