17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Texte<br />

Exercices corrigés<br />

CHAPITRE 11<br />

Il existe un module équivalent à optparse, plus ancien, appelé getopt, mais qui ne<br />

propose que des fonctions de lecture bas niveau, sans laisser la possibilité au développeur<br />

d’automatiser certains contrôles et certaines tâches comme optparse le fait.<br />

Ce squelette de programme laisse le développeur définir ses options dans un dictionnaire<br />

qui est ensuite fourni au module de parsing. Il appelle enfin la fonction<br />

main(options, arguments), qui est le point d’entrée du programme.<br />

L’intérêt de séparer les options dans un dictionnaire en tête de fichier est de les<br />

rendre plus lisibles. Elles sont détachées du reste de code et facilement modifiables.<br />

Extension<br />

Le module optparse n’est malheureusement pas internationalisé et les messages<br />

d’erreur sont définis en dur dans le code du module. L’affichage de messages comme<br />

« at least one option string must be supplied » au moment de l’exécution du<br />

programme peut être perturbant si le reste des messages est en français.<br />

Une extension possible consisterait à mettre en place une internationalisation. La<br />

méthode la plus rapide est d’intercepter les erreurs et traduire les messages à la volée.<br />

La solution la plus élégante et portable est de créer une version internationalisée du<br />

module.<br />

Cette partie propose trois exercices de manipulations basiques de chaînes de caractères,<br />

de la saisie de texte à la recherche de motifs par expressions régulières, en passant<br />

par les méthodes de tri.<br />

Exercice 2 : le chiffrement de César<br />

Description<br />

Le chiffrement de César est une manipulation basique qui consiste à décaler tous les<br />

caractères alphabétiques d’un texte de 13 rangs (algorithme ROT13). Ainsi le mot<br />

«bonjour» devient «obawbhe», ou la phrase « Je programme en Python. » devient<br />

«Wr cebtenzzr ra Clguba.».<br />

L’objectif de l’exercice est de laisser l’utilisateur saisir un texte et d’afficher le résultat<br />

du chiffrement à l’écran.<br />

351

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!