Twisted Le framework de votre internet Où pourquoi vous avez mieux à faire que de recoder un bot irc et un serveur web, par Michael Scherer.
Framework Le framework de votre internet
Internet Le framework de votre internet
Votre Le framework de votre internet
Exemple tiens, hier soir j'ai constaté qu'un roumain harcelait mon serveur ssh je pensais qu'il était connecté mais en fait il s'est juste trompé 5941 fois de mot de passe
Étude des vers
En résumé ● Écrit en Python ● Licence : MIT ● Dernière version du framework : 2.5 ● Et c'est vachement bien (tm)
Concepts ● Programmation asynchrone ● Usage d'une boucle d'événement ● Système de callback
Deferred ● « Un deferred est la promesse qu'une fonction va avoir un résultat un jour »
Réacteur ● Gestion des événements ● Intégré avec divers boucles – glib – qt – etc...
Factory et application ● Utilisation du design pattern «Factory» ● Distribution des applications via un paquet «tap»
Développement ● Revue de code ● Tests unitaires poussés ● Utilisation de BuildBot
Composants ● Nombreux sous-projets ● «Famille» de protocoles ● Plus ou moins avancés
Core ● Implémente la base : – les réacteurs – spread, système de RPC – persisted, gestion de la persistance – etc..
Names ● Client DNS ● Serveur DNS ● Peut reprendre les fichiers de bind
News ● Protocole NNTP ● Client & Serveur ● Usenet, etc
Web, Web2 ● HTTP, Webdav ● SOAP, XML-RPC ● Client et serveur
Words ● Messagerie instantanée ● Jabber/XMPP, Irc, et plus ● Client uniquement
Conch ● SSH & SFTP ● Telnet ● Client et serveur ● Pour choper les vers
Mail ● Imap, Pop ● Smtp ● Client et serveur
Lore et trial ● Lore, système de documentation ● Trial, tests unitaires
Runner ● Exécution de processus ● Contient un pseudo inetd ● Contrôle via des pipes
Exemples
Quelques softs connus ● Bittorrent ● Flumotion – Serveur de streaming ● Ical server, de Apple ● Smart server pour bzr
Conclusion
Pour qui ?
Et bientot... ● Finir le module Web2 ● AMP ( Asynchronous Messaging Protocol ) ● Développement vis à vis de xmpp ● Et bien d'autres...
Url ● Site web – ● Irc – #twisted sur irc.freenode.net ● Planet –
Questions ? ?
Twisted Présentation sous licence CC-BY-SA, sur le site web de la conf. Les photos appartiennent à leur auteur ( licence CC- BY ou CC-BY-SA ) Me contacter : ou sur irc,