vendredi 7 janvier 2011

Création du site

Comme nous vous l'avions dit, nous sommes en pleine création du site qui permettra de visualiser tout le travail d'un semestre..
Cependant nous avons dû tout recommencer.. Le site que nous étions entrain de créer n'était pas celui attendu.. Une charge de travail en plus.. Mais bon comme nous sommes motivées, il nous reste que quelques détails, des petites finitions..

Ps : ah oui, on ne vous a pas dit.. On a enfin résolu le problème de l'hébreu.. Moi je dis merci à Serge Fleury qui a énormément contribué à cette réussite.

dimanche 26 décembre 2010

Un joli site en cours de préparation

Quelque peu essoufflé par ces semaines de travail acharné, le projet parole ne se repose jamais.
Même en cette période de fêtes, et entre deux cadeaux au pied du sapin, le projet parole est manipulé, traité et modifié sans cesse.

Le site est en chemin, hébergé par Wix, et nous sommes en plein travail!

Vite vite vite, nous sommes impatientes de vous le dévoiler!

Bonne fêtes de fin d'année à tous.

jeudi 16 décembre 2010

La tête dans les Nuages

Quel belle invention Wordle! On peut faire de beaux nuages :) La preuve ici :

Paroles

Palabras 

דיבור

Et voilà CSS en pleine action

eh ouiii.. La fin des tableaux est proche... ouf.. :).. alors au lieu de le laisser tout tristounet, on a décidé d'y mettre un peu de couleurs, un peu de vie... On dit "Merci Css". Alors voici deux exemples de tableaux.. un coloré et l'autre avec une image intégrée au fond :

Tableau coloré

Tableau avec image intégrée






Et voici les balises qui ont permis la création de ces jolis tableaux :

Tableau coloré :
bgcolor= thistle --> pour colorer le fond du tableau

Tableau avec image intégrée :
background=../IMAGES/bulles-parole.jpg --> ici on donne le chemin pour définir l'endroit où se trouve l'image.

mercredi 15 décembre 2010

Basename enfin résolu

Depuis quelques semaines, nous avions mis ce petit problème de côté.. mais il fallait bien le résoudre un jour surtout pour faire un joli tableau avec un titre sans extension :).. voici la commande :

fichiersans=$(basename $fichier '.txt') ;

alors fichiersans est la variable une fois modifiée.. la commande basename permet en effet de retirer l'extension d'un fichier, ici pour la variable $fichier on enlève l'extension ".txt"

mardi 14 décembre 2010

Les contextes.. et leurs problèmes

Pour extraire les contextes des pages dumpées, nous avons écrit une boucle pour chaque fichier de chaque sens et de chaque langue..
Pour le français et l'espagnol, la commande egrep fonctionne plutôt bien puisque cygwin supporte les caractères latins. En revanche pour l'hébreu c'est une autre histoire.. en effet, cygwin ne reconnaît pas les caractères hébraïques.. et donc nous devons modifier un peu la boucle.. nous devons créer les fichiers contexte.txt à partir des fichiers contexte.html :







Une fois la boucle faite, on pourrait se dire que notre travail est terminé.. eh bien non!! il nous reste encore pas mal de travail.. En effet, Serge Fleury nous a fait remarqué que nous travaillons avec des locutions tels que "tenir la parole". Et du coup ça rend la tâche beaucoup difficile quant il s'agit de chercher les contextes.. On ne trouve pas forcément "tenir sa parole" dans tous les liens.. Cette locution peut être déclinée : "elle tient sa parole.....".. Nous devons donc chercher des expressions régulières qui nous permettraient de résoudre ça..

Allez courage!! c'est bientôt la fin.. :).. Encore quelques lignes de script et notre tableau sera enfin complet

mercredi 8 décembre 2010

Problèmes hébraiques ...

Bon, d'après nos travaux, l'hébreu est une langue compliquée à traiter, et qui en même temps, pose des problèmes de codages intéressants.

Effectivement nous rencontrons des problèmes pour trouver les contextes en hébreu.

Nous espérons donc trouver une solution vite afin de passer aux étapes suivantes du projet qui sont quand même, avouons le, plus funs!!

A la semaine prochaine.

mardi 7 décembre 2010

Voila un 1er tableau



Bon comme vous pouvez le voir.. on a réussi à faire un tableau ..

Seul hic, il n'est pas très beau.. Alors vite vite du CSS dans le script pour un tableau tout beau :)

mercredi 1 décembre 2010

-o, vive la galère!

