New search feature on top right corner. Advanced search included in published projects tab. Colored icons. Change css to avoid scroll on contents and projects table.
authorcavaliet
Thu, 04 Aug 2011 12:54:02 +0200
changeset 125 5c3ed9c919bb
parent 124 3ac45d07640a
child 126 8c90de3216f9
New search feature on top right corner. Advanced search included in published projects tab. Colored icons. Change css to avoid scroll on contents and projects table.
src/ldt/ldt/core/models.py
src/ldt/ldt/ldt_utils/models.py
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/content_list.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/copy_ldt.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/publishedprojectslist.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/published_projects.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html
src/ldt/ldt/ldt_utils/urls.py
src/ldt/ldt/ldt_utils/views.py
src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo
src/ldt/ldt/locale/fr/LC_MESSAGES/django.po
src/ldt/ldt/static/ldt/css/style.css
src/ldt/ldt/static/ldt/css/workspace.css
src/ldt/ldt/static/ldt/img/control_play.gif
src/ldt/ldt/static/ldt/img/control_play.png
src/ldt/ldt/static/ldt/img/document_add.gif
src/ldt/ldt/static/ldt/img/document_edit.gif
src/ldt/ldt/static/ldt/img/documents_duplicate.gif
src/ldt/ldt/static/ldt/img/film_add.png
src/ldt/ldt/static/ldt/img/page_add.png
src/ldt/ldt/static/ldt/img/page_copy.png
src/ldt/ldt/static/ldt/img/page_edit.png
src/ldt/ldt/static/ldt/img/plugin.gif
src/ldt/ldt/static/ldt/img/plugin.png
src/ldt/ldt/templates/ldt/ldt_base.html
--- a/src/ldt/ldt/core/models.py	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/core/models.py	Thu Aug 04 12:54:02 2011 +0200
@@ -1,8 +1,14 @@
 from django.contrib.auth.models import User, Group
 from django.db import models
 
+class OwnerManager(models.Manager):
+    def get_by_natural_key(self, user_name):
+        return self.get(user__username=user_name)
+
 
 class Owner(models.Model):
+    objects = OwnerManager()
+    
     user = models.ForeignKey(User, blank=True, null=True)
     group = models.ForeignKey(Group, blank=True, null=True)
 
@@ -11,6 +17,12 @@
             return self.user.username
         else:
             return self.group.name
+    
+    def natural_key(self):
+        # Right now there is no group so the user.username is enough
+        return self.user.username
+    natural_key.dependencies = ['auth.user']
+    
 
 
 class Document(models.Model):
--- a/src/ldt/ldt/ldt_utils/models.py	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/models.py	Thu Aug 04 12:54:02 2011 +0200
@@ -89,7 +89,13 @@
         return "|".join(strings)
 
 
+class ContentManager(models.Manager):
+    def get_by_natural_key(self, iri_id):
+        return self.get(iri_id=iri_id)
+
 class Content(models.Model):
+    objects = ContentManager()
+    
     iri_id = models.CharField(max_length=1024, unique=True, default=generate_uuid, verbose_name=_('content.iri_id'))
     iriurl = models.CharField(max_length=1024, verbose_name=_('content.iriurl'))
     creation_date = models.DateTimeField(auto_now_add=True, verbose_name=_('content.creation_date'))
@@ -104,6 +110,13 @@
     
     class Meta:
         ordering = ["title"]
+    
+    def natural_key(self):
+        return self.iri_id
+        
+    # added for import
+    def get_by_natural_key(self, iri_id):
+        return self.get(iri_id=iri_id)
 
     def get_duration(self):
         if self.duration is None:
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/copy_ldt.html	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/copy_ldt.html	Thu Aug 04 12:54:02 2011 +0200
@@ -11,7 +11,7 @@
 	<div id="add_contribution" class="span-12 last">
 	<div class="projectscontentstitle span-12 last">{% trans "Copy your project" %}</div>
 	
-	<form action="" method="POST">{% csrf_token %}
+	<form action="" method="POST" {% if target_parent %}target="_parent"{% endif %}>{% csrf_token %}
 	    <div class="span-12 last">
 		<label for="title">{%trans "Title" %}:</label>
 		<input class="inputbox required" type="text" name="title" size="80"  value="" id="title" />
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html	Thu Aug 04 12:54:02 2011 +0200
@@ -40,19 +40,17 @@
 	<label>{% trans "List of contents" %}</label>
 	<div class="span-12 last projectscontentsdiv" id="ldtcreatecontentslistcontainer">
 		<div class="projectscontentsheader span-12 last" id="contentslistheader">{% trans "name" %}</div>
-		<div class="span-12 last projectscontentstablewrapperdiv" id="ldtcreatetablewrapperdiv">
-			<div class="span-12 last projectscontentstablediv" id="ldtcreatecontentstablediv">
-				<table class="projectscontentstable">
-				    <tbody class="projectscontentsbody">
-				{% for content in contents %}
-					<tr class="imageline {% cycle 'projectscontentsoddline' 'projectscontentsevenline'%}">
-					    <td class="cellcheckbox"><input type="checkbox" name="contents" value="{{ content.id }}" checked="true" {% if ldt_id %}disabled="disabled"{% endif %} /></td>
-					    <td class="contenttitle">{{ content.title }}</td>
-					</tr>
-				{% endfor %}
-					</tbody>
-				</table>
-			</div>
+		<div class="span-12 last projectscontentstablediv" id="ldtcreatecontentstablediv">
+			<table class="projectscontentstable">
+			    <tbody class="projectscontentsbody">
+			{% for content in contents %}
+				<tr class="imageline {% cycle 'projectscontentsoddline' 'projectscontentsevenline'%}">
+				    <td class="cellcheckbox"><input type="checkbox" name="contents" value="{{ content.id }}" checked="true" {% if ldt_id %}disabled="disabled"{% endif %} /></td>
+				    <td class="contenttitle">{{ content.title }}</td>
+				</tr>
+			{% endfor %}
+				</tbody>
+			</table>
 		</div>
 	</div>
 	<div id="submitcontent-buttons" class="span-12 last">
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html	Thu Aug 04 12:54:02 2011 +0200
@@ -2,22 +2,17 @@
 <div class="projectscontentsheader span-12 last" id="contentsheader">
 {% trans "name" %}
 </div>
-<div class="span-12 last projectscontentstablewrapperdiv">
 <div class="span-12 last projectscontentstablediv" id="contentstablediv">
 	<table class="projectscontentstable">
 	    <tbody class="projectscontentsbody">
 	{% for content in contents %}
 		<tr class="imageline {% cycle 'projectscontentsoddline' 'projectscontentsevenline'%}">
-		    <td class="cellimg"><div class="cellimgdiv"><img src="{{LDT_MEDIA_PREFIX}}/img/document_add.gif" title="{% trans 'create project' %}" alt="{% trans 'create project' %}" href="{% url ldt.ldt_utils.views.create_project content.iri_id %}" class="ldt_link_create"/></div></td>
-		    <td class="cellimg"><div class="cellimgdiv"><img  alt="{% trans 'preview media'%}" title="{% trans 'preview media'%}" src="{{LDT_MEDIA_PREFIX}}/img/control_play.gif" href="{% url ldt.ldt_utils.views.index content.iri_id %}" class="ldt_link"/></div></td>
+		    <td class="cellimg"><div class="cellimgdiv"><img src="{{LDT_MEDIA_PREFIX}}/img/page_add.png" title="{% trans 'create project' %}" alt="{% trans 'create project' %}" href="{% url ldt.ldt_utils.views.create_project content.iri_id %}" class="ldt_link_create"/></div></td>
+		    <td class="cellimg"><div class="cellimgdiv"><img  alt="{% trans 'preview media'%}" title="{% trans 'preview media'%}" src="{{LDT_MEDIA_PREFIX}}/img/control_play.png" href="{% url ldt.ldt_utils.views.index content.iri_id %}" class="ldt_link"/></div></td>
 		    <td class="contenttitle"><a class="contenttitlelink" href="{% url ldt.ldt_utils.views.write_content iri_id=content.iri_id %}">{{ content.title|default:"_" }}</a></td>
 		</tr>
 	{% endfor %}
 		</tbody>
 	</table>
 </div>
-</div>
-<div class="projectscontentsfooter span-12 last">
-+&nbsp;<a class='content_link_create' href="{% url ldt.ldt_utils.views.write_content %}">{% trans "Create content" %}</a>
-</div>
 
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html	Thu Aug 04 12:54:02 2011 +0200
@@ -2,7 +2,6 @@
 <div class="projectscontentsheader span-12 last" id="projectsheader">
 {% trans "name" %}
 </div>
-<div class="span-12 last projectscontentstablewrapperdiv">
 <div class="span-12 last projectscontentstablediv" id="projectstablediv">
 <table class="projectscontentstable">
     <tbody class="projectscontentsbody">
@@ -10,12 +9,12 @@
     <tr class="imageline {% cycle 'projectscontentsoddline' 'projectscontentsevenline'%}" >
         {% url ldt.ldt_utils.views.project_json_id project.ldt_id as json_url_id %}
         {% if is_gecko %}
-            <td class="cellimg"><div class="cellimgdiv"><a  href="{% url index_project_full project.ldt_id %}"><img src="{{LDT_MEDIA_PREFIX}}img/document_edit.gif" alt="{% trans 'open ldt' %}" title="{% trans 'open ldt' %}"/></a></div></td>
+            <td class="cellimg"><div class="cellimgdiv"><a  href="{% url index_project_full project.ldt_id %}"><img src="{{LDT_MEDIA_PREFIX}}img/page_edit.png" alt="{% trans 'open ldt' %}" title="{% trans 'open ldt' %}"/></a></div></td>
         {% else %}
-            <td class="cellimg"><div class="cellimgdiv"><img src="{{LDT_MEDIA_PREFIX}}img/document_edit.gif" href="{% url index_project project.ldt_id %}" class="ldt_link" alt="{% trans 'open ldt' %}" title="{% trans 'open ldt' %}"/></div></td>
+            <td class="cellimg"><div class="cellimgdiv"><img src="{{LDT_MEDIA_PREFIX}}img/page_edit.png" href="{% url index_project project.ldt_id %}" class="ldt_link" alt="{% trans 'open ldt' %}" title="{% trans 'open ldt' %}"/></div></td>
         {% endif %}
