Professional Documents
Culture Documents
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.
Introduction VII
2013 Pearson France Apprendre Python 3 Franck Ebel
2611book.indb 7
26/10/13 08:15
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
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
XIIIntroduction
2013 Pearson France Apprendre Python 3 Franck Ebel
2611book.indb 12
26/10/13 08:15