[Pyxoo] Librairie Python - Revision 2

11 août 2007, Aucun commentaire »

Aujourd’hui sort la seconde révision de Pyxoo, un framework développé en Python, qui est un portage de la librairie Pixlib.

Pour cette seconde révision, j’ai pu mettre en place le package de log :

  • LogEvent
  • ILogListener
  • Logger
  • LogLevel
  • PyxooDebugChannel
  • PyxooDebug
  • Stringifier
  • BasicStringifier
  • PyxooStringifier

Comme vous l’aurez sûrement compris, ce package propose un ensemble de classes permettant de logger et debugger. Tout ce là utilisant le système d’évènements typés et son EventBroadcaster proposé lors de la première révision de Pyxoo.
A l’image de ce que l’on peut retrouver en Java (Log4J), on retrouve le gestion de log par niveau : DEBUG, INFO, WARN, ERROR, FATAL.

Je vous rappelle l’adresse permettant de récupérer les sources via SVN : http://svn.pyxoo.skitoo.org/trunk/

Comme toujours n’hésitez pas à faire un petit tour sur le groupe Pyxoo pour faire partagés vos expériences, critiques et découvertes de bugs.

[Pyxoo] Petit exemple rapide d’utilisation de la classe EventBroadcaster

30 juillet 2007, 2 Commentaires »

Afin de compléter mon précédent billet concernant Pyxoo je vous livre ici un premier exemple concernant l’utilisation de la classe EventBroadcaster.

from Pyxoo.events.broadcaster import EventBroadcaster
from Pyxoo.events.event import StringEvent
import sys

# création de listeners proposant une méthode onLog

class LogListener:
def onLog(self, event):
raise NotImplementedError

class TextFileLogger(LogListener):
def __init__(self):
self.__file = open(“mylogs.log”, “w+”)
def onLog(self, event):
self.__file.write(event.getString()+\n)

class StdOutLogger(LogListener):
def onLog(self, event):
sys.stdout.write(event.getString()+\n)

log1 = TextFileLogger()
log2 = StdOutLogger()
EVENT_TYPE = “onLog”

eventBroadcaster = EventBroadcaster()
# on ajoute un listener associé à un type d’événement
# dans l’eventBroadcaster
eventBroadcaster.addEventListener( EVENT_TYPE, log1 )
eventBroadcaster.addEventListener( EVENT_TYPE, log2 )

# création d’un événement avec pour eventType "onLog"
event1 = StringEvent( EVENT_TYPE, “Bonjour” )
event2 = StringEvent( EVENT_TYPE, “Au revoir” )

# diffusion de l’événement. Tous les listeners associés
# à l’événement "onLog" reçoivent l’événement et le traitent.
eventBroadcaster.broadcastEvent( event1 )
eventBroadcaster.broadcastEvent( event2 )

Bien sûr ce n’est qu’un exemple très simple de l’utilisation de la classe. On peut imaginer de nombreux types d’utilisation dans des contextes différents : gestion des événements d’une application Pygame, d’événements provenant d’une socket, etc…

[Pyxoo] Librairie Python - Revision 1

29 juillet 2007, 2 Commentaires »

Ca y est je me lance !
Suite à une première étude du framework PixLib développé par un collègue Francis Bourre, j’ai décidé de me lancer dans le portage en Python de celui-ci. Le nom du projet : Pyxoo

Pour cette première révision je me suis penché sur le package Events du frameworks, c’est à dire toute la partie du système d’EventBroadcaster, d’évenements typés, du ChannelBroadcaster et de l’ApplicationBroadcaster.
Pour me faciliter la tâche dans la vérification des types de données, j’ai mis en place un petit module utils contenant une classe Type proposant une suite de méthodes statiques permettant de vérifier les types de valeurs.
Je tiens à préciser que Pyxoo est distribué sous Mozilla Public License Version 1.1

Pour le moment les sources sont seulement récupérable via SVN :

svn checkout http://svn.pyxoo.skitoo.org/trunk/ pyxoo

Normalement un Trac devrait voir le jour d’ici peu.

Afin d’avoir des retours utilisateurs sur Pyxoo j’ai mis en place un groupe sur Google http://groups.google.fr/group/pyxoo. N’hésitez pas à faire partager vos expériences, critiques et découvertes de bugs via ce groupe.

