Journal de bord

Binôme  |  Présentation  |  Réalisation  |  Problèmes et Solutions


Notre Binôme : profil

Acquis antérieurs

> Marguerite > Marianna Apprentissages

> Marguerite > Marianna

Retour

Présentation du projet

Objectif:

Rechercher dans quels contextes on peut trouver un mot, en l'occurrence le mot barrage.
Automatiser la tâche de récupération et d'affichage des contextes.


En détails:
  1. Recherche des pages web contenant le mot
  2. Récolte des URLs de ces pages et regroupement par sens dans différents fichiers
  3. Automatisation
    • Aspiration des pages Web (à partir des URLs) dans le répertoire PAGES-ASPIREES, à l'aide de la commande wget
    • Récupération du contenu des pages à l'aide de la commande lynx -dump
    • Filtrage du co-texte de chaque occurrence du mot avec la commande egrep
    • Création d'un tableau de liens présentant les résultats


Retour


Réalisation du projet

> Récolte des URLs

Cette étape préliminaire a été réalisée manuellement.
Il s'est agi, avec Google, de chercher une cinquantaine de pages contenant le mot barrage. On en a ensuite listé les URLs dans un fichier texte. Nous avons également classé les adresses par sens.
On a donc obtenu 8 fichiers d'URLs correspondant aux différents usages du mot. Ces fichiers textes ont été rangés dans le répertoire LISTES-URL.

Amorce de classement lexicologique - Adapté de l'ATILF

Atilf, sens de barrage - substantif masculin
Quelques remarques pour une amorce de classement lexicologique :
Le mot ‘barrage’, bien qu’il soit davantage représenté dans ce relevé par l’acception ‘barrage hydraulique’, est également attesté pour des emplois spécifiques, tels le barrage ‘de guitare, de piano’, par exemple, ou encore dans le sens particulier de ‘match de barrage’ (qui constitue, semble-t-il, une locution figée). Il faut remarquer que ‘barrage’ employé comme nom commun est le plus souvent modifié par un Adjectif Relationnel (par exemple ‘routier’, ‘hydraulique’, ‘antipollution’) lorsque le référent est concret, empiriquement existant. Cependant, comme le montre l’hétérogénéité des sens regroupés dans la catégorie ” barrage comme ‘opposition à quelque chose’ “, une grande variété de sens compositionnels, sont issus de l’association du nom commun ‘barrage’ à un Syntagme Prépositionnel introduit par la Préposition ‘contre’ (’barrage contre le Front National’, ‘barrage contre le Gouvernement’, ‘barrage contre les insectes’, etc…). Par ailleurs, il est intéressant se remarquer que le sens ‘opposition à quelque chose’ pourrait, en quelque sorte, constituer le sémantème hyperonyme de toutes les autres acceptions de ‘barrage’, qui constitueraient donc des sens dérivés. Le mot ‘barrage’ est également attesté dans son emploi comme nom propre, dans des titres d’oeuvres cinématographiques, littéraires; c’est également le nom d’au moins un jeu vidéo et d’au moins une entreprise.

> Réalisation du script d'automatisation


Toutes les étapes de modification du script sont détaillées dans la partie Scripts & Résultats.

Au départ, les enseignants ont mis à notre disposition un script Bash qui, à partir d'un fichier d'Urls, crée un tableau Html à une seule colonne dans laquelle figurent les Urls. Nous avons ensuite modifié le script pour que les Urls soient des liens pointant vers les pages Web concernées.
Nous avons ensuite intégré la commande Wget au script, afin d'automatiser l'aspiration des pages. En ajoutant cette commande au script, nous avons également modifié le code du tableau Html pour qu'il y ait une nouvelle colonne dans laquelle apparaissent les noms de fichier contenant les pages aspirées.
Nous avons procédé de la même façon pour les commandes Lynx et Egrep. A chaque fois qu'on a intégré une commande au script, on a ajouté une colonne au tableau.
Ainsi, nous avons obtenu le script attendu, à savoir un programme qui prend comme données d'entrées un fichier d'Urls et qui produit en sortie un tableau Html à quatre colonnes: Url, Pages aspirées, Pages dumpées et Contextes avec Egrep.

URL Pages Aspirées(avec Wget) Pages Dumpées(avec Lynx) Contexte(avec Egrep)
www.eigsi.fr 1_html 1_txt 1_contexte


Nous avons choisi d'ajouter une colonne supplémentaire dans laquelle apparaît la première occurence du mot. En effet, cela permet de donner, directement à la vue du tableau, un aperçu du contexte dans lequel on peut rencontrer le mot.