-        <td class="cellimg"><div class="cellimgdiv"><img src="{{LDT_MEDIA_PREFIX}}img/documents_duplicate.gif" href="{% url ldt.ldt_utils.views.copy_project project.ldt_id %}" class="ldt_link_create" alt="{% trans 'copy project' %}" title="{% trans 'copy project' %}"/></div></td>
-        <td class="cellimg"><div class="cellimgdiv"><img src="{{LDT_MEDIA_PREFIX}}img/plugin.gif" href="{{WEB_URL}}{{json_url_id}}" id="player_project_{{project.ldt_id}}" class="ldt_link_embed" alt="{% trans 'link json by id' %}" title="{% trans 'link json by id' %}"/></div></td>
+        <td class="cellimg"><div class="cellimgdiv"><img src="{{LDT_MEDIA_PREFIX}}img/page_copy.png" href="{% url ldt.ldt_utils.views.copy_project project.ldt_id %}" class="ldt_link_create" alt="{% trans 'copy project' %}" title="{% trans 'copy project' %}"/></div></td>
+        <td class="cellimg"><div class="cellimgdiv"><img src="{{LDT_MEDIA_PREFIX}}img/plugin.png" href="{{WEB_URL}}{{json_url_id}}" id="player_project_{{project.ldt_id}}" class="ldt_link_embed" alt="{% trans 'link json by id' %}" title="{% trans 'link json by id' %}"/></div></td>
         <td class="cellimg">
         {% ifequal project.state 2 %}
         <img src="{{ADMIN_MEDIA_PREFIX}}img/admin/icon-yes.gif" alt="{% trans 'Project published, click to unpublish' %}" title="{% trans 'Project published, click to unpublish' %}" class="publishedproject" id="project_{{project.ldt_id}}" />
@@ -35,7 +34,3 @@
     </tbody>
 </table>
 </div>
-</div>
-<div class="projectscontentsfooter span-12 last">
-+&nbsp;<a class='ldt_link_create' href="{% url ldt.ldt_utils.views.create_ldt_view %}" >{% trans "Create project" %}</a>
-</div>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/publishedprojectslist.html	Thu Aug 04 12:54:02 2011 +0200
@@ -0,0 +1,27 @@
+{% load i18n %}
+<div class="projectscontentsheader span-12 last" id="projectsheader">
+{% trans "name" %}
+</div>
+<div class="span-12 last projectscontentstablediv" id="projectstablediv">
+<table class="projectscontentstable">
+    <tbody class="projectscontentsbody">
+{% for project in projects %}
+    <tr class="imageline {% cycle 'projectscontentsoddline' 'projectscontentsevenline'%}" >
+        {% url ldt.ldt_utils.views.project_json_id project.ldt_id as json_url_id %}
+        <td class="cellimg"><div class="cellimgdiv"><img src="{{LDT_MEDIA_PREFIX}}img/page_copy.png" href="{% url ldt.ldt_utils.views.copy_project project.ldt_id %}" class="ldt_link_create" alt="{% trans 'copy the project' %}" title="{% trans 'copy the project' %}"/></div></td>
+        <td class="cellimg"><div class="cellimgdiv"><img src="{{LDT_MEDIA_PREFIX}}img/plugin.png" href="{{WEB_URL}}{{json_url_id}}" id="player_project_{{project.ldt_id}}" class="ldt_link_embed" alt="{% trans 'link json by id' %}" title="{% trans 'link json by id' %}"/></div></td>
+        <td class="cellimg">
+        <img src="{{ADMIN_MEDIA_PREFIX}}img/admin/icon-yes.gif" alt="{% trans 'Project published' %}" id="project_{{project.ldt_id}}" />
+        </td>
+        <td class="projecttitle">
+        {% ifequal project.state 2 %}
+        {{ project.title }}
+        {% else %}
+        <a class="projecttitlelink" href="{% url ldt.ldt_utils.views.update_project ldt_id=project.ldt_id %}">{{ project.title }}</a>
+        {% endifequal %}
+        </td>
+    </tr>
+{% endfor %}
+    </tbody>
+</table>
+</div>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/published_projects.html	Thu Aug 04 12:54:02 2011 +0200
@@ -0,0 +1,79 @@
+{% extends "ldt/ldt_base.html" %}
+{% load i18n %}
+
+{% block js_import %}
+{{block.super}}
+	<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js" ></script>
+{% endblock %}
+
+
+{% block js_declaration %}
+{{block.super}}
+<script type="text/javascript">
+
+var content_filter_url = "{% url ldt.ldt_utils.views.contentsfilter filter='__FILTER__' %}";
+var project_filter_url = "{% url ldt.ldt_utils.views.projectsfilter filter='__FILTER__' is_owner='false' status='2' %}";
+var publish_project_url = "{% url ldt.ldt_utils.views.publish '__PROJECT_ID__' 'false' %}";
+var unpublish_project_url = "{% url ldt.ldt_utils.views.unpublish '__PROJECT_ID__' 'false' %}";
+
+
+function init_events(base_node) {
+
+	init_events_all(base_node, "{% url ldt.ldt_utils.views.popup_embed %}", content_filter_url, project_filter_url, publish_project_url, unpublish_project_url);
+	
+}
+	
+var global_csrf_token = "{{ csrf_token }}";
+
+$(document).ready(function(){
+	
+	input_list_init = [
+		{'input_selector':"#searchcontentsinput", 'container_selector':"#contentslistcontainer", 'url':content_filter_url},
+		{'input_selector':"#searchprojectsinput", 'container_selector':"#projectslistcontainer", 'url':project_filter_url}
+	];
+	
+	searchFieldInit(input_list_init);
+	
+	init_events(document);
+
+});
+</script>
+
+{% endblock %}
+
+{% block css_import %}
+{{block.super}}
+    <link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}/css/workspace.css" type="text/css"/>
+{% endblock %}
+
+{% block content %}
+<div class="span-24 last" id="allcontentsdiv">
+	<div class="span-12 last" id="searchprojectsdiv">
+		<div class="span-12 last titlediv" >
+			<div class="span-8 projectscontentstitle" >{% trans "Search" %}</div>
+		</div>
+		<div class="span-12 last projectscontentsdiv" id="autre">
+		<form method="post" id="my_form"
+			action="{% url ldt.ldt_utils.views.searchIndex %}"
+			accept-charset="utf-8">
+		{% csrf_token %}
+		<table>
+			{{ form.as_table }}
+		</table>
+		<input type="submit" class="search_submit" /></form>
+		</div>
+	</div>		
+	<div class="span-12 last" id="projectsdiv">
+		<div class="span-12 last titlediv" >
+			<div class="span-8 projectscontentstitle" >{% trans "Published projects" %}
+			&nbsp;<a class='ldt_link_create' href="{% url ldt.ldt_utils.views.create_ldt_view %}" ><img src="{{LDT_MEDIA_PREFIX}}img/page_add.png" alt="{% trans 'Create project' %}" title="{% trans 'Create project' %}" /></a></div>
+			<div class="span-4 last searchfielddiv" >
+			    <div class="searchfield rounded"><input id="searchprojectsinput" class="searchfieldinput searchfieldinputbase" value="{% trans 'search' %}" type="text" /><img id="projectsajaxloader" class="searchajaxloader" src="{{LDT_MEDIA_PREFIX}}/img/ajax-loader-16x16.gif" alt="loader"/><img id="projecsclear" class="searchclear" src="{{LDT_MEDIA_PREFIX}}img/clear-left.png"/></div>
+			</div>
+		</div>
+		<div class="span-12 last projectscontentsdiv" id="projectslistcontainer">
+		{% include "ldt/ldt_utils/partial/publishedprojectslist.html" %}
+		</div>
+	</div>
+</div>
+{% endblock %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html	Thu Aug 04 12:54:02 2011 +0200
@@ -12,7 +12,7 @@
 <script type="text/javascript">
 
 var content_filter_url = "{% url ldt.ldt_utils.views.contentsfilter filter='__FILTER__' %}";
-var project_filter_url = "{% url ldt.ldt_utils.views.projectsfilter filter='__FILTER__' is_owner='false' status='0' %}";
+var project_filter_url = "{% url ldt.ldt_utils.views.projectsfilter filter='__FILTER__' is_owner='true' status='0' %}";
 var publish_project_url = "{% url ldt.ldt_utils.views.publish '__PROJECT_ID__' 'false' %}";
 var unpublish_project_url = "{% url ldt.ldt_utils.views.unpublish '__PROJECT_ID__' 'false' %}";
 
@@ -50,7 +50,9 @@
 <div class="span-24 last" id="allcontentsdiv">
 	<div class="span-12" id="contentsdiv">
 	    <div class="span-12 last titlediv" >
-			<div class="span-8 projectscontentstitle">{% trans "content list" %}</div>
+			<div class="span-8 projectscontentstitle">{% trans "content list" %}
+			&nbsp;<a class='ldt_link_create' href="{% url ldt.ldt_utils.views.create_ldt_view %}" ><img src="{{LDT_MEDIA_PREFIX}}img/film_add.png" alt="{% trans 'Create content' %}" title="{% trans 'Create content' %}" /></a>
+			</div>
 			<div class="span-4 last searchfielddiv" >
 			    <div class="searchfield rounded"><input id="searchcontentsinput" class="searchfieldinput searchfieldinputbase" value="{% trans 'search' %}" type="text" /><img id="contentsajaxloader" class="searchajaxloader" src="{{LDT_MEDIA_PREFIX}}/img/ajax-loader-16x16.gif" alt="loader"/><img id="contentsclear" class="searchclear" src="{{LDT_MEDIA_PREFIX}}img/clear-left.png"/></div>
 			</div>
@@ -58,10 +60,11 @@
 		<div class="span-12 last projectscontentsdiv" id="contentslistcontainer">
 		{% include "ldt/ldt_utils/partial/contentslist.html" %}
 		</div>
-	</div>		
+	</div>
 	<div class="span-12 last" id="projectsdiv">
 		<div class="span-12 last titlediv" >
-			<div class="span-8 projectscontentstitle" >{% trans "project list" %}</div>
+			<div class="span-8 projectscontentstitle" >{% trans "My projects" %}
+			&nbsp;<a class='ldt_link_create' href="{% url ldt.ldt_utils.views.create_ldt_view %}" ><img src="{{LDT_MEDIA_PREFIX}}img/page_add.png" alt="{% trans 'Create project' %}" title="{% trans 'Create project' %}" /></a></div>
 			<div class="span-4 last searchfielddiv" >
 			    <div class="searchfield rounded"><input id="searchprojectsinput" class="searchfieldinput searchfieldinputbase" value="{% trans 'search' %}" type="text" /><img id="projectsajaxloader" class="searchajaxloader" src="{{LDT_MEDIA_PREFIX}}/img/ajax-loader-16x16.gif" alt="loader"/><img id="projecsclear" class="searchclear" src="{{LDT_MEDIA_PREFIX}}img/clear-left.png"/></div>
 			</div>
--- a/src/ldt/ldt/ldt_utils/urls.py	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/urls.py	Thu Aug 04 12:54:02 2011 +0200
@@ -8,6 +8,7 @@
 urlpatterns = patterns('ldt.ldt_utils',
     url(r'^searchInit/(?P<field>.*)/(?P<query>.*)$', 'views.searchInit'),
     url(r'^searchForm/$', 'views.searchForm'),
+    url(r'^published/$', 'views.published_project'),
     url(r'^search/$', 'views.searchIndex'),
     url(r'^search/(?P<field>.*)/(?P<query>.*)$', 'views.searchIndexGet'),
     url(r'^searchLdt/(?P<field>.*)/(?P<query>.*)$', 'views.searchLdt'),
--- a/src/ldt/ldt/ldt_utils/views.py	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/views.py	Thu Aug 04 12:54:02 2011 +0200
@@ -34,7 +34,7 @@
 import subprocess
 import re
 import datetime
-
+    
 
 
 @login_required
@@ -43,8 +43,8 @@
     # list of contents
     content_list = Content.objects.all() #@UndefinedVariable
 
-    # get list of projects
-    project_list = Project.objects.all() #@UndefinedVariable
+    # get list of projects owned by the current user
+    project_list = Project.objects.filter(owner__user=request.user) #@UndefinedVariable
     
     is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1);
     
@@ -52,6 +52,23 @@
     return render_to_response("ldt/ldt_utils/workspace.html",
                               {'contents': content_list, 'projects': project_list,
                                'is_gecko': is_gecko},
+                              context_instance=RequestContext(request))    
+
+
+@login_required
+def published_project(request):
+
+    # get list of all published projects
+    project_list = Project.objects.filter(state=2) #@UndefinedVariable
+    # Search form
+    form = SearchForm()
+
+    is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1);
+    
+    # render list
+    return render_to_response("ldt/ldt_utils/published_projects.html",
+                              {'projects': project_list, 'form': form,
+                               'is_gecko': is_gecko},
                               context_instance=RequestContext(request))
 
 