Alors, après deux semaines de tentatives vaines pour résoudre le problème d'encodage et de dump vers l'UTF-8, il semblerait que le pc que nous utilisions jusqu'à présent avait décidé de faire son capricieux.
Effectivement, la commande -o ne fonctionne pas. Notre problème a donc trouvé une solution par le biais d'une modification du script et par l'utilisation de la commande -i en solitaire :'(
Voilà donc le script utilisé, sésame des problèmes rencontrés auparavant.

#!/bin/bash
echo "Donnez le nom du dossier contenant les fichiers de liens http : ";
read dossier;
echo "Donnez le nom du fichier html où stocker ces liens dans des tableaux : ";
read tablo;


echo "<html><head><title>tableau de liens</title></head><body>" >> $tablo;

i=1;
j=1;

for fichier in `ls $dossier`
{
    echo "<table border=1>" >> $tablo;
   
    echo "<tr><td align="center" bgcolor=\"silver\" colspan=\"7\"><b>Fichier $fichier</b></td></tr>" >> $tablo;
    echo "<tr><td>Numéros</td><td>URLs</td><td>Pages aspirées</td><td>Dump initial</td><td>Dump utf-8</td><td>Contextes utf-8</td><td>Contextes html</td>" >> $tablo;   
   
   
    mkdir -p ../CONTEXTES/$j ;
    mkdir -p ../DUMP-TXT/$j ;
    mkdir -p ../PAGES-ASPIREES/$j ;
   
   
    for nom in `cat $dossier/$fichier`
    {
    curl -o ../PAGES-ASPIREES/$j/$i.html $nom
    retourcurl=$? ;
        echo "RETOUR CURL : $retourcurl";
        if [[ $retourcurl == 0 ]]
        then
            encodage=$(file -i ../PAGES-ASPIREES/$j/$i.html);
            echo "ENCODAGE initial : $encodage";
       
            if [[ $encodage == "(utf|UTF)-8" ]]
            then
               lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$j/$i.html  > ../DUMP-TXT/$j/$i-utf8.txt ;
            echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$j/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$j/$i.txt\">$i.txt</a><br/><small>($encodage)</small></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$j/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$j/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$j/$i-utf8.html\">$i-utf8.html</a></td></tr>" >> $tablo;
           
            else
               echo "on cherche un charset dans la page aspiree...";
               if egrep -qi "(charset=.*?(\"|\')|encoding=.*?(\"|\'))" ../PAGES-ASPIREES/$j/$i.html ;
                  then
                      echo "Presence d'un charset...";
                      encodage=$(egrep -m 1 -o '(((utf|UTF)-(8|16|32))|(gb|GB)(k|K|2312|18030)|(iso|ISO|Iso)-8859-(\w)(\w)?|(WINDOWS|windows)-1252|(WINDOWS|windows)-1256|((m|M)(a|A)(c|C)(R|r)(O|o)(M|m)(a|A)(n|N))|us-ascii)' ../PAGES-ASPIREES/$j/$i.html | sort -u) ;
                      echo "charset extrait : $encodage ";
                       
       
                      VERIFENCODAGEDANSICONV=$(iconv -l | egrep -i $encodage | sort -u);
                      if [[ $VERIFENCODAGEDANSICONV == "" ]]
                        then
                            echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> inconnu par iconv, on ne fait rien"
                            echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$j/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td></tr>" >> $tablo;
                        else
                            echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> connu par iconv, c'est parti ==> lynx, iconv..."
                            lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$j/$i.html  > ../DUMP-TXT/$j/$i.txt ;
           
                            echo "ENCODAGE final : $encodage (avant conversion vers utf-8)";
                            iconv -f $encodage -t utf-8 ../DUMP-TXT/$j/$i.txt > ../DUMP-TXT/$j/$i-utf8.txt
                            echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$j/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$j/$i.txt\">$i.txt</a><br/><small>($encodage)</small></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$j/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$j/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$j/$i-utf8.html\">$i-utf8.html</a></td></tr>" >> $tablo;
                        fi
       
                   else
                      echo "Pas de charset detecte : on ne fait rien pour le DUMP... ";
                      echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$j/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td></tr>" >> $tablo;
                   fi 
            fi
        else
           echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\" bgcolor=\"red\">Page non aspiree...</td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td></tr>" >> $tablo;
        fi
    let "i+=1";
   
    }
   

    let "i+=1";
    let "j+=1";
}

    echo "</table>" >> $tablo;
    echo "<br>" >> $tablo;


echo "</body></html>" >> $tablo;

mercredi 24 novembre 2010

A la recherche de l'utf-8

le script présenté ci-dessous permet de trouver le charset d'origine de chaque url.. Une fois l'encodage trouvé, s'il n'est pas en utf-8 nous devons tout d'abord le changer afin que toutes les urls soient en utf-8 grâce à la commande inconv. Et une fois le problème d'encodage réglé nous pouvons dumper les pages aspirées :