URL Pages Aspirées(avec Wget) Pages Dumpées(avec Lynx) Contexte(avec Egrep) Contexte de la première occurence du mot
www.eigsi.fr 1_html 1_txt 1_contexte Communiqués Mis à jour le 6/10/2004 SIMBAR : Barrage anti-hydrocarbure >> L'EIGSI pilote le projet SIMBAR : Conception et Plan de Pose des

Par ailleurs, nous avons préféré modifier les données d'entrée afin que le script s'éxécute non pas sur un fichier d'Urls mais sur tout le répertoire LISTES-URL. Ainsi, le script est plus général et cela évite à l'utilisateur de devoir répéter l'éxécution du script (ce qui peut être très lourd s'il y a un grand nombre de fichiers à traiter).
De plus, nous avons choisi de produire plusieurs tableaux, un pour chaque usage du mot. Cette méthode permet une pésentation plus propre des résultats.
Les tableaux produits sont rangés dans le répertoire JOURNAL. Cette information était, dans le script original, demandée à l'utilisateur. Nous avons décidé de l'intégrer directement au script, ce qui permet de rentrer le moins de données possibles.


> Réalisation du rapport de projet

Le rapport de projet HTML a été entièrement codé à la main par nos soins.
Nous avons pris le parti de ne pas utiliser d'éditeur HMTL : coder manuellement est plus cohérent par rapport au cours que nous avons suivi et au fait d'insérer du code HTML dans le script.
On a également préféré un système de navigation par frames : c'est plus ergonomique.
Les liens internes sont réservés aux pages qui ont une unité thématique.
Toujours par souci d'ergonomie et de confort pour l'utilisateur, on a aussi choisi d'illustrer notre site avec quelques images, qui synthétisent les étapes fondamentales du projet.

Retour


Problèmes & solutions

Au cours de l'élaboration du projet, nous avons été confrontées à plusieurs problèmes.

> Problèmes relatifs à la réalisation du script

Une des premières difficultés rencontrées était le problème des chemins relatifs et absolus. En effet, on s'est aperçu qu'il fallait toujours utiliser des chemins relatifs pour appeler les fichiers ou répertoires afin que le programme puisse fonctionner sur n'importe quelle machine. De plus, il est nécessaire de faire attention au répertoire dans lequel on se trouve lors de l'éxécution du programme afin que le chemin indiqué soit reconnu. Nous avons choisi de nous situer dans le répertoire Programmes (répertoire où se trouve le fichier bash à exécuter).


De plus, comme nous avons choisi de faire tourner le script sur tout le dossier LISTES-URL, il a fallu classer les fichiers "pages aspirées", "pages dumpées" et "contextes" par usage. Pour cela, nous avons récupéré le thème de chaque fichier d'URLs à l'aide d'une variable. Nous avons ensuite créé, dans chaque répertoire PAGES-ASPIREES, PAGES-DUMPEES et CONTEXTES, un sous-répertoire nommé avec cette variable, pour chaque usage . Ainsi, il n'y a plus aucun problème d'écrasement et l'organisation des fichiers est plus claire.

Par ailleurs, nous avons pu constater quelques problèmes avec les pages php récoltées. En effet, ces pages, pourtant parfois bien aspirées n'étaient pas dumpées. Aucun fichier n'avait donc pu être créé, ce qui faisait apparaître des lignes vides dans les tableaux. Comme nous n'avons pas su résoudre le problème, nous avons choisi de supprimer ces adresses de nos listes.

Enfin, lors du filtrage avec egrep, il a fallu nettoyer tout ce qui n'appartient pas au texte. Pour cela, nous avons utilisé la commande perl pour rendre le contexte plus propre (suppression des crochets, des chiffres...). Cette commande nécessitant des expressions régulières assez complexes, il est difficile de supprimer tout ce qui nous gêne.

> Problèmes relatifs à la mise en page

Lors de la mise en page sous format Html, plusieurs difficultés sont apparues, notamment sur la taille des tableaux de liens. En effet, les noms d'URls étant parfois trop longs, même en utilisant l'attribut width=100% le tableau ne s'adaptait pas à la taille de la fenêtre. Pour cela, nous avons raccourci les noms des URLs dans l'affichage des tableaux.
Par ailleurs, nous avons été confrontées à d'autres problèmes d'affichage comme les caractères accentués ou l'adaptation au navigateur utilisé pour la consultation de la page.

Retour