@@ -120,8 +137,14 @@
     project_list = Project.objects.filter(query) #@UndefinedVariable
     
     is_gecko = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1);
-
-    return render_to_response("ldt/ldt_utils/partial/projectslist.html",
+    
+    # Template depends on the projects's status
+    if status == 2 :
+        url_templ = "ldt/ldt_utils/partial/publishedprojectslist.html"
+    else :
+        url_templ = "ldt/ldt_utils/partial/projectslist.html"
+    
+    return render_to_response(url_templ,
                               {'projects': project_list, 'is_gecko': is_gecko},
                               context_instance=RequestContext(request))
 
@@ -711,7 +734,9 @@
                 return HttpResponseRedirect(reverse('index_project', args=[project.ldt_id]))
     else:
         form = CopyProjectForm
-    return render_to_response('ldt/ldt_utils/copy_ldt.html', {'form':form, 'project':project}, context_instance=RequestContext(request))
+    # Modal window is not used with firefox, so we ask to submit the form in _parent in firefox case.
+    target_parent = ((request.META['HTTP_USER_AGENT'].lower().find("firefox")) > -1);
+    return render_to_response('ldt/ldt_utils/copy_ldt.html', {'form':form, 'project':project, 'target_parent':target_parent}, context_instance=RequestContext(request))
 
 
 def write_content_base(request, iri_id=None):
@@ -1015,5 +1040,4 @@
         else:
             return HttpResponse("", mimetype="text/plain")
     except Exception as inst:
-        return HttpResponse("", mimetype="text/plain")
-    
+        return HttpResponse(str(inst), mimetype="text/plain")
\ No newline at end of file
Binary file src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Thu Aug 04 12:54:02 2011 +0200
@@ -7,1107 +7,1113 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-24 12:17+0200\n"
+"POT-Creation-Date: 2011-08-04 12:10+0200\n"
 "PO-Revision-Date: 2010-03-09 15:52+0100\n"
 "Last-Translator: Yves-Marie Haussonne <ymh.work@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
 
-#: .\forms\widgets.py:17
+#: forms/widgets.py:17
 msgid "Date"
 msgstr "Date"
 
-#: .\forms\widgets.py:17
+#: forms/widgets.py:17
 msgid "Time"
 msgstr "Time"
 
-#: .\ldt_utils\forms.py:25 .\templates\ldt\ldt_base.html.py:112
+#: ldt_utils/forms.py:25
+#: ldt_utils/templates/ldt/ldt_utils/published_projects.html:53
 msgid "Search"
 msgstr "Recherche"
 
-#: .\ldt_utils\forms.py:26
+#: ldt_utils/forms.py:26
 msgid "Fields"
 msgstr "Champs"
 
-#: .\ldt_utils\forms.py:27
+#: ldt_utils/forms.py:27
 msgid "Display the results in Lignes De Temps"
 msgstr "Afficher les résultats dans Lignes De Temps"
 
-#: .\ldt_utils\forms.py:40 .\ldt_utils\models.py:101
+#: ldt_utils/forms.py:40
+#: ldt_utils/models.py:107
 msgid "content.content_creation_date"
 msgstr "Date de creation du contenu"
 
-#: .\ldt_utils\forms.py:41
+#: ldt_utils/forms.py:41
 msgid "content.media_input_type"
 msgstr "Source du média"
 
-#: .\ldt_utils\forms.py:41
+#: ldt_utils/forms.py:41
 msgid "file_upload"
 msgstr "upload fichier"
 
-#: .\ldt_utils\forms.py:41
+#: ldt_utils/forms.py:41
 msgid "url"
 msgstr "url"
 
-#: .\ldt_utils\forms.py:41
+#: ldt_utils/forms.py:41
 msgid "existing_media"
 msgstr "média existant"
 
-#: .\ldt_utils\forms.py:41
+#: ldt_utils/forms.py:41
 msgid "create_media"
 msgstr "source externe : fichier streamé, statique, url youtube..."
 
-#: .\ldt_utils\forms.py:41
+#: ldt_utils/forms.py:41
 msgid "none_media"
 msgstr "Aucun"
 
-#: .\ldt_utils\models.py:27
+#: ldt_utils/models.py:27
 msgid "media.external_id"
 msgstr "id externe"
 
-#: .\ldt_utils\models.py:28
+#: ldt_utils/models.py:28
 msgid "media.external_permalink"
 msgstr "permalien externe"
 
-#: .\ldt_utils\models.py:29
+#: ldt_utils/models.py:29
 msgid "media.external_publication_url"
 msgstr "url de publication externe"
 
-#: .\ldt_utils\models.py:30
+#: ldt_utils/models.py:30
 msgid "media.external_src_url"
 msgstr "url source"
 
-#: .\ldt_utils\models.py:31
+#: ldt_utils/models.py:31
 msgid "media.creation_date"
 msgstr "Date de création"
 
-#: .\ldt_utils\models.py:32
+#: ldt_utils/models.py:32
 msgid "media.media_creation_date"
 msgstr "Date de création du média"
 
-#: .\ldt_utils\models.py:33
+#: ldt_utils/models.py:33
 msgid "media.update_date"
 msgstr "Date de maj"
 
-#: .\ldt_utils\models.py:34
+#: ldt_utils/models.py:34
 msgid "media.videopath"
 msgstr "videopath"
 
-#: .\ldt_utils\models.py:35
+#: ldt_utils/models.py:35
 msgid "media.duration"
 msgstr "Durée du contenu (ms)"
 
-#: .\ldt_utils\models.py:36
+#: ldt_utils/models.py:36
 msgid "media.creator"
 msgstr "Créateur"
 
-#: .\ldt_utils\models.py:37
+#: ldt_utils/models.py:37
 msgid "description"
 msgstr "description"
 
-#: .\ldt_utils\models.py:38
-#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:69
+#: ldt_utils/models.py:38
+#: ldt_utils/templates/ldt/ldt_utils/content_list.html:69
 msgid "title"
 msgstr "Titre"
 
-#: .\ldt_utils\models.py:39
+#: ldt_utils/models.py:39
 msgid "media.src"
 msgstr "Sources"
 
-#: .\ldt_utils\models.py:40
+#: ldt_utils/models.py:40
 msgid "media.mimetype"
 msgstr "mimetype"
 
-#: .\ldt_utils\models.py:93
+#: ldt_utils/models.py:99
 msgid "content.iri_id"
 msgstr "iri id"
 
-#: .\ldt_utils\models.py:94
+#: ldt_utils/models.py:100
 msgid "content.iriurl"
 msgstr "iri url"
 
-#: .\ldt_utils\models.py:95
+#: ldt_utils/models.py:101
 msgid "content.creation_date"
 msgstr "date de création"
 
-#: .\ldt_utils\models.py:96
+#: ldt_utils/models.py:102
 msgid "content.update_date"
 msgstr "Date de maj"
 
-#: .\ldt_utils\models.py:97
+#: ldt_utils/models.py:103
 msgid "content.title"
 msgstr "titre"
 
-#: .\ldt_utils\models.py:98
+#: ldt_utils/models.py:104
 msgid "content.description"
 msgstr "Description"
 
-#: .\ldt_utils\models.py:99
+#: ldt_utils/models.py:105
 msgid "content.authors"
 msgstr "Autheurs"
 
-#: .\ldt_utils\models.py:100
+#: ldt_utils/models.py:106
 msgid "content.duration"
 msgstr "Durée (ms)"
 
-#: .\ldt_utils\models.py:292
+#: ldt_utils/models.py:305
 msgid "created by"
 msgstr "créé par"
 
-#: .\ldt_utils\models.py:293
+#: ldt_utils/models.py:306
 msgid "changed by"
 msgstr "modifié par"
 
-#: .\ldt_utils\views.py:78 .\ldt_utils\views.py:456 .\ldt_utils\views.py:502
+#: ldt_utils/views.py:132
+#: ldt_utils/views.py:516
+#: ldt_utils/views.py:562
 msgid "You can not access this project"
 msgstr "vous n'avez pas l'autorisation d'accéder à ce projet"
 
-#: .\ldt_utils\views.py:668
+#: ldt_utils/views.py:728
 #, python-format
 msgid "the project %(title)s is published. please unpublish before deleting."
 msgstr "Le projet %(title)s est publié. Déplublier le avant de l'effacer."
 
-#: .\ldt_utils\views.py:669
+#: ldt_utils/views.py:729
 msgid "can not delete the project. Please correct the following error"
-msgstr ""
-"Le projet ne peut pas être effacé. Veuillez corriger les erreurs suivantes."
+msgstr "Le projet ne peut pas être effacé. Veuillez corriger les erreurs suivantes."
 
-#: .\ldt_utils\views.py:670
+#: ldt_utils/views.py:730
 msgid "title error deleting project"
 msgstr "Erreur lors de l'effacement du projet"
 
-#: .\ldt_utils\views.py:672
+#: ldt_utils/views.py:732
 #, python-format
 msgid "please confirm deleting project %(title)s"
 msgstr "Confirmer l'effacement du projet intitulé %(title)s"
 
-#: .\ldt_utils\views.py:673
+#: ldt_utils/views.py:733
 msgid "confirm deletion"
 msgstr "Confirmation d'effacement"
 
-#: .\ldt_utils\views.py:845
+#: ldt_utils/views.py:907
 msgid "Problem when downloading file from url : "
 msgstr "Problème lors du téléchargement du fichier : "
 
-#: .\ldt_utils\views.py:848
+#: ldt_utils/views.py:910
 msgid "Problem when uploading file : "
 msgstr "Problème lors de l'upload du fichier : "
 
-#: .\ldt_utils\views.py:917
+#: ldt_utils/views.py:979
 #, python-format
 msgid "There is %(count)d error when deleting content"
 msgid_plural "There are %(count)d errors when deleting content"
 msgstr[0] "Il y a %(count)d erreur lors de l'effacement du contenu"
 msgstr[1] "Il y a %(count)d erreurs lors de l'effacement du contenu"
 
-#: .\ldt_utils\views.py:918
+#: ldt_utils/views.py:980
 msgid "title error deleting content"
 msgstr "Erreur lors de l'effacement du contenu"
 
-#: .\ldt_utils\views.py:920
+#: ldt_utils/views.py:982
 #, python-format
 msgid "Confirm delete content %(titles)s"
 msgstr "Veuillez confirmer l'effacement du contenu %(titles)s"
 
-#: .\ldt_utils\views.py:921
+#: ldt_utils/views.py:983
 msgid "confirm delete content"
 msgstr "Confirmation effacement contenu"
 
-#: .\ldt_utils\views.py:955
+#: ldt_utils/views.py:1017
 #, python-format
-msgid ""
-"Content '%(title)s' is referenced by this project : %(project_titles)s. "
-"Please delete it beforehand."
-msgid_plural ""
-"Content '%(title)s' is referenced by %(count)d projects: %(project_titles)s. "
-"Please delete them beforehand."
+msgid "Content '%(title)s' is referenced by this project : %(project_titles)s. Please delete it beforehand."
+msgid_plural "Content '%(title)s' is referenced by %(count)d projects: %(project_titles)s. Please delete them beforehand."
 msgstr[0] ""
-"Le contenu '%(title)s' est référencé par le projet '%(project_titles)s'."
-"Veuillez l'effacer préalablement."
-msgstr[1] ""
-"Le contenu '%(title)s' est référencé par les projets suivants : '%"
-"(project_titles)s'.Veuillez les effacer préalablement."
+msgstr[1] "Le contenu '%(title)s' est référencé par le projet '%(project_titles)s'."
+msgstr[2] "Veuillez l'effacer préalablement."
+msgstr[3] ""
+msgstr[4] "Le contenu '%(title)s' est référencé par les projets suivants : "
+msgstr[5] "'%(project_titles)s'.Veuillez les effacer préalablement."
 
-#: .\ldt_utils\templates\admin\ldt_utils\app_action.html.py:4
-#: .\templates\admin\cms_change_list.html.py:7
-#: .\templates\admin\page_app_index.html.py:8
-#: .\templates\admin\page_change_form.html.py:17
-#: .\templates\admin\page_change_list.html.py:25
-#: .\user\templates\registration\logged_out.html.py:4
+#: ldt_utils/templates/admin/ldt_utils/app_action.html:4
+#: templates/admin/cms_change_list.html:7
+#: templates/admin/page_app_index.html:8
+#: templates/admin/page_change_form.html:17
+#: templates/admin/page_change_list.html:25
+#: user/templates/registration/logged_out.html:4
 msgid "Home"
 msgstr "Accueil"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:55
-#: .\templates\admin\page_base.html.py:19
-#: .\user\templates\ldt\user\login_form.html.py:33
-#: .\user\templates\ldt\user\space.html.py:6
-#: .\user\templates\ldt\user\space.html.py:9
+#: ldt_utils/templates/ldt/ldt_utils/content_list.html:55
+#: templates/admin/page_base.html:19
+#: user/templates/ldt/user/login_form.html:33
+#: user/templates/ldt/user/space.html:6
+#: user/templates/ldt/user/space.html:9
 msgid "Space"
 msgstr "Esp. perso"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:56
+#: ldt_utils/templates/ldt/ldt_utils/content_list.html:56
 msgid "Ldt Project"
 msgstr "Projet lignes de temps"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:59
+#: ldt_utils/templates/ldt/ldt_utils/content_list.html:59
 msgid "Contents"
 msgstr "Liste des contenus"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:63
+#: ldt_utils/templates/ldt/ldt_utils/content_list.html:63
 msgid "Create new content"
 msgstr "Créer un nouveau contenu"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:66
+#: ldt_utils/templates/ldt/ldt_utils/content_list.html:66
 msgid "Content"
 msgstr "Contenu"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:70
-#: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:77
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:11
+#: ldt_utils/templates/ldt/ldt_utils/content_list.html:70
+#: ldt_utils/templates/ldt/ldt_utils/content_list.html:77
+#: ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html:10
 msgid "create project"
 msgstr "Créer un nouveau projet d'indexation"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\copy_ldt.html.py:12
+#: ldt_utils/templates/ldt/ldt_utils/copy_ldt.html:12
 msgid "Copy your project"
 msgstr "Copier votre projet"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\copy_ldt.html.py:16
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:38
+#: ldt_utils/templates/ldt/ldt_utils/copy_ldt.html:16
+#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:38
 msgid "Title"
 msgstr "Titre"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\copy_ldt.html.py:20
+#: ldt_utils/templates/ldt/ldt_utils/copy_ldt.html:20
 msgid "Copy"
 msgstr "Copier"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:39
+#: ldt_utils/templates/ldt/ldt_utils/create_content.html:39
 msgid "Browse"
 msgstr "Parcourir"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:40
+#: ldt_utils/templates/ldt/ldt_utils/create_content.html:40
 msgid "File uploaded"
 msgstr "Fichier téléversé"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:41
+#: ldt_utils/templates/ldt/ldt_utils/create_content.html:41
 msgid "Please wait, the upload is not finished yet"
 msgstr "Veuillez patienter, le téléversement est en cours"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:42
+#: ldt_utils/templates/ldt/ldt_utils/create_content.html:42
 msgid "Cancel upload"
 msgstr "Annuler le téléversement"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:53
+#: ldt_utils/templates/ldt/ldt_utils/create_content.html:53
 msgid ""
 "The operation could not be performed because one or more error(s) occurred."
 "<br />Please resubmit the content form after making the following changes:"
-msgstr ""
-"Opération impossible à cause d'une ou plusieurs erreurs.<br />Veuillez "
+msgstr "Opération impossible à cause d'une ou plusieurs erreurs.<br />Veuillez "
 "resoumettre le formulaire contenu après avoir fait les changements suivants:"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:64
+#: ldt_utils/templates/ldt/ldt_utils/create_content.html:64
 msgid ""
 "The operation could not be performed because one or more error(s) occurred."
 "<br />Please resubmit the media form after making the following changes:"
-msgstr ""
-"opération impossible à cause d'une ou plusieurs erreurs.<br />Veuillez "
+msgstr "opération impossible à cause d'une ou plusieurs erreurs.<br />Veuillez "
 "resoumettre le formulaire media après avoir fait les changements suivants:"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:74
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:21
+#: ldt_utils/templates/ldt/ldt_utils/create_content.html:74
+#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:54
 msgid "Create content"
 msgstr "Créer un contenu"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:118
+#: ldt_utils/templates/ldt/ldt_utils/create_content.html:118
 msgid "media file is being processed please wait."
 msgstr "Le fichier média est en cours de traitement. Veuillez patienter."
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:122
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:59
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:49
+#: ldt_utils/templates/ldt/ldt_utils/create_content.html:122
+#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:57
+#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:49
 msgid "close_cancel"
 msgstr "Fermer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:123
+#: ldt_utils/templates/ldt/ldt_utils/create_content.html:123
 msgid "delete"
 msgstr "Effacer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:124
+#: ldt_utils/templates/ldt/ldt_utils/create_content.html:124
 msgid "write"
 msgstr "Enregistrer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:34
+#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:34
 msgid "Update your project"
 msgstr "Mettre à jour votre projet Lignes de Temps"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:34
+#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:34
 msgid "Create your project"
 msgstr "Créer votre projet Lignes de Temps"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:40
+#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:40
 msgid "List of contents"
 msgstr "Liste de contenus"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:42
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:3
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:3
+#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:42
+#: ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html:3
+#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:3
+#: ldt_utils/templates/ldt/ldt_utils/partial/publishedprojectslist.html:3
 msgid "name"
 msgstr "nom"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:61
+#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:59
 msgid "delete_project"
 msgstr "Effacer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:62
+#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:60
 msgid "update_project"
 msgstr "Mettre à jour"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:64
+#: ldt_utils/templates/ldt/ldt_utils/create_ldt.html:62
 msgid "create_project"
 msgstr "Créer un nouveau projet Ligne de Temps"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:63
+#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:63
 msgid "project id"
 msgstr "Identifiant du projet "
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:64
+#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:64
 msgid "copy to clipboard"
 msgstr "Copier l'id dans le presse-papiers"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:73
+#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:73
 msgid "popup_player"
 msgstr "Code Lecteur métadata"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:73
+#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:73
 msgid "popup_seo_body"
 msgstr "Code SEO"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:73
+#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:73
 msgid "popup_seo_meta"
 msgstr "Code balise meta en-tête"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:73
+#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:73
 msgid "popup_links"
 msgstr "Liste de liens"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:87
+#: ldt_utils/templates/ldt/ldt_utils/embed_popup.html:87
 msgid "clik here to see the project content"
 msgstr "cliquer ici pour voir le contenu du projet"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:30
+#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:30
 msgid "error"
 msgstr "Erreur"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:30
+#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:30
 msgid "confirm"
 msgstr "Confirmation d'effacement"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:45
+#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:45
 msgid "close_error"
 msgstr "Fermer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:50
+#: ldt_utils/templates/ldt/ldt_utils/error_confirm.html:50
 msgid "do_delete"
 msgstr "Effacer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\init_ldt_full.html.py:16
+#: ldt_utils/templates/ldt/ldt_utils/init_ldt_full.html:16
 msgid ""
 "Your current work is modified. Click Cancel and save it one last time before "
 "leaving. Click OK to leave without saving."
-msgstr ""
-"Vous avez un travail en cours. Cliquez sur Annuler et sauvegardez votre "
+msgstr "Vous avez un travail en cours. Cliquez sur Annuler et sauvegardez votre "
 "travail une dernière fois. Cliquez sur OK pour quitter sans sauvegarder."
 
-#: .\ldt_utils\templates\ldt\ldt_utils\ldt_list.html.py:77
-#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:64
+#: ldt_utils/templates/ldt/ldt_utils/ldt_list.html:77
 msgid "project list"
 msgstr "Liste des projets"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\ldt_list.html.py:79
-#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:55
-#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:66
+#: ldt_utils/templates/ldt/ldt_utils/ldt_list.html:79
+#: ldt_utils/templates/ldt/ldt_utils/published_projects.html:71
+#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:57
+#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:69
 msgid "search"
 msgstr "Recherche"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_form.html.py:10
+#: ldt_utils/templates/ldt/ldt_utils/published_projects.html:68
+#: templates/ldt/ldt_base.html:118
+msgid "Published projects"
+msgstr "Projets publiés"
+
+#: ldt_utils/templates/ldt/ldt_utils/published_projects.html:69
+#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:67
+msgid "Create project"
+msgstr "Créer un nouveau projet d'indexation"
+
+#: ldt_utils/templates/ldt/ldt_utils/search_form.html:10
 msgid "The search field can not be empty."
 msgstr "Le champ de recherche ne peut pas être vide."
 
-#: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:53
+#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:53
 msgid "content list"
 msgstr "Liste des contenus"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\contentslist.html.py:12
+#: ldt_utils/templates/ldt/ldt_utils/workspace_base.html:66
+msgid "My projects"
+msgstr "Mes projets"
+
+#: ldt_utils/templates/ldt/ldt_utils/partial/contentslist.html:11
 msgid "preview media"
 msgstr "aperçu"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:13
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:15
+#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:12
+#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:14
 msgid "open ldt"
 msgstr "Ouvrir sous Lignes de Temps"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:17
+#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:16
 msgid "copy project"
 msgstr "Copier votre projet"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:18
+#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:17
+#: ldt_utils/templates/ldt/ldt_utils/partial/publishedprojectslist.html:12
 msgid "link json by id"
 msgstr "Ouvrir le lecteur de métadata"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:21
+#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:20
 msgid "Project published, click to unpublish"
 msgstr "Projet publié, cliquer pour de-publier"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:23
+#: ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html:22
 msgid "Project not published, click to publish"
 msgstr "Projet non publié, cliquer pour publier"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:40
-msgid "Create project"
-msgstr "Créer un nouveau projet d'indexation"
+#: ldt_utils/templates/ldt/ldt_utils/partial/publishedprojectslist.html:11
+msgid "copy the project"
+msgstr "Copier le projet"
 
-#: .\templates\admin\cms_change_form.html.py:30
+#: ldt_utils/templates/ldt/ldt_utils/partial/publishedprojectslist.html:14
+msgid "Project published"
+msgstr "Projet publié"
+
+#: templates/admin/cms_change_form.html:30
 msgid "Approve page deletion"
 msgstr "Accepter l'effacement de la page"
 
-#: .\templates\admin\cms_change_form.html.py:36
+#: templates/admin/cms_change_form.html:36
 #, python-format
 msgid "(requires approvement at %(moderation_level)s level)"
 msgstr "(Demande l'approbation au niveau %(moderation_level)s)"
 
-#: .\templates\admin\cms_change_form.html.py:37
+#: templates/admin/cms_change_form.html:37
 msgid "(you can perform actions on this page directly)"
 msgstr "(Vous pouvez agir sur cette page directement)"
 
-#: .\templates\admin\cms_change_form.html.py:50
+#: templates/admin/cms_change_form.html:50
 msgid "Remove delete request"
 msgstr "Effacer la requête d'affacement"
 
-#: .\templates\admin\cms_change_form.html.py:52
+#: templates/admin/cms_change_form.html:52
 msgid "Approve delete"
 msgstr "Accepter l'effacement"
 
-#: .\templates\admin\cms_change_form.html.py:52
+#: templates/admin/cms_change_form.html:52
 msgid "Approve"
 msgstr "Accepter"
 
-#: .\templates\admin\cms_change_form.html.py:52
-#: .\templates\admin\cms_change_form.html.py:53
+#: templates/admin/cms_change_form.html:52
+#: templates/admin/cms_change_form.html:53
 msgid "draft"
 msgstr "brouillon"
 
-#: .\templates\admin\cms_change_form.html.py:53
+#: templates/admin/cms_change_form.html:53
 msgid "Preview"
 msgstr "Aperçu"
 
-#: .\templates\admin\cms_change_form.html.py:56
-#: .\templates\admin\page_change_form.html.py:27
+#: templates/admin/cms_change_form.html:56
+#: templates/admin/page_change_form.html:27
 msgid "History"
 msgstr "Histoire"
 
-#: .\templates\admin\cms_change_form.html.py:57
-#: .\templates\admin\page_change_form.html.py:28
+#: templates/admin/cms_change_form.html:57
+#: templates/admin/page_change_form.html:28
 msgid "View on site"
 msgstr "Voir sur le site"
 
-#: .\templates\admin\cms_change_form.html.py:87
-#: .\templates\admin\page_change_form.html.py:38
-#: .\templates\admin\page_change_list.html.py:54
-#: .\templates\cms\admin\cms\page\change_form.html.py:24
+#: templates/admin/cms_change_form.html:87
+#: templates/admin/page_change_form.html:38
+#: templates/admin/page_change_list.html:54
+#: templates/cms/admin/cms/page/change_form.html:24
 msgid "Please correct the error below."
 msgid_plural "Please correct the errors below."
 msgstr[0] "Veuillez corriger l'erreur ci-dessous"
 msgstr[1] "Veuillez corriger les erreurs ci-dessous"
 
-#: .\templates\admin\cms_change_form.html.py:107
+#: templates/admin/cms_change_form.html:107
 msgid "All permissions"
 msgstr "Toutes le parmissions"
 
-#: .\templates\admin\cms_change_form.html.py:108
-#: .\templates\admin\cms_change_form.html.py:120
+#: templates/admin/cms_change_form.html:108
+#: templates/admin/cms_change_form.html:120
 msgid "Loading..."
 msgstr "Chargement..."
 
-#: .\templates\admin\cms_change_form.html.py:119
+#: templates/admin/cms_change_form.html:119
 msgid "Page states"
 msgstr "Etat de la page"
 
-#: .\templates\admin\cms_change_form.html.py:142
+#: templates/admin/cms_change_form.html:142
 #, python-format
 msgid ""
 "This page must be moderated at level %(moderation_level)s, post a message "
 "for moderator."
-msgstr ""
-"Le niveau nécessaire pour modérer cette page est le niveau %"
-"(moderation_level)s, laisser un message pour le modérateur"
+msgstr "Le niveau nécessaire pour modérer cette page est le niveau "
+"%(moderation_level)s, laisser un message pour le modérateur"
 
-#: .\templates\admin\cms_change_form.html.py:144
+#: templates/admin/cms_change_form.html:144
 msgid "Request approvemet"
 msgstr "Demander l'approbation"
 
-#: .\templates\admin\cms_change_form.html.py:234
-#: .\user\templates\registration\registration_form.html.py:16
+#: templates/admin/cms_change_form.html:234
+#: user/templates/registration/registration_form.html:16
 msgid "Save"
 msgstr "Enregistrer"
 
-#: .\templates\admin\cms_change_form.html.py:235
+#: templates/admin/cms_change_form.html:235
 msgid "Save and continue editing"
 msgstr "Sauver et continuer l'édition"
 
-#: .\templates\admin\cms_change_list.html.py:51
+#: templates/admin/cms_change_list.html:51
 msgid "Successfully moved"
 msgstr "Déplacement réussi"
 
-#: .\templates\admin\cms_change_list.html.py:76
+#: templates/admin/cms_change_list.html:76
 #, python-format
 msgid "Recover deleted %(name)s"
 msgstr "Récupérer %(name)s effacé"
 
-#: .\templates\admin\cms_change_list.html.py:79
-#: .\templates\admin\page_change_list.html.py:46
+#: templates/admin/cms_change_list.html:79
+#: templates/admin/page_change_list.html:46
 #, python-format
 msgid "Add %(name)s"
 msgstr "Ajouter %(name)s"
 
-#: .\templates\admin\cms_change_list.html.py:91
+#: templates/admin/cms_change_list.html:91
 msgid "Pages on:"
 msgstr "Pages sur:"
 
-#: .\templates\admin\cms_change_list.html.py:108
+#: templates/admin/cms_change_list.html:108
 msgid "on"
 msgstr "on"
 
-#: .\templates\admin\cms_change_list.html.py:108
+#: templates/admin/cms_change_list.html:108
 msgid "off"
 msgstr "off"
 
-#: .\templates\admin\cms_change_list.html.py:110
-#: .\templates\admin\page_change_list.html.py:65
+#: templates/admin/cms_change_list.html:110
+#: templates/admin/page_change_list.html:65
 msgid "Filter"
 msgstr "Filtre"
 
-#: .\templates\admin\index.html.py:18 .\templates\admin\page_index.html.py:18
+#: templates/admin/index.html:18
+#: templates/admin/page_index.html:18
 #, python-format
 msgid "Models available in the %(name)s application."
 msgstr "Le modèle disponible dans l'application %(name)s."
 
-#: .\templates\admin\index.html.py:19
-#: .\templates\admin\page_app_index.html.py:10
-#: .\templates\admin\page_index.html.py:19
+#: templates/admin/index.html:19
+#: templates/admin/page_app_index.html:10
+#: templates/admin/page_index.html:19
 #, python-format
 msgid "%(name)s"
 msgstr "%(name)s"
 
-#: .\templates\admin\index.html.py:29
-#: .\templates\admin\page_change_form.html.py:20
-#: .\templates\admin\page_index.html.py:29
+#: templates/admin/index.html:29
+#: templates/admin/page_change_form.html:20
+#: templates/admin/page_index.html:29
 msgid "Add"
 msgstr "Ajouter"
 
-#: .\templates\admin\index.html.py:35 .\templates\admin\page_index.html.py:35
+#: templates/admin/index.html:35
+#: templates/admin/page_index.html:35
 msgid "Change"
 msgstr "modifié par"
 
-#: .\templates\admin\index.html.py:64 .\templates\admin\page_index.html.py:45
+#: templates/admin/index.html:64
+#: templates/admin/page_index.html:45
 msgid "You don't have permission to edit anything."
 msgstr "Vous n'aver pas l'autorisation d'éditer quoi que ce soit."
 
-#: .\templates\admin\index.html.py:72 .\templates\admin\page_index.html.py:53
+#: templates/admin/index.html:72
+#: templates/admin/page_index.html:53
 msgid "Recent Actions"
 msgstr "Actions récentes"
 
-#: .\templates\admin\index.html.py:73 .\templates\admin\page_index.html.py:54
+#: templates/admin/index.html:73
+#: templates/admin/page_index.html:54
 msgid "My Actions"
 msgstr "Mes actions"
 
-#: .\templates\admin\index.html.py:77 .\templates\admin\page_index.html.py:58
+#: templates/admin/index.html:77
+#: templates/admin/page_index.html:58
 msgid "None available"
 msgstr "Aucune disponible"
 
-#: .\templates\admin\index.html.py:91 .\templates\admin\page_index.html.py:72
+#: templates/admin/index.html:91
+#: templates/admin/page_index.html:72
 msgid "Unknown content"
 msgstr "Contenu inconnu"
 
-#: .\templates\admin\page_base.html.py:20
-#: .\templates\admin\page_index.html.py:11
+#: templates/admin/page_base.html:20
+#: templates/admin/page_index.html:11
 msgid "Pages"
 msgstr "Pages"
 
-#: .\templates\admin\page_base_site.html.py:7
+#: templates/admin/page_base_site.html:7
 msgid "Django administration"
 msgstr "Administration de Django"
 
-#: .\templates\admin\page_login.html.py:8
+#: templates/admin/page_login.html:8
 msgid "Connexion"
 msgstr "Connexion"
 
-#: .\templates\admin\page_login.html.py:20
+#: templates/admin/page_login.html:20
 msgid "Username:"
 msgstr "Nom de utilisateur :"
 
-#: .\templates\admin\page_login.html.py:24
+#: templates/admin/page_login.html:24
 msgid "Password:"
 msgstr "Mot de passe :"
 
-#: .\templates\admin\page_login.html.py:29
-#: .\user\templates\registration\login.html.py:39
+#: templates/admin/page_login.html:29
+#: user/templates/registration/login.html:39
 msgid "Create an account"
 msgstr "Créer un compte"
 
-#: .\templates\admin\page_login.html.py:30
-#: .\user\templates\registration\login.html.py:40
+#: templates/admin/page_login.html:30
+#: user/templates/registration/login.html:40
 msgid "Forget password?"
 msgstr "Oubliez le mot de passe?"
 
-#: .\templates\admin\page_login.html.py:32
-#: .\user\templates\ldt\user\login_form.html.py:37
-#: .\user\templates\ldt\user\login_form.html.py:45
-#: .\user\templates\registration\login.html.py:21
-#: .\user\templates\registration\password_reset_complete.html.py:14
+#: templates/admin/page_login.html:32
+#: user/templates/ldt/user/login_form.html:37
+#: user/templates/ldt/user/login_form.html:45
+#: user/templates/registration/login.html:21
+#: user/templates/registration/password_reset_complete.html:14
 msgid "Log in"
 msgstr "Connexion"
 
-#: .\templates\cms\admin\cms\page\change_form.html.py:11
+#: templates/cms/admin/cms/page/change_form.html:11
 msgid "Documentation"
 msgstr "Documentation"
 
-#: .\templates\cms\admin\cms\page\change_form.html.py:11
+#: templates/cms/admin/cms/page/change_form.html:11
 msgid "Change password"
 msgstr "Modifier le mot de passe"
 
-#: .\templates\cms\admin\cms\page\change_form.html.py:11
-#: .\templates\ldt\ldt_base.html.py:122
-#: .\user\templates\ldt\user\login_form.html.py:34
+#: templates/cms/admin/cms/page/change_form.html:11
+#: templates/ldt/ldt_base.html:99
+#: templates/ldt/ldt_base.html.py:136
+#: user/templates/ldt/user/login_form.html:34
 msgid "Log out"
 msgstr "Déconnexion"
 
-#: .\templates\cms\admin\cms\page\change_form.html.py:42
+#: templates/cms/admin/cms/page/change_form.html:42
 msgid "Ordering"
 msgstr "Ordre"
 
-#: .\templates\cms\admin\cms\page\change_form.html.py:45
+#: templates/cms/admin/cms/page/change_form.html:45
 msgid "Order:"
 msgstr "Ordre :"
 
-#: .\templates\ldt\ldt_base.html.py:95
+#: templates/ldt/ldt_base.html:95
 msgid "header_title"
 msgstr "Plateforme&nbsp;Ldt"
 
-#: .\templates\ldt\ldt_base.html.py:111
+#: templates/ldt/ldt_base.html:117
 msgid "home"
 msgstr "accueil"
 
-#: .\templates\ldt\ldt_base.html.py:113
+#: templates/ldt/ldt_base.html:119
 msgid "contents"
 msgstr "Liste des contenus"
 
-#: .\templates\ldt\ldt_base.html.py:114
+#: templates/ldt/ldt_base.html:120
 msgid "indexation projects"
 msgstr "Projets d'indexation"
 
-#: .\templates\ldt\ldt_base.html.py:115
+#: templates/ldt/ldt_base.html:121
 msgid "accounts"
 msgstr "Comptes"
 
-#: .\templates\ldt\ldt_base.html.py:116
-#: .\user\templates\ldt\user\change_email.html.py:6
-#: .\user\templates\ldt\user\change_email_done.html.py:6
-#: .\user\templates\ldt\user\login_form.html.py:32
-#: .\user\templates\registration\password_change_done.html.py:7
-#: .\user\templates\registration\password_change_form.html.py:13
+#: templates/ldt/ldt_base.html:122
+#: user/templates/ldt/user/change_email.html:6
+#: user/templates/ldt/user/change_email_done.html:6
+#: user/templates/ldt/user/login_form.html:32
+#: user/templates/registration/password_change_done.html:7
+#: user/templates/registration/password_change_form.html:13
 msgid "Profiles"
 msgstr "Mon profil"
 
-#: .\templates\ldt\ldt_base.html.py:130
+#: templates/ldt/ldt_base.html:144
 msgid "Langue"
 msgstr "Langue"
 
-#: .\templates\ldt\ldt_raw_base.html.py:13
+#: templates/ldt/ldt_raw_base.html:13
 msgid "page_title"
 msgstr "Plateforme Ldt"
 
-#: .\text\models.py:17
+#: text/models.py:17
 msgid "annotation.external_id"
 msgstr "id externe"
 
-#: .\text\models.py:18
+#: text/models.py:18
 msgid "annotation.uri"
 msgstr "uri"
 
-#: .\text\models.py:19
+#: text/models.py:19
 msgid "annotation.tags"
 msgstr "tags"
 
-#: .\text\models.py:20
+#: text/models.py:20
 msgid "annotation.title"
 msgstr "titre"
 
-#: .\text\models.py:21
+#: text/models.py:21
 msgid "annotation.description"
 msgstr "Description"
 
-#: .\text\models.py:22
+#: text/models.py:22
 msgid "annotation.text"
 msgstr "texte d'annotation"
 
-#: .\text\models.py:23
+#: text/models.py:23
 msgid "annotation.color"
 msgstr "couleur d'annotation"
 
-#: .\text\models.py:24
+#: text/models.py:24
 msgid "creator.title"
 msgstr "titre"
 
-#: .\text\models.py:25
+#: text/models.py:25
 msgid "contributor.title"
 msgstr "titre"
 
-#: .\text\models.py:26
+#: text/models.py:26
 msgid "annotation.creation_date"
 msgstr "date de création"
 
-#: .\text\models.py:27
+#: text/models.py:27
 msgid "annotation.update_date"
 msgstr "Date de maj"
 
-#: .\user\admin.py:13
+#: user/admin.py:13
 msgid "User details"
 msgstr "Détail utilisateur"
 
-#: .\user\admin.py:14
+#: user/admin.py:14
 msgid "Groups"
 msgstr "Groupes"
 
-#: .\user\admin.py:15
+#: user/admin.py:15
 msgid "Permissions"
 msgstr "Permissions"
 
-#: .\user\admin.py:25 .\user\templates\ldt\user\login_form.html.py:61
+#: user/admin.py:25
+#: user/templates/ldt/user/login_form.html:61
 msgid "Password"
 msgstr "Mot de passe"
 
-#: .\user\forms.py:31
+#: user/forms.py:31
 msgid "New password"
 msgstr "Nouveau mot de passe"
 
-#: .\user\forms.py:33
+#: user/forms.py:33
 msgid "New password confirmation"
 msgstr "Confirmation du nouveau mot de passe"
 
-#: .\user\forms.py:78 .\user\forms.py:79
+#: user/forms.py:78
+#: user/forms.py:79
 msgid "E-mail"
 msgstr "E-mail"
 
-#: .\user\forms.py:90
+#: user/forms.py:90
 msgid "The two emails didn't match."
 msgstr "les deux emails ne correspondent pas"
 
-#: .\user\views.py:44 .\user\templates\registration\login.html.py:24
+#: user/views.py:44
+#: user/templates/registration/login.html:24
 msgid "Sorry, that's not a valid username or password."
 msgstr "Saisissez un nom d'utilisateur et un mot de passe valide."
 
-#: .\user\templates\ldt\user\change_email.html.py:7
-#: .\user\templates\ldt\user\change_email.html.py:10
-msgid "Modification de l'adresse émail"
+#: user/templates/ldt/user/change_email.html:7
+#: user/templates/ldt/user/change_email.html:10
+msgid "Modification de l'adresse émail"
 msgstr "Modification de l'adresse email"
 
-#: .\user\templates\ldt\user\change_email.html.py:26
+#: user/templates/ldt/user/change_email.html:26
 msgid ""
 "Please enter your new e-mail twice so we can verify you typed it in "
 "correctly."
-msgstr ""
-"Saisissez deux fois votre nouvelle adresse émail afin de vérifier qu'il est "
+msgstr "Saisissez deux fois votre nouvelle adresse émail afin de vérifier qu'il est "
 "correctment"
 
-#: .\user\templates\ldt\user\change_email.html.py:32
+#: user/templates/ldt/user/change_email.html:32
 msgid "email"
 msgstr "adresse émail"
 
-#: .\user\templates\ldt\user\change_email.html.py:41
-msgid "Confirmation de l'adresse émail"
+#: user/templates/ldt/user/change_email.html:41
+msgid "Confirmation de l'adresse émail"
 msgstr "Confirmation de l'adresse email"
 
-#: .\user\templates\ldt\user\change_email.html.py:48
+#: user/templates/ldt/user/change_email.html:48
 msgid "change my e-mail"
 msgstr "Changer l'adresse émail"
 
-#: .\user\templates\ldt\user\change_email_done.html.py:7
-#: .\user\templates\ldt\user\change_email_done.html.py:10
+#: user/templates/ldt/user/change_email_done.html:7
+#: user/templates/ldt/user/change_email_done.html:10
 msgid "email change"
 msgstr "Modification de l'adresse émail"
 
-#: .\user\templates\ldt\user\change_email_done.html.py:12
+#: user/templates/ldt/user/change_email_done.html:12
 msgid "email changed"
 msgstr "email modifié"
 
-#: .\user\templates\ldt\user\change_email_done.html.py:13
+#: user/templates/ldt/user/change_email_done.html:13
 msgid "back to profile"
 msgstr "Retourner à mon profil"
 
-#: .\user\templates\ldt\user\home.html.py:9
+#: user/templates/ldt/user/home.html:9
 msgid "Se connecter"
 msgstr "Se connecter"
 
-#: .\user\templates\ldt\user\home.html.py:10
-msgid "Créer un compte"
+#: user/templates/ldt/user/home.html:10
+msgid "Créer un compte"
 msgstr "Créer un compte"
 
-#: .\user\templates\ldt\user\home.html.py:11
-msgid "récupérer mot de passe"
+#: user/templates/ldt/user/home.html:11
+msgid "récupérer mot de passe"
 msgstr "Récupérer le mot de passe"
 
-#: .\user\templates\ldt\user\login_form.html.py:50
+#: user/templates/ldt/user/login_form.html:50
 msgid "create account"
 msgstr "Créer un compte"
 
-#: .\user\templates\ldt\user\login_form.html.py:54
+#: user/templates/ldt/user/login_form.html:54
 msgid "Pseudo"
 msgstr "Pseudo"
 
-#: .\user\templates\ldt\user\login_form.html.py:57
-#: .\user\templates\ldt\user\login_form.html.py:64
+#: user/templates/ldt/user/login_form.html:57
+#: user/templates/ldt/user/login_form.html:64
 msgid "this field is compulsory"
 msgstr "Ce champs est obligatoire"
 
-#: .\user\templates\ldt\user\login_form.html.py:68
+#: user/templates/ldt/user/login_form.html:68
 msgid "reset password"
 msgstr "Réinitialiser le mot de passe"
 
-#: .\user\templates\ldt\user\login_form.html.py:71
+#: user/templates/ldt/user/login_form.html:71
 msgid "Connection"
 msgstr "Connexion"
 
-#: .\user\templates\ldt\user\profile.html.py:6
-#: .\user\templates\registration\password_change_form.html.py:14
-#: .\user\templates\registration\password_change_form.html.py:17
+#: user/templates/ldt/user/profile.html:6
+#: user/templates/registration/password_change_form.html:14
+#: user/templates/registration/password_change_form.html:17
 msgid "Password change"
 msgstr "Modification du mot de passe"
 
-#: .\user\templates\ldt\user\profile.html.py:7
+#: user/templates/ldt/user/profile.html:7
 msgid "Mail change"
 msgstr "Modification de l'adresse émail"
 
-#: .\user\templates\ldt\user\space.html.py:13
+#: user/templates/ldt/user/space.html:13
 msgid "Page"
 msgstr "Pages"
 
-#: .\user\templates\ldt\user\space.html.py:16
+#: user/templates/ldt/user/space.html:16
 msgid "Projets Lignes de temps"
 msgstr "Projets Lignes de temps"
 
-#: .\user\templates\registration\activate.html.py:6
-#: .\user\templates\registration\activate.html.py:9
+#: user/templates/registration/activate.html:6
+#: user/templates/registration/activate.html:9
 msgid "Activate account"
 msgstr "Activer le compte"
 
-#: .\user\templates\registration\activate.html.py:12
+#: user/templates/registration/activate.html:12
 msgid "You have activated your account"
 msgstr "Vous avez bien activé votre compte."
 
-#: .\user\templates\registration\activate.html.py:13
+#: user/templates/registration/activate.html:13
 msgid "Go back to login page"
 msgstr "Retourner à la page de connexion"
 
-#: .\user\templates\registration\activation_complete.html.py:4
-#: .\user\templates\registration\registration_complete.html.py:8
+#: user/templates/registration/activation_complete.html:4
+#: user/templates/registration/registration_complete.html:8
 msgid "Sign up successfully"
 msgstr "Création de compte avec succès"
 
-#: .\user\templates\registration\activation_complete.html.py:6
+#: user/templates/registration/activation_complete.html:6
 msgid "activation completed"
 msgstr "Activation terminée"
 
-#: .\user\templates\registration\logged_out.html.py:8
+#: user/templates/registration/logged_out.html:8
 msgid "Thanks for spending some quality time with the Web site today."
 msgstr "Merci de votre visite."
 
-#: .\user\templates\registration\logged_out.html.py:10
+#: user/templates/registration/logged_out.html:10
 msgid "Log in again"
 msgstr "Se reconnecter"
 
-#: .\user\templates\registration\login.html.py:46
+#: user/templates/registration/login.html:46
 msgid "login"
 msgstr "Connexion"
 
-#: .\user\templates\registration\password_change_done.html.py:3
-#: .\user\templates\registration\password_change_done.html.py:11
+#: user/templates/registration/password_change_done.html:3
+#: user/templates/registration/password_change_done.html:11
 msgid "password change successful"
 msgstr "Changement de mot de passe réussi"
 
-#: .\user\templates\registration\password_change_done.html.py:8
+#: user/templates/registration/password_change_done.html:8
 msgid "password change"
 msgstr "Changement de mot de passe"
 
-#: .\user\templates\registration\password_change_done.html.py:14
+#: user/templates/registration/password_change_done.html:14
 msgid "Your password has been changed."
 msgstr "Votre mot de passe a été changeé."
 
-#: .\user\templates\registration\password_change_done.html.py:15
+#: user/templates/registration/password_change_done.html:15
 msgid "Go back to profiles"
 msgstr "Retourner à la page de mon profil"
 
-#: .\user\templates\registration\password_change_form.html.py:20
+#: user/templates/registration/password_change_form.html:20
 msgid ""
 "Please enter your old password, for security's sake, and then enter your new "
 "password twice so we can verify you typed it in correctly."
-msgstr ""
-"Par sécurité, veuillez enter votre ancien mot de passe puis le nouveau a "
+msgstr "Par sécurité, veuillez enter votre ancien mot de passe puis le nouveau a "
 "deux reprise afin de savoir si vous l'avez taper correctement "
 
-#: .\user\templates\registration\password_change_form.html.py:26
+#: user/templates/registration/password_change_form.html:26
 msgid "Old password:"
 msgstr "Ancien mot de passe :"
 
-#: .\user\templates\registration\password_change_form.html.py:32
-#: .\user\templates\registration\password_reset_confirm.html.py:19
+#: user/templates/registration/password_change_form.html:32
+#: user/templates/registration/password_reset_confirm.html:19
 msgid "New password:"
 msgstr "Nouveau mot de passe :"
 
-#: .\user\templates\registration\password_change_form.html.py:38
-#: .\user\templates\registration\password_reset_confirm.html.py:21
+#: user/templates/registration/password_change_form.html:38
+#: user/templates/registration/password_reset_confirm.html:21
 msgid "Confirm password:"
 msgstr "Confirmer le mot de passe :"
 
-#: .\user\templates\registration\password_change_form.html.py:44
-#: .\user\templates\registration\password_reset_confirm.html.py:22
+#: user/templates/registration/password_change_form.html:44
+#: user/templates/registration/password_reset_confirm.html:22
 msgid "Change my password"
 msgstr "Modifier mon mot de passe"
 
-#: .\user\templates\registration\password_reset_complete.html.py:6
-#: .\user\templates\registration\password_reset_confirm.html.py:6
-#: .\user\templates\registration\password_reset_confirm.html.py:9
-#: .\user\templates\registration\password_reset_done.html.py:6
-#: .\user\templates\registration\password_reset_form.html.py:13
-#: .\user\templates\registration\password_reset_form.html.py:15
-#: .\user\templates\registration\password_reset_form.html.py:18
+#: user/templates/registration/password_reset_complete.html:6
+#: user/templates/registration/password_reset_confirm.html:6
+#: user/templates/registration/password_reset_confirm.html:9
+#: user/templates/registration/password_reset_done.html:6
+#: user/templates/registration/password_reset_form.html:13
+#: user/templates/registration/password_reset_form.html:15
+#: user/templates/registration/password_reset_form.html:18
 msgid "Password reset"
 msgstr "réinitialiser e mot de passe"
 
-#: .\user\templates\registration\password_reset_complete.html.py:9
+#: user/templates/registration/password_reset_complete.html:9
 msgid "Password reset complete"
 msgstr "Réinitialisation du mot de passe terminée"
 
-#: .\user\templates\registration\password_reset_complete.html.py:12
+#: user/templates/registration/password_reset_complete.html:12
 msgid "Your password has been set.  You may go ahead and log in now."
 msgstr "Votre mot de passe a été fixé. vous pouvez vous connecter maintenant."
 
-#: .\user\templates\registration\password_reset_confirm.html.py:15
+#: user/templates/registration/password_reset_confirm.html:15
 msgid ""
 "Please enter your new password twice so we can verify you typed it in "
 "correctly."
-msgstr ""
-"veuillez enter votre nouveau mot de pass deux fois afin de le vérifier."
+msgstr "veuillez enter votre nouveau mot de pass deux fois afin de le vérifier."
 
-#: .\user\templates\registration\password_reset_confirm.html.py:27
+#: user/templates/registration/password_reset_confirm.html:27
 msgid "Password reset unsuccessful"
 msgstr "Reinitialisation du mot de pass a échoué"
 
-#: .\user\templates\registration\password_reset_confirm.html.py:29
+#: user/templates/registration/password_reset_confirm.html:29
 msgid ""
 "The password reset link was invalid, possibly because it has already been "
 "used.  Please request a new password reset."
-msgstr ""
-"Le lien de réinitialisation du mot de passe n'est pas valide, certainement "
+msgstr "Le lien de réinitialisation du mot de passe n'est pas valide, certainement "
 "car il a déjà été utilisé. veuiller demander une nouvelle réinitialisation."
 
-#: .\user\templates\registration\password_reset_done.html.py:8
+#: user/templates/registration/password_reset_done.html:8
 msgid "Password reset successful"
 msgstr "Réinitialisation du mot de passe réussie"
 
-#: .\user\templates\registration\password_reset_done.html.py:12
+#: user/templates/registration/password_reset_done.html:12
 msgid ""
 "We've e-mailed you instructions for setting your password to the e-mail "
 "address you submitted. You should be receiving it shortly."
-msgstr ""
-"Nous vous avons envoyer les instructions de reinitialisation de votre mot de "
+msgstr "Nous vous avons envoyer les instructions de reinitialisation de votre mot de "
 "passe à l'adresse email que vous nous avez fournie. vous devriez les "
 "recevoir bientôt."
 
-#: .\user\templates\registration\password_reset_email.html.py:2
+#: user/templates/registration/password_reset_email.html:2
 msgid "You're receiving this e-mail because you requested a password reset"
-msgstr ""
-"Vous recevez ce mail car vous avez damender la réinitialisation du mot de "
+msgstr "Vous recevez ce mail car vous avez damender la réinitialisation du mot de "
 "passe"
 
-#: .\user\templates\registration\password_reset_email.html.py:3
+#: user/templates/registration/password_reset_email.html:3
 #, python-format
 msgid "for your user account at %(site_name)s"
 msgstr "Pour votre compte sur le site %(site_name)s"
 
-#: .\user\templates\registration\password_reset_email.html.py:5
+#: user/templates/registration/password_reset_email.html:5
 msgid "Please go to the following page and choose a new password:"
-msgstr ""
-"veuillez aller à la page suivante et choisissez un nouveau mot de passe :"
+msgstr "veuillez aller à la page suivante et choisissez un nouveau mot de passe :"
 
-#: .\user\templates\registration\password_reset_email.html.py:9
+#: user/templates/registration/password_reset_email.html:9
 msgid "Your username, in case you've forgotten:"
 msgstr "Pour rappel votre nom d'autilisateur :"
 
-#: .\user\templates\registration\password_reset_email.html.py:11
+#: user/templates/registration/password_reset_email.html:11
 msgid "Thanks for using our site!"
 msgstr "Merci de votre visite."
 
-#: .\user\templates\registration\password_reset_email.html.py:13
+#: user/templates/registration/password_reset_email.html:13
 #, python-format
 msgid "The %(site_name)s team"
 msgstr "L'équipe du site %(site_name)s"
 
-#: .\user\templates\registration\password_reset_form.html.py:22
+#: user/templates/registration/password_reset_form.html:22
 msgid ""
 "Forgotten your password? Enter your e-mail address below, and we'll e-mail "
 "instructions for setting a new one."
-msgstr ""
-"Mot de passe oublié ? Entrez votre adresse email ci-dessous pour recevoir "
+msgstr "Mot de passe oublié ? Entrez votre adresse email ci-dessous pour recevoir "
 "les instructions pour en entrer un nouveau."
 
-#: .\user\templates\registration\password_reset_form.html.py:27
-msgid "Adresse émail"
+#: user/templates/registration/password_reset_form.html:27
+msgid "Adresse émail"
 msgstr "Adresse email"
 
-#: .\user\templates\registration\password_reset_form.html.py:32
+#: user/templates/registration/password_reset_form.html:32
 msgid "Reset my password"
 msgstr "Reinitialiser mon mot de passe"
 
-#: .\user\templates\registration\registration_active.html.py:5
-#: .\user\templates\registration\registration_active.html.py:7
+#: user/templates/registration/registration_active.html:5
+#: user/templates/registration/registration_active.html:7
 msgid "Activate the account"
 msgstr "Activer le compte"
 
-#: .\user\templates\registration\registration_active.html.py:9
+#: user/templates/registration/registration_active.html:9
 msgid ""
-"Vous avez bien activé votre compte, vous pouvez accedez à votre espace "
-"personnel."
-msgstr ""
 "Vous avez bien activé votre compte, vous pouvez accedez à votre espace "
 "personnel."
+msgstr "Vous avez bien activé votre compte, vous pouvez accedez à votre espace "
+"personnel."
 
-#: .\user\templates\registration\registration_active.html.py:10
-msgid "retourner à la page de connexion"
+#: user/templates/registration/registration_active.html:10
+#, fuzzy
+msgid "retourner à la page de connexion"
 msgstr "retourner à la page de connexion"
 
-#: .\user\templates\registration\registration_complete.html.py:6
-#: .\user\templates\registration\registration_form.html.py:11
+#: user/templates/registration/registration_complete.html:6
+#: user/templates/registration/registration_form.html:11
 msgid "Sign up"
 msgstr "Création d'un compte"
 
-#: .\user\templates\registration\registration_complete.html.py:10
+#: user/templates/registration/registration_complete.html:10
 msgid ""
 "We've e-mailed you instructions for activate your account to the e-mail "
 "address you submitted. You should be receiving it shortly."
-msgstr ""
-"Nous vous avons envoyé par courriel les instructions pour activer le compte "
+msgstr "Nous vous avons envoyé par courriel les instructions pour activer le compte "
 "à l'adresse que vous avez indiquée. Vous devriez le recevoir rapidement."
 
-#~ msgid "Create"
-#~ msgstr "Créer"
-
-#~ msgid "Create new project"
-#~ msgstr "Créer un nouveau projet Ligne de Temps"
-
-#~ msgid " published"
-#~ msgstr "Publié"
-
-#~ msgid "Password (Verification)"
-#~ msgstr "Mot de passe (Vérification)"
--- a/src/ldt/ldt/static/ldt/css/style.css	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/static/ldt/css/style.css	Thu Aug 04 12:54:02 2011 +0200
@@ -5,7 +5,7 @@
  	font-family: Arial, Helvetica, sans serif;
  	font-size: 12px;
  	color: #4F5155;
- 	margin: 5px;
+ 	margin: 2px;
  	padding: 0px;
  	min-width:750px;
 	text-align: justify; 	
@@ -44,10 +44,12 @@
 
 #header
 {
-     padding: .5em;
-     border-bottom: 1px solid gray;
-     border-left: 1px solid gray;
-     padding: 1em;
+    border-bottom: 1px solid gray;
+    border-left: 1px solid gray;
+	margin: 0px;
+    padding: 0px;
+    padding-left: 1em;
+    height: 55px;
 }
 
 #header a
@@ -58,13 +60,17 @@
 
 #header_left
 {
-	max-width: 8em;
 	font-size: 40px;
 	font-weight : bold;
 	text-align: left;
-        text-transform: uppercase;
+    text-transform: uppercase;
+    float: left;
 }
-
+#header_left p
+{
+	margin: 0px;
+	padding: 0px;
+}
 
 #header_left a:hover, #header_left a:visited, #header_left a:link, #header_left a:active, #header_left a:focus
 {
@@ -73,30 +79,6 @@
 }
 
 
-#header_right
-{
-	text-align: right;
-}
-
-#header_right a:link
-{
-	text-decoration: none;
-	text-decoration: none;
-	color: white;
-}
-
-#header_right a:hover
-{
-	text-decoration: none;
-	color:  white;
-}
-
-#header_right a:visited {
-	text-decoration: none;
-	color: white;
-}
-
-
 #footer
 {
     clear: both;
@@ -216,10 +198,6 @@
 	padding: 40px 0px 50px 0px; 	
 }
 
