mercredi 23 octobre 2013

Créer une jolie liste d'URL

Pour créer cette page, j'ai choisi d'utiliser Python plutôt que Bash. J'y suis plus à l'aise.

J'ai utilisé en entrée un fichier txt unique contenant une url par ligne, avec au début de chaque bloc de lignes le nom de la langue, précédé d'une *
Cela donne un fichier du type :
*Français
http://lemonde.fr/...
...
...
*Anglais
*Allemand
http://www.heise.de/...
...

Voici le script (sans les indentations, obligatoires en Python) :


#!/usr/bin/python
# -*- coding: utf-8 -*-
import codecs
import re
import unicodedata


# Attention, le tableau de résultats fait actuellement 700px de large
# Pour l'intégrer sur le blog, il doit faire 500px de large. A modifier manuellement à la publication.
#pour insérer le fichier html résultant de ce script dans le blog, il suffit de prendre uniquement le body.
#attention au charset

def tableau_url():
### ouverture fichier
file=codecs.open('liste_url.txt','r',encoding="utf-8")
fichier_sortie=codecs.open('tableau_url.html','w',encoding='utf-8')

### nettoyage fichier
file2=[]
for line in file:
if line=="\r\n":
line="\n"
line = re.sub("\t", "", line)
line = re.sub("\r", "", line)
line = re.sub("\n", "", line)
if line=="" or line==" ":
serarien=0
else:
file2.append(line)

### init sortie
sortie=[]
sortie.append(u'<!DOCTYPE html><html>')
sortie.append(u'<!-- Cette page a été générée automatiquement par un script python')
sortie.append(u'Pour des raisons de lisibilité dans le script, et pouvoir être intégré dans le blog, les attributs css sont souvent placés directement au niveau des balises.')
sortie.append(u'C\'est très laid, mais plus pratique.--><head>')
sortie.append(u'<meta http-equiv="Content-Type" content="text/html; charset=utf-8">')
sortie.append(u'<title>Sortie URL</title><body><p style="text-align:center;">La liste des url de notre projet 11 Septembre.</p>')
#le réglage de la largeur du tableau se règle à la fin de la ligne ci-dessous
sortie.append(u'<table style="border:3px grey solid;border-collapse:collapse;margin-left:auto;margin-right:auto;width:700px;">')
sortie.append(u'<tr><th colspan="2" style="background:#DDDDDD;padding:5px">Liste des URL</th></tr>')


### récup url
i=0
for line in file2:
print line
if line[0]=="*": #cas nom de langue
i=0
sortie.append(u'<tr><td colspan="2" style="padding:5px;font-style:italic;background:#EEEEEE; border:solid black 1px;text-align:center;">'+line[1:]+u'</td></tr>')
else: #cas normal, ligne url
i+=1
sortie.append(u'<tr><td style="padding:5px;border:solid black 1px;text-align:center;">'+str(i)+u'</td><td style="padding:5px;border:solid black 1px;text-align:center;"><a href="'+line+'">'+line[0:60]+u'...</a></td></tr>')



### fin sortie
sortie.append(u'</table></body></html>')

### sortie
strsortie=''
for line in sortie:
strsortie=strsortie+line+"\n"


fichier_sortie.write(strsortie)
fichier_sortie.close

return "done"



J'ai rencontré quelques problèmes d'encodage, évidemment, mais heureusement facilement résolus par la conversion de toutes les chaines de caractères en chaines unicodes : u'string'

Un autre problème : pour pouvoir être intégré sur le blog, ce tableau doit pouvoir fonctionner indépendamment de toute information contenue dans le head ou dans un fichier css quelconque. Le résultat est que toutes les informations css sont intégrées dans les balises, ce qui est très laid, et provoque beaucoup de redondance dans le tableau final. Mais cela fonctionne, j'ai donc privilégié cette méthode.

Exercices de Bash

En guise d'introduction, un aperçu des exercices de Bash destinés à nous familiariser avec les systèmes Unix. Pour certains, il s'agissait de leur premier contact avec une invite de commandes, ce qui explique que ces commandes soient très basiques.

Nous avons vu les commandes suivantes :

pwdprint working directory, affiche simplement le chemin du répertoire de travail
lsPermet d'afficher le contenu du répertoire de travail
ls -aOption permettant d'afficher les fichiers cachés, commençant par un .
ls -lAffiche le résultat sous forme de liste détaillée, donnant des informations supplémentaires sur les fichiers
cdchoose directory, permet de se déplacer dans l'arborescence
mkdirmake directory
touchsert à l'origine à mettre à jour le dernier accès à un fichier, mais sert dans notre cas à créer un fichier vide
cpPermet de copier des fichiers
cp -uL'option update permet de ne copier que si la source est plus récente
cp -iCette option permet de prévenir l'utilisateur si le fichier existe déjà dans le dossier cible, et de lui donner la possibilité d'annuler le cas échéant.
manEnfin, la commande manuel, fondamentale...
catCette commande a de nombreuses utilisations. Pour l'instant, nous ne l'utilisons que pour afficher le contenu d'un fichier.
fileAffiche l'encodage d'un fichier, et de nombreuses autre informations avec l'option -i
echoAffiche tout simplement ce qu'on entre en argument
readRécupère ce que l'utilisateur tape en entrée, utile dans le cadre d'un script
cut -d X -f1Permet de récupérer une partie seulement d'une variable, en utilisant le séparateur X. Une seconde option doit être appliquée pour sélectionner la portion qu'on veut récupérer : f1, f2, f3...
cp

