samedi 3 décembre 2011

Curl : Bad Request, 404 not found...rejet des pages aspirées

Bonsoir,

Ce billet exposera le script utilisé pour rejeter les URLs dont les pages n'ont pas pu être aspirées. On utilise la commande egrep pour savoir si des segments comme "Bad request" ou bien "404 not found" sont présents dans la page.

Script utilisé :


-> Avant de faire tout le "bloc" lynx, on pose une condition : si (if) ce que contient $controlcurl n'est pas vide (= si la commande egrep a trouvé un des segments désignant une erreur) alors on ne fait pas le dump-text/la conversion. Sinon (else) on rentre dans les boucles permettant de faire le dump-text et la conversion en UTF-8.

/!\ Ne pas oublier de fermer le if/else à la fin du bloc lynx (fi).  Il se trouvera après tous les fi du lynx mais avant le let et le done.

J'ai introduit dans mon fichier d'URLs des liens ayant un segment désignant une erreur pour illustrer le script, n'ayant pas d'URLs françaises qui en produisent.
Résultat :



Problème concernant les URLS japonaises : j'ai essayé de repérer moi-même les messages d'erreur en japonais (sans trop de problème) mais lorsque j'intègre ces messages d'erreurs (en kanjis) au script (donc à la suite de Bad Request|Service Unavailable...) cela ne fonctionne pas. Je pense que le script ne gère pas bien les kanjis, je n'ai donc pour le moment pas de solution.

jeudi 1 décembre 2011

Tableau de lien avec conversion des dump (commande iconv)

Bonjour,

Le billet d'aujourd'hui présentera le script qui nous a permis de créer un tableau contenant les colonnes supplémentaires suivantes : dump-text initial, avec un lien redirigeant vers un .txt contenant le dump-text dans l'encodage initial si il n'est pas en utf-8 ; dump-text utf-8, avec un lien redirigeant vers un .txt contenant le dump-text convertit en utf-8.

À partir de maintenant, Uta et moi travaillerons uniquement sur mon ordinateur (qui est sous ubuntu) puisque la commande lynx ne fonctionne pas sous mac.

Script permettant de générer le tableau : (début et fin du script voir images précédentes)

(Pour afficher le script lisiblement : cliquer sur l'image, une fois qu'elle apparait clic-droit dessus puis "afficher l'image". Elle s'ouvre dans un autre onglet et vous pouvez zoomer dessus.)

Nous avons donc le tableau suivant qui apparait en ouvrant le .html :


Merci beaucoup à Ilaine pour ses précieuses informations qui nous ont beaucoup aidées :)
La prochaine étape : déterminer si l'aspiration d'une page a échoué (en vérifiant si elle contient des choses du type "Bad Request" ou "404 not found") et déterminer le contexte dans lequel notre mot est utilisé grâce à egrep.



lundi 21 novembre 2011

Tableau de lien avec dump-text (commande lynx)

Exercice :

- Faire dans le tableau une nouvelle colonne avec le dump-text des pages aspirées grâce à la commande lynx.
- afficher avec la commande file (option -i pour plus de lisibilité) le charset
- Déterminer si le mot recherché (ici le mot vacances) est toujours présent dans le dump-text. Cela permet d'écarter des URLS dont on ne peut pas aspirer la page.

Voilà le script utilisé :


La commande lynx fonctionne très bien, file également.
J'ai essayé la structure conditionnelle suivante pour déterminer si "vacances" se trouvait toujours dans le dump-text :

mot="vacances"
dump=../DUMP-TEXT/$j/$i.txt
case $mot in
`cat $dump`) echo "<td align=\"center\" width=\"50\">OK</td></tr>" ;;
esac

Donc je demande au script de regarder dans le contenu de chaque fichier dump-text (cat $dump) si le mot vacances est présent. Cependant, cela ne fonctionne pas. Je crois que c'est parce qu'il ne faut pas qu'il y a d'espace dans la partie entre in et ) et j'en mets un entre le cat et la variable.