-#loginstate {
-	text-align: right;
-}
-
 .projectscontentstitle {
 	color: #949494;
 	font-family: Verdana;
@@ -229,6 +207,11 @@
 	text-align: left;
 }
 
+#loginstate {
+	text-align: right;
+    float: right;
+    padding-top: 10px;
+}
 
 #loginstate a, #loginstate a:hover, #loginstate a:visited, #loginstate a:link, #loginstate a:active {
     color:#0063DC;
--- a/src/ldt/ldt/static/ldt/css/workspace.css	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/static/ldt/css/workspace.css	Thu Aug 04 12:54:02 2011 +0200
@@ -61,7 +61,12 @@
 
 .projectscontentsdiv {
 	overflow: hidden;
-	height: 570px;
+	/*height: 570px;*/
+	
+}
+.publishedprojectscontentsdiv {
+	overflow: hidden;
+	/*height: 570px;*/
 	
 }
 div.projectscontentsdiv table {
@@ -130,14 +135,11 @@
 }
 
 .projectscontentstablediv {
-	max-height: 500px;
+	/*max-height: 500px;*/
 	overflow: auto; overflow-x: hidden;
 	border-bottom: 2px solid #b5b5b5 ;
 	float: left;
 }
-.projectscontentstablewrapperdiv {
-	height: 502px;
-}
 
 .projectscontentsbody tr {
 	padding-right: 16px;
@@ -166,7 +168,7 @@
 
 a.content_link_create:link, a.content_link_create:visited,
 a.ldt_link_create:link, a.ldt_link_create:visited {
-	color: white;
+	/*color: white;*/
 	text-decoration: none;
 }
 
@@ -174,3 +176,13 @@
 	color: white;
 }
 
