Couchapp : créer votre première application CouchDB (Partie 1)
Par Nicolas Steinmetz. samedi 27 juin 2009, 16:19. CouchDB couchapp couchdb python | Lien permanent.
Je continue ma découverte de CouchDB avec Couchapp, logiciel qui se définit comme un ensemble d'outils pour simplifier le développement d'une application avec CouchDB.
Ce billet chercher à compléter / mettre à jour le billet de Benoit Chesneau : "Et les légos s'emboitèrent" que je vous conseille de lire par ailleurs.
Installation de Couchapp
bash tetram:CouchDB nicolas$ sudo easy_install couchapp
Cela vous installe couchapp 0.3.2 à ce jour.
Génération du squelette de votre application
bash tetram:CouchDB nicolas$ couchapp generate mycouchapp [INFO] Generating a new CouchApp in /Users/nicolas/Documents/Projets/CouchDB/mycouchapp
Le contenu est le suivant :
bash tetram:CouchDB nicolas$ ls mycouchapp/ _attachments lists vendor lib shows views
Pour pousser votre application dans votre instance CouchDB dans une base "monapp" :
bash tetram:CouchDB nicolas$ cd mycouchapp/ tetram:mycouchapp nicolas$ couchapp push monapp -v [INFO] push vendor/couchapp/_attachments/jquery.couchapp.js [INFO] push vendor/couchapp/couchapp.js [INFO] push vendor/couchapp/date.js [INFO] push vendor/couchapp/path.js [INFO] push vendor/couchapp/README.md [INFO] push vendor/couchapp/template.js [INFO] Pushing CouchApp in /Users/nicolas/Documents/Projets/CouchDB/mycouchapp to design doc: http://127.0.0.1:5984/monapp/_design/mycouchapp [INFO] Visit your CouchApp here: http://127.0.0.1:5984/monapp/_design/mycouchapp/index.html [INFO] Attaching index.html (413) [INFO] Attaching style/main.css (21) [INFO] Attaching vendor/couchapp/jquery.couchapp.js (6984)
Si vous ouvrez votre navigateur sur http://127.0.0.1:5984/monapp/_design/mycouchapp/index.html, vous voyez l'écran suivant :

A ce stade, 2 commandes ont été utilisées :
- generate : crée le squelette d'application
- push : envoie l'application dans couchdb
Si vous voulez récupérer une application de couchdb, il faut utiliser la commande "clone". Cela permet d'éditer votre application couchdb depuis votre disque dur et non plus depuis futon par ex. Au passage, vous ne pouvez pas cloner votre application dans le même répertoire que l'initial :
bash tetram:mycouchapp nicolas$ cd .. tetram:CouchDB nicolas$ couchapp clone http://127.0.0.1:5984/monapp/_design/mycouchapp [CRITICAL] an app already exist here: mycouchapp
Il vous faut donc spécifier un chemin différent :
bash tetram:CouchDB nicolas$ couchapp clone http://127.0.0.1:5984/monapp/_design/mycouchapp mycouchapp-cloned [INFO] Cloning mycouchapp to mycouchapp-cloned... tetram:CouchDB nicolas$ ls mycouchapp-cloned/ _attachments lib shows views couchapp.json lists vendor
A noter que la version clonée a un fichier couchapp.json en plus et donc je ne connais pas encore l'intérêt / l'utilité à ce stade.
Si on revient un instant sur ces répertoires :
- _attachments contiendra les fichiers attachés à votre application
- views contient les vues
- lists contient les listes de vues ; utilisées par ex pour une page listant les 10 derniers documents par ex style page d'accueil d'un blog.
- shows contient les rendus d'un document ; la visualisation d'un article d'un blog par ex.
- lib contient les modèles et macros
- vendor contient des composants tiers fournis par couchapp pour le moment mais on peut imaginer je suppose d'autres briques tierces dans cet espace .
Voilà pour un début, dès que je suis plus clair sur les listes / vues / rendus, vous aurez droit à un autre billet 