<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.unelectronlibre.info/journal/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Un Electron Libre... - Tag - django</title>
  <link>http://www.unelectronlibre.info/journal/</link>
  <atom:link href="http://www.unelectronlibre.info/journal/index.php//feed/tag/django/rss2" rel="self" type="application/rss+xml"/>
  <description>Bloc-notes de Nicolas Steinmetz</description>
  <language>fr</language>
  <pubDate>Fri, 29 Aug 2008 12:05:13 +0200</pubDate>
  <copyright>Creative Commons NC-BY-SA</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Lecture : Practical Django Projects</title>
    <link>http://www.unelectronlibre.info/journal/post/2008/08/17/Lecture-%3A-Practical-Django-Projects</link>
    <guid isPermaLink="false">urn:md5:924de86a64c253121b236e2b11b197c0</guid>
    <pubDate>Sun, 17 Aug 2008 15:23:00 +0200</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>Python - Django</category>
        <category>django</category><category>lecture</category>    
    <description>    &lt;p&gt;Je viens de finir la lecture de &lt;a href=&quot;http://www.amazon.com/dp/1590599969&quot;&gt;Practical Django Projects&lt;/a&gt;, écrit par &lt;a href=&quot;http://www.b-list.org&quot;&gt;James Bennett&lt;/a&gt;, qui occupe le poste de &amp;quot;Django Release Manager&amp;quot; et qui a publié sur son blog de &lt;a href=&quot;http://www.b-list.org/weblog/categories/django/&quot;&gt;nombreux billets sur Django&lt;/a&gt; et les bonnes pratiques à avoir/appliquer. Autant le dire tout de suite, le livre est de la même qualité que ses billets : accessibles, pédagogiques et pertinents.&lt;/p&gt;


&lt;p&gt;Le livre se décompose en cinq grandes sections :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Présentation de Django&lt;/li&gt;
&lt;li&gt;Réalisation d'un CMS simple (permettant de poser les bases)&lt;/li&gt;
&lt;li&gt;Réalisation d'un &lt;a href=&quot;http://code.google.com/p/coltrane-blog/&quot;&gt;weblog&lt;/a&gt; (permettant de découvrir les concepts de &amp;quot;template tags&amp;quot;, manager, l'utilisation de librairies tiers, les vues génériques, etc)&lt;/li&gt;
&lt;li&gt;Réalisation d'un &lt;a href=&quot;http://code.google.com/p/cab/&quot;&gt;dépôt de code&lt;/a&gt; (qui complète les points abordés précédemment et permet d'aborder le gestionnaire de formulaires).&lt;/li&gt;
&lt;li&gt;Synthèse sur les bonnes pratiques à suivre pour du code flexible, adaptable, réutilisable, distribuable et surtout documenté !&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Autant je n'ai pas appris grand chose avec les deux premières sections, autant j'ai adoré la troisième et cinquième. Pour la quatrième section, mon niveau en python &amp;amp; django font que pas mal de choses me sont passées pour le moment au dessus de la tête et que cela ne répond pas à mes besoins immédiats (contrairement à la troisième section).&lt;/p&gt;


&lt;p&gt;Même si l'arrivée de la nouvelle interface d'administration et le fait que le code sur les &amp;quot;Signals&amp;quot; ait été réécrit font que quelques infimes parties du livre se trouvent aujourd'hui un peu obsolètes, le livre a le grand mérite de tout bien expliquer, de poser les bases et d'accompagner le lecteur dans une montée en puissance au niveau de sa maîtrise de Django.&lt;/p&gt;


&lt;p&gt;Le seul reproche que je peux formuler concerne la quatrième section où l'accent n'est mis que sur les nouveautés. Du coup, on appréhende moins la construction de l'application en tant que telle. A ce jour le &lt;a href=&quot;http://apress.com/book/view/1590599969&quot;&gt;code source utilisé dans le livre&lt;/a&gt; (section de gauche) n'étant pas encore dispo sur le site d'Apress, cela n'aide pas non plus pour prendre le train en route...&lt;/p&gt;


&lt;p&gt;Pour tout ce qui est bonnes pratiques, elles sont présentes partout dans le livre. Point besoin d'attendre la 5ème section pour en bénéficier. L'auteur prend même au début le plaisir à montrer la &amp;quot;mauvaise façon&amp;quot; (ie sans prendre en compte les besoins d'extensibilité/flexibilité/...) puis montre ensuite la &amp;quot;bonne façon&amp;quot; de faire. Des conseils qui sont en général assez simple à suivre et donne de solides avantages au code généré (lisibilité, simplicité, réutilisabilité, etc).&lt;/p&gt;


&lt;p&gt;(Mal)heureusement, je n'avais pas de PC sous la main pour coder en parallèle. Je n'ai donc pas pu capitaliser / jouer avec ce qui a été abordé. (J'aurais en outre pu en profiter pour coder la base de mon projet Atome...)&lt;/p&gt;


&lt;p&gt;Pour conclure, si quelqu'un souhaite se mettre aujourd'hui à &lt;a href=&quot;http://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt;, je ne saurais trop lui recommander de lire en premier lieu &lt;a href=&quot;http://www.amazon.com/dp/1590597257&quot;&gt;&amp;quot;The definitive guide to Django : web development done right&amp;quot;&lt;/a&gt; puis ce livre ensuite. Avec ça et ensuite la &lt;a href=&quot;http://www.djangoproject.com/documentation/&quot;&gt;documentation en ligne&lt;/a&gt;, il est prêt pour mener à bien des projets (perso/pro).&lt;/p&gt;</description>
    
    
    
          <comments>http://www.unelectronlibre.info/journal/post/2008/08/17/Lecture-%3A-Practical-Django-Projects#comment-form</comments>
      <wfw:comment>http://www.unelectronlibre.info/journal/post/2008/08/17/Lecture-%3A-Practical-Django-Projects#comment-form</wfw:comment>
      <wfw:commentRss>http://www.unelectronlibre.info/journal/feed/rss2/comments/523</wfw:commentRss>
      </item>
    
  <item>
    <title>Vrac de rentrée</title>
    <link>http://www.unelectronlibre.info/journal/post/2008/08/16/Vrac-de-rentree</link>
    <guid isPermaLink="false">urn:md5:9786a430a06469ee42293a8dc7760c6d</guid>
    <pubDate>Sat, 16 Aug 2008 22:44:00 +0200</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>En Vrac</category>
        <category>compatibilité</category><category>css</category><category>django</category><category>ezpublish</category><category>html</category><category>navigateur</category><category>newsletter</category><category>python</category>    
    <description>    &lt;p&gt;Django 1.0 Alpha 2 puis Beta 1 sont sorties, au programme :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(alpha 2) Intégration de l'application de système d'information géographique &lt;a href=&quot;http://geodjango.org/&quot;&gt;GeoDjango&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;(alpha 2) Extensibilité des types Fichiers (FileField) et Images (ImageField) pour permettre une manipulation plus souple de ces types d'éléments&lt;/li&gt;
&lt;li&gt;(alpha 2) Compatibilité avec &lt;a href=&quot;http://www.jython.org/&quot;&gt;Jython&lt;/a&gt; (qui permet de faire fonctionner du code python dans une application Java pour faire simple)&lt;/li&gt;
&lt;li&gt;(beta 1) &lt;a href=&quot;http://www.djangoproject.com/documentation/contenttypes/#generic-relations&quot;&gt;Les relations génériques&lt;/a&gt; sont maintenant supportées dans l'interface d'admin et dans les formulaires&lt;/li&gt;
&lt;li&gt;(beta 1) Amélioration de la flexibilité de l'interface d'administration pour tout ce qui est antérieur ou postérieur à la sauvegarde d'un élément (cf &lt;a href=&quot;http://www.djangoproject.com/documentation/admin/#modeladmin-methods&quot;&gt;doc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;(beta 1) La &lt;a href=&quot;http://www.djangoproject.com/documentation/db-api/#forcing-an-insert-or-update&quot;&gt;distinction entre un INSERT et un UPDATE&lt;/a&gt; au niveau de la méthode save() est améliorée (comprendre, on peut la gérer soit même)&lt;/li&gt;
&lt;li&gt;(beta 1) Le middleware du cache a été éclaté en 3 - CacheMiddleWare continue à exister en tant que tel et est constuit sur la base de deux nouvelles classes (une pour créer le cache, l'autre pour le lire) (cf &lt;a href=&quot;http://www.djangoproject.com/documentation/cache/#the-per-site-cache&quot;&gt;doc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;(beta 1) Les &lt;a href=&quot;http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges#Removedseveralmoredeprecatedfeaturesfor1.0&quot;&gt;fonctionnalités obsolètes&lt;/a&gt; et maintenues jusqu'alors sont supprimées (il faut donc renommer vos django.newforms en django.forms par ex).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour ceux qui veulent avoir un aperçu des progrès réalisés par Django en deux ans, ils peuvent lire &lt;a href=&quot;http://jeffcroft.com/blog/2008/jul/25/top-ten-things-suck-about-django-revisited/&quot;&gt;JeffCroft.com: Top ten things that suck about Django, revisited&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Pour rester dans Python, Smile se pose la question &lt;a href=&quot;http://blog.smile.fr/faut-il-avoir-peur-de-python&quot;&gt;Faut-il avoir peur de Python&lt;/a&gt;, ça m'a rappelé &lt;a href=&quot;http://www.unelectronlibre.info/journal/post/2007/02/07/Devez-vous-innover-ou-vous-contenter-de-suivre-la-tendance-generale&quot;&gt;ce billet sur l'adoption (ou pas) des nouvelles techo / langages ayant le vent en poupe&lt;/a&gt;. Serais-je un tantinet médium ? &lt;img src=&quot;/journal/themes/default/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Pour sortir un peu de python &amp;amp; django, un petit point sur la &lt;a href=&quot;http://blog.alsacreations.com/2008/07/31/420-compatibilite-navigateur-et-prise-de-tete&quot;&gt;compatibilité des sites avec les navigateurs avec une série d'astuces utiles&lt;/a&gt;. Dans la même veine, &lt;a href=&quot;http://t37.net/des-newsletters-en-html-parfaites-enfin-qui-marchent-et-c-est-deja-pas-mal&quot;&gt;un billet pour rendre vos newsletter en html lisibles sous vos webmails &amp;amp; clients mails&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Un petit &lt;a href=&quot;http://pwet.fr/blog/en_attendant_ez_publish_4_0_1_ou_4_1&quot;&gt;état des lieux sur eZ Publish 4.0 et ses bugs&lt;/a&gt; - ça me promet une rentrée épique ça &lt;img src=&quot;/journal/themes/default/smilies/sad.png&quot; alt=&quot;:-(&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Prochain billet : revue de lecture sur &lt;a href=&quot;http://www.amazon.com/dp/1590599969&quot;&gt;Practical django projects&lt;/a&gt; de &lt;a href=&quot;http://www.b-list.org/&quot;&gt;James Bennet&lt;/a&gt; ; il me reste les deux derniers chapitres à finir...&lt;/p&gt;</description>
    
    
    
          <comments>http://www.unelectronlibre.info/journal/post/2008/08/16/Vrac-de-rentree#comment-form</comments>
      <wfw:comment>http://www.unelectronlibre.info/journal/post/2008/08/16/Vrac-de-rentree#comment-form</wfw:comment>
      <wfw:commentRss>http://www.unelectronlibre.info/journal/feed/rss2/comments/522</wfw:commentRss>
      </item>
    
  <item>
    <title>Django 1.0 alpha is out (mais en juillet)</title>
    <link>http://www.unelectronlibre.info/journal/post/2008/07/23/Django-10-alpha-is-out-mais-en-juillet</link>
    <guid isPermaLink="false">urn:md5:d04628fe2856a627797015dae6f775f8</guid>
    <pubDate>Wed, 23 Jul 2008 09:11:00 +0200</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>Python - Django</category>
        <category>admin</category><category>django</category><category>django-fr</category><category>escaping</category><category>orm</category><category>traduction</category><category>unicode</category><category>xss</category>    
    <description>    &lt;p&gt;Le framework &lt;a href=&quot;http://www.djangoproject.com&quot; hreflang=&quot;en&quot;&gt;Django&lt;/a&gt;, vient de sortir en version &lt;a href=&quot;http://www.djangoproject.com/weblog/2008/jul/21/10-alpha/&quot;&gt;1.0 alpha&lt;/a&gt;, premier jalon d'une série de release devant nous emmener à la version 1.0 final début septembre, comme l'annonce la &lt;a href=&quot;http://code.djangoproject.com/wiki/VersionOneRoadmap#schedule&quot;&gt;roadmap&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Au menu des &lt;a href=&quot;http://www.djangoproject.com/documentation/release_notes_1.0_alpha/&quot;&gt;principales nouveautés depuis la version 0.96.x&lt;/a&gt; :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.djangoproject.com/documentation/admin/&quot;&gt;Nouvelle interface d'administration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.djangoproject.com/documentation/unicode/&quot;&gt;Support de l'unicode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://code.djangoproject.com/wiki/QuerysetRefactorBranch&quot;&gt;Amélioration de l'ORM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.djangoproject.com/documentation/templates/#automatic-html-escaping&quot;&gt;L'autoescaping dans les templates&lt;/a&gt;, pour se prémunir des failles XSS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour ceux qui mettraient à jour leur site d'une version 0.96.x vers cette version, n'oubliez pas de consulter la liste des &lt;a href=&quot;http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges&quot;&gt;incompatibilités ascendantes&lt;/a&gt; et le traitement à &amp;quot;infliger&amp;quot; à votre code pour le faire évoluer.&lt;/p&gt;


&lt;p&gt;Sur la partie admin, je vous invite à consulter également la &lt;a href=&quot;http://code.djangoproject.com/wiki/NewformsAdminBranch&quot;&gt;page dédiée à cette fonctionnalité&lt;/a&gt; qui donne beaucoup d'informations pour la migration. A lire et voir également, ce &lt;a href=&quot;http://oebfare.com/blog/2008/jul/20/newforms-admin-migration-and-screencast/&quot;&gt;tutoriel et screencast pour la migration vers cette nouvelle interface d'administration&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Et pendant ce temps-là sur &lt;a href=&quot;http://www.django-fr.org/&quot;&gt;django-fr&lt;/a&gt;, &lt;a href=&quot;http://www.biologeek.com&quot;&gt;David&lt;/a&gt; a (enfin &lt;img src=&quot;/journal/themes/default/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt; ) publié mes traductions de &lt;a href=&quot;http://www.django-fr.org/documentation/webdesign/&quot;&gt;la contrib webdesign&lt;/a&gt;, &lt;a href=&quot;http://www.django-fr.org/documentation/modpython/&quot;&gt;l'installation de django avec Apache/mod_python&lt;/a&gt; ou sous &lt;a href=&quot;http://www.django-fr.org/documentation/fastcgi/&quot;&gt;fastcgi&lt;/a&gt;. Il faut d'ailleurs que je mette à jour ces deux documents suite &lt;a href=&quot;http://code.djangoproject.com/changeset/8015&quot;&gt;aux derniers commits&lt;/a&gt;...&lt;/p&gt;


&lt;p&gt;PS : désolé pour le jeux de mot... fatigue, besoin de vacances, tout ça tout ça... &lt;img src=&quot;/journal/themes/default/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.unelectronlibre.info/journal/post/2008/07/23/Django-10-alpha-is-out-mais-en-juillet#comment-form</comments>
      <wfw:comment>http://www.unelectronlibre.info/journal/post/2008/07/23/Django-10-alpha-is-out-mais-en-juillet#comment-form</wfw:comment>
      <wfw:commentRss>http://www.unelectronlibre.info/journal/feed/rss2/comments/519</wfw:commentRss>
      </item>
    
  <item>
    <title>MiaM</title>
    <link>http://www.unelectronlibre.info/journal/post/2008/07/19/MiaM</link>
    <guid isPermaLink="false">urn:md5:b0da648c190650e9ea956ca39e7fb130</guid>
    <pubDate>Sat, 19 Jul 2008 09:44:00 +0200</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>Python - Django</category>
        <category>admin</category><category>django</category><category>forms</category>    
    <description>    &lt;p&gt;La branche tant attendue &lt;a href=&quot;http://code.djangoproject.com/wiki/NewformsAdminBranch&quot;&gt;newforms-admin&lt;/a&gt; est arrivée dans le &lt;a href=&quot;http://code.djangoproject.com/changeset/7967&quot;&gt;trunk&lt;/a&gt; de Django.&lt;/p&gt;


&lt;p&gt;Du coup, &lt;a href=&quot;http://code.djangoproject.com/changeset/7971&quot;&gt;django.newforms devient django.forms&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Un grand pas en avant de fait vers la &lt;a href=&quot;http://code.djangoproject.com/wiki/VersionOneRoadmap&quot;&gt;version 1.0&lt;/a&gt; et qui ouvre un grand nombre de possibilités pour la constitution de back-office d'une appli Django... (pas encore testé).&lt;/p&gt;


&lt;p&gt;Bref de quoi me motiver un peu plus pour me remettre à mes dev... &lt;img src=&quot;/journal/themes/default/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Edit du 20/07&lt;/strong&gt; : A lire absolument en plus de la page sur la branche newforms-admin indiquée plus haut, &lt;a href=&quot;http://www.djangoproject.com/documentation/admin/&quot;&gt;la documentation sur l'interface d'administration&lt;/a&gt; et tout ce qui s'y réfère (modèles, options d'affichage, etc)&lt;/p&gt;</description>
    
    
    
          <comments>http://www.unelectronlibre.info/journal/post/2008/07/19/MiaM#comment-form</comments>
      <wfw:comment>http://www.unelectronlibre.info/journal/post/2008/07/19/MiaM#comment-form</wfw:comment>
      <wfw:commentRss>http://www.unelectronlibre.info/journal/feed/rss2/comments/516</wfw:commentRss>
      </item>
    
  <item>
    <title>Futilité de passage...</title>
    <link>http://www.unelectronlibre.info/journal/post/2008/06/23/Futilite-de-passage</link>
    <guid isPermaLink="false">urn:md5:528065836a7b7d790bb61bcc1693384a</guid>
    <pubDate>Mon, 23 Jun 2008 23:32:00 +0200</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>En Vrac</category>
        <category>atome</category><category>backup-manager</category><category>code</category><category>del.icio.us</category><category>diigo</category><category>django</category><category>dotclear</category><category>favoris</category><category>hype</category><category>postgresql</category><category>python</category><category>redmine</category><category>rss</category><category>ssii</category><category>test</category><category>veille</category><category>éditeur</category>    
    <description>    &lt;ul&gt;
&lt;li&gt;Le &lt;a href=&quot;http://www.unelectronlibre.info&quot;&gt;Chaudron&lt;/a&gt;, à défaut d'être complet est à jour coté Redmine - cf &lt;a href=&quot;http://www.redmine.org/news/show/16&quot;&gt;Annonce de Redmine 0.7.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ce blog, ainsi que celui de &lt;a href=&quot;http://hugo.steinmetz.fr/&quot; hreflang=&quot;fr&quot;&gt;mon fils&lt;/a&gt; continuent de suivre le SVN de dotclear et sont donc sous &lt;a href=&quot;http://www.dotclear.net/blog/post/2008/06/21/Dotclear-20-RC2&quot;&gt;Dotclear 2.0 RC2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.jungledisk.com/2008/06/23/jungle-disk-desktop-20-released/&quot;&gt;Jungle Disk 2.0&lt;/a&gt; est sorti&lt;/li&gt;
&lt;li&gt;Le paramétrage du serveur est quasi fini, faut que j'injecte d'une facon ou d'une autre le backup des bases postgresql dans backup-manager&lt;/li&gt;
&lt;li&gt;Mon nombre de flux RSS suivis est passé de 100+ à une 30aine (et ça pourrait encore diminuer) - que de bruit en moins et de temps de gagné. Déjà que j'arrive pas à faire le quart de la moitié de ce que je voudrais faire... et ça m'inspire aussi que la veille / course au hype en SSII consomme un temps monstrueux pour un intérêt qui me parait aujourd'hui bien relatif...&lt;/li&gt;
&lt;li&gt;Intéressant de voir les projets depuis un client final. C'est là où on voit que les phases d'intégration, tests et documentation sont raremement à jamais appliquées en SSII, voir pas intégrées dans le process de développement pour des bonnes et mauvaises raisons - j'y reviendrais plus tard, ainsi que sur ce document qu'est le &amp;quot;cahier de tests&amp;quot;. Pour éviter toute mauvaise interprétation : moi aussi jusqu'à peu encore, j'ai aussi mal fait quand j'étais en SSII... c'est d'ailleurs assez rigolo de prédire quasiment à coup sur ce qui a été fait/pas fait par une SSII et trouver à coup quasi certains les points de manque sur une livraison...&lt;/li&gt;
&lt;li&gt;Diigo, c'est bientot fini car je trouve leur barre insupportable, la suggestion des tags est à chier et l'intrusion dans le menu en click droit est abusive. Pire que tout dans ce fameux menu, on ne peut pas faire juste &amp;quot;Bookmark&amp;quot; mais forcément &amp;quot;Bookmark &amp;amp; higlight&amp;quot;, chose pour lequel je n'ai trouvé aucun intérêt pour le moment. Retour sur del.icio.us sous peu... (juste après la publication de ce billet en fait...)&lt;/li&gt;
&lt;li&gt;Il a été vu ceci sur mon PC - il parait que je me serais remis à faire du code (à défaut de trouver un éditeur qui me convienne)&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;django-admin.py startproject atome
django-admin.py startapp journal
django-admin.py startapp links&lt;/pre&gt;


&lt;p&gt;mais un bug lié à la version SVN de Django et de &lt;a href=&quot;http://code.google.com/p/django-tagging/&quot;&gt;django-tagging&lt;/a&gt; (dont j'ai trouvé la doc un peu limité sur l'intégration dans les modèles) m'a vite bloqué &lt;img src=&quot;/journal/themes/default/smilies/sad.png&quot; alt=&quot;:-(&quot; class=&quot;smiley&quot; /&gt; -&lt;/p&gt;


&lt;p&gt;Suite au prochain épisode...&lt;/p&gt;


&lt;p&gt;Edit 1 : Pour django-tagging, faudrait lire la &lt;a href=&quot;http://django-tagging.googlecode.com/svn/trunk/docs/overview.txt&quot;&gt;doc&lt;/a&gt; qui va bien aussi...&lt;/p&gt;


&lt;p&gt;Edit 2 : Ajout de la sortie de Jungle Disk 2.0&lt;/p&gt;</description>
    
    
    
          <comments>http://www.unelectronlibre.info/journal/post/2008/06/23/Futilite-de-passage#comment-form</comments>
      <wfw:comment>http://www.unelectronlibre.info/journal/post/2008/06/23/Futilite-de-passage#comment-form</wfw:comment>
      <wfw:commentRss>http://www.unelectronlibre.info/journal/feed/rss2/comments/512</wfw:commentRss>
      </item>
    
  <item>
    <title>Sécurité quand tu nous tiens...</title>
    <link>http://www.unelectronlibre.info/journal/post/2008/05/14/Securite-quand-tu-nous-tiens</link>
    <guid isPermaLink="false">urn:md5:9f31689e2ece1bdbad8dfb0081df2c5a</guid>
    <pubDate>Wed, 14 May 2008 22:00:00 +0200</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>Trucs de geek</category>
        <category>debian</category><category>django</category><category>openssl</category><category>ssh</category><category>sécurité</category>    
    <description>    &lt;ul&gt;
&lt;li&gt;Debian (et ses dérivés) a une faille de sécurité importante sur OpenSSL (depuis le 17 septembre &lt;strong&gt;2006&lt;/strong&gt;) , ce qui impacte notamment vos clés SSH - cf &lt;a href=&quot;http://lists.debian.org/debian-security-announce/2008/msg00152.html&quot; hreflang=&quot;en&quot;&gt;annonce pour OpenSSL&lt;/a&gt; - &lt;a href=&quot;http://lists.debian.org/debian-security-announce/2008/msg00153.html&quot; hreflang=&quot;en&quot;&gt;annonce pour OpenSSH&lt;/a&gt; - &lt;a href=&quot;http://yohofr.wordpress.com/2008/05/14/vos-cles-ssh-openvpn-sont-elles-sures/&quot; hreflang=&quot;fr&quot;&gt;la procédure de vérification&lt;/a&gt; ou un peu plus bas - la &lt;a href=&quot;http://wiki.debian.org/SSLkeys&quot; hreflang=&quot;en&quot;&gt;page SSLKey sur le wiki de Debian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Django annonce aussi une &lt;a href=&quot;http://www.djangoproject.com/weblog/2008/may/14/security/&quot; hreflang=&quot;en&quot;&gt;mise à jour de sécurité&lt;/a&gt; pour les version 0.91, 0.95, 0.96 et de développement.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pensez à mettre vos serveurs / applications à jour et ce assez rapidement...&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Procédure de vérification (issu d'un mail de Gandi)&lt;/strong&gt;&lt;/p&gt;


&lt;p&gt;Récupérer le script dowkd.pl :&lt;/p&gt;

&lt;pre&gt;$ cd /tmp
$ wget http://security.debian.org/project/extra/dowkd/dowkd.pl.gz
$ wget http://security.debian.org/project/extra/dowkd/dowkd.pl.gz.asc
$ gpg --keyserver subkeys.pgp.net --recv-keys 02D524BE
$ gpg --verify dowkd.pl.gz.asc
$ gunzip dowkd.pl.gz&lt;/pre&gt;


&lt;p&gt;L'appliquer sur des clés de machine (host key) :&lt;/p&gt;

&lt;pre&gt;$ perl dowkd.pl host localhost
# localhost SSH-2.0-OpenSSH_4.3p2 Debian-9
# localhost SSH-2.0-OpenSSH_4.3p2 Debian-9
localhost: weak key
localhost: weak key&lt;/pre&gt;


&lt;p&gt;Le message &amp;quot;weak key&amp;quot; indique que la clef est faible et donc vulnérable.&lt;/p&gt;


&lt;p&gt;L'appliquer sur les clés des utilisateurs :&lt;/p&gt;

&lt;pre&gt;# perl dowkd.pl user
/home/someuser/.ssh/authorized_keys:1: warning: unparsable line
/home/someuser/.ssh/authorized_keys:3: warning: unparsable line
/home/someuser/.ssh/authorized_keys:4: weak key
/home/someuser/.ssh/authorized_keys:5: weak key&lt;/pre&gt;


&lt;p&gt;Pour les certificats, utiliser une procédure de révocation/regénération de certificats.&lt;/p&gt;


&lt;p&gt;Pour le reste, voir la page SSLKey sur le wiki de Debian&lt;/p&gt;


&lt;p&gt;Edit : Ajout du lien pour l'annonce d'OpenSSH
Edit 2 : ajout du lien vers http://wiki.debian.org/SSLkeys&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Nginx, wouhaou :-)</title>
    <link>http://www.unelectronlibre.info/journal/post/2008/04/16/Nginx-wouhaou-%3A-</link>
    <guid isPermaLink="false">urn:md5:51236c034013636e89cb9874edbb21c4</guid>
    <pubDate>Wed, 16 Apr 2008 21:50:00 +0200</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>Trucs de geek</category>
        <category>django</category><category>nginx</category><category>postgresql</category><category>python</category>    
    <description>    &lt;p&gt;Juste pour dire que j'ai installé en quelques heures vendredi soir, &lt;a href=&quot;http://www.steinmetz.fr&quot; hreflang=&quot;fr&quot;&gt;Steinmetz.fr&lt;/a&gt; sur une part &lt;a href=&quot;http://www.gandi.net/hebergement&quot; hreflang=&quot;fr&quot;&gt;Gandi&lt;/a&gt; avec l'infrastructure &lt;a href=&quot;http://nginx.net/&quot; hreflang=&quot;en&quot;&gt;nginx&lt;/a&gt;, &lt;a href=&quot;http://www.postgresqlfr.org/&quot; hreflang=&quot;fr&quot;&gt;postgresql&lt;/a&gt; et python 2.5 (en lieu et place de Apache2/&lt;a href=&quot;http://www.modwsgi.org&quot;&gt;mod_wsgi&lt;/a&gt;, MySQL et Python 2.4).&lt;/p&gt;


&lt;p&gt;Pour le moment cela marche du tonerre sur une configuration en plus assez équivalente que celle que j'ai chez &lt;a href=&quot;http://www.sivit.fr/fr/details-vds.php?offre=VDS-256&quot; hreflang=&quot;fr&quot;&gt;Sivit&lt;/a&gt; (sauf que la part Gandi est moins chargée en sites pour le moment).&lt;/p&gt;


&lt;p&gt;La procédure de migration d'un site django est assez simple :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Backup du site + bdd&lt;/li&gt;
&lt;li&gt;Transfert du site&lt;/li&gt;
&lt;li&gt;Installation de nginx &amp;amp; postgresql&lt;/li&gt;
&lt;li&gt;Configuration de nginx en reprenant ce &lt;a href=&quot;http://www.rkblog.rk.edu.pl/w/p/django-nginx/&quot; hreflang=&quot;en&quot;&gt;fichier de configuration&lt;/a&gt; (par contre la regexp sur les fichiers css &amp;amp; co ne fonctionne pas dans mon cas)&lt;/li&gt;
&lt;li&gt;Ajustement des paramètres de mon projet django (sur les chemins vers les templates et fichiers statiques)&lt;/li&gt;
&lt;li&gt;Lancement de mon application en mode fcgi&lt;/li&gt;
&lt;li&gt;Lancement de nginx&lt;/li&gt;
&lt;li&gt;Et on apprécie le résultat.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour être honnête, cela a été un peu plus compliqué &lt;img src=&quot;/journal/themes/default/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Je ferais surement un article un peu plus détaillé &amp;amp; étendu plus tard pour ceux que cela peut intéresser...&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>En vrac (très teinté django quand même)</title>
    <link>http://www.unelectronlibre.info/journal/post/2008/03/27/En-vrac-tres-teinte-django-quand-meme</link>
    <guid isPermaLink="false">urn:md5:5a343593fc877c9ec332bf187070586d</guid>
    <pubDate>Thu, 27 Mar 2008 22:42:00 +0100</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>En Vrac</category>
        <category>date</category><category>django</category><category>documentation</category><category>formulaire</category><category>hébergement</category><category>ie6</category><category>mercurial</category><category>prod</category><category>python</category>    
    <description>    &lt;ul&gt;
&lt;li&gt;Le &lt;a href=&quot;http://code.djangoproject.com/changeset/7370&quot;&gt;changset 7370&lt;/a&gt; permet de générer une doc au format HTML notamment via &lt;a href=&quot;http://sphinx.pocoo.org/&quot; hreflang=&quot;en&quot;&gt;Sphinx&lt;/a&gt; et le rendu est assez sympatique. C'est assez simple à faire :&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;cd django/django-svn/docs
make html&lt;/pre&gt;


&lt;p&gt;Le résultat est dans un sous répertoire &lt;code&gt;_build&lt;/code&gt; et la jolie table des matières est disponible &lt;code&gt;/_build/html/index.html&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vous recherchez un hébergement pour votre projet Django ? &lt;a href=&quot;http://djangofriendly.com/hosts/&quot; hreflang=&quot;en&quot;&gt;Djangofriendly&lt;/a&gt; a votre réponse. Le contenu existait partiellement sur le wiki de Django, il a été reformaté et enrichit !&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://fr.techcrunch.com/2008/03/26/sauvez-les-developpeurs-nutilisez-plus-internet-explorer-6/&quot; hreflang=&quot;fr&quot;&gt;Sauver les développeurs, n'utlisez plus IE6&lt;/a&gt; : c'est vrai que ce navigateur il faut l'exterminer, c'est une plaie...&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://linuxfr.org/2008/03/25/23893.html&quot;&gt;Mercurial 1.0&lt;/a&gt; est sorti&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.gawel.org/weblog/2008/03/20/environement-python-avec-zc.buildout&quot; hreflang=&quot;fr&quot;&gt;Monter un environnement python avec zc.buildout&lt;/a&gt; ; va falloir que je creuse ce sujet, cela a l'air bien intéressant - Il existe un &lt;a href=&quot;http://ccomb.free.fr/buildout/tutorial.fr.html&quot; hreflang=&quot;fr&quot;&gt;tutoriel en français sur zc.buildout&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.travailleursduweb.com/2008/03/20/les-10-bonnes-pratiques-pour-une-mise-en-ligne-sereine.html&quot; hreflang=&quot;fr&quot;&gt;Les 10 bonnes pratiques pour une mise en ligne sereine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.alistapart.com/articles/signupforms&quot;&gt;Les formulaires d'inscriptions doivent mourir&lt;/a&gt; : Intéressant réflexion &lt;img src=&quot;/journal/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Django permet de faire des &lt;a href=&quot;http://superjared.com/entry/formwizard-multiple-step-forms-django/&quot; hreflang=&quot;en&quot;&gt;formulaires en plusieurs étapes&lt;/a&gt; via &lt;a href=&quot;http://www.djangoproject.com/documentation/form_wizard/&quot;&gt;Form wizard&lt;/a&gt;. A creuser !&lt;/li&gt;
&lt;li&gt;Un problème de restitution de format de date ? &lt;a href=&quot;http://code.google.com/p/django-localdates/&quot;&gt;Django-localdates&lt;/a&gt; est fait pour vous&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://ui-patterns.com/&quot;&gt;UI Patterns&lt;/a&gt; pour ne pas réinventer la route une nouvelle fois en matière d'interfaces&lt;/li&gt;
&lt;li&gt;Pour finir, un petit trait humoristique avec &lt;a href=&quot;http://www.notetonentreprise.fr/&quot; hreflang=&quot;fr&quot;&gt;Note ton entreprise&lt;/a&gt;, ça risque de plaire (ou pas) !&lt;/li&gt;
&lt;li&gt;Les journées Python France/Francophones (aka &lt;a href=&quot;http://fr.pycon.org/&quot; hreflang=&quot;fr&quot;&gt;Pycon FR&lt;/a&gt;) ont lieu les 17/18 mai prochain à Paris, vous pouvez vous inscrire et même &lt;a href=&quot;http://fr.pycon.org/actualites/appel-a-propositions&quot;&gt;proposer des présentations&lt;/a&gt; si le coeur vous en dit. Je vais tacher d'y assister cette année, j'ai repéré quelques proposition de présentations intéressantes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour le reste, c'est dans mon flux &lt;a href=&quot;http://del.icio.us/nicolassteinmetz&quot; hreflang=&quot;fr&quot;&gt;del.icio.us&lt;/a&gt; &lt;img src=&quot;/journal/themes/default/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Edit du 31 : Le &lt;a href=&quot;http://fr.pycon.org/programme/&quot; hreflang=&quot;fr&quot;&gt;programme de Pycon FR&lt;/a&gt; est disponible.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>En Vrac</title>
    <link>http://www.unelectronlibre.info/journal/post/2008/03/20/En-Vrac</link>
    <guid isPermaLink="false">urn:md5:51cbc511a72788913f9e4331ba707dac</guid>
    <pubDate>Thu, 20 Mar 2008 21:35:00 +0100</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>En Vrac</category>
        <category>django</category><category>hébergement</category><category>mod_wsgi</category><category>mysql</category><category>openoffice</category><category>performance</category><category>sémantique</category><category>yahoo</category>    
    <description>    &lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/modwsgi/browse_frm/thread/2ad8089d3a5fe1ad?hl=en&quot;&gt;mod_wsgi 2.0&lt;/a&gt; est sorti et apporte son log de &lt;a href=&quot;http://code.google.com/p/modwsgi/wiki/ChangesInVersion0200&quot;&gt;changements&lt;/a&gt;. On notera notamment un système d'authentification, un mécanisme de timeout en cas d'inactivité, etc,&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.e-scribe.com/408&quot; hreflang=&quot;en&quot;&gt;Python Web Development with Django&lt;/a&gt; est sorti si ça peut en intéresser certains...&lt;/li&gt;
&lt;li&gt;Guillaume nous fait un bon billet sur &lt;a href=&quot;http://giz404.freecontrib.org/?2008/03/20/373-eee-pc-vers-le-retour-du-800x600&quot; hreflang=&quot;fr&quot;&gt;l'impact des pc/téléphones mobiles et la résolution des sites&lt;/a&gt; (j'y songeais y a pas longtemps...)&lt;/li&gt;
&lt;li&gt;OpenOffice se dote d'un |correcteur grammatical|http://www.languagetool.org/|en]. Enfin &lt;img src=&quot;/journal/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Yahoo dévoile des astuces pour améliorer &lt;a href=&quot;http://developer.yahoo.net/blog/archives/2008/03/yahoos_latest_p.html&quot; hreflang=&quot;en&quot;&gt;les perfomances de son site web&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Yahoo se lance dans la &amp;quot;recherche sémantique&amp;quot; - à lire à ce sujet : &lt;a href=&quot;http://www.ysearchblog.com/archives/000527.html&quot; hreflang=&quot;en&quot;&gt;The Yahoo! Search Open Ecosystem&lt;/a&gt; et &lt;a href=&quot;http://nicolas.cynober.fr/blog/55,web-semantique-la-guerre-des-moteurs.html&quot;&gt;Web sémantique, la guerre des moteurs&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Pour ceux qui veulent supprimer les .bin présent dans /var/log/mysql/, il y a &lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/purge-master-logs.html&quot; hreflang=&quot;en&quot;&gt;mieux&lt;/a&gt; que le rm -rf /var/log/mysql/* - Pour la petite histoire, ces logs ont failli remplir à 100% la partition / d'un serveur que j'infogère...&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>MvMo 0.4 &quot;Job wanted&quot;</title>
    <link>http://www.unelectronlibre.info/journal/post/2008/02/18/MvMo-04-Job-wanted</link>
    <guid isPermaLink="false">urn:md5:004b94f5ce9df2d01702cdea2c2daefc</guid>
    <pubDate>Mon, 18 Feb 2008 22:11:00 +0100</pubDate>
    <dc:creator>NiCoS</dc:creator>
        <category>Projets</category>
        <category>cv</category><category>django</category><category>mvmo</category>    
    <description>    &lt;p&gt;Ma &lt;a href=&quot;http://www.unelectronlibre.info/index.php/post/2008/02/16/A-la-recherche-dun-nouvel-emploi&quot; hreflang=&quot;fr&quot;&gt;recherche d'emploi&lt;/a&gt; aura au moins eu le mérite de faire avancer &lt;a href=&quot;http://chaudron.unelectronlibre.info/wiki/MvMo&quot; hreflang=&quot;fr&quot;&gt;MvMo&lt;/a&gt; un peu plus vite que prévu &lt;img src=&quot;/journal/themes/default/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Au programme de la 0.4 :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support du microformat &lt;a href=&quot;http://microformats.org/wiki/hresume&quot; hreflang=&quot;en&quot;&gt;hresume&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;Ajout d'un champ &amp;quot;rôle&amp;quot; dans le modèle &amp;quot;Association&amp;quot;&lt;/li&gt;
&lt;li&gt;Remaniement des modèles &amp;quot;Userskill&amp;quot;, &amp;quot;Skill&amp;quot; et &amp;quot;Domainskill&amp;quot; pour que le domaine soit géré au niveau de &amp;quot;Skill&amp;quot; et non plus au niveau de &amp;quot;Userskill&amp;quot;.&lt;/li&gt;
&lt;li&gt;Les templates propres à MvMo sont dans &lt;code&gt;mvmo/templates&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Plein de petites corrections &amp;amp; améliorations&lt;/li&gt;
&lt;li&gt;Sans oublier &lt;a href=&quot;http://www.unelectronlibre.info/index.php/post/2008/02/12/MvMo-Instance-de-demo-en-attendant-la-04&quot; hreflang=&quot;fr&quot;&gt;l'instance de démo MvMo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le &lt;a href=&quot;http://hg.unelectronlibre.info/mvmo/file/a7a59cd66e51/CHANGELOG.txt&quot; hreflang=&quot;en&quot;&gt;CHANGELOG&lt;/a&gt; complet est disponible.&lt;/p&gt;


&lt;p&gt;Pour les utilisateurs (j'en connais au moins un), attention à bien lire le contenu de &lt;a href=&quot;http://hg.unelectronlibre.info/mvmo/file/a7a59cd66e51/MIGRATIONS.txt&quot; hreflang=&quot;en&quot;&gt;MIGRATIONS.txt&lt;/a&gt; et &lt;a href=&quot;http://hg.unelectronlibre.info/mvmo/file/a7a59cd66e51/README.txt&quot;&gt;README.txt&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>