You are on page 1of 6

Introduction

Pourquoi ce livre?
Dans le classement Tiobe, classement des langages les plus populaires, Python est plac
huitime avec une augmentation de son utilisation en entreprise par rapport lanne
dernire de 0,96% et sapproche petit petit des langages les plus clbres tels que C,
C++ ou Java.
Le ministre de lducation nationale commence se rendre compte du potentiel de ce
langage et Python est prconis en seconde ST2I. Il est aussi enseign dans les classes
prparatoires aux grande coles.
Les chercheurs, en physiques et en mathmatiques particulirement, lemploient depuis
de nombreuses annes pour sa simplicit dutilisation, ses nombreuses bibliothques, et
parce quil sagit dun langage non compil.
En scurit informatique, une multitude dapplications et dexploits sont crits en Python
et cest pour cette raison quil est enseign en licence CDAISI (collaborateur pour la
dfense et lanti-intrusion de systmes informatiques) luniversit de Valenciennes.
Cette licence unique en Europe, car dite "de scurit offensive", a mis sur ce langage
souple, multi-plate-forme.
Il existe de nombreux ouvrages sur Python qui ont tous une approche trs "franaise" de
lenseignement et donc de lcriture.
Ce livre prsente la particularit dtre une approche de lapprentissage de ce langage,
une approche par le projet. Nous partirons dun projet concret pour en dfinir les
concepts, dcouper ce projet en parties si ncessaire et en dduire les besoins et donc
les connaissances ncessaires laboutissement final.

qui sadresse cet ouvrage?


Ce livre sadresse tous. Que vous soyez dbutant absolu ou que vous pensiez bien
connatre certains langages de programmation et lalgorithmie, vous y trouverez des
techniques, astuces et exemples qui vous feront apprendre et progresser dans le langage
Python.
Vous pouvez lire cet ouvrage dans lobjectif de vous autoformer, en complment dune
formation traditionnelle, ou encore vous y rfrer ponctuellement afin de comprendre ou
dapprofondir une connaissance particulire.
Au cours de ce livre, vous apprendrez tout dabord les bases telles que les variables, les
itrations, les boucles, les mthodes, les classes, puis vous verrez comment manipuler
les bibliothques standard et particulires comme:
les modules os, sys, etc.;
les modules re, math, etc.;

Introduction VII
2013 Pearson France Apprendre Python 3 Franck Ebel

2611book.indb 7

26/10/13 08:15

les modules socket, FTP, urllib, etc.;


le module Tkinter.
Certains chapitres abordent les fonctionnalits de base destines aux dbutants et
dautres, les fonctionnalits avances pour les lecteurs en recherche doptimisation.
Chaque chapitre est fond sur des problmes concrets, correspondant des
situations professionnelles, et sur lexprience de lauteur dans lenseignement, ses
dveloppements et ses audits de scurit.
Contrairement aux livres habituels, les notions, telles que les chanes de caractres,
seront vues au fur et mesure et au fil des projets.
Une fiche rsum sera donne la fin de chaque projet.

Prrequis
Pour aborder ce livre, quelques prrequis sont ncessaires.
Vous devez notamment connatre les commandes de base UNIX (Mac OS X, Linux).
Vous aurez en effet besoin dinstaller certaines applications et librairies pour obtenir un
environnement idal pour la programmation Python.
Vous aurez aussi besoin de quelques notions rseau quand nous aborderons la partie
projet rseau, ainsi que quelques notions de bases de donnes.

Site compagnon
Cet ouvrage est accompagn dun site web, adapt pour les PC et supports mobiles, sur
lequel vous pourrez vous entraner en ligne et retrouver tous les corrigs dexercices en
vidos. Pour cela, rendez-vous ladresse www.moneformation.fr.
Vous devrez vous y inscrire pour activer un compte et accder aux corrigs des exercices.
Vous aurez besoin de consulter le prsent ouvrage pour crer votre compte et rpondre
la question de scurit.
Chaque fois que vous voudrez raliser un exercice de louvrage, vous pourrez vous
rfrer la page correspondante de lexercice sur le site web.