egrep, cat, redirection
amélioration de la sortie de ls avec cut

vendredi 11 octobre 2013

Corpus

Voici les URL de notre corpus sur le thème des attentats du 11 septembre 2001. Cette liste est encore incomplète et destinée à évoluer. Nous nous concentrerons particulièrement sur les articles de presse et sur les mots "11 septembre" et, dans les langues concernées, sur la locution ou le mot composé désignant les évènements du 11 septembre.

Vous trouverez ici une version propre de cette liste, mais peut-être pas à jour.

Français

Attention avec les articles de "le monde", il faut passer par l'accès abonné pour avoir les articles en entier. Peut-être impossibles à aspirer.
http://www.slate.fr/monde/77352/nes-11-septembre-2001
http://www.larousse.fr/encyclopedie/divers/attentats_du_11_septembre_2001/143942
http://bourse.lefigaro.fr/indices-actions/actu-conseils/l-hommage-maladroit-d-at-t-aux-victimes-du-11-septembre-495871
http://www.lefigaro.fr/international/2013/07/18/01003-20130718ARTFIG00552-11-septembre-le-proprietaire-des-tours-jumelles-veut-faire-payer-les-compagnies-aeriennes.php
http://www.lefigaro.fr/international/2013/04/29/01003-20130429ARTFIG00289-11-septembre-interrogations-autour-du-train-d-atterrissage-retrouve.php

http://www.lemonde.fr/11-septembre/article/2011/09/11/les-tribunes-publiees-dans-le-monde-apres-les-evenements_1570742_1569588.html
http://www.lemonde.fr/ameriques/article/2013/08/19/proces-du-11-septembre-les-procureurs-veulent-accelerer-les-procedures_3463049_3222.html
http://www.lemonde.fr/ameriques/article/2012/09/05/11-septembre-le-proces-pour-negligence-d-american-et-united-airlines-aura-bien-lieu_1756030_3222.html
http://www.lemonde.fr/ameriques/article/2012/05/06/les-accuses-du-11-septembre-silencieux-face-a-la-justice_1696410_3222.html
http://www.lemonde.fr/ameriques/article/2012/05/05/cinq-accuses-du-11-septembre-comparaissent-a-guantanamo-devant-un-tribunal-decrie_1696348_3222.html

http://bigbrowser.blog.lemonde.fr/2011/09/29/al-qaida-a-ahmadinejad-arretez-les-theories-de-conspiration-sur-le-11-septembre/
http://www.lemonde.fr/ameriques/article/2011/09/22/le-centre-culturel-musulman-pres-de-ground-zero-a-ouvert_1575728_3222.html
http://www.lemonde.fr/11-septembre/article/2011/09/12/11-septembre-barack-obama-vante-les-etats-veritablement-unis-d-amerique_1570983_1569588.html 
http://www.lemonde.fr/culture/article/2011/09/12/mille-et-une-autres-facons-de-vivre-et-raconter-l-islam_1571041_3246.html


Anglais

 

Allemand

 

http://de.wikipedia.org/wiki/Terroranschl%C3%A4ge_am_11._September_2001
http://www.heise.de/tp/artikel/39/39855/1.html
http://news4kids.de/wissen/gesellschaft/article/september-2001-der-tag-der-die
http://www.helles-koepfchen.de/artikel/2691.html
http://www.voltairenet.org/article179584.html
http://pravdatvcom.wordpress.com/2012/09/24/11-september-2001-die-dritte-wahrheit-extended-edition-video/
http://www.rp-online.de/politik/deutschland/wie-deutschland-auf-den-11-september-reagierte-1.2097664 (bof)
http://www.tagesschau.de/ausland/meinelfterseptember100.html
http://www.fr-online.de/11--september-2001/11--september-2001-die-usa-erinnern-an-die-opfer-von-9-11,1477440,24284652.html
http://www.lpb-bw.de/11september.html
http://www.focus.de/politik/ausland/usa/11-september-2001/erinnerungen-an-den-11-september-2001-ich-sah-einen-riesigen-feuerball_aid_654906.html
http://www.bpb.de/politik/hintergrund-aktuell/68721/9-11-und-die-folgen


Arabe