Archive for the 'python' Category

Bélier dans Debian

Bélier, le générateur de scripts pour automatiser des connexions SSH complexes, est entré dans Debian en version 1.1. Un grand merci à Christian Perrier pour avoir sponsorisé le paquet.

Pour l’installer sous Sid (la version instable de Debian) :
# aptitude update && aptitude install belier

Cette version introduit une nouvelle fonctionnalité : l’ouverture de tunnel de données. Au lancement du script Expect généré par Bélier un port en local sur votre machine source est ouvert et toutes les données envoyées par ce port arriveront directement sur l’hôte distant, vous permettant ainsi d’économiser les fastidieux transferts intermédiaires.

Pour rappel, Bélier permet l’ouverture automatisée d’un terminal ou l’exécution de commandes sur un ordinateur distant via une connexion SSH. L’intérêt principal de Bélier réside dans sa capacité à traverser plusieurs machines intermédiaires avant d’accomplir la tâche assignée.

  • Bélier rend transparent pour l’utilisateur la traversée par la connexion SSH d’éventuels ordinateurs intermédiaires sur le chemin de l’hôte distant.
  • Vous pouvez définir des commandes qui seront exécutées sur l’ordinateur distant.
  • Les éventuels changements de compte sur les ordinateurs intermédiaires ou sur la machine finale peuvent être définis.

Bélier vise à fournir un outil aux administrateurs systèmes leur permettant de travailler de manière indépendante, sans avoir à modifier la configuration des machines qu’il traverse, juste en s’adaptant aux différentes configurations existantes, en regroupant tous les informations nécessaires aux différentes connexions au niveau du poste de l’utilisateur.

Merci de vous reporter à ce billet pour plus de détails sur ce dont est capable Bélier. Ce programme est codé en Python.

Python-keyring dans Debian !

Pour  faire quoi ?

Il est toujours contraignant d’entrer des mots de passe dans nos différentes applications. Il arrive même qu’on les oublie quand nous n’utilisons pas souvent l’application en question. Heureusement les trousseaux de clés (keyrings) se sont popularisés. Citons Gnome-keyring ou KWallet. Vous n’avez ainsi plus qu’un mot de passe à retenir, celui qui déverouille le trousseau.

La bibliothèque Python Keyring vous permet d’accéder simplement au trousseau disponible sur votre système à partir de vos programmes en Python.

Sur une idée de Tarek Ziadé (mainteneur officiel du module Distutils) et codé par Kang Zhang pour le Google Summer of Code 2009 au bénéfice de la fondation Python, cette bibliothèque vise à s’intégrer une fois mature au module getpass.

Si votre application travaille avec des mots de passe, je vous encourage vivement à donner sa chance à la bibliothèque Keyring.

Comment s’en servir ?

Le paquet python-keyring vient d’entrer dans l’archive officielle de Debian (Debian Sid pour le moment, dans Squeeze dans une quinzaine de jours).

Trois paquets binaires sont disponibles :

  • python-keyring : fournit la bibliothèque mais sans le support pour Gnome-keyring ou KWallet.
  • python-keyring-gnome : le support pour Gnome-keyring
  • python-keyring-kwallet : le support pour KWallet

Pour par exemple interagir avec Gnome-keyring, vous installerez donc vos paquets de la façon suivante :

# aptitude update && aptitude install python-keyring python-keyring-gnome

Vous trouverez la documentation d’utilisation sur la page de la bibliothèque Keyring. N’hésitez pas à faire un retour sur les bugs rencontrés ou sur des fonctionnalités que vous souhaiteriez voir ajouter.

python-memcache 1.44

J’ai récemment hérité du paquet Debian Python-memcache. Après une mise à jour de rigueur du paquet et l’intégration de la version 1.44, il est maintenant disponible en Sid (still in development, version instable de Debian).

Python-memcache est une bibliothèque en Python permettant de travailler avec le démon memcached, qui est un système de cache permettant d’accroître très fortement les performances d’un système comportant par exemple une base de données.

Vous pouvez ainsi interagir directement depuis vos programmes Python avec le démon memcached.

Etat de mes contributions – reportbug, rdiff-backup, pyzor, python-keyring, belier

