Latest Entries »

par Samantha
 

Objectifs :

1. Utiliser le script fait-tableau version 2 utilisé la semaine dernière en cours et y apporter les modifications nécessaires pour que celui-ci soit adapter à notre travail.

2. Aux tableaux obtenus grâce au script fait-tableau-version2, il faudra ajouter une colonne supplémentaire pour les pages aspirées correspondantes. De plus il faudra également modifier le script pour pouvoir visualiser les erreurs.

Avant toute chose il faut donne la description des commandes : CURL et WGET.

Wget : sur mon terminal in english of course. Cette commande doit(peut) être suivie d’une option et doit être suivie d’une URL. Elle permet de télécharger à partir du web des données non intéractives. en fait elle permet d’extraire du web le contenu de certaines pages et cela se fait automatiquement tout seul. wget –  r permet de récupérer tous les liens en aspirants toutes l’arborescence du site alors que curl ne peut pas faire ça car il n’aspire que d’url en url . Pour wget on peut même signaler la longueur de l’arborescence que l’on veut aspirer.

Curl : n’existe pas dans les commandes disponibles sur mon terminal, je dois chercher sur le net pour pouvoir l’installer sur mon terminal.Je tape « sudo apt-get install curl » et la commande est installée. Dans le manuel : curl sert à transeférer une Url. elle est suivie d’une option et de l’url en question.

1. Le script ci-dessous et celui qui a été utilisé au cours du 9 novembre, il y figure les modifications permettant de travailler directement sur le répertoire contenant les urls et cela sans avoir à les mentionner, grâce à la commande READ.

Le script fonctionne très bien sur la machine de la fac, on obtient un tableau pour chaque fichier d’urls et ans chaque tableau, une cellule contentant  un numéro en face de chaque cellule de liens cliquable.

Cependant après avoir tout essayé, le script modifié ne fonctionne pas sur ma machine, on obtient trop de tableaux (4) et ils ne sont pas numérotés correctement. Ils sont tous numérotés 1 et idem pour les liens.

Je pense que c’est un problème de variable mais j’ignore lequel.

Les problèmes d’encodage :

Tout doit être encodé en UTF-8.  Le fichier doit être écrit en UTF-8 et il faut dire qu’on écrit en UTF-8 dans la balise <meta>. Pour certains caractères qui ne figurent pas dans l’ASCII, on peut utiliser des entités HTML indépendemment de l’encodage, par exemple pour écrire ° on écrit &deg; le navigateur traduit cette entité HTML en caractère correspondant. C’est du HTML qui passe au-dessus de l’encodage.

Autre solution : On peut utiliser des codes Unicode pour représenter les caractères problématiques.

 

Suite du cours : On veut créer un tableau qui comporte un colonne contenant les pages aspirées.

On peut recupérée la page que pointe le lien en faisant enregistrer sous, mais les navigateurs réinterprète le HTML et cela ne marche pas toujours.

On va donc utliliser une balise pour copier le contenu de ces pages.

La commande wget : elle récupère le fichier dans un serveur web distant, dans le répertoire à la racine et le ramène sur notre machine dans un endroit qu’on lui a indiqué en faisant une copie à distance.

idem pour curl.

wget renumérote les fichiers. On veut les stocker dans le répertoire pages aspirées.

-O : output

On va nommer le fichier de la page aspirées pour chaque url $i, ça permet d’associer le nom du fichier et de les distanguer, la pages aspirées 5 correspond à la 5è url.

On écrit donc wget http://www.ibm.com/index.html -O .

j= compteur des fichiers url donc des tableaux qui est initialisé à l’extérieur de la boucle.

i= est initialiser à l’ext. sur les urls, et à l’intérieur sur les tableaux.

Ce qui permet de dissocier numéro de tableau et numéro des urls c’est l’association tableau/urls : donc on crée un nom : $j-$i.html

wget http://www.ibm.com/index.html -O ./PAGES-ASPIREES/$j-$i.html

