Python : un langage informatique pas fait pour les républicains

Peut être connaissez vous le sénateur Shelley, qui est ce qu’on peut appeler les plus grand crétin de la  « blogosphère ». Si vous ne connaissez pas cet homme rare, je vous invite à vous rendre sur son blog et lire ses posts sur linux, ubuntu, les homosexuels, l’avortement … et maintenant Python, un langage de programmation libre utilisé entre autres par la NASA (pure Python et Plone), la CIA (Plone), CBS (Zope), Google (pure Python & Django), eBay (Plone), Nokia (Plone)… la liste est bien trop longue.

Notre ami Shelley, toujours aussi benêt y soutient des thèses « informatiquement négationistes » dans la pure tradition de son blog qui recelle de choses tellement droles que j’avoue y retourner régulierement.

Offrez vous une nouvelle barre de rire : Python : you are the weakest link

Besoin d’une petite formation sur le framework Django ?

Django web FrameworkDjango est l’un des frameworks dédiés au web qui rencontre le plus de succès en ce moment. Particulièrement adapté au développement web rapide et très propre, Django sert déjà les pages de nombreux gros portails, vous pouvez en découvrir déjà pas mal sur ce site.

Si vous aussi vous avez l’envie de découvrir ce framework ou de vous perfectionner, Emencia en collaboration avec Toonux vous propose deux formations adaptées à votre niveau et vos besoins. Vous trouverez ici le programme des formations en question.

Django sera aussi à l’honneur au PyCon, organisé par l’AFPY, qui se tiendra les 17 et 18 mai à la citée des sciences de la Villlette à Paris avec une figure francophone incontournable de Django, David Larlet, auteur de l’incontournable Biologeek, site de documentation sur Django en français. Vous trouverez le programme de ces conférences ici.

Coup de jeune pour le site web des antiquaires du Marché Biron

Marché Biron Sneak preview by ToonuxDepuis plusieurs semaines, nous avons entrepris avec Toonux la création d’un portail pour les antiquaires du Marché Biron. Passage à Plone3 bien évidemment, un sacré coup de peinture pour rajeunir l’ancien site et rafraîchir un peu le monde de l’antiquité qui est bien plus moderne qu’on ne le pense sur pas mal d’aspects. Le marché Biron, c’est 220 antiquaires dans les puces de Saint-Ouen, des objets d’exception pour les amateurs d’art.

L’application que nous mettons en place pour le marché Biron repose en grande partie sur un produit Plone3 dont je vous ai déjà parlé ici, StructuredDocument2, c’est lui qui est responsable des différentes vues sur le site : fiche produits, page d’accueil, galeries.

Plone3.1 est disponible en version béta

logo1.jpgPlone est un système de gestion de contenu professionnel écrit en langage Python. « Professionnel' », ça veut dire en clair qu’il dispose de fonctionnalités avant tout tournées vers les professionnels, à mi chemin entre sytème de gestion de contenu et framework permettant le développement d’applications métiers, il offre des conforts que l’on retrouve dans aucun autre CMS écrit en PHP puisqu’il s’appuie sur un socle applicatif robuste et ultra riche, Zope.

Je dois avouer que depuis la sortie de Plone3, j’attendais impatiemment la sortie de Plone3.1, même si grâce à Trollfot, j’ai pu avoir plus qu’un avant goût de ce qui manquait à plone 3.0.

Plone 3.1 est une version de maintenance qui vient corriger quelques bugs mineurs mais qui apporte surtout son lot de nouveautés, plus de portlets, des fields supplémentaires : le field image pour les portlets (les petites boites autour de la zone de contenu) faisait cruellement défaut mais grâce à StructuredDocument je pouvais déjà jouir de cette indispensable fonctionnalité.

Mettez vous à Python et gagnez en tranquillité dans votre voisinage

Et il est le louki ? hein … il est où ?Python c’est un langage de programmation de l33tz, ça impose toujours le respect, si tu codes, utilises Python, parce que c’est beau, parce que c’est puissant, parce que c’est libre et surtout …

parce que depuis que je me suis mis à python, le chihuahua de ma voisine se la ramène beaucoup moins … alors devinez, il est où le louki ? Il est où le cul cul elle est où la tétête ?

AFPY : safe python coding for anyone except …

 

Plus sérieusement, ce Python vient tout juste d’avaler un chihuahua, voir la news sur Cyberpress

Premiers pas avec Django : un framework en Python pour développer rapidement et efficacement – Acte 1

test-ok.pngComme vous le savez sûrement WordPress c’est sympa, c’est convivial, relativement modulaire, agréable pour le gestionnaire de contenus, ça fait de belles urls bien proprettes … oui mais voilà un geek sur wordpresss, au bout d’un an, il s’emmerde … il a en a surtout raz la casquette de devoir mettre à jour 20 pluggin tous les mois. Du coup il se demande s’il ne va pas en virer ou faire un métabundle …; mais non c’est idiot, trop de temps pour un résultat sûrement pas sexy qui posera par la suite des problèmes de maintenabilité.

Ma problématique du jour est la suivante : j’ai besoin d’un truc assez passa partout qui me permettrait de faire fonctionner plusieurs petites appli très simples, blog, moteur digg like… sur des urls en sous domaine, rien de sorcier. mais là tout de suite, on voit bien que

Worpdpress + pligg face à Django tout seul qui sait tout faire, … on prend donc Django. Ruby on Rails aurait lui aussi pu convenir, mais c’est Python qui nous intéresse 😉

Ce qui m’amène au jouet du jour : Django

Django est un framework reposant sur le langage objet Python, Django est un outil à destination des développeurs.

On va commencer par faire nos premiers pas avec lui

Petite install de Django, on va utiliser la méthode svn plus à même de garantir une maintenabilité parfaite.

