philpep's blog - tag pblog philpep's blog - tag pblog rss http://blog.philpep.org fr Sun, 02 May 2010 00:00:00 GMT Pblog blog.philpep.org rune pblog2 http://blog.philpep.org/post/blog.philpep.org-rune-pblog2 http://blog.philpep.org/post/blog.philpep.org-rune-pblog2 Sun, 02 May 2010 00:00:00 GMT <p>Ça bouge beaucoup <a href="http://git.philpep.org/pblog2.git/">sur le git de pblog2</a> en ce moment. Même si on est encore loin d'avoir une version stable, il est pleinement utilisable et apporte son lot de nouveautés :</p> <ul> <li>Interface d'administration très complète</li> <li>Gestion de pages statiques</li> <li>Possibilité de changer et de créer des nouveaux templates</li> <li>Gestionnaire de médias (pour uploader quand on peut pas scp)</li> <li>Post différés</li> <li>Interface d'édition markdown convi en javascript</li> <li>Installation en HTTP</li> <li>Plus de fichier de configuration (tout se fait par HTTP)</li> </ul> <p><a href="http://design.bender-labs.org">Bender</a> s'est mis à fond sur le javascript, pblog2 utilise maintenant <a href="http://jquery.com/">jQuery</a> qui permet de faire des petites choses sympa (bien entendu pblog2 restera au maximum utilisable <em>sans</em> javascript).</p> <p>On peut maintenant créer son propre design (et donc choisir l'emplacement des divers éléments, nuage de tags, archives etc). Pour l'instant pblog2 est distribué avec deux designs (<a href="http://design.bender-labs.org/design/show/White-Lines">White-line</a> et ouverta le petit nouveau que vous voyez sur ce blog).</p> <p>Grand changement notable : pblog2, à contrario de pblog, utilise <a href="http://www.sqlalchemy.org">SQLAlchemy</a>, ce qui permet d'avoir un code plus court, plus simple et en même temps plus optimisé. En plus pblog2 peut tourner maintenant sous toutes les bases de données gérés par sqlalchemy <a href="http://www.sqlalchemy.org/features.html">et il y en a un paquet</a>.</p> <p>Pour la migration de pblog1 vers pblog2 j'ai codé une petite fonction, vous avez juste à donner le <em>chemin</em> d'installation de pblog1 et pblog2 va importer tous vos posts/commentaires/tags.</p> <p>Il reste beaucoup de travail pour corriger les quelques bugs et rendre l'interface plus cohérente, en attendant n'hésitez pas à filer un coup de main, donner des idées de ce que vous aimeriez bien voir sur pblog2.</p> <div class="codehilite"><pre>git clone git://git.philpep.org/pblog2.git </pre></div> Pblog 1.0 RELEASED http://blog.philpep.org/post/Pblog-1.0-RELEASED http://blog.philpep.org/post/Pblog-1.0-RELEASED Fri, 08 Jan 2010 05:11:59 GMT <p>Je parlais il y a un mois <a href="/post/Pblog-une-release-qui-s-annonce">d'une probable release de pblog</a>. Et en cette belle nuit du 8 janvier 2010 c'est chose faite.</p> <p>Les plus observateurs (ou ceux qui ont vraiment du temps à perdre) d'entre vous auront remarqué que le git et taggé 1.0 depuis fort longtemps. Mais on voulait faire durer un peu histoire de fixer quelques trucs, et surtout de documenter.</p> <p>Quoi de neuf depuis la dernière fois, pas grand chose et beaucoup à la fois, des finitions des tests etc. Maintenant pblog a été testé avec succès (et non sans mal) sur trois serveurs web libres que sont Apache2 (pas testé avec le 1.3 à vous de jouer), Lighttpd et Nginx. Des exemples de configurations sont disponibles dans le code.</p> <p>Comme toujours lisez bien le <code>README</code>, il y a un script d'installation rapide mais personnellement (et parce que c'est moi qui ai codé ce script d'install qui bug dans de nombreux cas) je vous recommande une installation manuelle (c'est expliqué dans le <code>README</code>).</p> <p>La config est assez souple et permet de faire beaucoup de choses, lisez donc <code>config.py.example</code> et vous verrez c'est simple.</p> <p>Quand je vous parlais de documentation c'est du lourd, pblog a maintenant <a href="http://www.philpep.org/pblog/">un site dédié</a> vous y trouverez le pourquoi du comment, et aussi <a href="http://wiki.bender-labs.org/pblog/">une section</a> sur notre wiki.</p> <p>Bon voilà il ne me reste plus qu'à vous inviter à <a href="http://www.philpep.org/pblog/download/">télécharger cette release</a> et surtout n'hésitez pas à nous contacter (voir comment dans le <code>README</code>) pour des retours, ce qui vous plaît, ce que vous détestez etc.</p> <p><a href="http://www.philpep.org/pblog/"><img alt="Site de pblog" src="http://www.philpep.org/pblog/img/logo3.png" /></a></p> <h2>Vers pblog 2.0 ?</h2> <p>L'équipe est bien motivée (mais ça peut changer très vite ...) et pense déjà à pblog 2.0 , le développement prend une allure de totale réécriture, nous avons découvert les vertues de <a href="http://www.sqlalchemy.org">SQLAlchemy</a> et du coup <a href="http://webpy.org">webpy</a> ne servira plus des masses, on pense aller vers <a href="http://cherrypy.org">CherryPy</a> qui ne fait que de la gestion URL et qui est plus robuste.</p> Pblog une release qui s'annonce http://blog.philpep.org/post/Pblog-une-release-qui-s-annonce http://blog.philpep.org/post/Pblog-une-release-qui-s-annonce Mon, 21 Dec 2009 22:41:32 GMT <p>Comme <a href="/post/Nouveau-blog">vous savez</a>, j'utilise maintenant un blog que j'ai codé avec mes petites mains et avec celles de <a href="http://bender-labs.org">Bender</a>.</p> <p>Ce blog était assez pauvre et buggé, jusqu'il y a quelques jours où nous avons décidés de faire une release sans trop de bugs et avec un peu plus de fonctionnalité. Ce blog tourne toujours tout en python, avec webpy, makotemplates, markdown, pygments, et une base de donnée SQL.</p> <p>Voilà rapidement ce qui à changé :</p> <ul> <li> <p>MySQL était la seule DB utilisable, maintenant pblog tourne aussi avec sqlite3 (pour Postgresql les patchs seront grandement appréciés)</p> </li> <li> <p>Nuage de tags (a votre droite)</p> </li> <li>Archives (aussi à votre droite)</li> <li>liens (toujours et encore à votre droite)</li> <li>Les &lt;title&gt; de pages sont plus explicites</li> <li>les commentaires gèrent les erreurs</li> <li>captcha (merci à <a href="http://rhaamo.li">rhaamo</a>)</li> <li>Le design (entièrement géré par Bender) est super classe, il évolue en fonction de pblog.</li> <li>Une barre de recherche (en haut à droite)</li> <li>Des pages quand il y a trop de résultats</li> </ul> <p><img alt="links" src="/static/pub/2009-12-21-223547_231x38_scrot.png" /></p> <ul> <li>Liens vers billet suivant et précédent</li> </ul> <p><img alt="precsuiv" src="/static/pub/2009-12-21-223652_550x60_scrot.png" /></p> <ul> <li>Niveau édition (post et commentaires), on peut maintenant faire des aperçus, c'est en javascript + XMLHttpRequest. Mais je vous rassure, le site est toujours testé sans javascript pour éviter qu'une fonction 'vitale' ne soit plus possible sans javascript. D'une manière générale on utilise javascript uniquement quand ça semble plus pertinent au niveau du code.</li> </ul> <p><a href="/static/pub/2009-12-21-222811_527x596_scrot.png"><img alt="preview" src="/static/pub/2009-12-21-222811_527x596_scrot_s.png" /></a></p> <p><a href="http://git.philpep.org/pblog.git/">Le code</a> est pour l'instant en 1.0-rc3, on a fait en sorte que les images soient libre de droit, donc c'est tout libre (faut qu'on mette rapidement une licence d'ailleurs, mais ce sera sans doute une BSD).</p> <p>Bref, ça sent la release pour bientôt, donc si vous avez un peu de temps trouvez des bugs (si si c'est facile je vous assure), envoyez vos patchs, demandes de features, "ce serait pas mieux si ...." etc.</p> <p>Il n'y a pas assez de doc (seulement un petit README et des commentaires dans le fichier de conf), mais ça tourne sur du lighttpd/nginx/apache assez facilement.</p> <p>Pour ceux qui chercheraient un blog super léger tout en C et surtout <em>sans</em> base de données je ne saurais trop vous conseiller <a href="http://brokk.etoilebsd.net/projects/show/cblog">Cblog</a>.</p> Nouveau blog http://blog.philpep.org/post/Nouveau-blog http://blog.philpep.org/post/Nouveau-blog Sun, 13 Sep 2009 00:44:13 GMT <p>J'ai du mal à utiliser un logiciel sans savoir exactement comment il marche. En l'occurrence j'utilisais <a href="http://dotclear.net">dotclear</a>, un moteur de blog en php, je l'utilisais de façon basique sans les nombreuses fonctionnalités à coté (dont je ne connais pas plus le sens que le nom).</p> <p>Quand un jour <a href="http://bender-labs.org">Bender B. Rodriguez</a> me montre un template CSS qui me plait bien, j'avais déjà l'idée de coder mon propre blog derrière la tête et c'est parti pour coder ce nouveau blog from scratch en <a href="http://www.python.org">python</a> bien sûr avec <a href="http://webpy.org">webpy</a>.</p> <p>Maintenant quand j'ai un bug ou un problème je peux régler le problème rapidement.</p> <p>Pour ceux qui veulent essayer chez eux mon blog, le code est disponible via git :</p> <div class="codehilite"><pre><span class="nv">$ </span>git clone git://git.philpep.org/pblog.git </pre></div> <p>Pblog est donc écris en python avec le framework minimaliste webpy, avec des templates générés par <a href="http://www.makotemplates.org">makotemplates</a>, le générateur html est <a href="http://daringfireball.net/projects/markdown/">markdown</a> couplé avec <a href="http://www.pygments.org">pygments</a> pour la coloration syntaxique, la base de données utilisé est MySQL mais ça doit pas être trop dur de l'utiliser avec d'autres DB.</p> <p>Toute contribution est bienvenue, c'est fort probable que le code comporte une maxi faille donc noble hacker si tu la trouve merci de m'en faire part avant de l'avoir exploité :-)</p> <p>Si vous trouvez que les pages mettent un temps fou à se générer j'ai ma petite idée là dessus, en fait j'utilise des <a href="http://en.wikipedia.org/wiki/FreeBSD_jail">jails</a>, donc nous avons : </p> <ul> <li>lenine.philpep.org avec les sites en php et le serveur MySQL</li> <li>marx.philpep.org avec les sites en python</li> </ul> <p>Donc, les requettes sql ne se font pas en localhost et il y a des latences non négligeables (le code n'étant pas super optimisé ça amplifie le truc).</p> <p>La solution que j'envisage (à moins de tout optimiser avec du cache), c'est d'utiliser une db plus adaptée à cette petite appli web toute simple : <a href="http://www.sqlite.org">sqlite</a>.</p>