JavaScript avec Django

Posté le 11 July 2013 dans Python • Taggé avec python, django, django.js, javascript, less, test, require, bower

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 …


Continuer à lire

Mes plugins pour Pelican

Posté le 20 June 2013 dans Python • Taggé avec pelican, python, social, plugins, microdata

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 …


Continuer à lire

Huit recettes pour Pelican

Posté le 24 March 2013 dans Python • Taggé avec pelican, python, jinja, nginx, git, hook

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 …

Continuer à lire

Et un pelican de plus dans le troupeau !

Posté le 17 March 2013 dans Blog • Taggé avec blog, migration, pelican, python, restructuredtext, wordpress

Depuis quelques temps, beaucoup de bloggers migrent vers du blog statique et en particulier vers Pelican.

Pour rappel, Pelican c’est:

  • un moteur de blog statique écrit en Python
  • un projet actif avec une bonne communauté
  • du reStructuredText ou du Markdown pour l’édition
  • jinja 2 comme moteur de template

Cela fait plusieurs années que je tourne sur Wordpress et j’ai moi aussi décidé de franchir le cap.

La migration s’est passé sans aucun soucis pour moi. Je ne vais pas redétailler l’installation et la migration car il a énormément de documentation sur le net entre la …


Continuer à lire

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

Posté le 05 March 2013 dans Python • Taggé avec pip, python, virtualenv, virtualenvwrapper

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 …


Continuer à lire