set up django rest framework
authorrougeronj
Wed, 11 Mar 2015 17:38:14 +0100
changeset 13 08f34bbc70ee
parent 12 1ada9d221ba3
child 14 4d27fbc3f9df
set up django rest framework
.pydevproject
client/app/app.js
client/app/index.html
client/app/login/login.html
client/app/login/login_controller.js
client/app/login/login_controller_test.js
db.sqlite3
server/admin.py
server/ammico/__init__.py
server/ammico/admin.py
server/ammico/jsons.py
server/ammico/migrations/0001_initial.py
server/ammico/migrations/__init__.py
server/ammico/models.py
server/ammico/serializers.py
server/ammico/tests.py
server/ammico/urls.py
server/ammico/views.py
server/models.py
server/settings.py
server/urls.py
server/views.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.pydevproject	Wed Mar 11 17:38:14 2015 +0100
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?eclipse-pydev version="1.0"?><pydev_project>
+<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">ammico_python</pydev_property>
+<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.7</pydev_property>
+<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
+<path>/${PROJECT_DIR_NAME}/server</path>
+</pydev_pathproperty>
+</pydev_project>
--- a/client/app/app.js	Mon Feb 23 12:40:17 2015 +0100
+++ b/client/app/app.js	Wed Mar 11 17:38:14 2015 +0100
@@ -1,7 +1,7 @@
 (function(){
   'use strict';
 
-  angular.module('ammico', [ 'ngRoute','ammicoHome', 'ammicoGallery', 'ammicoSlideshow', 'ammicoSearch', 'templates' ])
+  angular.module('ammico', [ 'ngRoute','ammicoHome', 'ammicoGallery', 'ammicoSlideshow', 'ammicoSearch', 'ammicoLogin', 'templates' ])
     .config(function($routeProvider) {
       $routeProvider.
         when('/', {
@@ -36,6 +36,10 @@
           controller: 'searchCtrl',
           templateUrl: 'search/search.html'
       }).
+      when('/login/', {
+          controller: 'loginCtrl',
+          templateUrl: 'login/login.html'
+      }).
       otherwise({
         redirectTo: '/'
       });
--- a/client/app/index.html	Mon Feb 23 12:40:17 2015 +0100
+++ b/client/app/index.html	Wed Mar 11 17:38:14 2015 +0100
@@ -24,6 +24,9 @@
             <li ng-class="{active:isActive('/gallery')}"><a href="#/gallery">Galerie</a></li>
             <li ng-class="{active:isActive('/slideshow')}"><a href="#/slideshow">Diaporama</a></li>
           </ul>
+          <ul class="nav navbar-nav navbar-right" ng-controller="routeClassCtrl">
+            <li ng-class="{active:isActive('/login')}"><a href="#/login">Login</a></li>
+          </ul>
           <form class="navbar-form navbar-right" role="search" ng-submit="searchSubmit()">
             <div class="form-group">
                 <input class="form-control" type="text" ng-model="q" placeholder="Chercher" />
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/app/login/login.html	Wed Mar 11 17:38:14 2015 +0100
@@ -0,0 +1,1 @@
+coucou
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/app/login/login_controller.js	Wed Mar 11 17:38:14 2015 +0100
@@ -0,0 +1,19 @@
+(function(){
+  'use strict';
+
+
+  angular.module('ammicoLogin',['ngRoute'])
+    .config(function ($routeProvider) {
+      $routeProvider
+        .when('/', {
+          templateUrl: 'login/login.html',
+          controller: 'loginCtrl'
+        });
+    })
+    .controller('loginCtrl', function($http){
+    	$http.get('http://127.0.0.1:8000/ammico/login/?&username=toto@gmail.com').
+    	  success(function() {
+    	    console.log('KATAPLA !');
+    	  });
+    });
+})();
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/app/login/login_controller_test.js	Wed Mar 11 17:38:14 2015 +0100
@@ -0,0 +1,7 @@
+'use strict';
+
+describe("login_controller_test", function(){
+    it("should assert something",function(){
+        expect(true).toBe(true);
+    })
+})
Binary file db.sqlite3 has changed
--- a/server/admin.py	Mon Feb 23 12:40:17 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-from django.contrib import admin
-from models import Record
-
-
-admin.site.register(Record)
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/ammico/admin.py	Wed Mar 11 17:38:14 2015 +0100
@@ -0,0 +1,7 @@
+from django.contrib import admin
+from models import Slide, AmmicoUser, Book
+
+
+admin.site.register(Slide)
+admin.site.register(AmmicoUser)
+admin.site.register(Book)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/ammico/jsons.py	Wed Mar 11 17:38:14 2015 +0100
@@ -0,0 +1,38 @@
+VISITES = [
+    {
+        "idArticle": "169",
+        "type": "visite",
+        "dateCreation": "2015-01-16 14:48:54",
+        "dateModified": "2015-01-16 14:48:54",
+        "title": "Visite du 26/12/2014 a 09:22:35",
+        "idUser": "6",
+        "idSpot": 0,
+        "image": "http://fui-ammico.jamespot.pro/displayImage.php?path=img/article_default.gif",
+        "source": "",
+        "description": "",
+        "idVisite": "8df9dafe82108d4fAmmico118",
+        "steps": "[{\"DATE\":\"26\\/12\\/2014\",\"TIME\":\"09:22:35\",\"stop\":\"\"},{\"DATE\":\"26\\/12\\/2014\",\"TIME\":\"09:22:41\",\"stop\":\"stop-234\"},{\"DATE\":\"26\\/12\\/2014\",\"TIME\":\"09:22:53\",\"stop\":\"stop-234\"},{\"DATE\":\"26\\/12\\/2014\",\"TIME\":\"09:23:05\",\"stop\":\"stop-234\",\"comment\":\"commentaire 1\"},{\"DATE\":\"26\\/12\\/2014\",\"TIME\":\"09:23:11\",\"stop\":\"stop-315\"},{\"DATE\":\"26\\/12\\/2014\",\"TIME\":\"09:23:14\",\"stop\":\"stop-315\"},{\"DATE\":\"26\\/12\\/2014\",\"TIME\":\"09:23:22\",\"stop\":\"stop-297\"},{\"DATE\":\"26\\/12\\/2014\",\"TIME\":\"09:23:24\",\"stop\":\"stop-297\"},{\"DATE\":\"26\\/12\\/2014\",\"TIME\":\"09:23:37\",\"stop\":\"stop-297\",\"comment\":\"commentaire 2\"},{\"DATE\":\"26\\/12\\/2014\",\"TIME\":\"09:23:48\",\"stop\":\"stop-288\"},{\"DATE\":\"26\\/12\\/2014\",\"TIME\":\"09:23:52\",\"stop\":\"stop-288\"}]",
+        "socialfollowIndexedStats": "1",
+        "socialfollowIndexedStatsLastModified": "2015-01-16 14:48:54",
+        "attachments": [ ],
+        "nbComments": "0"
+    },
+    {
+        "idArticle": "163",
+        "type": "visite",
+        "dateCreation": "2015-01-16 14:48:52",
+        "dateModified": "2015-01-16 14:48:52",
+        "title": "Visite du 15/01/2015 a 16:51:20",
+        "idUser": "6",
+        "idSpot": 0,
+        "image": "http://fui-ammico.jamespot.pro/displayImage.php?path=img/article_default.gif",
+        "source": "",
+        "description": "",
+        "idVisite": "8df9dafe82108d4fAmmico4",
+        "steps": "[{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:51:20\",\"stop\":\"\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:51:29\",\"stop\":\"stop-234\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:51:44\",\"stop\":\"stop-234\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:52:32\",\"stop\":\"stop-234\",\"comment\":\"c'est un beau instrument\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:52:40\",\"stop\":\"stop-315\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:52:43\",\"stop\":\"stop-315\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:52:53\",\"stop\":\"stop-238\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:53:14\",\"stop\":\"stop-238\",\"comment\":\"le son est incroyable !!!\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:53:24\",\"stop\":\"stop-242\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:53:26\",\"stop\":\"stop-242\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:54:25\",\"stop\":\"stop-316\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:54:29\",\"stop\":\"stop-316\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:54:50\",\"stop\":\"stop-316\",\"comment\":\"\\u00e7a me rappelle de mon pays\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:55:06\",\"stop\":\"stop-253\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:55:25\",\"stop\":\"stop-253\",\"comment\":\"je n'aime pas ce bruit\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:55:34\",\"stop\":\"stop-263\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:55:36\",\"stop\":\"stop-263\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:56:04\",\"stop\":\"stop-263\",\"comment\":\"c'est passionant\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:56:16\",\"stop\":\"stop-279\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:56:17\",\"stop\":\"stop-279\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:56:45\",\"stop\":\"stop-279\",\"comment\":\"on croyait se trouver dans les contes de f\\u00e9e\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:56:53\",\"stop\":\"stop-282\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:56:57\",\"stop\":\"stop-282\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:22\",\"stop\":\"stop-282\",\"comment\":\"c'est un croyable cet instrument\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:25\",\"stop\":\"stop-282\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:26\",\"stop\":\"stop-282\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:35\",\"stop\":\"stop-282\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:43\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:44\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:45\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:46\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:47\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:48\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:49\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:50\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:51\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:52\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:53\",\"stop\":\"stop-295\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:53\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:54\",\"stop\":\"stop-295\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:54\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:55\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:56\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:57\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:58\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:59\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:57:59\",\"stop\":\"stop-297\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:00\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:01\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:02\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:03\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:04\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:05\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:06\",\"stop\":\"stop-297\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:06\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:07\",\"stop\":\"stop-297\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:07\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:08\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:09\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:10\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:11\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:12\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:13\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:14\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:15\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:16\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:17\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:18\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:19\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:20\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:21\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:22\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:23\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:24\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:25\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:26\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:27\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:28\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:29\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:30\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:31\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:32\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:33\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:34\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:35\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:36\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:37\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:38\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:39\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:39\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:40\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:41\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:42\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:43\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:44\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:45\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:46\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:47\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:48\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:49\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:50\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:51\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:52\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:53\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:54\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:55\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:56\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:57\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:58\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:59\",\"stop\":\"stop-250\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:58:59\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:00\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:00\",\"stop\":\"stop-250\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:01\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:02\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:03\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:04\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:05\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:06\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:07\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:08\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:09\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:10\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:11\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:12\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:13\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:14\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:15\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:16\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:17\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:18\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:19\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:20\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:21\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:22\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:23\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:24\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:25\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:26\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:27\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:28\",\"stop\":\"stop-250\",\"comment\":\"je me demande d'o\\u00f9 vient cet instrument ???\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:28\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:29\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:30\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:31\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:32\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:33\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:34\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:35\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:36\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:37\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:38\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:39\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:39\",\"stop\":\"stop-278\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:40\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:41\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:42\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:43\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:44\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:45\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:46\",\"stop\":\"stop-278\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:46\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:47\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:48\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:48\",\"stop\":\"stop-278\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:49\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:50\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:51\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:51\",\"stop\":\"stop-278\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:52\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:53\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:54\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:55\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:56\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:57\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:58\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"16:59:59\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:00\",\"stop\":\"stop-289\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:00\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:01\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:02\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:03\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:04\",\"stop\":\"stop-289\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:04\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:05\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:06\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:07\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:08\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:09\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:10\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:11\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:12\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:13\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:14\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:15\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:15\",\"stop\":\"stop-304\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:16\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:17\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:17\",\"stop\":\"stop-304\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:18\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:19\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:20\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:21\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:22\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:23\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:24\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:25\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:25\",\"stop\":\"stop-302\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:26\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:27\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:28\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:28\",\"stop\":\"stop-302\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:29\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:30\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:31\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:32\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:33\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:34\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:35\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:36\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:37\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:38\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:39\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:40\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:41\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:42\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:43\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:44\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:45\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:46\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:47\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:48\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:49\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:50\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:51\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:52\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:53\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:54\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:55\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:56\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:57\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:58\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:00:59\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:00\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:01\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:02\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:03\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:04\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:05\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:06\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:07\",\"stop\":\"stop-302\",\"comment\":\"c'est vraiment int\\u00e9ressant\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:07\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:08\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:09\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:10\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:11\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:12\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:13\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:14\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:14\",\"stop\":\"stop-311\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:15\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:16\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:17\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:18\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:18\",\"stop\":\"stop-311\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:19\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:20\",\"stop\":\"stop-311\"},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:20\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:21\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:22\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:23\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:24\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:25\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:26\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:27\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:28\",\"stop\":null},{\"DATE\":\"15\\/01\\/2015\",\"TIME\":\"17:01:28\",\"stop\":null}]",
+        "socialfollowIndexedStats": "1",
+        "socialfollowIndexedStatsLastModified": "2015-01-16 14:48:52",
+        "attachments": [ ],
+        "nbComments": "0"
+    }
+]
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/ammico/migrations/0001_initial.py	Wed Mar 11 17:38:14 2015 +0100
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+from django.conf import settings
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='AmmicoUser',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('idUser', models.CharField(unique=True, max_length=512)),
+                ('image', models.URLField(max_length=2048, blank=True)),
+                ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)),
+            ],
+            options={
+            },
+            bases=(models.Model,),
+        ),
+        migrations.CreateModel(
+            name='Book',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('idArticle', models.CharField(unique=True, max_length=512)),
+                ('title', models.CharField(max_length=512, blank=True)),
+                ('description', models.CharField(max_length=512, null=True, blank=True)),
+                ('image', models.URLField(max_length=2048, blank=True)),
+                ('date', models.DateTimeField(null=True)),
+                ('user', models.ForeignKey(to='ammico.AmmicoUser')),
+            ],
+            options={
+            },
+            bases=(models.Model,),
+        ),
+        migrations.CreateModel(
+            name='Slide',
+            fields=[
+                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
+                ('idStop', models.CharField(max_length=512)),
+                ('comment', models.CharField(max_length=512, blank=True)),
+                ('date', models.DateTimeField(blank=True)),
+                ('favorite', models.BooleanField(default=False, db_index=True)),
+                ('book', models.ForeignKey(to='ammico.Book')),
+            ],
+            options={
+            },
+            bases=(models.Model,),
+        ),
+    ]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/ammico/models.py	Wed Mar 11 17:38:14 2015 +0100
@@ -0,0 +1,33 @@
+from django.db import models
+from taggit.managers import TaggableManager
+from django.contrib.auth.models import User
+
+class AmmicoUser(models.Model):
+    user = models.ForeignKey(User)
+    idUser = models.CharField(max_length=512, unique=True)
+    image = models.URLField(max_length=2048, blank=True)
+    
+    def __unicode__(self):
+        return unicode(self.user.username)
+
+
+class Book(models.Model):
+    user = models.ForeignKey(AmmicoUser)
+    idArticle = models.CharField(max_length=512, unique=True)
+    title = models.CharField(max_length=512, blank=True)
+    description = models.CharField(max_length=512, blank=True, null=True)
+    image = models.URLField(max_length=2048, blank=True)
+    date = models.DateTimeField(null=True)
+    
+    def __unicode__(self):
+        return unicode(self.title)
+
+class Slide(models.Model):
+    book = models.ForeignKey(Book)
+    idStop = models.CharField(max_length=512, blank=False)
+    comment = models.CharField(max_length=512, blank=True)
+    date = models.DateTimeField(blank=True)
+    favorite = models.BooleanField(default=False, db_index=True)
+    
+    def __unicode__(self):
+        return unicode(self.idStop)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/ammico/serializers.py	Wed Mar 11 17:38:14 2015 +0100
@@ -0,0 +1,15 @@
+from rest_framework import serializers
+from models import Book, Slide
+
+
+class BookSerializer(serializers.ModelSerializer):
+
+    class Meta:
+        model = Book
+        fields = ('id', 'idArticle', 'title', 'description', 'image', 'date')
+        
+class SlideSerializer(serializers.ModelSerializer):
+
+    class Meta:
+        model = Slide
+        fields = ('id', 'book', 'idStop', 'comment', 'date', 'favorite')
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/ammico/tests.py	Wed Mar 11 17:38:14 2015 +0100
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/ammico/urls.py	Wed Mar 11 17:38:14 2015 +0100
@@ -0,0 +1,10 @@
+from django.conf.urls import patterns, url
+from ammico.views import populateUser, ListBooks, InfoBook, ListSlides, InfoSlide
+
+urlpatterns = patterns('',
+    url(r'^populateUser/', populateUser, name='populateUser'),
+    url(r'^books/$', ListBooks.as_view()),
+    url(r'^books/(?P<id>[0-9]+)$', InfoBook.as_view()),
+    url(r'^slides/$', ListSlides.as_view()),
+    url(r'^slides/(?P<id>[0-9]+)$', InfoSlide.as_view()),
+)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/server/ammico/views.py	Wed Mar 11 17:38:14 2015 +0100
@@ -0,0 +1,125 @@
+
+from django.http import HttpResponse
+import requests
+import json
+from datetime import datetime
+from django.utils.dateparse import parse_datetime
+from django.contrib.auth.models import User
+from models import Book, AmmicoUser, Slide
+from serializers import BookSerializer, SlideSerializer
+
+from rest_framework.views import APIView
+from rest_framework.response import Response
+from rest_framework import authentication, permissions
+
+def populateUser(request):
+    usermail = request.GET["usermail"]
+    user = AmmicoUser.objects.get(user=User.objects.get(email=usermail))
+    data = {"user": usermail, "idUser": user.idUser}
+    populateVisite(user)
+    return HttpResponse(content=json.dumps(data), content_type='application/json')
+
+def populateVisite(user):
+    # send request with usermail to get the visites of this user and add it to the database 
+    #r = requests.get('http://fui-ammico.jamespot.pro/api/api.php?&k=6c8bfcea247e8a5841288269887d88f0&d=2016-01-31&m=EXT-IRI&v=2.0&f=get&o=article&idArticle=169')
+
+    #simulate the request
+    r = requests.get('http://fui-ammico.jamespot.pro/api/api.php?&k=6c8bfcea247e8a5841288269887d88f0&d=2016-01-31&m=EXT-IRI&v=2.0&o=article&f=list&idUser='+user.idUser)
+    visites = json.loads(r.content)
+    
+    for visite in visites['VAL']:
+        r = requests.get('http://fui-ammico.jamespot.pro/api/api.php?&k=6c8bfcea247e8a5841288269887d88f0&d=2016-01-31&m=EXT-IRI&v=2.0&o=article&f=get&idArticle='+visite['idArticle'])
+        visiteInfo = json.loads(r.content)['VAL']
+        book, _ = Book.objects.get_or_create(
+            user=user, 
+            idArticle=visiteInfo['idArticle'],
+            title=visiteInfo['title'],
+            description=visiteInfo['description'],
+            image=visiteInfo['image'],
+            date=parse_datetime(visiteInfo['dateCreation'])
+        )
+        populateSlide(json.loads(visiteInfo['steps']), book)
+
+def populateSlide(steps, book):
+    for step in steps:
+        if (step['stop'] != None and step['stop'] != ''):
+            
+            if 'comment' in step:
+                comment = step['comment']
+            else:
+                comment = ""
+            
+            print datetime.strptime(step['DATE'] + " " + step['TIME'], "%d/%m/%Y %H:%M:%S")
+            
+            Slide.objects.get_or_create(
+                book=book,
+                idStop=step['stop'],
+                comment=comment,
+                date=parse_datetime(str(datetime.strptime(step['DATE'] + " " + step['TIME'], "%d/%m/%Y %H:%M:%S")))
+            )
+            
+class ListBooks(APIView):
+    """
+    Views to list all books.
+    """
+    #authentication_classes = (authentication.TokenAuthentication,)
+    #permission_classes = (permissions.IsAdminUser,)
+    permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
+
+    def get(self, request, format=None):
+        """
+        Return a list of all Books.
+        """
+        books = Book.objects.all()
+        serializer = BookSerializer(books, many=True)
+        return Response(serializer.data)
+
+class InfoBook(APIView):
+    """
+    View to get book informations.
+    """
+    #authentication_classes = (authentication.TokenAuthentication,)
+    #permission_classes = (permissions.IsAdminUser,)
+    permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
+
+    def get(self, request, id):
+        try:
+            book = Book.objects.get(id=id)
+        except Book.DoesNotExist:
+            return HttpResponse(status=404)
+        
+        serializer = BookSerializer(book)
+        return Response(serializer.data)
+
+class ListSlides(APIView):
+    """
+    Views to list all books.
+    """
+    #authentication_classes = (authentication.TokenAuthentication,)
+    #permission_classes = (permissions.IsAdminUser,)
+    permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
+
+    def get(self, request, format=None):
+        """
+        Return a list of all Books.
+        """
+        slides = Slide.objects.all()
+        serializer = SlideSerializer(slides, many=True)
+        return Response(serializer.data)
+
+class InfoSlide(APIView):
+    """
+    View to get book informations.
+    """
+    #authentication_classes = (authentication.TokenAuthentication,)
+    #permission_classes = (permissions.IsAdminUser,)
+    permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
+
+    def get(self, request, id):
+        try:
+            slide = Slide.objects.get(id=id)
+        except Slide.DoesNotExist:
+            return HttpResponse(status=404)
+        
+        serializer = SlideSerializer(slide)
+        return Response(serializer.data)
\ No newline at end of file
--- a/server/models.py	Mon Feb 23 12:40:17 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-'''
-Created on Feb 19, 2014
-
-@author: jr
-'''
-
-from django.db import models
-from taggit.managers import TaggableManager
-
-
-class Record(models.Model):
-    
-    title = models.CharField(max_length=512, unique=False, blank=True, null=True)
-    description = models.CharField(max_length=512, unique=False, blank=True, null=True)
-    comment = models.CharField(max_length=512, unique=False, blank=True, null=True)
-    source = models.CharField(max_length=512, unique=False, blank=True, null=True)
-    url = models.URLField(max_length=2048, unique=True, blank=False, null=False)
-    url_image = models.URLField(max_length=2048, unique=True, blank=True, null=True)
-    favorite = models.BooleanField(default=False, db_index=True)
-    tags = TaggableManager()
-    
-    def __unicode__(self):
-        return unicode(self.title)
-    
-    class Meta:
-        app_label = 'record'
\ No newline at end of file
--- a/server/settings.py	Mon Feb 23 12:40:17 2015 +0100
+++ b/server/settings.py	Wed Mar 11 17:38:14 2015 +0100
@@ -36,10 +36,16 @@
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
+    'rest_framework',
+    'corsheaders',
+    'requests',
+    'taggit',
+    'ammico',
 )
 
 MIDDLEWARE_CLASSES = (
     'django.contrib.sessions.middleware.SessionMiddleware',
+    'corsheaders.middleware.CorsMiddleware',
     'django.middleware.common.CommonMiddleware',
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
@@ -52,6 +58,15 @@
 
 WSGI_APPLICATION = 'wsgi.application'
 
+CORS_ORIGIN_ALLOW_ALL = True
+
+REST_FRAMEWORK = {
+    # Use Django's standard `django.contrib.auth` permissions,
+    # or allow read-only access for unauthenticated users.
+    'DEFAULT_PERMISSION_CLASSES': [
+        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
+    ]
+}
 
 # Database
 # https://docs.djangoproject.com/en/1.7/ref/settings/#databases
--- a/server/urls.py	Mon Feb 23 12:40:17 2015 +0100
+++ b/server/urls.py	Wed Mar 11 17:38:14 2015 +0100
@@ -1,16 +1,10 @@
 from django.conf.urls import patterns, include, url
 from django.contrib import admin
-from models import Record
 
 admin.autodiscover()
 
-admin.site.register(Record)
-
 urlpatterns = patterns('',
-    # Examples:
-    # url(r'^$', 'ammico.views.home', name='home'),
-    # url(r'^blog/', include('blog.urls')),
-
     url(r'^admin/', include(admin.site.urls)),
-    url(r'^tour/', 'views.getTour', name='getTour'),
-)
+    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
+    url(r'^ammico/', include('ammico.urls')),
+)
\ No newline at end of file
--- a/server/views.py	Mon Feb 23 12:40:17 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-from django.http import HttpResponse
-import json
-
-def getTour(request):
-    #request tour from jamespot
-    return HttpResponse(content=json.dumps("{'test':true}"), content_type='application/json')