Après le site, il se passe quoi ?

Nous avons privilégié le travail sur le résultat final après l’étape #7. L’étape #8, #9 et #10 étant pour nous le peaufinage de notre script et la création du site, nous n’avons pas présenter cela sous forme d’article dans le blog. Cependant, nous n’avons pas publié quelque chose sur le Trameur, mais il fera l’objet d’un article dans les jours qui viennent.

Pour l’heure, nous avons pensé qu’il serait utile, après moult péripéties surmontées, de partager nos difficultés sur le blog en un seul article, dans le but d’aider les futurs étudiants en TAL qui auraient peut-être à effectuer le même travail. Au cas où d’autres personnes rencontreraient le(s) même(s) problème(s), cela pourrait leur faire gagner un temps précieux.

Séance #7 Traitement des pages non encodées en utf-8

Nous continuons d’améliorer notre script afin d’exploiter au maximum les données de nos pages aspirées. Il nous faut donc désormais traiter les pages qui ne sont pas encodées en utf-8. Pour ce faire, nous allons chercher l’encodage de la page, savoir si celui-ci est connu de la commande « iconv » et le convertir en utf-8 pour pouvoir ensuite dumper cette page.

Nous utilisons la commande egrep pour trouver où est l’encodage dans la page :

capture3_script_s7

Une fois trouvé, on essaye de savoir quel est l’encodage de la page avec la commande egrep à nouveau et on l’insère dans une variable :

capture2_script_s7

Ensuite, si on ne trouve pas d’encodage, on ne fait rien :

capture1_script_s7

Sinon, on fait le changement d’encodage grâce à la commande iconv et on dump la page avec la commande lynx :

capture4_script_s7

Nous avons également inséré une instruction qui permet de savoir si, dès l’aspiration de la page, il y a un problème ou non. Nous l’avons inséré dans une variable que nous avons appelée aspiration : capture5_script_s7

Si tout se passe bien, on passe à la détection de l’encodage de la page comme nous l’avons vu dans les scripts précédents.

Voici maintenant l’état du script à ce stade :

capture6_script_s7

capture8_script_s7

capture9_script_s7

capture10_script_s7

Nous lançons le script dans le terminal en vérifiant au préalable que nous nos répertoires sont vides et que le contenu du fichier paramètres correspond bien à ce que nous avons indiqué dans le script :

capture7_script_s7

Les tableaux devenant de plus en plus grands, nous ne montrons qu’un aperçu de ce que cela donne mais on y trouve toutes les configurations possibles (c’est-à-dire, si tout se passe bien, s’il y a un problème dans l’aspiration, s’il y a un problème d’encodage et si on a changé l’encodage en utf-8).

capture11_script_s7

Séance #6 Création d’une nouvelle colonne dans le tableau : DUMP

***Nous tenons à nous excuser pour avoir laissé un peu de côté notre blog ces derniers temps. Mais attention, ne pas avoir publié ne signifie pas que nous n’avons pas travaillé. Malheureusement, beaucoup de problèmes accumulés mais ne nous attardons pas là-dessus, nous allons tenter de publier rapidement le reste de nos travaux ! ***

Dans ce nouvel article, nous allons créer une nouvelle colonne dans notre tableau ! Nous allons à présent dumper les pages que nous avons aspirées précédemment, c’est-à-dire que nous allons stocker le contenu des pages aspirées dans un fichier au format texte brut. Mais l’encodage de ces pages nous importe, il faut que ce soit de l’UTF-8 alors si l’encodage est celui-ci, on aspire la page, sinon, on laisse en suspens pour le moment pour s’occuper du changement d’encodage à la prochaine étape. Voici ci-dessous le nouveau script qui permet d’engendrer la nouvelle colonne :

capture4_script_s6

capture5_script_s6

capture6_script_s6

Un peu de changement dans le script, nous avons désormais fait en sorte que les tableaux soient créés à l’aide de boucles imbriquées. Grâce à cela, nous n’avons plus besoin de créer un tableau pour chaque fichier d’URLs. Chaque fichier d’URLs rencontré dans le fichier de paramètres va engendrer un tableau, ce qui réduit de beaucoup la longueur du script. Nous avons aussi modifié le fichier de paramètres afin de pouvoir prendre tous les fichiers d’URLs présents directement depuis le répertoire. De plus, nous avons indenté les différentes boucles et conditions pour avoir un script plus clair et plus facile à lire. Les commentaires aussi sont plus lisibles pour qu’on voie tout de suite ce que fait le script à telle étape.

Donc nous savons désormais faire un tableau HTML qui aspire des pages web, qui les numérote, qui contient ces pages dans un dossier et qui stocke le contenu de ces pages dans des fichiers en fonction de l’encodage que nous souhaitons (ici de l’UTF-8).

Voyons le résultat en lançant le script dans le terminal de commandes :

capture1_script_s6

On peut s’apercevoir que le tableau a bien été créé tel qu’on l’avait nommé dans notre fichier de paramètres :

capture3_script_s6capture2_script_s6