+input[type="submit"].quick_search_submit {
+	background: #ffffff url("../img/search.gif") no-repeat left center;
+	border: none;
+	cursor: pointer;
+}
+input[type="submit"].search_submit {
+    float: right;
+    margin-right: 20px;
+    margin-top: 20px;
+}
Binary file src/ldt/ldt/static/ldt/img/control_play.gif has changed
Binary file src/ldt/ldt/static/ldt/img/control_play.png has changed
Binary file src/ldt/ldt/static/ldt/img/document_add.gif has changed
Binary file src/ldt/ldt/static/ldt/img/document_edit.gif has changed
Binary file src/ldt/ldt/static/ldt/img/documents_duplicate.gif has changed
Binary file src/ldt/ldt/static/ldt/img/film_add.png has changed
Binary file src/ldt/ldt/static/ldt/img/page_add.png has changed
Binary file src/ldt/ldt/static/ldt/img/page_copy.png has changed
Binary file src/ldt/ldt/static/ldt/img/page_edit.png has changed
Binary file src/ldt/ldt/static/ldt/img/plugin.gif has changed
Binary file src/ldt/ldt/static/ldt/img/plugin.png has changed
--- a/src/ldt/ldt/templates/ldt/ldt_base.html	Wed Jun 29 12:17:41 2011 +0200
+++ b/src/ldt/ldt/templates/ldt/ldt_base.html	Thu Aug 04 12:54:02 2011 +0200
@@ -89,10 +89,15 @@
 {% block body %}
     {{ block.super }}
     <div class="container">