$ svn co http://code.djangoproject.com/svn/django/trunk/ django

En fonction des OS, des versions des OS, il va falloir localiser votre installation, sur Linux, python est souvent dans le /usr/lib; mais si ce n’est pas là pas de panique

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

ce qui me renvoi pour mon os :

/usr/lib/python2.5/site-packages

C’est parfait je sais où se trouve mon install de Django

$ cd /usr/lib/python2.5/site-packages && ls
Django-0.97_pre-py2.5.egg-info README django

Comme je veux avoir vite un truc en production, je suis les bons conseils distillés sur le site de Django et j’installe le mod-python,

$ sudo apt-get install libapache2-mod-python

Il faut maintenant s’assurer que les pages .py s’affichent correctement et pour ça il va déjà falloir modifier le fichier de copnf default de notre apache2

$ cd /etc/apache2/sites-available/
$ emacs default

A la 10e ligne on trouve ceci :

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>

On va le transformer en ça :

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all
AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>

c’était histoire de déclarer ici que notre Apache est beau, que notre Apache, est puissant que notre Apache comprend maintenant Python ! … d’ailleurs pour s’en rendre compte on va tester ça en créant un petit fichier de test, intelligemment appelé test.py

$ sudo emacs /var/www/test.py

on y colle ceci :

def index(req):
return "Yeaaah my Apache knwows kungfu !!!";

on enregistre maintenant le tout, puis on redémarre apache

$ sudo /etc/init.d/apache2 restart

J’ouvre mon navigateur et et là top du top, mon Apache connait le kungfu …

test-ok1.png

On passe maintenant à la config de base du httpd.conf

$ sudo emacs httpd.conf

on va y placer ceci

<Location "/monsite/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE monsite.settings
PythonDebug On
</Location>

Notez que le debug est sur « on » pour le moment.

On va maintenant s’installer notre petite base de données, on va ici choisir du MySQL5 qui aura aussi besoin de mysqldb

$ sudo apt-get install mysql-server python-mysqldb

C’est donc parti pour l’installation de notre Django , je me place dans le répertoire du trunk Django que j’ai svn checout à la première étape et je lance le script d’install :

$ sudo python setup.py install

Si tout c’est bien passé je dois avoir quelque choses comme ceci qui m’indique où l’egg se trouve

running install_egg_info
Writing /usr/lib/python2.5/site-packages/Django-0.97_pre.egg-info

Il ne reste plus maintenant que les confs post installation à se farcir, elles sont très bien documentées sur le site de support :

Prendre en main Plone 3 : DIYPloneStyle pour faire vos produits de skin

Plone 3 est un système de gestion de contenu open source professionnel, dans sa version 3, il améliore encore l’expérience utilisateurs et ses nouvelles fonctionnalités font vraiment pâlir les Drupal, Joomla et autres.Toujours dans la série de mini tutos publiés sur toonux.org, voici le dernier en date qui vise à vous permettre de créer votre propre product de skin Plone 3 grâce à DIYPloneStyle, un outil fort pratique mis à notre disposition par David Convent, entre autres membre de l’Association Francophone Python… un pote quoi 🙂

Voir le mini Tuto sur Toonux

Adhérez à l’AFPY

Pilot Systems lance une offre d’hébergement virtualisé d’applicatifs web

La virtualisation consiste à affecter des ressources d’une ou plusieurs machines dans un ou plusieurs environnements clos via un système d’ allocation dynamique de la puissance de calcul (RAM + CPU) en fonction de la consommation de ressources de votre projet. Sur une application comme Zope, la virtualisation est un gage supplémentaire de sécurité et un gage de fiabilité.

Pilot Systems sur sa plate-forme d’hébergement Objectis Pro, propose maintenant des serveurs privés virtuels autorisant une plus grand latitude à l’utilisateur qui le désire.

Objectis Pro est un service d’hébergement Zope / Plone professionnel qui sera lancé très prochainement, en utilisant une infrastructure entièrement revue et corrigée. Objectis Pro ne remplacera pas Objectis, et l’hébergement gratuit restera disponible.

Plone 3 howto : insérer des vidéos de Youtube dans Plone 3

Un nouveau petit tutoriel Plone 3 vient d’être mis en ligne sur Toonux. Vous y découvrirez comment ajouter des vidéos de Youtube ou autres dans votre Plone. Les nouveaux outils proposés par ce système de gestion de contenu professionnel facilitent grandement la tâche du webmaster et ce petit paramétrage vous ouvrira des portes pour rendre votre application plus sexy et plus riche.

Voir le tutoriel sur toonux.org

Customiser le look and Feel de Plone 3

Plone3 une nouvelle manière d’intégrerAvec l’arrivée de Plone3, nous sommes nombreux à nous retrouver un peu à la rue. Il y a tellement de changement qu’il nous faut réapprendre beaucoup de choses. Cependant, le temps que nous passons à découvrir de nouvelles fonctionnalités nous font nous poser pas mal de questions : la question du jour pour moi fut « comment customiser mon footer ». Ca peut paraître un peu débile mais très vite on s’aperçoit que la le footer.pt ne se trouve plus dans le portal_skins/plone_templates mais dans portal_skins/plone_deprecated … qui comme son nom l’indique est déprécié, ce qui veut dire en clair que ce n’est pas la bonne méthode et que customiser ce template ne vous mènera nul part.

Quoi qu’il arrive aujourd’hui, Plone c’est Plone 3 et il faut s’y mettre. J’ai donc commencé à rédiger de tout petits howto à destination des intégrateurs pour leur éviter de galérer de longues heures passées à se familiariser avec les nouveaux mécanismes que Plone 3 propose.

Et pour le premier petit tuto, je vous propose donc une petite introduction au portal_view_customizations