Nous pouvons maintenant regarder le contenu de notre tableau HTML en le lançant dans le navigateur :

capture7_script_s6

capture8_script_s6

capture9_script_s6

capture10_script_s6

capture11_script_s6

capture12_script_s6

capture13_script_s6

capture14_script_s6

La prochaine publication concernera la prise en charge des pages non-encodées en utf-8. On vous expliquera ça plus en détails dans le prochain article !

Séance #5 Création d’une nouvelle colonne dans le tableau : PAGES ASPIREES

Toujours activement en recherche des derniers URLs en japonais, nous continuons tout de même à publier nos scripts en utilisant nos URLs en français et en anlgais.

On va maintenant ajouter une nouvelle colonne aux tableaux. Cette colonne contiendra les pages web qu’on va aspirer. On va pouvoir aspirer les pages grâce à la commande « wget ». Cette commande permet de sauvegarder localement des URLs.
Le problème du script précédent était qu’il fallait réécrire tout les chemins pour accéder aux fichiers (qu’on veuille les utiliser ou bien les créer). On a donc créé un nouveau fichier qui permet de ne pas réécrire tous ces chemins à chaque fois qu’on démarre le script. Il suffit, grâce à un chevron unique qui redirige le flux entrant, d’ajouter le fichier qui contient les différents chemins.

Voici tout d’abord le script qui permet d’aspirer les pages web :

capture1_script_s5

capture2_script_s5

On peut voir grâce à la capture ci-dessous comment les paramètres sont lus par redirection du flux entrant.

capture3_script_s5

On regarde ce que contient le fichier de paramètres grâce à la commande « cat » :

capture4_script_s5

Ensuite, on lance le script et on regarde le résultat. On vérifie d’abord que les pages ont bien été aspirées et qu’elles ont été enregistrées dans le bon répertoire tel qu’on l’a écrit dans le script.

capture5_script_s5

Les pages ayant été aspirées correctement au bon endroit, on regarde le résultat de la page HTML générée. On tape la commande « ls TABLEAUX/ » pour vérifier que le fichier a bien été créé :

capture6_script_s5

Et on lance ensuite la page dans le navigateur pour voir les tableaux  :

capture7_script_s5

capture8_script_s5

capture9_script_s5

capture10_script_s5capture11_script_s5capture12_script_s5

Séance #4 La recherche des URLs et la création du premier tableau

Nous sommes dans une phase du projet où nous sommes censées avoir trouvé toutes nos URLs. Malheureusement, la tâche s’avère un peu plus compliquée en ce qui concerne le japonais.

En effet, pour le français, aucun problème à l’horizon, il n’y a pas de barrière au niveau de la langue. En anglais, nous avons pu nous faire aider par une personne ayant fait un mémoire sur les maladies mentales aux Etats-Unis. Grâce à elle, nous avons pu mieux comprendre ce qu’est la schizophrénie et donc récolter nos URLs plus facilement en ayant des sites fiables (la plupart étant des sites gouvernementaux). En japonais, nous avons procédé de la même manière, le tout étant d’avoir des URLs qui soient un minimum exploitables. Mais cela reste tout de même difficile, le vocabulaire employé n’étant pas forcément du vocabulaire que nous maîtrisons et la société japonaise n’aborde pas forcément cette maladie de la même manière que les occidentaux. Donc, nous avons la totalité des URLs en français et en anglais et environ un tiers des URLs en japonais. L’aide de ces deux personnes a été très précieuse et nous a permis de faire un grand pas en avant dans nos recherches.

Ci-dessous se trouve les tableaux de nos URLs en français et en anglais. Ces tableaux sont formés de deux colonnes dont la première contient la numérotation des URLs et la seconde les URLs.

Voici tout d’abord le script :

capture1_script_s4

capture2_script_s4

Ensuite, on regarde ce que contient le répertoire TABLEAUX. On se rend compte (ci-dessous), que le répertoire ne contient rien. On tape la commande pour lancer le script afin de créer les tableaux. On regarde à nouveau avec la commande « ls » et on s’aperçoit que le fichier HTML est créé.

capture3_script_s4

On regarde maintenant le résultat :

capture4_script_s4

capture5_script_s4

capture6_script_s4

capture7_script_s4

capture8_script_s4

 

Exercice HTML

L’image ci-dessous est la création d’une page HTML en bash. Cette page contient un tableau de deux lignes dont la première affiche nos noms et la seconde affiche le mot de notre projet. Le script est commenté pour montrer ce que fait chaque étape du script.

captureHTMLnotepad

Ensuite, dans le terminal, nous exécutons le programme pour créer le fichier HTML. Nous pouvons voir ci-dessous qu’avant l’exécution du programme, il n’y a rien d’autre que les programmes dans le dossier.

capture_terminal

capture_terminal2

Et enfin, voici ci-dessous le résultat de notre programme, le tableau HTML contenant deux lignes.

capture_tableau

En supplément, voici un autre script qui permet de créer le même type de page HTML avec un tableau de deux lignes, mais celui-ci demande une participation de l’utilisateur qui peut entrer son nom et le nom de son projet.

