Catégorie: Python

JavaScript avec Django

Django est initialement conçu pour réaliser des sites et applications web avec le pattern MVT (Modèle-Vue-Template). Loin de moi l’idée de faire ici un cours sur le design pattern ou de relancer l’éternel débat MVC-MVT-… Le point que je veux soulever est que Django est conçu pour gérer la majorité de la cinématique utilisateur côté serveur.

Le problème est qu’aujourd’hui les techniques évoluent et nous sommes amenés à déplacer une bonne partie de cette cinématique côté client, dans le navigateur, avec notamment l’utilisation du JavaScript.

Cette évolution est très bénéfique car elle a (normalement ...

Lire la suite

Mes plugins pour Pelican

Depuis mon passage à Pelican comme moteur de blog, j’ai créé deux plugins que je veux vous présenter.

Ces plugins ne sont pas dans le dépôt pelican-plugins car je n’adhère pas forcement au principe de dépôt unique pour tous les plugins.

Je préfère simplement les publier en tant que paquets python standard.

Ces deux plugins sont bien sûr open-sources et testés et toute contribution est la bienvenue.

Pelican Microdata

Ce plugin permet d’insérer des marqueurs sémantiques Microdata (ou microdonnées en français).

Ces marqueurs permettent au moteur de recherche de mieux indexer le contenu de votre site puisqu ...

Lire la suite

Huit recettes pour Pelican

Après avoir passé beaucoup de temps sur mon blog depuis le passage à Pelican, j’ai décidé de publier quelques recettes que j’utilise.

Libre à vous de les utiliser et de les améliorer. Je suis évidement intéréssé par votre retour.

Arborescence plate

Cette recette n’en est pas vraiment une, mais elle servira de base pour les chemins des autres recettes.

Je l’utilise pour avoir l’arborescence suivante dans mon dépôt git:

├── articles
│   ├── categorie1
│   │   └─ article.rst
│   └── categorie2
├── extras
│   ├─ 404.html
│   └─ robots.txt
├── images
│   ├── theme1
│   │   └─ image.png
│   ├── theme2
│   │   └─ image.png
│   └─ image.png
├── local_plugins
│   └─ plugin.py
├── pages
│   └─ page.rst
├── theme ...
Lire la suite

Création de virtualenvs préconfigurés hors-ligne

Je crée régulièrement des virtualenvs avec virtualenvwrapper, et j’ai toujours les mêmes problèmes:

  • il faut installer les mêmes outils de base à chaque fois
  • il faut être connecté pour les télécharger
  • le téléchargement peut être long

mkvirtualenv propose un hook, postmkvirtualenv, qui permet d’exécuter des commandes après la création du virtualenv.

Je l’utilise pour lancer l’installation de dépendances communes à tous mes virtualenvs. Couplé avec la recette Fast & Local Installs de pip, cela me permet de créer des virtualenvs préconfigurés totalement hors-ligne.

Pour cela, on va créer le répertoire $WORKON_HOME/offline et le fichier de requirement ...

Lire la suite

pip, virtualenv et virtualwrapper dans Cygwin

Voici la marche à suivre pour installer Python, pip, virtualenv et virtualenvwrapper dans Cygwin (version 1.7.7-1 à ce jour).

Python doit être installé via l’installeur de Cygwin.

Pour installer pip, nous allons utiliser easy_install qui est fourni par setuptools (version 0.6c11 au moment où j’écris ces lignes). Pour trouver la dernière version en date correspondant à notre version de Python (version 2.6.5 fournie par Cygwin), il faut se rendre sur la page officielle.

~$ wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
~$ sh setuptools-0.6c11-py2.6.egg
~$ easy_install ...
Lire la suite