Après une période relativement longue sans donner de nouvelles, voici un rapide point sur l’avancement de mes contributions.

  • Reportbug  4.8 vient de sortir. Je n’ai malheureusement pas participé aux deux dernières versions (et ce n’est pourtant pas l’envie qui m’en manque) car on m’a expliqué que pour progresser dans Debian il fallait que je consacre davantage de temps à l’empaquetage de paquets. Je reviendrai donc vers Reportbug dans quelques temps, dès que mes compétence dans la maintenance de paquets auront atteint un niveau satisfaisant.
  • J’ai adopté le paquet du programme Rdiff-backup qui permet de réaliser des sauvegardes incrémentales. À cette occasion j’ai mis à jour le paquet et commencé un grand ménage dans les rapports de bugs présent dans le BTS Debian. La situation est plus déjà beaucoup plus claire. Un billet d’introduction à Rdiff-backup devrait être mis en ligne ce week-end.
  • Je maintiens maintenant le paquet de Pyzor, un identificateur de spams.
  • J’ai à priori trouvé un sponsor (merci Piotr!) pour mon nouveau paquet python-keyring. Je détaillerai ce qu’est la bibliothèque Python Keyring, un projet très utile sur une idée de Tarek Ziadé (mainteneur officiel du module Python Distutils) et codé par Kang Zhang pour le Google Summer of Code 2009 au bénéfice de la fondation Python, dans un prochain billet.
  • Une mise à jour du paquet du projet Bélier s’impose avant d’être représenté aux ftpmasters de Debian. Qu’à cela ne tienne, je fais ça ce week-end.
  • Après avoir découvert un paquet à l’abandon et demander à son mainteneur de formaliser l’abandon, j’ai récupéré python-memcache que je vais mettre à jour. Pour ceux qui ne connaîtraient pas memcached, ce petit lien les aidera. Python-memcache permet d’interagir avec memcached à travers une bibliothèque en Python.

Ce billet n’avait comme but que d’indiquer le travail récent effectué ou en cours. Des billets détaillant mes différents projets arriveront dans les prochains jours.

Enfin un grand bravo à Narcan, autre vainqueur du concours de contributions à Debian, qui vient de commencer le processus de New Maintainer pour être développeur Debian, on lui souhaite que ça ne traine pas trop ;)

#540000

Certains l’auront sans doute vu passer sur planet.debian.org mais dans le doute …

Rapport de bug Debian #540000

Personnellement, je trouve que ça se relit sans fin. J’envisage d’en faire un tee-shirt. Jeff, si un jour je passe en Arizona, j’espère que tu me le dédicaceras. Un dernier mot : le caps lock, c’est la force !

Pro Git

La prise en main de Git par des programmeurs qui utilisaient auparavant des gestionnaires de sources centralisés est souvent difficile. Comment démarrer ? Comment s’organiser ? Comment gérer les rapports entre la version locale et la version sur le serveur de gestionnaire de sources ? Pourquoi les branches ? Comment travailler avec ?

Pour répondre à ces questions, je vous propose de découvrir un livre formidable sur git, accessible en ligne et proposer en licence Creative Commons Attribution-Non Commercial-Share Alike 3.0. Il m’a suffi d’une dizaine de minutes pour être emballé par la progression pas-à-pas et les exemples bien choisis. Une demi-heure plus tard j’avais compris que j’utilisais 1% des possibilités de git et que je venais de trouver le support idéal pour apprendre. J’ai commencé à prendre des notes à coup de copier/coller car les exemples illustrent parfaitement les propos de l’auteur.

Étant amené à travailler avec git pour Reportbug au sein du projet Debian ou pour Bélier, je pense en retirer beaucoup de choses.

Pro Git – professional version control : http://progit.org/book/

Si vous êtes emballé par le livre, il est également disponible en format papier. Merci à son auteur de mettre ainsi son travail (et un travail de grande qualité) à disposition.

PS : Merci à Jean-Baptiste Denis pour me l’avoir fait découvrir.

Fin du concours de contribution à Debian

J’ai appris à mon retour de Berlin après quelques jours de vacances passés là-bas que, comme annoncé sur le blog de Raphaël Hertzog, je fais parti des heureux gagnants du concours de contribution à Debian ! Je remporte donc un abonnement d’un an au GNU/Linux Magazine France des éditions Diamonds et le Cahier de l’admin Debian écrit par Raphaël Hertzog et Roland Mas, un grand merci à eux !

Au delà des cadeaux, ce concours a été pour moi un déclencheur qui m’a permis de commencer à fréquenter la communauté Debian tout en contribuant. J’ai beaucoup appris, que ce soit au niveau technique mais également sur le fonctionnement et l’esprit du libre. Je ne compte pas en rester là. Je vais donc continuer à envoyer des patchs pour reportbug mais aussi m’impliquer davantage dans l’empaquetage de programmes.