captureHTMLnotepad2

Nous exécutons le programme puis nous regardons le résultat.

capture_terminal3

capture_tableau2

UNIX: Application 3

La commande « ls;who;pwd » permet d’afficher le répertoire courant, son contenu et qui est connecté dessus; les informations précedent le chevron vont s’afficher dans le nom du fichier qui suit, ici « tmp/qui ». La dernière commande avec « echo » permet d’afficher sur le terminal « je suis sous » et le répertoire dans lequel on se trouve.

Capture du 2014-11-11 14:15:58

UNIX: Application 2

Nous avons d’abord fait un  « ls » pour afficher les différents répertoires, puis un « ls | wc -w », cette commande permet en effet de compter les fichiers présents dans le répertoire courant. Pour compter le nombre de fichier dans TEST2, il suffit de faire « ls TEST2 | wc -w », la sortie des commandes qui se trouvent à gauche du pipe sert d’entrée à ce qui se trouve à droit du pipe.

ap2

UNIX: Application 1

Nous avons réussi à créer les répertoires TEST1 et TEST2 grâce à la commande « mkdir »; pour créer un répertoire TEST3, il suffit de taper dans la console, « mkdir TEST3 » et le tour est joué, un nouveau répertoire est créé ( pour vérifier la création de ces répertoires, on fait « ls » et les répertoires s’affichent).

 

Capture du 2014-11-06 16:21:53

Pour les commandes suivantes, nous avons rencontré un problème lorsqu’on faisait « touch vide1.txt ./TEST1/vide2.txt ../TEST2/vide3.txt », seuls les fichiers « vide1.txt » et « vide3.txt » étaient créés; nous nous sommes rendues compte qu’il était impossible de créer « vide2.txt » à partir de ces commandes car nous étions déjà dans le répertoire TEST1 et la commande  « ./ » indique le répertoire courant. Il suffisait simplement de faire « touch vide1.txt ./vide2.txt ../TEST2/vide3.txt » pour que « vide2.txt » soit créé dans le répertoire TEST1.

 

Capture du 2014-11-06 16:24:00

Avec la commande « echo », nous avons pu insérer du texte dans notre fichier « vide1.txt » à l’aide des doubles chevrons (qui permettent d’ajouter du texte sans écraser le contenu qui s’y trouve déjà) puis avec la commande « mv » nous l’avons renommé en « jenesuisplusvide.txt ». Nous avons ensuite copier/coller ce fichier dans le répertoire TEST2 grâce à la commande « cp » et nous avons aussi créer le fichier « moinonplus.txt » dans le répertoire TEST1 avec « cp ».

 

Capture du 2014-11-06 16:26:59

 

Capture du 2014-11-06 16:28:38

 

Nous sommes ensuite sorties de la console avec la commande « ctrl -d »; nous avons créé un fichier « liste.txt » qui s’est créé dans le répertoire courant car il n’y a pas de précisions concernant le répertoire dans lequel on veut le créer. La commande « lsd » nous a posé quelques problèmes car même en cherchant avec « man », cette commande était inconnue. De même pour la commande « ../TEST2/liste.txt », il était impossible de créer ce fichier dans ce répertoire car nous n’étions pas à l’intérieur de TEST2, nous avons donc trouvé la solution en faisant « ./TEST2/liste.txt », le fichier est alors créé dans le répertoire TEST2. Il en va de même pour la commande « rm vide2.txt », il est impossible d’effacer le fichier car nous ne sommes pas dans le répertoire TEST1, nous y entrons donc avec « cd TEST1 » puis « rm vide2.txt », le fichier est alors supprimé. En revanche, la commande « rmdir ../TEST3 » ne fonctionnait pas car nous nous trouvions dans le répertoire  TEST1. Ainsi, il suffisait de taper la commande « ../ » qui permet de remonter d’un cran dans l’arborescence et ainsi de supprimer le répertoire TEST3.

 

Capture du 2014-11-06 16:30:22

 

Capture du 2014-11-06 16:32:15

 

 

 

Présentation

Bonjour à tous et bienvenue !

Nous avons créé ce blog dans le cadre du cours Programmation et Projet encadré de 1ère année de Master Ingénierie Linguistique. Ce blog sera un suivi de notre travail durant le semestre.

Dans le cadre de ce cours, nous avons choisi la vie multilingue du mot « schizophrénie » en français, anglais et japonais. Plus précisément, nous aimerions explorer d’un côté, l’aspect médical de la maladie en comparant les différentes manières de la traiter en France, aux États-Unis et au Japon et d’un autre côté, l’aspect sociologique en essayant de savoir s’il y a un décalage entre ce que pensent les gens de la schizophrénie et la réalité. Pour le second point, nous savons déjà que cela pourrait s’avérer difficile au niveau de la recherche des URLs car cela implique des recherches essentiellement sur des commentaires ou des forums. Pour débuter, on se base sur les moteurs de recherche pour trouver des URLs en tapant « schizophrénie » dans les trois langues.

Prochaine étape, publication d’un article contenant la liste des URLs trouvées !

A bientôt !