[Django] Vidéo de Django aux Journées Python Francophones 2007

17 juillet 2007, Aucun commentaire »

Un billet qui arrive vraiment en retard étant donné que la vidéo de cette conférence est disponible depuis le 19 juin 2007 sur le site de l’AFPY. Sur cette vidéo vous pourrez découvrir ou redécouvrir la conférence de David Larlet concernant Django.
La vidéo est en deux parties : la première de 5 minutes et la seconde de 35 minutes.

La première partie de la vidéo :



La deuxième partie de la vidéo :

[Django] Ouverture du site francophone Django !

3 juin 2007, Aucun commentaire »

Depuis ce week-end, la communauté francophone du framework Django a enfin son site. Tout cela grâce au travail des contributeurs. Pour le moment se trouvent présents sur le site un guide d’installation du framework ainsi qu’un tutoriel qui permet de faire ses premiers pas dans le fabuleux monde de Django. :)

[Plugin] Django AMF

12 février 2007, Aucun commentaire »

Pour toutes les personnes utilisant la technologie Flash, AMF PHP est souvent une réponse adéquate pour répondre à un nombre important de problèmes rencontrés lors du développement d’applications de type Flash Remoting.

Cette technologie séduisante pour le commun des flasheurs peut rebuter un passage de PHP à Django coté serveur.
Ce manque n’existe plus ! En effet, j’ai pu tomber par hasard sur le site DjangoAMF qui nous propose donc un middleware Django nous permettant d’utiliser le Flash Remoting. Ce plugin semble tout jeune (version 0.3.2) mais néanmoins actif (dernière mise à jour faite le 19 janvier 2007 )
Il semblerait qu’il soit développé par une équipe japonaise, mais fort heureusement une documentation anglaise est présente sur le site.
Je n’ai malheureusement pas encore eu le temps de tester tout cela, en espérant le faire dès que possible…

[Video] Conférence Django

11 février 2007, Aucun commentaire »

Voici une petite découverte trouvée sur le site Google Video. C’est une conférence google sur le thème du Framework Django, réalisée par Jacob Kaplan-Moss le 26 avril 2006. Ce dernier, qui est l’un des co-fondateurs du projet Django, nous présente les grands points forts du Framework.
Cette vidéo dure 1h 14 min et elle est en VO.

[Mémento] Le Framework Django en condensé

11 février 2007, 4 Commentaires »

Je vous propose aujourd’hui un mémento réunissant les différentes commandes du framework Django, les tags de templates, les modèles…
Ce document est disponible au format PDF sous licence Creative Commons AttributionNonCommercialShareAlike. Ce n’est que la version 0.1 du document. De nombreux ajouts et modifications sont à venir. A vos propositions :)

Edit : Mise à jour 0.1.1 du mémento (correction du lien vers django-fr.org et modification de la couleur de fond)

Télécharger le mémento Django au format PDF :

Mémento Framework Django Version 0.1.1

[Tutoriel] Utiliser une application Django dans un simple script Python

22 janvier 2007, Aucun commentaire »

Celà fait quelques temps que je me penche sur le framework web Django écrit en Python.
Je viens de découvrir une manière simple pour utiliser la puissance de Django dans un simple script.

Après avoir créer un projet Django ainsi qu’une application, créer un fichier (exemple : test.py) dans le répertoire du projet.
Voici les première ligne :

#!/usr/bin/env python
import os
os.environ[‘DJANGO_SETTINGS_MODULE’] = ’settings’

La première ligne indique que l’on utilise l’interpréteur Python. La seconde nous permet d’importer le module os et la troisième va indiquer quel est le nom du fichier settings du projet.
Utilisons le modèle de notre application :

from monappli.models import UnModele
print UnModele.objects.all()

Comme vous pouvez le voir il est désormé possible d’utiliser votre application Django dans un simple script !
Rendez votre script executable puis lancez le !

$ chmod +x test.py
$ ./test.py

Celà devrait vous afficher la liste de tous les objets de votre modèle.
Voilà c’est fini !
Merci de laisser vos commentaires sur ce petit tuto :)