12/27/2006commit hook en Python pour mercurialMercurial est un système distribué de gestion de sources écrit en Python. Il permet à des développeurs de travailler avec leur code et de le versionner comme avec Subversion, mais sans avoir à dépendre d'un serveur centralisé: chaque modification est conservée localement, et le développeur peut à tout moment se synchroniser avec un autre repository, qu'il soit sur un serveur ou sur un autre poste de développement.
Un repository Mercurial est accessible entres autres en SSH, et peut être recopié localement pour être modifié (commande clone), puis mis à jour avec la commande push. L'utilisation de Mercurial est très similaire à celle de Subversion: dabox:~ tarek$ hg Mettre en place un projet basé sur Mercurial consiste donc à mettre à disposition des développeurs un repository via un utilisateur SSH. Cette mise en place est expliquée sur cette page : http://www.selenic.com/mercurial/wiki/index.cgi/MultipleCommitters. Mercurial propose, comme Subversion un système de hook pour effectuer des opérations lorsqu'un développeur "push" des modifications sur le serveur désigné comme "central". Un script pour envoyer des mails à chaque push est fourni sur le site, mais n'est pas très souple (script shell basic). Voici un script Python qui offre un peu plus de souplesse: #!/usr/bin/pythonIl est associé à un fichier de configuration qui permet d'indiquer:
exemple de fichier: [configuration]Ces deux fichiers sont placés dans le répertoire .hg du repository du serveur, et indiqués dans le fichier hgrc de ce même répertoire: [hooks]Mercurial, pour conclure, est probablement l'un des systèmes de gestion de source les plus souples pour des projets personnels : le repository local peut être à tout moment cloné sur une autre machine, ce qui offre énormément de facilité pour partager son travail versionné, ou mettre en place un système de sauvegarde passif basé sur des push réguliers vers un serveur. Il est probablement équivalent à Bazaar, que je n'ai pas encore testé. 12/19/2006OpenID, système décentralisé de loginJe suis tombé sur ce billet à propos d'OpenID via digg, un système que je ne connaissais pas et qui a un peu plus de 6 mois d'existence. OpenID est un système décentralisé de login développé par LiveJournal. Le principe est simple: le login sur un site est effectué par un appel à un webservice sur un site tiers en charge d'authentifier l'utilisateur. Ce concept n'est pas nouveau (Passeport Windows, Passeport Google..) mais ce qui est vraiment intéressant est que le login de l'OpenID est une url, correspondante au site qui sera appelé. En d'autres termes, il est possible de mettre en place son propre système d'identification pour conserver ses mots de passe au frais. Par exemple, si l'OpenID est tarek.ziade.org, il suffit d'implémenter à cet addresse un service OpenID conforme aux spécifications. Pour des sites comme l'afpy, ou comme ce blog, proposer ce mécanisme d'authentification légère a un grand interêt pour les visiteurs qui souhaitent poster un commentaire, ou dans un forum. (une bibliothèque Python est disponible, et une implémentation Plone aussi apparament) Reste à voir si ce standard va prendre, pour l'instant c'est un peu calme... 12/14/2006MacBookJe lisais le billet de David hier, sur ses essais avec un MacBook. Pour ma part ca fait maintenant deux mois que je suis passé à cette machine, et je suis aussi tout simplement conquis par sa qualité, son faible encombrement et sa maniabilité. Rapport qualité-prix imbattable. Et cette dalle de 13 wide est tellement lumineuse qu'elle vaut largement les 14 ou 15 wide de la plupart des PC.
En terme de système, Mac OS X est à mon sens le meilleur système d'exploitation actuel, et je l'ai pris en main sans le connaitre en quelques jours. Voici la liste des logiciels que j'ai installé pour mettre en place un laptop de développement et retrouver tout ce que j'avais sous Ubuntu:
Et vous, quels sont les logiciels dont vous ne pouvez pas vous passer sous Mac ? Au niveau du terminal, il a fallu le configurer pour que les touches home/end, del, etc, fonctionnent, et définir les locales.
# inputrc - config file for libreadlineLes points négatifs de OS X sont inhérents au modèle commercial:
Ca reste minime, mais c'est dommage pour les slides pilotables avec la télécommande, il faut que j'essaye avec Ooo... En conclusion, je trouve qu'Ubuntu, que j'ai utilisé depuis quasiment ses débuts, n'est pas si loin que ça de Mac OS X en terme d'ergonomie et de qualité, et sera certainement au même niveau d'ici quelques années. De plus, la supériorité d'une solution machine/os issue du même constructeur est de plus en plus relative: les laptops sont maintenant quasiment tous équivalents en terme de composants. 12/12/2006Le programme de PyCon 2007![]() Quel malheur. PyCon 07 est en même temps que le FOSDEM cette année. Il en était de même cet été pour Europython et les RMLL. Le choix va être difficile, surtout que l'Afpy organise cet année une dev room entièrement consacrée à Python (yehaaa). Pour ma part le choix est fait car j'anime un tutorial à PyCon. Les présentationsPycon, c'est plus de 60 talks sur Python cet année :'). Voici celles que j'aimerais voir le plus:
Projet de reportage Python Après le tutoriel je vais arpenter les conférences pour en voir un maximum. Il y aura certainement beaucoup de bloggeurs et filmeurs à Pycon mais probablement pas énormément de francophone. Je lance ici une proposition : si vous êtes passionné de Python et possesseur d'une petite caméra numérique, et prêt à me prêter ce matériel, je propose de faire des comptes rendus par blog et vidéos chaque jour passé à PyCon.
|
A propos
|