-    <div id="header" class="span-24 last">      
+    <div id="header">      
         {% block header %}
-        <div id="header_left" class="span-24 last">
-                   <a href="{% url ldt.ldt_utils.views.workspace %}">{% block base_title %}{% trans "header_title" %}{% endblock %}</a>
+        <div id="header_left">
+            <p><a href="{% url ldt.ldt_utils.views.workspace %}">{% block base_title %}{% trans "header_title" %}{% endblock %}</a></p>
+        </div>
+        <div id="loginstate" >
+            {% if user.is_authenticated %}
+            {{user.username}}&nbsp;|&nbsp;<a href="{% url ldt.user.views.logout_view %}" >{% trans "Log out" %}</a>
+            {% endif %}
         </div>
         {% endblock %}
     </div>
@@ -103,13 +108,14 @@
                 <div id="tabsdiv" class="block span-20">
                 {% if user.is_authenticated %}
                 {% url ldt.ldt_utils.views.workspace as workspace_url %}
+                {% url ldt.ldt_utils.views.published_project as published_project_url %}
                 {% url ldt.ldt_utils.views.list_ldt as space_url %}
                 {% url ldt.ldt_utils.views.list_content as content_url %}
                 {% url ldt.user.views.profile  as profile_url %}
                 {% url ldt.ldt_utils.views.searchForm  as search_url %}
                     <ul class="tabs">
                         <li class='{% active request "active" workspace_url %}'><a href="{{ workspace_url }}" >{% trans "home" %}</a></li>