Ce serait mieux de créer dans le répertoire PAGES ASPIREES un fichier fichier pages aspirées par fichier url.

si on veut créer un fichier $j (numéro du fichier url) mkdir $j dans PAGES ASPIREES

wget se place avant la boucle for  nom in `cat $fic`

Dans notre script les urls porte le nom $nom

wget $nom -O ./PAGES-ASPIREES/$i.html; => récupéré l’url stocké dans la machine dans le fichier $i sous le répertoire PAGES ASPIREES

=>position par rapport au programme

On veut placer la page aspirée dans le tableaudes urls. Il faut donc créer une celleule supplémentaire dans notre tableau. Chemin relatif par rapport à l’endroit ou se trouve le fichier tableau dans lequel on veut faire référence au fichier de la page aspirée et non par rapport à l’endroit ou je me trouve.

echo « <tr><td>$i</td></tr><td><tr><a href=\ »$nom\ »>$nom</a></tr></td><tr><td>./PAGES-APSPIREES/$i.html</tr></td> » » >>$tableau;

La variable retourwget ou retourcurl : si la commande se passe bien, le $? porte la valeur 0 et si elle se passe mal elle porte la valeur 1,2,3..

Reagarder les descriptifs de curl et de wget.

Modifier le script pour obtenir le tableau de pages aspirées.

 

Correction du script de création tableau :

On corrige le script qui sert à créer le tableau avec un numéro en face de chaque urls.

comment éviter d’avoir à écrire à chaque fois l’exécution du script.

Redirection entrante pour éviter d’écrire à chaque fois le nom de fichier entrant et le nom de fichier de sortie. On va mettre en place une astuce pour permettre au script d’aller directement récupérer les informations sasns que l’utilisateur n’ait à entrer les noms de fichiers.

On écrit de manière définitive dans un fichier les valeurs des entrées et sorties qu’on veut générer :

./URLS/url-biocarburant-fr.txt

./TABLEAUX/tableau-urls-fr-kh.html

que l’on nomme input.txt

On modifie le script fait tableau en supprimant les deux lignes echo :

read fic;

read tablo;

echo « Le nom du fichier html ou stocker ces liens $tablo »;

Lorsqu’on exécute le fichier on le fait suivre du nom du fichier de stockage. La première ligne du script ‘read fic’ va lire le nom du fichier stockage :

sh fait-tableau-version1-input.sh   <  sh input.txt

=> redirection de flux.

Point HTML : pour faire une liste entrer la balise <ol> et pour numéroter les ligne on utilise la balise <li> pour avoir des points, on utilise la balise <ul>

On peut peut pas utiliser ce codage pour numéroter les lignes d’urls.

On utilise un code qui compte les lignes grâce à une variable. Première ligne i=1 et ajouter 1 à chaque fois qu’on passe une ligne.Puis on affiche la valeur du compteur au moment ou j’écris la ligne.

echo « <tr><td>$i>/td></tr>>td>tr>$nom</tr></td>

Puis il faut incrémenter c’est à dire ajouter 1 à i pour chaque ligne.  i=i+1

<=>i+=1  : incrémentation et assignation à la fois.

let »i+=1 »

ou i=` expr $i+1`;

Point HTML :

<td><a href= »http.//lien.com »> url1</a></td>

Pour notre script, on veut tous les liens soient clicables.

On écrit  echo « <tr><td>$i</td></tr><td><tr><a href=\ »$nom\ »>$nom</a></tr></td>

\ »$nom\ » : affiche la valeur de $nom, donc l’url.

Comment traiter du même coup les deux fichiers d’urls ?

Dans la boucle en input  on va écrire read rep puisqu’il ne s’agit plus d’un fichier mais d’un répertoire de fichiers.

On change le fichier input :

./URLS

../TABLEAUX/tableau-urls-fr-kh.html

en écrivant read rep;

onveut dire au programme : pour chacun des fichiers de rep on veut que la boucle soit lue.

=> à ce stade tout est écrit dans un seul tableau donc on doit ajouter :

read tablo;

echo « <html><body> » >$tablo;

