Sommaire
SemaineTechAUF : Django
ATTENTION : cet atelier requiert une préparation préalable, voir la section Pré-requis. |
Présentateur(s)
- Olivier Larchevêque
Format
C'est un atelier plutôt participatif, le code source étaye la présentation des concepts de bases. (10min) Ensuite, on commence tout de suite dans la production, pour ajouter des nouvelles fonctionnalités à ce projet. (30min) La communication sera faite à travers le salon jabber.
Description détaillée
Cet atelier porte sur l'introduction du framework Web Django reposant sur Python. C'est ce framework qui est utilisé pour développer les applicatifs Web de l'AUF.
Une première partie, un peu plus théorique, présente les concepts généraux d'un framework Web, notamment le modèle MVC. Ces principes seront illustrés par le code source d'un mini-projet.
Le but de l'atelier est de construire une application Django qui offre une plateforme de support ; cela permettra dans un projet Django, d'offrir une FAQ et des fichiers d'aides en ligne. C'est un projet concrêt et il l'idée m'est venue d'un ticket qui traîne depuis longtemps : https://redmine.auf.org/issues/1489.
Le projet disposera déjà des fonctionnalités pour gérer la FAQ (création des questions/réponses et présentation sur le portail).
Vous aurez à construire améliorer ce module pour qu'il puisse gérer des ressources sous forme de fichiers :
- Vous aller créer un nouveau type de contenu
- Vous aller créer une administration Django pour gérer ce type de contenu
- Vous aller intégrer dans le portail, la liste des ressources
Les étapes seront accompagnées des codes sources, et expliquées dans le salon de discussion.
Pré-requis
Un poste client AUF, avec Python >= 2.6
- Avoir les droits d'administrations sur sa machine
- Disposer de git (apt-get install git-core)
- Dépendances Python :
paquet python-sqlite sudo apt-get install pythonX-sqlite (avec X votre version de Python)
paquet setuptools sudo apt-get install python-setuptools
- Déployer le projet sur sa machine personnelle
git clone git://git.auf.org/semainetech_django.git
cd semainetech_django
python bootstrap.py
bin/buildout -c devel.cfg
- optionnel : modifier le fichier project/conf.py si vous voulez une base de donnée MySQL
(si vous choisissez cette option, vous devrez installer apt-get install python-mysqldb
bin/django syncdb (créer un compte admin)
bin/django migrate
- S'assurer d'avoir un projet fonctionnel avant de commencer l'atelier
bin/django runserver
Ouvrer Firefox et consulter http://127.0.0.1:8000 et vous devez voir la page de démo de la charte graphique
Aller ensuite sur http://127.0.0.1:8000/admin et connecter-vous avec le compte admin crée précedemment
Si tout est OK, CRTL+C pour arrêter le serveur, autrement poker moi sur le salon @tech.
Optionnel : regarder le livre Django en ligne http://www.djangobook.com/en/2.0 pour appréhender
les notions, mais elles seront abordées au début de l'atelier.
Connaissances requises
- Programmation objet
- Python
Environnement technique
- Chacun disposera de son propre environnement
- Ubuntu (plus facile si on a tous le même système)
Support(s) de présentation
- Pigdin dans un salon de l'AUF
Outil web pour coller le code : http://paste.pocoo.org
Date et heure de passage
- Le 29 Août 2011 à 13h00 TU
- Le 1er Septembre à 13h00 TU
Durée prévue: 45 minutes de présentations (max) + 15 minutes de questions
Ressources
- URL du projet GIT : git://git.auf.org/semainetech_django.git
Livre Django en ligne : http://www.djangobook.com/en/2.0
Documentation Django : https://docs.djangoproject.com/en/1.2/
Archives des conversations
Archive brute de la conversation