Devoir de Master Pro RADI 2004-2005


Applications Documentaires

Pratique des "encodings" de documents html

de langues et écritures variées



Jacques Vergne

GREYC
Université de Caen

http://www.info.unicaen.fr/~jvergne


Vous allez réaliser une chaîne de traitement minimale qui prend en entrée des URL de documents html de langues et écritures variées et qui sort les mêmes documents transcodés en utf8.

Vous choisirez des articles de presse des langues suivantes (1 ou 2 fichiers par langue) :
français
finnois
grec,
russe,
arabe,
hébreu,
chinois,
japonais,
coréen,
hindi

Vous trouverez des adresses de site de presse du monde entier sur le site du Courrier International
 (http://www.courrierinternational.com/planetepresse/planeteP_accueil.asp)
Les url en entrée seront sous la forme d'un fichier texte utf8 avec une url par ligne.


Fonctions du système :
pour chaque article :
charger le fichier entier dans une chaîne de caractères
détecter son encoding, au cours du protocole http (content-type : text/html; charset=iso-8859-7)
    ou dans le source (<meta http-equiv="Content-Type" content="text/html; charset=utf-8">)
rappel : l'encoding n'est pas connu au moment où on lit le fichier dans une chaîne
    quand on recherche 'charset=?' dans le début du source, on considére que c'est de l'ascii
    on peut ensuite décoder le source -> encoding interne unicode, en connaissant son encoding original

écrire 2 versions du fichier :
- html identique, mais transcodé utf8
modifier la valeur de "charset" dans la balise meta correspondante
mettre la valeur de l'encoding original et l'url en commentaire dans la ligne suivante
- html débalisé (partiellement pour garder une lisibilité dans un navigateur) en utf8

écrire un fichier de synthèse (html utf8) contenant pour chaque article :
url
encoding original
nombre de caractères du source
nombre de caractères de texte
titre de la page (balise title)
3 liens : sur le fichier lu et sur les 2 versions sorties


Langage de programmation :
au choix, à motiver : python, java, php, perl (source de préférence en utf8)


À rendre le 8 novembre (travail en monôme) :
une archive avec tous les fichiers (entrée, sortie, source), placée dans votre public_html
le document de synthèse imprimé
un rapport contenant :
- compte-rendu sur le comportement des navigateurs selon les langues (internet explorer, netscape, firefox)
- compte-rendu sur la visualisation des sources html originaux et transcodés utf8 dans un éditeur de programmation
    (question du choix de l'encoding)
- liens sur la documentation utilisée
- compte-rendu sur le langage de programmation choisi :
    motiver le choix
    comment gère-t-il unicode : decoding, traitement interne (expressions régulières, chaînes constantes, ...), encoding
- compte-rendu sur les difficultés rencontrées
- url de l'archive (droits en lecture activés pour tous)


Contact

bureau S3-391, tél: 02 31 56 73 36,      e-mail : Jacques.Vergne@info.unicaen.fr

(mise à jour le 18 octobre 2004)