=>on aura autant de tableau que de fichiers.

On remet une boucle for fic in ‘ls $rep` => ls liste le contenu du répertoire.

Dans cette boucle for, on va pouvoir traiter 1 fichier

echo « <tableau> »>>$tablo;

cat : il faut reconstruire le chemin du fichier que l’on veut traiter. par rapport à l’endroit où l’on se trouve. pour accéder au fichier que l’on veut traiter c’est $rep et pour traiter le fichier c’est $fic

`cat  $rep/$fic`

Si on n’indique pas le chemin, le terminal va afficher Error : aucun fichier de ce nom, car on ne lui aura pas indiqué le bon chemin.

par Samantha

Biocarburant-s : définition, aperçu socio-lexicologique.

Comme on l’a tous remarqué, le BIO a le vent en poupe. On veut manger bio, acheter bio, s’habiller bio, bref vivre bio.

Les carburants n’y échappent pas, la mode du bio s’y est faite aussi une place. Mais bio dans « biocarburant » et bio dans « un jus d’orange bio » recouvrent-ils la même réalité ?

Le préfixe « bio » trouve son origine dans le  mot grec  « bios » et désigne la vie, le vivant cf. biologie ( étude de ce qui est vivant). Il s’agit là de son sens étymologique. Cependant, le préfixe « bio » est devenu très prolifique en perdant ( en partie) son sens originel. La signification du préfixe bio a été détournée de deux façons :

  1. bio :  adj./nom, désigne un produit de consommation « issu de l’agriculture biologique », c’est-à-dire qui n’utilise pas (du moins c’est ce qu’ils prétendent) de produits chimiques, d’engrais,etc. Les produits issus de ce mode de production portent le label « bio ». Cette utilisation de bio montre que ce n’est plus un préfixe mais que c’est devenu un signe à part entière qui recouvre une autre réalité que le préfixe grec.
  2. bio :  joue ici le rôle d’un préfixe. Cependant, il s’est également éloigné du sens grec « le vivant ». Dans cette utilisation du préfixe bio, cela désigne tout ce qui est alternatif et qui a pour visée première la préservation de l’environnement, à partir de matériau que l’on trouve dans la nature. On pourrait classer cette acception de bio dans l’expression hyperonymique « Développement durable ».Ce préfixe fourni une multitude de dérivés : biocarburant, bioénergie, biotechnologie, biocosmétologie, etc.

On constate que bio est un polysème. Le signifié est unique (pro-environnementale, alternatif)mais en discours il s’actualise de manière différente et ne recouvre pas toujours la même réalité.

Pour distinguer les différentes acceptions qui se réalisent en discours, on peut s’appuyer à la fois sur un critère sémantique et sur un critère syntaxique. En effet, sémantiquement, « bio » n’a pas les même synonymes en 1. et en 2.et syntaxiquement ils ne se combinent pas de la même manière aux autres unités. En 1. « bio » est un adjectif (voire substantif) et caractérise un certain mode de consommation alternatif, il désigne à lui seul tout un domaine à part entière « le bio »; en 2 il a un comportement préfixale qui confère aux unités auxquelles il s’adjoint un caractère de « bon pour l’environnement, utilisant ce qui est vivant,alternatif,  utilise et produit autres choses que les produits toxiques et chimiques habituels. »

C’est cette deuxième acception de « bio » qui es à l’origine du substantif « biocarburant-s », qui désignerait les carburants dits alternatifs qui seraient moins nocifs pour l’environnement, qui répondraient à un cahier des charges qui pourrait laisser penser qu’ils seraient une solution durable à l’épuisement des ressources fossiles, au dérèglement climatique, au fiasco environnementale causé par les énergies traditionnelles bref « c’est bio, c’est bon ». Pour ce lexème en particulier, on perçoit tout de même une trace du sens grec « vivant », car « biocarburant » désigne les carburant produits à partir d’autre chose que du pétrole et que l’on trouve dans la nature (huile végétale, maïs, ethanol, etc.) ou recyclé.

Ci-dessus le fruit de ma réfléxion, ci-dessous, définition du dictionnaire :

Biocarburant : ou agrocarburant désigne un carburant liquide produit à partir de matériau non fossile issu de l’agriculture (maïs, colza, etc.). (cf wiki)

L’imaginaire collectif :

L’étude lexicologique n’explique pas toujours et n’est pas le seul à jouer un rôle dans la définition de « biocarburant-s ». Outre les définitions stricto sensu de biocarburant, l’imaginaire collectif contribue à coller à cette définition une forme de solution bienfaitrice pour l’environnement. Cela s’explique sans doute par la première acception de bio « propre, bon pour la santé, sans produit chimique ». Cette subjectivité qui se jette dans une définition purement factuelle, laisse deviner qu’il y a débat sur le sujet et qu’en réalité, bien que l’opinion collective semble penser que bio et donc biocarburant soit bien, sain et bon pour l’environnement, on est en fait face à une bataille des « pros and cons biocarburant ».

Pourquoi ? Les « biocarburants » ont commencé à se développer dans la lancée de ce qu’on a appelé les énergies renouvelables ( éoliennes, panneaux solaires, barrages hydroliques,etc.) pensant bien faire et trouver une alternative durable au pétrole. Sauf que, les pros « biocarburants » ont négligés quelques détails importants relevant du coût humain, financier, et spacio-temporel que ces énergies nécessitent. C’est là que les cons biocarburants ont fait leur entrée avec des arguments plutôt costauds (Greenpeace &Co) tels que « risque de famine, désastre écologique ».

Dans l’histoire, il n’y a pas de méchants, car chacun pense défendre la bonne cause.

C’est pourquoi, je me suis dit qu’une étude de ce mot pourrait être révélatrice de ce débat qui est toujours d’actualité. Un sorte de mini veille d’opinion, tout en essayant de mettre l’accent sur l’aspect linguistique, par exemple en s’attardant sur les contextes d’apparition du mot, les adjectifs qui les qualifient, ses réalisations syntaxiques et les différentes valeurs sémantiques qu’il recouvre.

Alea jacta est.

 

Un peu de lecture…

Comme demandé en cours par le prof de programmation, j’ai recherché les descriptions des commandes Shell.Sera complété au fil de mes lectures.
Par Samantha

Bien que je n’ai pas réussi à installer Ubuntu sur mon ordinateur ( cf cet article), je ne chôme pas pour autant, bien au contraire, je passe mon temps à remplir ce blog. Comme je suis gentille je vais faire un article pour partager ce que j’ai pu retirer de mes lectures sur les commandes Shell. Warning : il y a sans doute des erreurs de compréhension de ma part donc ne prenez pas pour argent comptant ce que je vous dis.

  • Nom de la commande : man

              Description : Lire le manuel d’utilisation d’une commande.

  • Nom de la commande : ls

  Description : Lister les fichiers et documents présents dans un répertoire.

  • Nom de la commande : cd

              Description :

  • Nom de la commande : pwd
  • Nom de la commande : mkdir => créér un répertoire
  • Nom de la commande : echo => ajouter une ligne d’écriture
  • Nom de la commande : dos2unix => convertir un document Microsoft en un document Unix
  • Nom de la commande : date
Comme promis résumé de lecture de l’article de 36 pages. Un peu long mais super intéressant.
– Par Samantha –

 Auteurs : Marcel Cori et Jacqueline Léon

p.21 à 55

RÉSUMÉ. Pour désigner le champ d’investigations et d’applications à l’intersection de la linguistique, des mathématiques, de l’informatique et des sciences cognitives hérité des expériences pionnières en traduction automatique, plusieurs termes sont ou ont été en concurrence, Computational Linguistics ou Natural Language Processing dans le domaine anglo-américain, Traitement automatique des langues, Informatique linguistique ou Linguistique informatique en France. Cet article se propose, en retraçant le parcours historique de ces dénominations, de montrer que le flottement sur les termes est symptomatique des tensions à l’oeuvre dans le domaine, sur le plan des enjeux institutionnels, économiques, théoriques et conceptuels.
 

 Le TAL désigne-t-il une discipline scientifique, une technologie ou une communauté de chercheurs et d’ingénieurs ?

Le TAL gravite autour de : la linguistique, l’informatique, les mathématiques et l’intelligence artificielle.

I- Constitution du TAL à travers les termes qui l’ont désigné: perspectives théoriques et pratiques mises en jeu.

  1. A- Chronologie des termes : Américains vs. Français :

Aux USA, Memorandum, Weaver (1949) intitulé Translation est publié dans un contexte favorable au dvpt de la traduction automatique mais c’est une impasse qui laissa place au Computational Linguistic puis au Natural Language Processing.

En France, les linguistes sont sceptiques face à la TA.C’est Traitement Automatique des Langues qui s’impose.

  • La traduction automatique aux USA :

Weaver utilise le terme Computer translation et Wiener de Mechanical translation pour désigner le problème de la traduction automatique.

Weaver pose déjà les jalons de la traduction automatique en tenant compte des aspects pratiques, en soulevant le problème des ambiguïtés et de la traduction littérales. Il pose un des principaux problèmes du TAL, la fiabilité des résultats, impossibilité d’une traduction parfaite.

**Mechanical translation =>machine à traduire** : production en série de traduction automatisée.<=>Machine translation of language.

Bar-Hillel => FAHQT (full automatic high quality translation) propose une traduction assisté par ordinateur ( cf. PAO en édition). Il préconise la construction de diverses grammaires universelles et leur évaluation. article A Quasi-Arithmetic Notation for Syntactic Description  (1953).

1950’s Période de traduction et traitement automatique à l’aide de calculatrice éléctronique => dictionnaires électronique, analyseurs syntaxiques,etc.

1948-1958 : apparition des méthodes fondamentales du TAL. Les adeptes du TA sont ingénieurs, mathématiciens, etc. Pas de structuralistes, ni Chomsky.

La TA est une réponse à : une demande sociale, technologiques et aux théories linguistiques en cours.

! Bar-Hillel en 1960 dans un rapport de l’ALPAC dit que la Machine Translation 100% machine sans assistance humaine n’est pas possible et inadmissible.Arrêt des subventions.C’est alors que Machine Translation devient Computational Linguistics.

**Computational Linguistics**  fév. 1961: d’après Bar-Hillel on peut construire une machine capable de déterminer la structure de toutes les phrases d’une langue source, à condition que la syntaxe de celle-ci soit présentée formellement. Yngve structure en arbres l’information grammaticale et syntaxique(modèle chomskien sans les transformations).

1962 : Création de d’Association for Machine Translation and Computational Linguistics (AMTCL) qui deviendra Association for Computational Linguistics en 1973. Premier colloque en 1965 à N-Y.

Nouvelle discipline très subventionnée car « The tools of computational linguistics are considerably less costly than the multibillion-volt accelerators of particle physics. »

CL inclut toutes les applications de l’ordinateur à des fins de traitement de langues naturelles ou artificielles. (recherche pragmatique + recherche fondamentale). Tentative d’éviter les dérives de MT.

D’autres travaux associant langages formels et informatique ont le vent en poupe et se regroupent sous le terme Automatic (association) plus abstrait que Mechanical avec une prédominance de l’analyse syntaxique automatique comme seule méthode de TA.(années 1970)

**Natural Language Processing **: ce terme s’installe dans les années 1980,après la rencontre entre le langage et l’intelligence artificielle. Bien que dans les années 1990 Computational Linguistics reste la discipline de référence  le terme NLP s’impose.

=> NLP = réponse à une demande sociale, robustesse, rapidité, fiabilité et coût.Désormais CL est orienté recherche fondamentale et NLP application industrielle. CL subit le contraire de ce qui est arrivé à Mechanical Translation, pas assez pragmatique.

Conclusion : Aux USA, c’est la TA qui a donné naissance à ce qu’on appelle en France le Traitement Automatique des Langues.

  • Le TAL en France :

Aux USA c’est la TA qui a prédominé, en France, c’est la mécanisation du vocabulaire qui est à l’origine de la naissance du TAL.

Contexte : Essor lexicologie avec  Inventaire général de la langue française, 1936, Mario Roques, dans les année 1950 mécanisation.

Pour la TA en France création de l’association ATALA en 1959(ils ont un site internet mais ça marche pas). TA => 10 de retard par rapport aux USA.

Le terme TAL ne fait consensus que depuis les années 1990.

Les français n’aiment pas le terme américain Machine Translation, pourtant publication de »La machine à traduire » Delavenay et « La machine à traduire, histoire des problèmes linguistiques »Mounin 1964. Au CNRS les mathématiciens préfèrent « automatique ».

Donc Machine à traduire devient Traduction automatique. difficulté à établir un formalisme pour la TA. En français, Computational est remplacé par le terme « calcul« .

=> Difficulté à trouver une terminologie = difficulté à cerner la discipline. De plus, la TA commence en France alors qu’elle décline aux USA au profit de l’analyse syntaxique automatique qui n’est pas encore adoptée en France est qui, pourtant, se présnete comme melleur méthode pour la TA. Peu de linguistes acteurs de la TA.

1959 : Création du Centre de Linguistique Quantitative : haut lieu de découverte des langages formels.(formalisme, statistique et linguistique).

Computational Linguistics correspond à Grammaire Formelle.

**Linguistique appliquée **: terme consensuel.= enseignement des langues, applications de l’ordinateur au traitement des langues et TA.Ne constitue pas une discipline car terme général, ne faisant référence à aucune méthode en particulier.

Vauquois en 1967 veut une meilleur définition du TAL pour se démarquer de la statistique.(et du centre de linguistique quantitative). Il préconise la constitution d’équipes mixtes.

** Informatique Linguistique**1972 : nouveau terme mais qui crée encore plus de confusion. En 1983 le CNRS crée « les Sciences du Langage ». Tentative de donner des perspectives théoriques à « informatique linguistique » dans les années 1980.=> naissance de la notion d’arbre.

1985 : Premier cursus en linguistique informatique à l’Université Paris 7.

Officialisation du TAL : la revue d’ATALA change de nom pour TAL (1992). Une licence Sciences du langage mention TAL est créée en 1993 et une maîtrise « industrie de la langue ».

 Ctxt : Développement des technologies, de la micro-informatique.

Le TAL a bcp de difficultés à se constituer en discipline=> tensions entre les disciplines qui ont contribué à sa fondation.

Par Samantha

Phase 1 du projet : faire un tableau html avec les url collectés de manière semi-automatique grâce  à un script :

Voici le script que j’ai récupéré sur le site plurital et que j’ai modifié pour qu’il soit adapté à mon environnement de travail.

Maintenant j’essaie de l’exécuter sur le terminal pour voir s’il n’y a pas d’erreurs et si la boucle se met en marche.

Résultats :

Apparemment tout allait bien jusqu’à ce qu’apparaisse cette ligne

« cat: url-biocarburant-francais.txt : Aucun fichier de ce type »

Je ne comprends ce qui se passe car le fichier url existe bien et il est enregistré dans le répertoire URLS. J’ai pris la précaution de l’enregistrer avec gedit.

Que faire ?

génial! Merci pour l’aide

Résultat :

La suite avec les url en khmer.

Comme je n’ai pas encore réfléchi à Comment faire en sorte que les deux fichiers d’url soit traités d’un seul coup, je vais juste faire la même chose une deuxième fois pour le deuxième fichier.

C’est parti, on lance le script…

Résultat, zut j’ai oublié que je n’ai pas ubuntu. C’est Maknie qui le fera ou alors je le ferai avant mercredi prochain.

Cours du 2 novembre (suite)

Par Samantha -prise de notes en live

Première étape : script mot

cf : cours en ligne http://www.tal.univ-paris3.fr/cours/PROJETMOTSURLEWEB

Ecrire une programme pour récuperer les urls les mettre dans un tableau avec une numérotation.

Pour ce faire, on image que notre fichier d’url est un ensemble : pour chaque url x appartenant  au fichier d’url je veux qu’il apparaissent dans une ligne du tableau.

for x in X {

Il faut trouver un moyen pour pouvoir considérer notre fichier url comme un ensemble, pour pouvoir considère chaque élément de l’ensemble.

Astuce : Lorsqu’on fait un cat d’un fichier, le terminal affiche la liste des ligne du fichier. Il affichera la liste des url du fichier. Utiliser un cat du fichier permettra d’afficher à l’écran l’ensemble des url du fichier. Le retoure à la ligne va être le segmenteur et on pouvoir obtenir virtuellement un ensemble d’urls.

Pour la constitution de l’ensemble des urls on va récupérer le résultat d’une commande à la fenetre de commande. comme ensemble résultat de la boucle for on récupère le résultat de cat en utilisant « l’inverted quote’

for (x) in ‘cat $fic’

Read fic : le bash attend qu’on lui donne qqchse au clavier pour l’introduire dans la variable fic. Lorsqu’on veut invoquer la valeur du contenu de la variable, il faut le $.

si on écrit x= »url.txt »

echo $x on a url.txt

Si on veut afficher le contenu de la variable il faut utiliser le $

x= »serge »

echo « bonjour $x »

résultat : Bonjour serge

la variable garde la même valeur tant qu’on a pas changer son contenu par une affectation. Dès qu’on change son contenu la variable change.

Autre façon de faire des affectations :

read : affectation d’un valeur à une variable ( juste le nom pas le contenu)

fic : bien qu’il contienne le nom du fichier avec le chemin relatif, cela ne veut pas dire qu’il contient les chaine de caractères du fichier lui même. On donne à fic juste une valeur qui est une chaine de caractères.

read fic si on rentre url.txt si on fait echo $ fic ( permet d’accéder à la valeur de la variable)on nous donne url.txt

cat $fic : affiche le contenu du fichier fic qui est la variable. On va donc obtenir tout le conteu du fichier url.txt

les quotes inversés :`  `

on dit au shell d’exécuter la commande et de ramenr le résultat dans le ctxt de l’autre commande que l’on fait. signification : exécuter la commande et afficher son contenu.

CF. Doc : Premiers Scripts tableau de lien

Une boucle for pour indiquer à la machine d’aller elle même à chaque ligne d’url.

for nom in `cat $fic`

résultat : http://www.html

http://…&#8230;

{

echo « <tr><td> $nom</tr></td>

}

for fait une affectation à nom

après les accolades la boucle for ferme les balises. sur Ubuntu les accolades sont remplacée par do et done

Créer un script capable de prendre en entrée tous les fichiers urls, à lancer une seule fois

Par Samantha – prise de note en live

La balise <meta>;

très importante à renseigner. Lorsqu’on écrit la page, il faut enregistrer le document écrit sous notepade++ il faut l’enregistrer en UTF-8 et préciser dans la balise meta « content » UTF-8.

Lorsqu’on écrit une page dans quel encodage est-on ?

Utiliser la commande FILE

file(espace) -i nom du fichier : cette commande nous donne en quel charset on a écrit.

Toujours se demander dans quel encodage on écrit et comment le repérer.

Il y a une commande qui permet de convertir un encodage dans un autre : iconv

Ce n’est pas parce qu’on dit UTF-8 dans la balise méta que l’on est dans un encodage UTF-8

TOUT CE QUI DEVRA ETRE GENERE DEVRA ETRE CODE EN UTF-8 !

Commande Unix qui permet de savoir dans quel encodage on est  et aussi la localisation: locale

Schéma représentant la chaîne de traitement :

EXPLICATION :

extraction des URL : si la page est en UTF-8 on pourra extraire la page en utilisant la commande lynx.

si la page de l’url n’est pas codée en UTF-8 : il faudra trouver dans quel code est faite la page, la changer en UTF-8.

Bloucle : for > pour chaque éléments du tableau passage par l’encodage et traitement.

Un traitement supplémentaire pour compter les mots de la page de chaque url.

Le traitement doit être capable de construire des tableaux de tel sorte que pour chaque url le lien pointe vers la page, et montre quelle est son encodage.

par Samantha

Considérons l’exercice précédent comme fait et le script exécuté. On a donc un environnement de travail avec un répertoire PROJET MOT SUR LE WEB et les répertoires PROGRAMMES, DUMP-TEXT et  TABLEAUX entre autres.

Exercices suivants :

A. Ecrire un script (dans le dossier PROGRAMMES) permettant de générer dans le répertoire DUMP‐TEXT un fichier txt contenant 2 lignes (sur la première, votre nom, sur la seconde, le mot choisi pour votre projet)
B. Ecrire un script (dans le dossier PROGRAMMES) permettant de générer dans le répertoire TABLEAUX un fichier html contenant 1 tableaux avec 2 lignes (sur la première, votre nom, sur la seconde, le mot choisi pour votre projet)

Commençons par l’exercice A :

Les scripts que l’on va écrire devront être enregistrés dans le répertoire PROGRAMMES

#!/bin/bash
# ce script permet de créer un fichier texte que l’on va appeler nom-mot dans le répertoire DUMP-TEXT
# le script sera enregistré dans le répertoire PROJET-MOT-SUR-LE-WEB/PROGRAMMES
# Il nous permettra donc de générer un fichier texte dans DUMP-TEXT qui aura pour contenu mon nom sur la première ligne et le mot choisi sur la deuxième ligne
echo « Samantha JEAN-BAPTISTE Maknie PEN » > ./DUMP-TEXT/nom-mot.txt;
# j’ai créé un fichier nom-mot.txt qui sera situé dans le répertoire DUMP-TEXT et qui comportera nos noms
echo « Notre mot pour le projet est : biocarburant »>>./DUMP-TEXT/nom-mot.txt;
# les chevrons doubles >> permettent de concaténer la deuxième ligne de texte sans écraser celle qui existe.
#fin de l’exercice A, pour lancer le script je fais sh ./PROGRAMMES/exercice-nom-mot.sh

Résultat de l’exécution du script : j’obtiens dans le répertoire DUMP-TEXT un doc .txt qui contient nos noms et mot choisi :

Exercice B :

P.S. : en toute honnêteté, je me suis aidé du corrigé du site plurital.

#!/bin/bash
# j’écris le script de l’exercice B. Il sera enregistré dans PROGRAMMES
#et permettra la création d’un tableau d’un fichier html dans le répertoire TABLEAUX
# je commence par me placer dans TABLEAUX, ne pas oublier le ; à la fin de chaque ligne de script
cd ~/PROJET-MOT-SUR-LE-WEB/TABLEAUX;
# puis je créer un fichier .html intitulé tableau1.html
echo « <html> »> tableau1.html;
#création du head et son contenu
echo « <meta charset=\ »UTF-8\ »><head><title>Samantha et Maknie</title></head> »>> tableau1.html;
#création du body et de son contenu qui sera concaténé avec le head
echo « <body><table align=\ »center\ » width=\ »200\ » cellspacing=\ »2\ » border=\ »3\ »> » >> tableau1.html;
#création du tableau, des cellules et du contenu
echo « <tr><td>Samantha JEAN-BAPTISTE</td><td>Maknie PEN</td></tr><tr><td colspan=\ »2\ »> Nous avons choisi le mot : Biocarburant </td></tr> »>> tableau1.html;
#on ferme le tout et normalement c’est bon.
echo « </table></body></html> » >> tableau1.html;
# pour lancer le script je fais sh ./PROGRAMMES/creation-tableau.sh

Résultat de l’exécution du script dans le terminal : on obtient dans le répertoire tableaux le tableau suivant.

Les dimensions du tableau sont peut-être à revoir mais on va dire que l’exercice est concluant.