Modifications entre les versions 3 et 4
Version 3 à la date du 2010-02-16 16:29:02
Taille: 1956
Éditeur: CyrilRobert
Commentaire:
Version 4 à la date du 2010-02-17 16:59:53
Taille: 3128
Éditeur: CyrilRobert
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
= Documentation non-complete = <<TableOfContents()>>
Ligne 3: Ligne 3:
Traduction de [[http://www.justanothercodemonkey.com/2009/08/deploying-django-with-buildout.html]] = Documentation non-complète =

Basé sur:
[[http://www.justanothercodemonkey.com/2009/08/deploying-django-with-buildout.html]]
Ligne 7: Ligne 9:
Pour toute nouvelle application, ou pour tout nouveau déploiement, la facon de procéder est d'utiliser buildout.
 . ''Il ne me semble pas avoir vu de concertation sur cette décision... A-t'elle été validée et si oui par qui ? -- ProgFou''
 . ''Voir message de Thomas sur la liste Tech du 9 fev, sujet "Déploiement d'appli python" --CyrilRobert''
Buildout est le système de déploiement d'applications Python qui est en test en ce moment pour les systèmes à Montréal.
Ligne 13: Ligne 13:
= Création du buildout = == Création du buildout ==
Ligne 63: Ligne 63:
Il existe maintenant un nouvel executable bin/django: Il existe maintenant un nouvel executable bin/django, equivalent a ''python manage.py'':
Ligne 67: Ligne 67:

Buildout aura aussi créé un dossier pour le projet Django. S'il s'agit d'un projet existant, suffit de copier le contenu du projet dans ce dossier.

À cette étape, il faut ajouter le ''path'' du projet dans la configuration de buildout: ajouter la ligne suivante dans la section "django" de buildout.cfg:
{{{
extra-paths = <nom du projet>
}}}

Il faudra ajouter les dépendances du projet dans buildout.cfg, en ajoutant une entrée ''eggs'' dans la sesion django:
{{{
eggs = django_pagination >=1.0
       django_sorting <=0.1
       django_historique
       django_exportateur
       auf_roa_authentification_backend
}}}
Il faut spécifier une dépendance par ligne, avec la version minimale ou maximale requise (optionnel).

== Utilisation ==

=== Environnement de dev ===

{{{
# Créer la structure initiale du buildout, génerer les scripts
$ python bootstrap.py
# Faire le buildout de dev
$ bin/buildout -c devel.cfg
# Lancer le serveur de dev
$ bin/django runserver
}}}


=== Mise en prod ===

{{{
# Créer la structure initiale du buildout, génerer les scripts
$ python bootstrap.py
# Faire le buildout de prod
$ bin/buildout -c buildout.cfg # des fois, on peut avoir un production.cfg
}}}

Buildout a généré un django.wsgi dans bin, il suffira de configurer Apache pour l'utiliser

Documentation non-complète

Basé sur: http://www.justanothercodemonkey.com/2009/08/deploying-django-with-buildout.html

Buildout

Buildout est le système de déploiement d'applications Python qui est en test en ce moment pour les systèmes à Montréal.

Buildout permet de gérer les dépendances, crée un environnement virtuel similaire a virtualenv, etc.

Création du buildout

La procédure utilise paster et les templates django, il faut donc l'installer:

easy_install fez.djangoskel 

Création de la structure de base:

paster create -t django_buildout <nom du dossier>

Paster va poser quelques questions:

Selected and implied templates:
fez.djangoskel#django_buildout  A plain Django buildout

Variables:
egg:      djangodev
package:  djangodev
project:  djangodev
Enter django_version (Django version to fetch, the default is 1.0.2) ['1.0.2']:
Enter django_project_name (Name of the main Django project folder) ['project']

Une fois terminé, on aura l'arborescence suivante:

djangodev
|-- bootstrap.py
|-- buildout.cfg
|-- devel.cfg
`-- README.txt

Lors de la premiere utilisation, il faut lancer le boostrap:

$ python ./bootstrap.py
Creating directory '/home/bashu/Temp/djangodev/bin'.
Creating directory '/home/bashu/Temp/djangodev/parts'.
Creating directory '/home/bashu/Temp/djangodev/develop-eggs'.
Generated script '/home/bashu/Temp/djangodev/bin/buildout'.

Il faut maintenant lui faire installer les dependances, et créer le projet:

$ ./bin/buildout -c devel.cfg
Installing django.
...

Il existe maintenant un nouvel executable bin/django, equivalent a python manage.py:

$ ./bin/django syncdb

Buildout aura aussi créé un dossier pour le projet Django. S'il s'agit d'un projet existant, suffit de copier le contenu du projet dans ce dossier.

À cette étape, il faut ajouter le path du projet dans la configuration de buildout: ajouter la ligne suivante dans la section "django" de buildout.cfg:

extra-paths = <nom du projet>

Il faudra ajouter les dépendances du projet dans buildout.cfg, en ajoutant une entrée eggs dans la sesion django:

eggs = django_pagination >=1.0
       django_sorting <=0.1
       django_historique
       django_exportateur
       auf_roa_authentification_backend

Il faut spécifier une dépendance par ligne, avec la version minimale ou maximale requise (optionnel).

Utilisation

Environnement de dev

# Créer la structure initiale du buildout, génerer les scripts
$ python bootstrap.py 
# Faire le buildout de dev
$ bin/buildout -c devel.cfg
# Lancer le serveur de dev
$ bin/django runserver

Mise en prod

# Créer la structure initiale du buildout, génerer les scripts
$ python bootstrap.py 
# Faire le buildout de prod
$ bin/buildout -c buildout.cfg # des fois, on peut avoir un production.cfg

Buildout a généré un django.wsgi dans bin, il suffira de configurer Apache pour l'utiliser

Python/buildout (dernière édition le 2012-08-14 22:57:13 par JeanChristopheAndré)