11/29/2006Le coté obscur de la force
11/18/200611/09/2006Sortie du livre TurbogearsLe livre Rapid web application with Turbogears sort aujourd'hui. Les auteurs ont mis en place un site pour le suivi des errata. Vivement que ce soit dispo sur Amazon.fr..
![]() 11/07/2006Article: création d'un site de publication avec Zope 3Avec l'aimable autorisation du magazine Programmation sous Linux, voici l'article "Création d'un site de publication avec Zope 3" paru cet été.
Il a été écrit à l'époque pour Zope 3.2.1, mais reste d'actualité car il introduit les concepts généraux. Il propose un système de publication ultra-light (pas de versions, pas d'historique, pas de lock) basé sur le reStructuredText, qui permet de gérèr son site comme un wiki. Je joins également le code source du tutorial à ce billet. (validé uniquement sur Zope 3.2.1) Article Code sourceUn meta-feedIl y a quelques mois, j'avais lancé un petit projet appelé Atomisator, épaulé par Olivier Grisel. L'objectif était de fournir un aggrégateur de flux rss un peu plus "intelligent" que les outils existants. Il devait faire le tri de n flux entrants, pour proposer un flux unique sans doublons, puis offrir des fonctionnalités de filtrage.
Ce projet devait fournir un moteur et une interface en wxPython. Le moteur marche à peut prêt, et en attendant que l'interface fonctionne complètement, j'ai mis en ligne une version light, mais fonctionnelle: http://programmation-python.org/metafeed/buzz
Le projet a été démarré sur gna! à cet endroit, et ne continuera peut être pas, mais en attendant les flux générés ont bien réduit le nombre de flux dans mon client de feeds. Si vous voulez tester le système sur vos flux, n'hésitez pas à me contacter pour que je mette en place un flux custom pour vous. 11/01/2006Protéger une base de code Python avec SubversionDans un projet ouvert à des contributeurs externes, susceptibles de modifier des codes sources, il y a quelques éceuils à éviter pour ne pas que la base de code soit "cassé".
Je ne parle pas ici du code reviewing mais de la prévention qu'il faut mettre en place pour protéger les sources de mauvaises manipulations. Les deux cas les plus fréquents sont:
Ces deux problèmes peuvent tout simplement provoquer des erreurs, et parasiter le travail des développeurs. Au lieu de lutter contre ces ajouts, de traquer les responsables ;), le plus simple est de mettre en place un contrôle automatique au niveau du dépôt de code centralisé. Nettoyer automatiquement les sources entrants n'est pas une bonne solution, car les développeurs qui provoquent ces problèmes peuvent rester dans l'ignorance, et continuer à travailler sans corriger leur éditeur. Le mieux consiste à tout simplement bloquer les commits qui ne sont pas "valides". Subversion propose un système de hook, qui permet de lancer un script Python à chaque commit, et de renvoyer un message au commiteur en cas d'erreur. J'ai récupéré un script sur le web, que j'ai adapté. Le voici: #!/usr/bin/python2.4J'ai ajouté aussi un contrôle de new line at end of file. Ce script est à appeler dans le script pre-commit hook, (référez-vous à la documentation de SVN ou à ce très bon tutoriel, très complet) L'appel resssemble à: /chemin/vers/script/svn_check_source.py "$REPOS" "$TXN" || exit 1 Il est ensuite possible d'étendre ce principe en mettant en place des contrôles de qualité de code, avec des outils comme pychecker par exemple, mais de manière non-bloquante: un mail peut par exemple être envoyé lorsque la qualité d'un source est en dessous d'un certain seuil. *maj* Merci à David (Biologeek) pour un correctif sur le script (il manquait une parenthèse)
|
A propos
|