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.

374<br />

La bibliothèque standard<br />

TROISIÈME PARTIE<br />

Exécutions du programme<br />

$ python exemple_ex10.py<br />

Loading...<br />

ancienne valeur : aucune<br />

nouvelle valeur 255<br />

Saving...<br />

$ python exemple_ex10.py<br />

Loading...<br />

ancienne valeur 255<br />

nouvelle valeur 402<br />

Saving...<br />

Extension<br />

Le mécanisme présenté ne sauvegarde les données qu’à la fermeture du programme.<br />

Cependant, dans certaines situations, il peut être intéressant de provoquer cette sauvegarde<br />

à chaque modification de données. En outre, aucune protection n’est mise en<br />

place pour les objets qui ne peuvent pas être sérialisés, comme les locks ou les threads.<br />

Dans ce cas, une exception sera levée par shelve. Enfin, ce système de sauvegarde<br />

n’est fonctionnel que si le code de la classe associé aux instances ne change pas. En cas<br />

de modification, la sauvegarde sera caduque, et il faudra prévoir une migration.<br />

Une autre extension possible est de conserver l’état précédent de l’objet au moment<br />

d’une nouvelle sauvegarde et d’être ainsi en mesure de revenir en arrière dans l’historique<br />

des modifications.<br />

Ces principes peuvent être étendus par la mise en place d’un système de transaction,<br />

global au programme.<br />

La ZODB (Zope Object Database, la base de données objet de Zope) est un bon<br />

exemple de cette mécanique.<br />

Web et réseau<br />

Exercice 11 : vérificateur de liens<br />

Description<br />

L’objectif de l’exercice est de fournir un outil qui vérifie qu’une adresse URL donnée<br />

est valide, et renvoie la date de dernière modification et le type de contenu.

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

Saved successfully!

Ooh no, something went wrong!