J'ai donc essayé la solution suivante avec un alias, sans résultat non plus :


(cf la partie sur les alias ici)

Le tableau suivant a donc été créé :


Pour le dump-text j'ai juste eu un problème. Même si il est en UTF-8, mon navigateur lit les pages en ISO par défaut et j'ai ce type de page qui apparait :


En changeant manuellement l'affichage, les caractères spéciaux s'affichent normalement comme ceci :


Je n'ai pas réussi à trouver comment forcer firefox à lire les pages en UTF-8.

samedi 19 novembre 2011

Problème avec la commande curl

J'ai testé mon script avec curl sur mon ordinateur et je rencontre plusieurs problèmes.

Tout d'abord les pages aspirées ne fonctionnent que une fois sur deux. Sur six liens, je ne peux en visionner que trois. J'ai remarqué que la raison de ce problème venait du fait que certaines pages aspirées se terminent par l'extension .html et les autres n'affichent pas d'extensions.


J'ai ensuite vérifié les fichiers des liens et je vois que les liens n'affichant pas d'extension html, sont les liens qui se terminent également sans extension. Le nom que prends la page aspirée est donc la dernière partie du lien après le dernier slash.
Le tableau des liens affiche des erreurs, même pour les pages que j'ai réussi à aspirer :

Ma fenêtre de commande affiche aussi le message suivant entre chaque lien traité:
curl: (6) Could not resolve host: .; nodename nor servname provided, or not known

D'autre part, comme on peut le voir sur la première image, je n'arrive pas à ranger les pages aspirées dans leur dossier correspondant. J'ai essayé de changer le chemin après le mkdir dans la première boucle mais je n'y arrive toujours pas.
De plus j'ai regardé les scripts postés sur différents blogs (comme sur celui-ci), et j'ai vu que pour la commande curl l'argument '$nom' est placé à la fin de la commande. Pour ma part, si je la note à la fin de la commande, les pages ne sont pas aspirées sur l'ordinateur mais défilent sur la fenêtre de mon terminal.

Comment faire pour résoudre ces problèmes?

mardi 15 novembre 2011

Un fichier contenant un tableau par langue

J'ai voulu faire le script pour créer un fichier contenant un tableau pour chaque langue.
Voilà mon script:



Lorsque je l'exécute sur le terminal, je reçois le message d'erreur suivant:
cat: .././URLs/URLs_jap.txt/http://www.soccer-king.jp/news/italy/article/201110121900_inter_zanetti.html: Not a directory
cat: .././URLs/URLs_jap.txt/http://rocketnews24.com/2011/10/03/135816/: Not a directory

Et ainsi de suite pour chacun de mes liens.
Je pense que le problème vient du flux réentrant. J'ai bien ajouté les deux chemins pour les deux fichiers de liens, mais je ne comprends pas comment le faire exécuter par le script dans une boucle.

jeudi 10 novembre 2011

Tableau de lien avec pages aspirées

J'ai complété le script précédent pour faire apparaitre :

- à côté du n° de tableau le nom du fichier d'URLs utilisé de telle sorte qu'on sache de quelle langue il s'agit. Pour ne pas faire apparaître l'extension qui n'est pas nécessaire, j'ai utilisé la commande : $(basename $fic .txt). J'ai utilisé $(...) pour que la commande soit effectuée même si elle se trouve dans un echo (voir script).

- une colonne comprenant un lien vers les pages aspirées se trouvant localement sur ma machine. J'ai utilisé la commande curl qui permet de récupérer le contenu d'une page sur un fichier local de son ordinateur. J'ai d'abord dû installer cette commande en tapant dans mon terminal sudo apt-get install curl.

- une dernière colonne comprenant le retour d'éventuelles erreurs de la commande curl. Dans le script, il s'agit de la commande retourcurl=$?