#!/bin/bash
echo "Donnez le nom du dossier contenant les fichiers de liens http : ";
read dossier;
echo "Donnez le nom du fichier html où stocker ces liens dans des tableaux : ";
read tablo;


echo "<html><head><title>tableau de liens</title></head><body>" >> $tablo;

i=1;


for fichier in `ls $dossier`
{
    echo "<table border=1>" >> $tablo;
   
    echo "<tr><td align="center" bgcolor=\"silver\" colspan=\"7\"><b>Fichier $fichier</b></td></tr>" >> $tablo;
    echo "<tr><td>Numéros</td><td>URLs</td><td>Pages aspirées</td><td>Dump initial</td><td>Dump utf-8</td><td>Contextes utf-8</td><td>Contextes html</td>" >> $tablo;   
   
   

   
   
    for nom in `cat $dossier/$fichier`
    {
    wget -O ../PAGES-ASPIREES/$i.html $nom
    retourwget=$? ;
        echo "RETOUR WGET : $retourwget";
        if [[ $retourwget == 0 ]]
        then
            encodage=$(file -i ../PAGES-ASPIREES/$i.html);
            echo "ENCODAGE initial : $encodage";
       
            if [[ $encodage == "utf-8" ]]
            then
               lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$i.html  > ../DUMP-TXT/$i-utf8.txt ;
            else
               echo "on cherche un charset dans la page aspiree...";
               if egrep -qi "(charset ?=.*?(\"|\')|encoding ?=.*?(\"|\'))" ../PAGES-ASPIREES/$i.html ;
                  then
                      echo "Presence d'un charset...";
                      encodage=$(egrep -m 1 -o '(((utf|UTF)-(8|16|32))|(gb|GB)(k|K|2312|18030)|(iso|ISO|Iso)-8859-(\w)(\w)?|(WINDOWS|windows)-1252|(WINDOWS|windows)-1256|((m|M)(a|A)(c|C)(R|r)(O|o)(M|m)(a|A)(n|N))|us-ascii)' ../PAGES-ASPIREES/$i.html | sort -u) ;
                      echo "charset extrait : $encodage ";
           
                      VERIFENCODAGEDANSICONV=$(iconv -l | egrep -io $encodage | sort -u);
                      if [[ $VERIFENCODAGEDANSICONV == "" ]]
                        then
                            echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> inconnu par inconv, on ne fait rien"
                            echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td></tr>" >> $tablo;
                        else
                            echo "VERIF : <$VERIFENCODAGEDANSICONV> ==> connu par inconv, c'est parti ==> lynx, iconv..."
                            lynx -dump -nolist -display_charset=$encodage ../PAGES-ASPIREES/$i.html  > ../DUMP-TXT/$i.txt ;
           
                            echo "ENCODAGE final : $encodage (avant conversion vers utf-8)";
                            iconv -f $encodage -t utf-8 ../DUMP-TXT/$i.txt > ../DUMP-TXT/$i-utf8.txt
                            echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$i.txt\">$i.txt</a><br/><small>($encodage)</small></td><td align=\"center\" width=\"100\"><a href=\"../DUMP-TXT/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$i-utf8.txt\">$i-utf8.txt</a></td><td align=\"center\" width=\"100\"><a href=\"../CONTEXTES/$i-utf8.html\">$i-utf8.html</a></td></tr>" >> $tablo;
                        fi
       
                   else
                      echo "Pas de charset detecte : on ne fait rien pour le DUMP... ";
                      echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\"><a href=\"../PAGES-ASPIREES/$i.html\">$i.html</a></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td></tr>" >> $tablo;
                   fi 
            fi
        else
           echo "<tr><td align=\"center\" width=\"50\">$i</td><td align=\"center\" width=\"100\"><a href=\"$nom\">lien n°$i</a></td><td align=\"center\" width=\"100\" bgcolor=\"red\">Page non aspiree...</td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td><td align=\"center\" width=\"100\" bgcolor=\"aqua\"><small>Encodage<br/>non d&eacute;tect&eacute;</small></td></tr>" >> $tablo;
        fi
    let "i+=1";
   
    }
   

    let "i+=1";
    let "j+=1";
}

    echo "</table>" >> $tablo;
    echo "<br>" >> $tablo;


echo "</body></html>" >> $tablo;


Problème!!!!!!!!!!! 

Certaines pages dont l'encodage n'est soit disant pas détecté ne sont pas dumpées.. Or lorsqu'on regarde le code source des pages html, on retrouve différents charset : utf-8; ISO 8859-* qui ne sont pas pris en compte par notre script....  WHYYYYYYYYYYYYYYYYYYYYYY????????