-                        <li class='{% active request "active" search_url %}'><a href="{{ search_url }}" >{% trans "Search" %}</a></li>
+                        <li class='{% active request "active" published_project_url %}'><a href="{{ published_project_url }}" >{% trans "Published projects" %}</a></li>
                         <!--li class='{% active request "active" content_url %}'><a href="{{ content_url }}">{% trans "contents" %}</a></li>
                         <li class='{% active request "active" space_url %}'><a href="{{ space_url }}">{% trans "indexation projects" %}</a></li>
                         <li class='{% active request "active" "" %}'><a href="#">{% trans "accounts" %}</a></li>
@@ -117,11 +123,19 @@
                     </ul>
                 {% endif %}
                 </div>
-                <div id="loginstate" class="block span-4 last">
                 {% if user.is_authenticated %}
-                {{user.username}}&nbsp;|&nbsp;<a href="{% url ldt.user.views.logout_view %}" >{% trans "Log out" %}</a>
-                {% endif %}
-                </div>
+		        <div class="block span-4 last">
+		            <form method="post" id="quick_search_form" action="{% url ldt.ldt_utils.views.searchIndex %}" accept-charset="utf-8">
+					<input type="text" name="search" id="id_search" size="16"/>
+					<input type='hidden' name='field' value='all' />
+					<input type="submit" class="quick_search_submit" value="" />{% csrf_token %}</form>
+		        </div>
+		        {% endif %}
+		        <!--div id="loginstate" class="block span-4 last">
+		            {% if user.is_authenticated %}
+		            {{user.username}}&nbsp;|&nbsp;<a href="{% url ldt.user.views.logout_view %}" >{% trans "Log out" %}</a>
+		            {% endif %}
+		        </div-->
             </div>
             {% if LANGUAGES.1 %}
               <div id="language_chooser">