Journal du projet Le dur passage du désir à la réalité...
Qu’est-ce que je veux faire ? • La réponse à cette question n’est pas :
Je sais pas quoi faire !
(cf Pierrot le fou, J.L.G : « qu’est-ce que je peux faire ? J’chais pas quoi faire ! Etc. »
Avant de coder, je prépare le terrain Lecture déjà annoncée : http://www.tal.univ-paris3.fr/cours/PROJET-MOT-SUR-LE-WEB/
Script pour créer l’arborescence de travail
Donc, je veux : (avant de coder, on réfléchit…) • Lire les données en entrée (x fichiers d’URLs) • Ecrire dans un fichier de sortie en HTML (tableaux) • Pour chacun des fichiers d’URLs : – Lire chaque ligne du fichier d’URLs (càd une URL) • Détecter l’encodage des données (de l’URL) • Récupérer l’URL localement sur ma machine • SI l’encodage est UTF8 – ALORS : extraction du texte « brut » de la page – AUTREMENT : rien pour le moment
• Ecrire les résultats dans un tableau HTML (pour accéder aux données traitées et aux contenus textuels)
INPUT
PROGRAMME (exécution...)
OUTPUT
Etape n°1 : lecture Des fichiers de données en entrée + Nom du fichier de sortie Etape n°2 : Pour chacun des fichiers d’URLs Lecture du fichier ligne à ligne Pour chaque ligne (une URL) du fichier Détection de l’encodage de l’URL Sauvegarde de l’URL dans un fichier SI l’encodage est UTF8 ALORS extraction du texte de la page AUTREMENT : on ne fait rien pour le moment ECRITURE DU RESULTAT une ligne dans un tableau HTML avec les différentes infos
Le passage du désir à la réalité... • Comment traduire ces « intentions » en programme informatique (en lignes de code) ? • Il faut tout d’abord s’adapter à l’environnement informatique choisi (Bash) • Et trouver des solutions adaptées dans cet environnement – Soit on les connaît – Soit on les cherche – Soit on les apprend en cours !!!
Exemples • Comment dire en bash : – Pour chacun des fichiers d’URLs – Pour chacune des lignes d’un fichier d’URLs – Détecter l’encodage d’un fichier ou d’une ressource en ligne – Si l’encodage d’un fichier est TELLE VALEUR • alors je fais ceci • autrement je fais cela
– Etc.
• Solution provisoire : lire du code pour apprendre à décoder et à recoder !!!!
Pour chacun des fichiers d’URLs • Plusieurs solutions existent... • Pour Bash, on peut faire ceci par exemple : Utilisation de la boucle FOR Pour chacun des éléments d’une liste, on va agir sur l’élement visé
• For ELEMENT in LISTE – Traitement de ELEMENT
• Comment on met en oeuvre ???
Pour chacune des lignes d’un fichier... • En gros, pb de lecture d’un fichier • Plusieurs solutions existent... • En Bash, on peut faire par exemple : – Pour chacune des lignes du fichier... (boucle for)
• Comment on met en oeuvre ???
Lecture du code (Etape 1)
Commentaire dans la salle : quelle horreur !!!!
Lecture détaillée du programme • Sous notepad et à l’écran... – Lecture du programme proposé ... – À corriger par vous – A commenter par vous – A enrichir aussi par vous – Etc.
Etape n°2 • On va essayer de reprendre les choses laissées de côté dans l’étape n°1 – En particulier le traitement des URLs qui ne sont pas encodées en UTF8 – Et d’autres petites choses à mettre en œuvre
Etape n°1 : lecture Des fichiers de données en entrée + Nom du fichier de sortie Etape n°2 : Pour chacun des fichiers d’URLs Lecture du fichier ligne à ligne Pour chaque ligne (une URL) du fichier Détection de l’encodage de l’URL Sauvegarde de l’URL dans un fichier SI l’encodage est UTF8 ALORS extraction du texte de la page AUTREMENT : ICI IL FAUT FAIRE QUELQUE CHOSE
1
ECRITURE DU RESULTAT une ligne dans un tableau HTML avec les différentes infos
4
2 3
Problèmes à résoudre • S’assurer que la récupération d’une URL se passe bien
1
– Tester les codes retour des commandes
• Transcoder les données non-UTF8
3
– Introduire la commande iconv
• Extraire des contextes des unités lexicales choisies
2
– Introduire la commande egrep
• Ecrire tous les résultats dans le tableau final – Insérer les colonnes idoines
4
3
1 • Actuellement dans le script :
• Insuffisant !
• A compléter par vous…
2 • Extraire des contextes autour des mots choisis… • Présentation de la commande egrep egrep motif fichier
• Et des expressions régulières !
Cf slides sur page iCampus
3 • Conversion d’encodage… • Présentation de la commande iconv – (cf GIM) iconv –f encodage-source –t encodage-cible fichier
4 • Pas de difficultés particulières… • Par exemple : – savoir écrire un tableau HTML… <table> <tr><td>…</td><td>…</td><td>…</td></tr> <tr><td>…</td><td>…</td><td>…</td></tr> <tr><td>…</td><td>…</td><td>…</td></tr> <tr><td>…</td><td>…</td><td>…</td></tr> </table>
A suivreâ&#x20AC;¦