Lambert Veller Sylvain
Quirico Tommy
Licence 3 d’informatique
Initiation à Python
et à Latex
Rapport de projet
Superviseur : Pierre-Cyrille Héam 2009/2010
2
Sommaire
1 - Introduction………………………………………………………………………….….…3
1.1 – Python…………………………………………………………………….…….. 3
1.2 - Latex…………………………………………………………………..…..…….. 4
1.3 - XML (eXtensible Markup Language) ………………………………….….….. 5
1.4 - DTD (Document Type Definition)……………………….…….…….….…….. 5
2 - Cahier des charges………………………..………………………………………..…….. 6
3 - Matériel ……………………………………………………………………………….….. 7
4 - Démarches…………………………………………………………………..……...…….. 8
4.1 - Rencontres tuteur étudiant étape par étape………………………………….. 8
4.2 - XML et DTD…………………………………………………...……………….. 8
4.3 - Python………………………………………………….……………………….. 9
4.4 - Latex…………………………………………………………………………….. 9
4.5 - Difficultés rencontrées………………………………………………...…..….. 10
5 - Réalisation logicielle……………………………………………………………...…...…10
5.1 - Fichier defBaseDeDonnees.dtd……………………………………………......10
5.2 - Fichier BaseDeDonnees.xml…………………………………………….……..12
5.3 - Fichier Save.xml………………………………………………………………..12
5.4 - Fichier main.py…………………………………………………………….…..13
5.5 - Autres fichiers………………………………………………………...………..17
6 - Bilan……………………………………………………………………………...……….18
7 - Conclusion…………………………………………………………………….………….19
8 - Références…………………………………………………………………….…………..19
3
1 - Introduction
Durant la troisième année de licence informatique à l’Université de Franche-comté de
Besançon, nous avons un projet à préparer pendant plusieurs mois pour ensuite le soutenir
devant un jury. Au mois de novembre 2009, nous avons choisi une personne pour former un
binôme qui s’est vu attribué un sujet de projet choisi parmi une liste de huit projets classés,
par nos soins, dans l’ordre de nos préférences. Ce projet, proposé par Pierre-Cyrille Héam,
notre tuteur pour ce travail, a été présenté en mars 2010. Nous avons travaillé sur la
conception d’une application développée en langage de script Python utilisant le langage
Latex et les fichiers XML. Les langages Python et Latex n’étant pas enseignés dans notre
cursus, nous avons donc fait des recherches afin d’apprendre à les comprendre et à les utiliser.
Dans ce document, vous trouverez ce que nous avons appris et mis en place pour réaliser une
application servant à rédiger des courriers, pour ensuite les générer en document au format
PDF.
1.1 - Python :
Python est un langage portable avec une syntaxe simple ressemblant aux langages de
programmation comme C, C++ et Java. C’est un langage orienté objet qui, comme le C++,
gère l’héritage et la surcharge des opérateurs. Python a une bibliothèque standard qui permet
de faire beaucoup de choses et il continue à évoluer. Ce langage de script est très utilisé pour
le traitement de fichiers texte.
Voici quelques exemples de code que nous utilisons pour :
- lire notre fichier XML :
fichierXML = parse('BaseDeDonnees.xml')
- afficher quelque chose à l’écran :
En C :
printf(‘’Hello World ! ! !’’);
En Python :
print ‘’Hello World ! ! !’’
- utilisation d’un if :
En C++ :
if (toto = = 1) {
truc++ ;
} else {
truc = 0 ;
}
En Python:
if (toto = = 1):
truc = truc+1
else :
truc = 0
Il y a trois éléments essentiels à ne pas oublier en Python par rapport aux langages comme C
ou C++ sous peine d’erreur à la compilation :
4
- indenter le code correctement,
- ne pas mettre de « ; » à la fin de chaque ligne de code,
- mettre « : » pour l’ouverture d’une boucle ou d’une instruction.
Erreur d’indentation Erreur de syntaxe
1.2 - Latex :
Ce langage est utilisé pour formater des textes scientifiques tels que des documents
mathématiques ou, comme dans notre cas, des courriers grâce à des classes se trouvant dans
des bibliothèques standards (comme la classe « lettre » que nous utilisons) ou des classes
programmées par l’utilisateur. Ces textes peuvent être utilisés pour être ensuite enregistrés
dans des fichiers (un fichier PDF par exemple). Dans notre cas, nous intégrons le langage
Latex dans la fonction « write » de Python pour pouvoir enregistrer le tout dans un fichier
.tex, celui-ci est utilisé pour convertir ce fichier et générer un document PDF.
5
filout.write(' \documentclass[11pt]{lettre}\n') #vous remarquerez le langage Latex
filout.write('\usepackage[francais]{babel}\n') #dans les parenthèses
filout.write('\usepackage[T1]{fontenc}\n')
filout.write('\institut{'+nomFileIns+'} \n')
filout.write('\date{')
filout.write(datea.nodeValue) #et l’utilisation de nos variables pour
y
filout.write('} \n') #inclure nos propres contenus
filout.write('\\begin{document} \n')
filout.write('\\begin{letter}{%\n')
filout.write('M \\textsc{')
filout.write(nomp2.nodeValue)
filout.write(' ')
filout.write(prenomp2.nodeValue)
filout.write('}')
filout.write('\\')
….
filout.close()
FINALFILE = nomFileTex
os.system("pdflatex %s" % FINALFILE)
#cette dernière fonction Python utilise une commande système
#pour convertir le fichier en PDF dans lequel on a écrit.
1 / 22 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !