<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.sorcellerieweb.net/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/">
<channel>
  <title>Sorcellerie Web - Tag - django</title>
  <link>http://blog.sorcellerieweb.net/</link>
  <description>Bienvenue dans l'antre d'un sorcier du web. Ici vous seront dévoilées les formules les plus secrètes, les potions les plus goutues, les sorts les plus faramineux pour en mettre plein la vue à vos collègues nerds avec votre sorcellerie web niveau 36. Ou au moins à mettre en ligne un gif animé.</description>
  <language>fr</language>
  <pubDate>Thu, 04 Sep 2008 10:11:09 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Komodo Edit</title>
    <link>http://blog.sorcellerieweb.net/post/2008/08/28/Komodo-Edit</link>
    <guid isPermaLink="false">urn:md5:eb41e01e4e5deed24c548f70e533b02c</guid>
    <pubDate>Fri, 29 Aug 2008 15:14:00 +0200</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>Artefacts</category>
        <category>django</category><category>html</category><category>javascript</category><category>php</category><category>pratique</category><category>python</category><category>xml</category><category>yaml</category>    
    <description>&lt;p&gt;Puisque la question a été posée sur la &lt;a href=&quot;http://lists.afpy.org/mailman/listinfo/django&quot; hreflang=&quot;fr&quot;&gt;liste de
diffusion de django&lt;/a&gt;, voici quelques remarques sur l'éditeur que j'utilise
et les raisons de mon choix.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.sorcellerieweb.net/public/img/logo-komodo.png&quot; alt=&quot;komodo edit&quot; style=&quot;float: left; margin: 0 1em 1em 0;&quot; title=&quot;komodo edit, aoû 2008&quot; /&gt; Il s'agit
donc de &lt;a href=&quot;http://www.activestate.com/Products/komodo_edit/&quot; hreflang=&quot;en&quot;&gt;Komodo Edit&lt;/a&gt;, qui succède depuis maintenant une bonne année à &lt;a href=&quot;http://www.pspad.com/fr/&quot; hreflang=&quot;fr&quot;&gt;PSPad&lt;/a&gt; (qui succédait lui-même à
&lt;a href=&quot;http://www.contexteditor.org&quot; hreflang=&quot;en&quot;&gt;Context&lt;/a&gt;). L'essentiel
de mon activité de développement se fait au bureau sous Windows, mais je
développe également chez moi sous Mac, après quelques années sous Linux. Je
souhaitais un éditeur qui soit multi-plateformes afin de n'avoir qu'une
interface à apprendre. Pour le reste, voici un résumé :&lt;/p&gt;    &lt;dl&gt;
&lt;dt&gt;coloration syntaxique&lt;/dt&gt;
&lt;dd&gt;Les formats supportés (et qui m'intéressent) sont PHP, SQL, HTML, XML, CSS,
Python, Javascript, Django (gabarits). Ce qu'il me manque : INI qui est un
format que j'utilise pour mes fichiers de configuration.&lt;/dd&gt;
&lt;dt&gt;Auto-complétion&lt;/dt&gt;
&lt;dd&gt;Et vraiment très bien faite. Lorsque l'on commence à taper un nom de
fonction, komodo propose une liste de choix, puis une bulle contextuelle avec
la liste des arguments. Outre les fonctions natives du language, Komodo
supporte également les fonctions et méthodes du projet en cours, et est même
capable de récupérer les informations depuis leur docblock, ce qui est une
motivation pour les écrire systématiquement :)&lt;/dd&gt;
&lt;dd&gt;&lt;img src=&quot;http://blog.sorcellerieweb.net/public/img/captures/komodo-import_completion.png&quot; alt=&quot;completion d'import python sous komodo edit&quot; style=&quot;float: left; margin: 0 1em 1em 0;&quot; title=&quot;completion d'import python sous komodo edit, aoû 2008&quot; /&gt;C'est aussi très
utile pour les directives d'importation en python, quand on ne connait pas
encore par coeur l'arborescence des paquets et modules que l'on utilise.&lt;/dd&gt;
&lt;dt&gt;Projets&lt;/dt&gt;
&lt;dd&gt;La creation d'un projet se fait assez facilement, en sélectionnant le
dossier concerné. Ceci donne un navigateur de fichier pour le dossier en
question.&lt;/dd&gt;
&lt;dt&gt;Edition multiple&lt;/dt&gt;
&lt;dd&gt;Tout à fait vital pour moi, j'ai souvent une douzaine d'onglets ouverts
!&lt;/dd&gt;
&lt;dt&gt;Pliage de code&lt;/dt&gt;
&lt;dd&gt;Pratique quand on cherche une méthode au sein d'une classe obèse, même si
ça en vaut pas un bon navigateur de code&lt;/dd&gt;
&lt;dt&gt;Chercher-remplacer&lt;/dt&gt;
&lt;dd&gt;Dans le fichier en cours, la selection en cours, tous les fichiers du
projet; et supporte les expressions régulières.&lt;/dd&gt;
&lt;dt&gt;Mais un défaut quand même&lt;/dt&gt;
&lt;dd&gt;Ca rame. Comparé à la plupart des éditeurs de texte, Komodo edit est très
gourmand en mémoire. Si vous avez un très gros fichier à ouvrir, tel qu'un log
ou un dump SQL, mieux vaut essayer un éditeur plus léger.&lt;/dd&gt;
&lt;/dl&gt;</description>
    
    
    
          <comments>http://blog.sorcellerieweb.net/post/2008/08/28/Komodo-Edit#comment-form</comments>
      <wfw:comment>http://blog.sorcellerieweb.net/post/2008/08/28/Komodo-Edit#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.sorcellerieweb.net/feed/rss2/comments/271887</wfw:commentRss>
      </item>
    
  <item>
    <title>blog.is_dead() = False</title>
    <link>http://blog.sorcellerieweb.net/post/2008/08/26/blogis_dead-False</link>
    <guid isPermaLink="false">urn:md5:996bb9d09197b964ff2102a1c5f1dab4</guid>
    <pubDate>Tue, 26 Aug 2008 12:15:00 +0200</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>Golems</category>
        <category>django</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://blog.sorcellerieweb.net/public/img/champ.png&quot; alt=&quot;icone champignon&quot; style=&quot;float: left; margin: 0 1em 1em 0;&quot; title=&quot;icone champignon, aoû 2008&quot; /&gt; Eh
oui, ce blog n'est pas mort, et je n'ai toujours pas cessé de coder. J'ai juste
eu beaucoup moins de temps pour en parler. Mais je ne résiste pas à l'envie de
faire une petite pré-annonce : j'ai démarré un nouveau projet personnel. C'est
un service web, c'est fait avec Django, et ce sera la première brique d'un site
thématique.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.sorcellerieweb.net/post/2008/08/26/blogis_dead-False#comment-form</comments>
      <wfw:comment>http://blog.sorcellerieweb.net/post/2008/08/26/blogis_dead-False#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.sorcellerieweb.net/feed/rss2/comments/271235</wfw:commentRss>
      </item>
    
  <item>
    <title>Tester Django - modifier ses modèles</title>
    <link>http://blog.sorcellerieweb.net/post/2007/11/19/Tester-Django-modifier-ses-modeles</link>
    <guid isPermaLink="false">urn:md5:1db68f4f22cfe59c3a29c429afdb509c</guid>
    <pubDate>Mon, 19 Nov 2007 17:16:00 +0100</pubDate>
    <dc:creator>J.Ducastel</dc:creator>
        <category>Artefacts</category>
        <category>django</category><category>firefox</category><category>python</category><category>sqlite</category>    
    <description>&lt;p&gt;&lt;img src=&quot;http://blog.sorcellerieweb.net/public/img/django-180.png&quot; alt=&quot;logo Django&quot; style=&quot;float: left; margin: 0 1em 1em 0;&quot; /&gt;Ce week-end, j'ai repris mes tests de
&lt;a href=&quot;http://djangoproject.com&quot; hreflang=&quot;en&quot;&gt;Django&lt;/a&gt;, un framework web
en &lt;a href=&quot;http://python.org&quot; hreflang=&quot;en&quot;&gt;Python&lt;/a&gt;. (Ou comment occuper
son week-end par temps pourri et grève des transports). Histoire de me
simplifier la vie et remettre à plus tard l'installation et la configuration de
MySQL sur mon Mac, j'ai opté pour le stockage SQLite (qui est inclus d'office).
Voici un bref compte-rendu, ainsi qu'une petite astuce pour les premiers stades
d'un développement avec Sqlite&lt;/p&gt;    &lt;p&gt;Tout naturellement, je suis parti dans la ré-implémentation incrémentale
d'un de mes projets PHP. Ce qui signifie commencer avec des modèles de données
très simples, et les enrichir au fur et à mesure. Avec Django, la définition
des modèles de données se fait par la rédaction de classes modèles, et la
création des tables de la base se fait via un utilitaire en ligne de commande :
&lt;code&gt;python manage.py syncdb&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Or cette commande ne crée que les tables n'existant pas encore et ne met pas
à jour la structure des tables existantes, ce qui fait que très vite on se
retrouve avec des tables dont la structure ne correspond plus au modèle, et une
erreur du type &lt;cite&gt;no such column&lt;/cite&gt;. J'ai cru un instant que la commande
&lt;code&gt;python manage.py flush&lt;/code&gt; vidait la base et donc supprimait les
tables, mais elle ne vide apparemment que les données et conserve la structure
des tables existantes.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.sorcellerieweb.net/public/img/sqlite_manager.png&quot; alt=&quot;SQLite Manager (extenson firefox)&quot; style=&quot;float: left; margin: 0 1em 1em 0;&quot; /&gt;C'est là qu'une fois de plus, Firefox m'a
servi de couteau suisse du développement. En cherchant un utilitaire pour
inspecter le contenu de la base Sqlite, je suis tombé &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/5817&quot; hreflang=&quot;en&quot;&gt;SQLite
Manager&lt;/a&gt;, une extension permettant d'administrer entièrement une base Sqlite
! Du coup, ça m'a permis de supprimer la table associée à chaque fois que je
modifiais un modèle, et la recréer ensuite via &lt;code&gt;syncdb&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Pour ce qui est de Django, je ne suis pas déçu. Cela faisait longtemps que
je le surveillais du coin de l'oeil, et même un peu plus puisque j'ai réalisé
une implémentation partielle de son moteur de templates en PHP (actuellement
incluse dans &lt;a href=&quot;http://blog.sorcellerieweb.net/post/2007/11/19/&quot; hreflang=&quot;en&quot;&gt;webappkit&lt;/a&gt;, mon système de paquetages
pour applis web PHP). En pratique, c'est encore mieux qu'attendu et la qualité
et la richesse de la documentation y est pour quelque chose. Ainsi bien sûr que
les qualités du language Python, qui a pas mal d'avance sur PHP a la fois en
fonctionnalités et en cohérence.&lt;/p&gt;
&lt;p&gt;Quelques liens supplémentaires :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://django-fr.org&quot; hreflang=&quot;fr&quot;&gt;Django-fr&lt;/a&gt;, proposant une
partie de la documentation en français&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.djangobook.com/&quot; hreflang=&quot;en&quot;&gt;Django Book&lt;/a&gt; un livre
en ligne (a paraitre prochainement)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.b-list.org/&quot; hreflang=&quot;en&quot;&gt;The B-list&lt;/a&gt; un blog très
riche en informations et astuces de développement.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://ma.gnolia.com/people/fredbird/tags/django&quot; hreflang=&quot;en&quot;&gt;Mes signets Django sur Magnolia&lt;/a&gt; comme ça je ne recopie pas tous mes
liens ici ;)&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://blog.sorcellerieweb.net/post/2007/11/19/Tester-Django-modifier-ses-modeles#comment-form</comments>
      <wfw:comment>http://blog.sorcellerieweb.net/post/2007/11/19/Tester-Django-modifier-ses-modeles#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.sorcellerieweb.net/feed/rss2/comments/178155</wfw:commentRss>
      </item>
    
</channel>
</rss>