Archives de la catégorie Python

Sentry 4.2.4

Dernière mise à jour le 12 Mai 2012.

Je viens d'installer une nouvelle version de Sentry. Pour mémoire, Sentry est une application web qui permet de centraliser ses rapports, pour en faciliter l'exploitation.

J'avais déjà installé une version précédente, qui fournissait dans le paquet à la fois le client et le serveur. Dans cette nouvelle mouture, on ne parle que du serveur, la partie cliente, pour Python, est maintenant l'objet du paquet Raven.

Première impression, facile à installer et la fonctionnalité selon moi qui manquait est maintenant disponible à savoir, la gestion des projets / groupes / utilisateurs. C'est très facile à installer, et les ...

Continuer la lecture

mtl-books

Dernière mise à jour le 29 Mar 2012.

mtl-books.usinasite.com est lancé en bêta!

C'est un site Web tout simple qui permets de gérer ses comptes de bibliothèque de la ville de Montréal.

Il sert essentiellement pour l'instant à établir une liste globale de tous ses emprunts et la date à laquelle le retourner. Rien de bien transcendant, cependant ça évite de se connecter avec la carte des parents, puis des enfants pour savoir ce qu'on a pu emprunter il y a 3 semaines!

Là où ça devient un peu plus intéressant, c'est la possibilité de recevoir des courriels de rappel avant l ...

Continuer la lecture

Django-vu

Dernière mise à jour le 23 Oct 2011.

Après quelques semaines de cyber inactivé, je vous propose de découvrir une application Django de supervision de paquets.

Voici l'allure du dashboard.

Ce projet est né à partir d'un besoin spécifique à mon travail :

Nos systèmes d'informations évoluent, et je souhaitais disposer d'un outil qui me montre rapidement l'état de nos systèmes d'informations.

Ce genre d'outil aurait pu être construit avec un script Fabric, mais cela implique un accès SSH, dont je ne dispose pas forcément sur tous les environnements.

Cette application est composée :

  • d'un client, offrant la liste des paquets accompagnés ...

Continuer la lecture

La semaine tech à l'AUF

Dernière mise à jour le 25 Aoû 2011.

L'AUF, l'organisation pour laquelle je travaille, organise du 29 août au 3 septembre 2011 divers ateliers techniques présentés par les employés. Ces ateliers pourront être suivis à travers des salons de discussions jabber. Vous pouvez consulter le détail des ateliers sur le wiki de l'agence.

Continuer la lecture

Définir un modèle Django, déclaré dans 2 applications différentes

Dernière mise à jour le 12 Aoû 2011.

Cet article propose une approche pour déclarer un modèle dans plusieurs applications.

Voici les points qui ont motivés mes choix :

  • séparation physique des données dans des tables différentes

  • centralisation du code source des modèles

C'est louable, mais la mise en œuvre est moins classe ;)

Admettons 4 modèles dans une application 1:

  • Dossier_ (classe abstraite)

  • Poste_ (classe abstraite)

  • un Dossier_ est lié à un Poste_

  • Dossier hérite de Dossier_

  • Poste hérite de Poste_

et 2 autres modèles, dans une autre application 2 :

  • Dossier hérite de Dossier_ (de l'autre app 1)

  • Poste hérite de Poste_ (de l'autre app 1 ...

Continuer la lecture

Python2.5 sur ubuntu natty

Dernière mise à jour le 04 Aoû 2011.

Mémo pour recompiler une version de Python2.5 :

  • Télécharger les dépendances pour supporter SSL sudo apt-get install openssl ibssl-dev C'est important à ce stade, car certains paquets du PyPI pointent vers des sites en HTTPS.

  • Télécharger les sources sur Python.org

  • Décompresser

  • Décommenter dans Modules/Setup.dist

_socket socketmodule.c

_ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto

  • ./configure

  • make

  • sudo make install

  • Supprimer /usr/local/bin/python qui pointe vers python2.5

Continuer la lecture

Centraliser ses rapports d'erreurs avec Sentry

Dernière mise à jour le 25 Jul 2011.

Sentry est une plateforme qui permet de manipuler les log d'erreurs Django, à travers une interface web. Il fournit des fonctionnalités bien agréables pour trier, traiter, regrouper ces logs, comme un tracker simple.

Ce paquet propose un module client et un module serveur, ce qui permet de le déployer sous 2 formes :

  • Sentry dans chaque projet Django (client + serveur)

  • Sentry (client) dans chaque projet Django qui envoie ses logs à un serveur Sentry central (serveur)

J'ai testé la mise en place de la deuxième méthode pour centraliser l'outil. Sentry propose un serveur built-in, mais j'ai plutôt ...

Continuer la lecture

Packager une application Django... à ma sauce

Dernière mise à jour le 10 Jui 2011.

Dans cet article, je vais vous présenter mon approche pour développer un paquet qui deviendra une application Django. Voici le scénario habituel :

  • Ce projet a besoin de fonctionnalités qui pourraient servir à un autre système, cool fais un paquet dude!

  • Je commence par faire une première itération pour planter le décor en créant une application Django locale, c'est pratique pour faire un prototype rapide, et valider le fait qu'un paquet soit vraiment utile.

    bin/django start app 
    

  • Finalement, cette application prometteuse, et je vais la packager pour qu'elle puisse être intégrée dans plusieurs projets, tout en ayant ...

Continuer la lecture

Field dynamique dans l'admin Django

Dernière mise à jour le 08 Jui 2011.

J'essaye d'utiliser au maximum dans mes projets l'admin Django, mais quelques fois on peut manquer de liberté. Généralement, je souhaite avoir des champs prépopulés avec des listes qui s'ajustent selon l'utilisateur.

Mon formulaire doît donc être en mesure de disposer d'une instance du user connecté pour être capable d'ajuster un queryset dans un de ses champs par exemple. Mais voilà, dans l'admin Django, je peux facilement configurer un form spécial, mais pas la façon dont il est instancié.

Cette opération se passe dans la fonction add_view ou edit_view. En réalité on pourrait ...

Continuer la lecture

Twistranet : un facebook professionnel

Dernière mise à jour le 31 Mai 2011.

Twistranet : un facebook professionnel

Twistranet est une plateforme sociale pour créer des communautés d'utilisateurs. Elle offre en partant une multitude de fonctionnalités largement inspirées de Facebook pour l'aspect des communautés et de l'ergonomie, avec en plus, la possibilité d'avoir des wikis, blogs et de gérer ses contenus.

La vraie valeur ajoutée, c'est la possibilité d'intégrer cette solution dans des milieux corporatifs : Twistranet permet de se coupler à un annuaire LDAP, et d'incorporer des types de contenus métiers.

Sous le capôt, cette plateforme repose sur Django, on imagine les possibilités d'évolutions. J'ai hâte de pouvoir tester ...

Continuer la lecture