Script effectué (j'ai supprimé tous les anciens commentaires, ils sont encore visibles dans le screen du script précédent) :


Page html générée :

Un exemple de page aspirée :

Cependant, j'ai l'impression que cela n'a pas fonctionné pour certaines pages alors qu'aucune erreur n'a été mentionnée dans la colonne retourcurl. La page aspirée qui a été enregistré dans mon dossier est identique à la page présente sur la toile :


Cela s'est produit sur plusieurs pages aspirées, et je ne comprends pas d'où peut venir ce problème ?

jeudi 3 novembre 2011

Tableau de liens et numéros

Nous avions la consigne suivante :
Insérer une nouvelle colonne en y insérant le numéro de l'URL lue
Modifier le codage HTML pour établir un lien vers l'URL lue

Le script qui suit permet donc de générer un fichier .html contenant le code html pour créer une page qui affichera dans un tableau à deux colonnes le numéro de l'URL et le lien vers l'URL. Il permet également d'aller chercher les URLS dans plusieurs fichiers. Si il y a plusieurs fichiers, plusieurs tableaux seront créés (donc un tableau pour chaque langue).


J'ai eu du mal à faire fonctionner le script car le terminal me donnait la réponse suivante : script2.sh: 23: let: not found

Après recherche sur internet, c'est parce qu'il fallait appeler le script via le terminal non pas avec la commande sh monscript.sh mais avec bash monscript.sh . Avec l'utilisation de cette commande, le script s'est lancé sans problème. Peut-être que cela fonctionnerait également en utilisant chmod pour rendre le fichier exécutable.

Une portion du résultat généré quand on ouvre le fichier .html créé dans un navigateur :

lundi 31 octobre 2011

HTML

Un peu d'entraînement à la conception d'une page HTML...
Les consignes: notre nom comme titre de page et un tableau de deux lignes.

Et voilà le résultat:

Commande touch

Pour mieux maitriser les nouvelles commandes que l'on a vu en cours, j'ai essayé d'en faire l'utilisation directement sur mon ordinateur. Voici le résultat pour la commande touch:

La commande touch, utilisée sans option crée un fichier vide et utilise la date courante, comme date de mise à jour du fichier. La principale fonction de la commande touch est de modifier la date de modification d'un fichier.

Je crée donc un fichier vide:

Last login: Mon Oct 31 19:00:38 on ttys000
MacBook-de-Uta-Hosokawa-5:~ uta_jovi$ cd desktop
MacBook-de-Uta-Hosokawa-5:desktop uta_jovi$ ls
FAC ♛ ✿ Bazar ✿
MacBook-de-Uta-Hosokawa-5:desktop uta_jovi$ touch test
MacBook-de-Uta-Hosokawa-5:desktop uta_jovi$ ls
FAC test ♛ ✿ Bazar ✿
MacBook-de-Uta-Hosokawa-5:desktop uta_jovi$ ls -l
total 0
drwxrwxrwx 10 uta_jovi staff 340 25 oct 13:58 FAC
-rw-r--r-- 1 uta_jovi staff 0 31 oct 19:01 test
drwxrwxrwx 13 uta_jovi staff 442 24 oct 01:19 ♛
drwxr-xr-x 20 uta_jovi staff 680 31 oct 19:00 ✿ Bazar ✿
MacBook-de-Uta-Hosokawa-5:desktop uta_jovi$


C'est d'abord avec l'option -t que j'essaie de changer la date. Selon le site de Linux Certif, la commande s'écrit selon le modèle suivant : touch -t MMJJhhmm (M=mois, J=jour, h=heure, m=minute).

MacBook-de-Uta-Hosokawa-5:desktop uta_jovi$ touch -t 04041111 test
MacBook-de-Uta-Hosokawa-5:desktop uta_jovi$ ls -l
total 0
drwxrwxrwx 10 uta_jovi staff 340 25 oct 13:58 FAC
-rw-r--r-- 1 uta_jovi staff 0 4 avr 2011 test
drwxrwxrwx 13 uta_jovi staff 442 24 oct 01:19 ♛
drwxr-xr-x 20 uta_jovi staff 680 31 oct 19:00 ✿ Bazar ✿
MacBook-de-Uta-Hosokawa-5:desktop uta_jovi$


Je vois ici que la date de modification de mon fichier est maintenant le 4 avril comme je l'avais demandé dans ma commande, mais qu'à la place de l'heure est affiché '2011'. Après relecture du manuel, je comprends que l'option -t change la date et non l'heure. C'est avec l'option -m que je peux changer l'heure:

MacBook-de-Uta-Hosokawa-5:desktop uta_jovi$ touch -m 05051212 test
MacBook-de-Uta-Hosokawa-5:desktop uta_jovi$ ls -l
total 0

drwxrwxrwx 10 uta_jovi staff 340 25 oct 13:58 FAC

-rw-r--r-- 1 uta_jovi staff 0 5 mai 12:12 test

drwxrwxrwx 13 uta_jovi staff 442 24 oct 01:19 ♛
drwxr-xr-x 20 uta_jovi staff 680 31 oct 19:00 ✿ Bazar ✿

MacBook-de-Uta-Hosokawa-5:desktop uta_jovi$




lundi 17 octobre 2011

休み、休暇、バカンス

Le terme de "vacances" peut être traduit en japonais de différentes façon. Le kanji (caractère chinois) 休 signifie "repos". En japonais, les kanjis peuvent être lus de différentes façons:
-la lecture on (lecture issue du chinois)
-la lecture kun (lecture issue du japonais).
Ainsi nous avons les termes suivants:

  • Lecture Kun:
休み - yasu-mi - repos/vacances
休む - yasu-mu - se reposer

休みを取る - yasumi wo toru - prendre des vacances

  • Lecture On:
休暇 - kyuuka - congé/vacances
休日 - kyuujitsu - jour de congé

  • Emprunts:
バカンス - bakansu - (du français vacances)
バカンスに行く - bakansu ni iku - partir en vacances

De cette liste nous étudierons en particulier les termes 休み, 休暇 et バカンス ainsi que les expressions dérivés de ces termes, tel que 休みを取る ou バカンスに行く.

dimanche 16 octobre 2011

Nouveau sujet, le mot vacances

Après avoir fait des recherches sur les verbes penser et sentir, nous avons décidé de changer de sujet. En effet, ces deux verbes sont trop polysémiques aussi bien en français, japonais ou allemand. Ils prennent de multiples formes selon différents sens, la recherche aurait donc été trop vaste et de ce fait sans doute incomplète.

Nous étudierons finalement le mot vacances (toujours en français, japonais et allemand) et plus spécifiquement les expressions prendre des vacances, partir en vacances et être en vacances.
Les acceptions suivantes ne seront pas étudiées :

(de vacant "libre, vide")
  • État d'une charge, d'un poste vacant. Par extension, poste sans titulaire, à pourvoir.
  • Situation, période où les organes institutionnels du pouvoir politique ne sont pas en mesure de fonctionner.

Définition générale du mot vacances :

(de vacant "absent, oisif") Au plur. VACANCES
  • Période pendant laquelle les écoles, les facultés rendent leur liberté aux élèves, aux étudiants : les vacances scolaires d'été.
  • Repos, cessation des occupations, du travail ordinaires.
  • Temps de repos excédant quelques jours, accordé légalement aux employés, aux salariés.
  • Période annuelle d'arrêt du travail coïncidant en partie avec les vacances scolaires pendant laquelle un grand nombre de personnes se déplacent.

Commandes principales sous Unix

Grâce à UNIX, on peut interagir avec un ordinateur via des commandes. Ces commandes doivent être rentrées dans le terminal de l'ordinateur. Nous allons vous présenter sept de ces commandes.

  • man : Permet d'obtenir le manuel d'une commande. Par exemple, si on veut obtenir le manuel de la commande ls on tape la commande suivante : man ls. Le manuel de la commande ls s'affiche alors dans le terminal. En utilisant la touche q on quitte le manuel pour revenir au terminal de base.

  • ls : Commande qui affiche une liste des fichiers contenus dans le dossier courant ou dans un dossier spécifié en argument. Par exemple :
    |marine@ubuntu:~$ ls
    |Bureau examples.desktop Modèles Public Ubuntu One
    |Documents Images Musique Téléchargements Vidéos
    |marine@ubuntu:~$ ls Documents/
    |Script_date.sh
    |marine@ubuntu:~$ ls Bureau/
    |PROJET-MOT-SUR-LE-WEB Script_arborescence1.sh


    À la suite de la commande ls on peut ajouter des options. Par exemple, l'option -l qui donne une liste détaillée des fichiers présents dans le dossier :
    |marine@ubuntu:~$ ls -l Bureau/
    |total 12
    |drwxr-xr-x 9 marine marine 4096 2011-10-13 09:46 PROJET-MOT-SUR-LE-WEB
    |-rw-r--r-- 1 marine marine 193 2011-10-13 09:46 Script_arborescence1.sh

  • cd : Cette commande permet de changer de répertoire. On peut ainsi "naviguer" dans les différents dossier présents sur l'ordinateur depuis le terminal. En utilisant la commande cd Documents, on accède au répertoire Documents. Pour revenir au répertoire user on utilise la commande cd ~. Si on veut seulement revenir d'un "cran" dans la hiérarchie, on utilise cd .. Exemple :
    |marine@ubuntu:~$
    |marine@ubuntu:~$ cd Bureau/
    |marine@ubuntu:~/Bureau$
    |marine@ubuntu:~/Bureau$ cd PROJET-MOT-SUR-LE-WEB/
    |marine@ubuntu:~/Bureau/PROJET-MOT-SUR-LE-WEB$
    |marine@ubuntu:~/Bureau/PROJET-MOT-SUR-LE-WEB$ cd ..
    |marine@ubuntu:~/Bureau$
    |marine@ubuntu:~/Bureau$ cd PROJET-MOT-SUR-LE-WEB/
    |marine@ubuntu:~/Bureau/PROJET-MOT-SUR-LE-WEB$
    |marine@ubuntu:~/Bureau/PROJET-MOT-SUR-LE-WEB$ cd ~
    |marine@ubuntu:~$


  • pwd : Affiche le chemin absolu du répertoire courant :
    |marine@ubuntu:~/Bureau/PROJET-MOT-SUR-LE-WEB$ pwd
    |/home/marine/Bureau/PROJET-MOT-SUR-LE-WEB


  • mkdir : On utilise cette commande pour créer un nouveau dossier. On peut créer plusieurs dossiers en même temps en mettant un espace entre les différents noms de dossiers :
    |marine@ubuntu:~$ cd Bureau/
    |marine@ubuntu:~/Bureau$ mkdir Dossier1
    |marine@ubuntu:~/Bureau$ cd Dossier1/
    |marine@ubuntu:~/Bureau/Dossier1$ mkdir SousDossier1 SousDossier2
    |marine@ubuntu:~/Bureau/Dossier1$ ls
    |SousDossier1 SousDossier2

  • echo : Affiche une ligne de texte donnée à la suite de la commande :
    |marine@ubuntu:~$ echo Bonjour
    |Bonjour


  • date : commande qui permet d'afficher la date du jour et l'heure :
    |marine@ubuntu:~$ date
    |dimanche 16 octobre 2011, 15:33:59 (UTC+0200)


lundi 10 octobre 2011

Début de recherche

Bonjour et bienvenue sur ce blog consacré à la vie multilingue des mots sur le web.


Notre groupe est composé de Uta HOSOKAWA et Marine COTEREAU. Nous sommes toutes deux étudiantes à Paris X, Nanterre. C'est dans le cadre du cours "Projet encadré" du master d'ingénierie linguistique que ce blog a été créé.

Nous avons pour l'instant décidé de nous intéresser aux verbes "penser" et "sentir" en français, japonais et allemand. Étant polysémiques, ils peuvent faire l'objet d'une étude intéressante.

Ce blog sera mis à jour chaque semaine suivant notre avancé dans ce projet.