Les programmes en Python constituent une importante part de mon activité chez Debian, j’ai donc commencé à lancer quelques idées sur le papier pour une prochaine conférence qui offrira des pistes sur comment permettre à un développeur Python de contribuer à Debian.

Ayant également appris à l’occasion des RMLL 2009 que l’association Debian France venait d’être créee, j’ai immédiatement adhéré et vous engage à faire de même si vous souhaitez aider au développement de Debian.

J’ai également quelques idées sur des évolutions possible du concours auquel nous avons participé. Nous en reparlerons bientôt sur ce blog.

Retour à chaud sur les RMLL 2009

Bonjour à tous,

À peine revenu (sous la contrainte, je serais bien resté jusqu’au bout :) ) des RMLL 2009, quelques mots à chaud sur cet événement :

Ma conférence a ouvert le thème “Développement” des RMLL organisé par Olivier Berger, mainteneur Debian. Malgré l’heure matinale, un public de personnes intéressées a patiemment écouté mon retour d’expérience sur le projet Bélier, merci à vous ! [UPDATE] les slides sont disponibles ici.

J’ai également traîné la suite de la matinée dans le village associatif qui a reçu un nombre important de visiteurs, j’ai évolué entre le stand Debian, où j’ai rencontré pas mal de monde de la scène Debian française, et le stand de l’Association Francophone Python.

Merci à tous les gens que j’ai rencontré, ça m’a fait plaisir et ça remotive un bon coup. La conférence de Lucas Nussbaum, développeur Debian, était un délice. Si vous pouvez trouver ses slides je vous les conseille fortement pour une analyse des relations entre Debian et Ubuntu. [UPDATE] Les slides sont disponibles ici.

Merci également à mon entreprise Artemys qui a sponsorisé mon voyage là-bas et n’hésitez pas à les contacter si vous cherchez du travail en informatique sur Paris ou Rouen.

RMLL 2009 et retour sur Pycon FR

Je vais aux RMLL!

Comme indiqué ci-dessus, je serai aux Rencontres Mondiales du Logiciel Libre (RMLL) à Nantes, le 9 juillet 2009 pour une conférence sous la forme d’un retour d’expérience sur mon projet Bélier, avec une large part accordée à la démarche qualité dans le développement d’un logiciel en Python. Sera également abordé l’importance de l’empaquetage qui me permettra de mettre en avant mes récents travaux au sein de Debian. Je serai également une grande partie de la journée sur le stand de l’Association Francophone Python (AFPY).

Si vous êtes un contributeur/DD/DM du projet Debian, n’hésitez pas à venir causer avec moi ! Et la même chose bien sûr pour toutes les personnes intéressées par Python.

Rapide retour sur Pycon FR 2009

Les journées Pycon FR 2009, conférences francophones autour du langage Python, ont eu lieu le dernier week-end de mai à la Cité des Sciences et de l’Industrie à Paris. Les conférences se sont enchaînées, abordant un large éventail de sujets. J’ai présenté moi-même une conférence sur la mise en place d’une démarche qualité au sein d’un développement en Python ainsi qu’un “lightning talk” sur mon projet Bélier. L’organisation a été parfaite et les feedbacks ont été très positifs.

Je pense présenter l’année prochaine une conférence sur Python et Debian abordant l’utilisation du langage Python dans Debian et comment un développeur utilisant Python peut contribuer à Debian.

à bientôt !

Pycallgraph

J’ai récemment adopté le paquet Debian du programme Pycallgraph. Excellente raison pour vous présenter rapidement ce programme.

Pycallgraph vous permet de générer une représentation graphique des appels aux différentes fonctions qui composent votre programme Python. Vous pouvez ainsi détecter une anomalie ou comprendre pourquoi votre programme n’est pas performant lors de son exécution.
Un exemple avec mon projet Bélier peut être consulté ici à cette adresse.

L’utilisation du programme est très simple. Pour Bélier, la commande a été la suivante :

$ pycallgraph bel -e ordres

Dans l’exemple ci-dessus, le fichier image au format PNG généré s’appellera pycallgraph.png. Pour l’appeler autrement, il aurait suffi d’appeler la commande suivante :

$ pycallgraph –output-file mon_graphe_belier.png bel -e ordres

Il peut être utile de rajouter certaines instructions dans votre code afin de faciliter l’intégration de Pycallgraph. Plus d’informations à l’adresse suivante : http://pycallgraph.slowchop.com/pycallgraph/wiki/documentation/0.5.1.

Cerise sur le gâteau, la version Debian est à jour par rapport à l’upstream :)

Next Page »


Categories