Lauteur
Franck EBEL est enseignant depuis vingt-deux ans luniversit de Valenciennes, antenne
de Maubeuge, Il enseigne le dveloppement Python dans la licence professionnelle
CDAISI, "ethical hacking", quil a cre en 2008.
Il est directeur du VOC (Vulnerability Operations Center) dans la socit Atheos.
Il est expert en scurit informatique, commandant de gendarmerie rserviste et
consultant dans diffrentes entreprises de scurit informatique.
Il est crateur et prsident de lassociation ACISSI (Audits, conseils, installation et
scurisation des systmes informatiques).
Il est crateur et organisateur du clbre concours Hacknowlegde-contest Europe/
Afrique (http://www.hacknowledge-contest.org).
VIIIIntroduction
2013 Pearson France Apprendre Python 3 Franck Ebel

2611book.indb 8

26/10/13 08:15

Les IDLE
Un IDLE est un environnement de dveloppement intgr pour Python. Les principales
fonctionnalits des IDLE sont:
lditeur texte avec coloration syntaxique, lautocompltion, lindentation;
le terminal Python avec coloration syntaxique;
le dbogueur intgr avec avancement par tape, point darrt persistants et pile
dappels.
Il en existe de multiples, nous nen verrons que quelques-uns parmi les plus populaires.

Pydev et Eclipse
Cet ensemble est le plus abouti des IDLE mais peut-tre le plus complexe pour les
programmeurs les moins chevronns.
Des tutoriaux relatifs linstallation, la configuration et lutilisation de cet ensemble
existent sur le Web.

Figure0.1
Apparence dEclipse avec Pydev.

Introduction IX
2013 Pearson France Apprendre Python 3 Franck Ebel

2611book.indb 9

26/10/13 08:15

Eric
Eric est un EDI Python. Il permet, entre autres, de crer, modifier et dboguer du code
Python. Il possde toutes les fonctionnalits que lon peut attendre dun EDI digne de ce
nom.
Eric est trs simple installer, configurer et utiliser. La Figure0.2 est un exemple de
code Python ouvert.

Figure0.2
Apparence dEric.

PyCharm
PyCharm, contrairement aux IDLE prsents dans la section prcdente, est payant.
Cest nanmoins celui que jutilise le plus et qui ma offert tout ce dont javais besoin
dans un IDLE.
Cet IDE est dabord un diteur de code trs pratique qui permet de crer des projets
Python, et dditer des scripts Python. Il dispose galement de lautocompltion qui
permet daccder facilement aux fonctions natives du langage Python.
Il propose galement une fonction qui vrifie la syntaxe en soulignant le code qui pose
problme, directement pendant la saisie (ce qui vous pargne de dcouvrir les erreurs
lors de la compilation).
LIDE permet de lancer le script la vole simplement en cliquant sur le bouton Run.
Et pour couronner le tout, il est compatible avec plusieurs versions de Python, trs
pratique quand on est amen travailler sur diffrents projets qui nutilisent pas les
mmes versions de Python, ou pour tester sur dautres versions.

XIntroduction
2013 Pearson France Apprendre Python 3 Franck Ebel

2611book.indb 10

26/10/13 08:15

Au lancement du programme, la fentre daccueil apparat.

Figure0.3
Fentre daccueil.

Aprs avoir choisi linterprteur, ici Python3, nous pourrons crer un nouveau projet. Une
documentation dtaille est disponible sur le site de PyCharm.

Figure0.4
Exemple de fentre PyCharm.

Introduction XI
2013 Pearson France Apprendre Python 3 Franck Ebel

2611book.indb 11

26/10/13 08:15

Liste des IDE Python


IDLE : cest lIDE Python par dfaut install avec Python sur Windows ; il est trs
rudimentaire et vraiment pas pratique.
PyDev: plug-in Python pour Eclipse IDE, dvelopp par Aptana.
Wing IDE: payant.
Winpdb.
Python Tools for Visual Studio: plug-in pour Visual Studio (IDE .NET de Microsoft) qui
permet dcrire du code Python.
Eric Python IDE.
PyCharm: payant.
Komodo IDE : payant ( ne pas confondre avec Komodo Edit, qui est une version
gratuite, mais moins complte). Cet IDE supporte plusieurs langages dont PHP, Python
et Ruby.
Ninja IDE.

XIIIntroduction
2013 Pearson France Apprendre Python 3 Franck Ebel

2611book.indb 12

26/10/13 08:15

You might also like