Improve search page
authorverrierj
Wed, 28 Sep 2011 17:33:25 +0200
changeset 183 89334901b7c2
parent 182 b7add86c2772
child 184 d1743955cd29
Improve search page
src/ldt/ldt/indexation/__init__.py
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/search_results.html
src/ldt/ldt/ldt_utils/views.py
src/ldt/ldt/locale/en/LC_MESSAGES/django.mo
src/ldt/ldt/locale/en/LC_MESSAGES/django.po
src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo
src/ldt/ldt/locale/fr/LC_MESSAGES/django.po
src/ldt/ldt/templates/admin/base_site.html
web/ldtplatform/settings.py
web/ldtplatform/templates/admin/base_site.html
--- a/src/ldt/ldt/indexation/__init__.py	Mon Sep 26 11:05:51 2011 +0200
+++ b/src/ldt/ldt/indexation/__init__.py	Wed Sep 28 17:33:25 2011 +0200
@@ -10,28 +10,26 @@
 ANALYZER.addAnalyzer("abstract", lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT))
 ANALYZER.addAnalyzer("all", lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT))
 
-
 def get_results_with_context(field, query):
     res = get_results_list(field, query)
-    analyzer = lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT)
     searcher = get_searcher()
-    formatter = lucene.SimpleHTMLFormatter('<span class="highlight">', '</span>')
     query = get_query_parser(field).parse(query)
-    highlighter = lucene.Highlighter(formatter, lucene.QueryScorer (query))
-    contexts = []
-    
+    contexts = [] 
+        
     for i in res:
         doc = searcher.doc(i.doc)  
         ids = {"iri_id":doc.get("iri_id"), "ensemble_id":doc.get("ensemble_id"), "decoupage_id":doc.get("decoupage_id"), "element_id":doc.get("element_id"), "project_id":doc.get("project_id")}     
-        segment_title = doc.getField('title').stringValue()
-        
-        text = doc.getField(field).stringValue()
-        ts = analyzer.tokenStream("body", lucene.StringReader(text))
-        context = highlighter.getBestFragments(ts, text, settings.LDT_MAX_FRAGMENT_PER_SEARCH, "...")
-        
-        ids['context'] = context
-        ids['segment_title'] = segment_title
-        contexts.append(ids)    
+        score = i.score
+        title = doc.getField('title').stringValue()
+        desc = doc.getField('abstract').stringValue()
+        tags = doc.getField('tags').stringValue()
+
+        ids['context'] = desc
+        ids['title'] = title
+        ids['tags'] = tags
+        ids['score'] = score
+        ids['lucene_id'] = i.doc
+        contexts.append(ids)     
     
     searcher.close()
     return contexts
@@ -44,6 +42,35 @@
     
     return hits.scoreDocs
 
+def highlight_documents(doc_list, query, field):
+    analyzer = lucene.FrenchAnalyzer(lucene.Version.LUCENE_CURRENT)
+    searcher = get_searcher()
+    formatter = lucene.SimpleHTMLFormatter('<span class="highlight">', '</span>')
+    query = get_query_parser(field).parse(query)
+    highlighter = lucene.Highlighter(formatter, lucene.QueryScorer (query))
+    
+    for project in doc_list:
+        for segment in project['list']:
+            lucene_doc = searcher.doc(segment['lucene_id'])
+            segment['context'] = get_highlighted_text(lucene_doc, analyzer, highlighter, 'abstract')
+            segment['tags'] = get_highlighted_text(lucene_doc, analyzer, highlighter, 'tags')
+            segment['title'] = get_highlighted_text(lucene_doc, analyzer, highlighter, 'title')
+            
+            if segment['context'] == u'':
+                segment['context'] = lucene_doc.getField('abstract').stringValue()
+            if segment['tags'] == u'':
+                segment['tags'] = lucene_doc.getField('tags').stringValue()
+            if segment['title'] == u'':
+                segment['title'] = lucene_doc.getField('title').stringValue() 
+            
+    return doc_list    
+
+def get_highlighted_text(doc, analyzer, highlighter, field):
+    res = doc.getField(field).stringValue()
+    ts = analyzer.tokenStream("body", lucene.StringReader(res)) 
+    res = highlighter.getBestFragments(ts, res, settings.LDT_MAX_FRAGMENT_PER_SEARCH, "...")
+    return res    
+
 def get_writer(new=False):
     lucene.getVMEnv().attachCurrentThread()
     return lucene.IndexWriter(STORE, ANALYZER, new, lucene.IndexWriter.MaxFieldLength.UNLIMITED)
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html	Mon Sep 26 11:05:51 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_ldt.html	Wed Sep 28 17:33:25 2011 +0200
@@ -52,17 +52,7 @@
 	});
 
 	</script>
-	<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/tiny_mce/tiny_mce.js"></script>
-    <script type="text/javascript">
-    tinyMCE.init({
-            theme : "simple",
-            mode : "textareas",
-            forced_root_block : false,
-            force_br_newlines : true,
-            force_p_newlines : false,
-            language : "fr"
-    });
-    </script>
+
 {% endblock %}
 
 {% block body %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/search_results.html	Mon Sep 26 11:05:51 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/search_results.html	Wed Sep 28 17:33:25 2011 +0200
@@ -9,6 +9,31 @@
 {% block css_import %}
     {{ block.super }}
     <link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/workspace.css" />
+    <style type="text/css">
+    
+    .titleresults {
+    	font-weight: bold;
+    	font-size: 1.2em;
+    }
+    
+    .segmentinfos {
+    	border-radius: 5px;
+    	padding: 5px;
+    }
+    
+    .segmentinfos:hover {
+    	background-color: #ededed;
+    }
+    
+    .listsegments {
+    	list-style-type: none;
+    	padding-left: 15px;
+    }
+    
+    .descresults {
+    	font-size: 0.9em;
+    }
+    </style>
 {% endblock %}
 
 {% block js_declaration %}
@@ -30,23 +55,33 @@
 {{ msg }}
 {% else %}
 
-	{% trans "Results for " %} <b> {{ search }}</b> :
+	{% ifequal nb_results 0 %}
+	{% blocktrans %} No results for <b>{{ search }}</b>.{% endblocktrans %}
+	{% else %}
+	
+	{% trans "Results for " %} <b> {{ search }}</b>	({{ nb_results }} {% trans "Result" %}{{ nb_results|pluralize }}) :
+	<br /><br />
+		
 	
 	{% autoescape off %}
 	<ul>
 	{% for res in results.object_list %}
 		<li>		
-			<span title="{% trans 'open ldt' %}"><a class="ldt_link_open_ldt" href="{% url index_project res.project_id%}" >Project : {{res.project_title}} </a></span><br />
-			Project description : {{ res.project_description }} <br />		
-			<ul>
+			<span class="titleresults">{{res.content_title|capfirst}}</span><br />
+			{% ifnotequal res.content_description 'None' %}
+			<span class="descresults">{{ res.content_description }}</span><br />
+			{% endifnotequal %}		
+			<ul class="listsegments">
 			{% for segment in res.list %}
-				<li><span title="{% trans 'open ldt' %}"><a class="ldt_link_open_ldt" href="{% url ldt.ldt_utils.views.display_highlighted_seg segment.project_id segment.iri_id segment.ensemble_id segment.decoupage_id segment.element_id %}">{{ segment.segment_title }}</a></span><br />
+				<li class="segmentinfos" ><span  class="" title="{% trans 'open ldt' %}"><a class="ldt_link_open_ldt" href="{% url ldt.ldt_utils.views.display_highlighted_seg segment.project_id segment.iri_id segment.ensemble_id segment.decoupage_id segment.element_id %}">{{ segment.title }}</a></span><br />
 				{{ segment.context }}<br />
-				<br />
+				{% if segment.tags %}
+				<b>{% trans "Tags"%}</b> : {{ segment.tags }}
+				{% endif %}
 				</li>
 			{% endfor %}
 			</ul>	
-		</li>
+		</li><br />
 	{% endfor %}
 	</ul>
 	{% endautoescape %}
@@ -70,6 +105,7 @@
     </span>
 </div>
 
+	{% endifequal %}
 {% endif %}
 
 {% endblock %}
\ No newline at end of file
--- a/src/ldt/ldt/ldt_utils/views.py	Mon Sep 26 11:05:51 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/views.py	Wed Sep 28 17:33:25 2011 +0200
@@ -8,7 +8,7 @@
 from django.forms.util import ErrorList
 from django.http import (HttpResponse, HttpResponseRedirect,
     HttpResponseForbidden, HttpResponseServerError)
-from ldt.indexation import get_results_with_context
+from ldt.indexation import get_results_with_context, highlight_documents
 from django.shortcuts import (render_to_response, get_object_or_404,
     get_list_or_404)
 from django.template import RequestContext
@@ -166,7 +166,6 @@
                               context_instance=RequestContext(request))
 
 
-
 @login_required
 def projects_filter(request, filter, is_owner=False, status=0, id_group=None):
 
@@ -249,17 +248,25 @@
             url = settings.WEB_URL + django.core.urlresolvers.reverse("ldt.ldt_utils.views.search_init", args=[field, queryStr])
             return render_to_response('ldt/ldt_utils/init_ldt_full.html', {'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/', 'url': url}, context_instance=RequestContext(request))
         else:
-            results = get_results_with_context(field, search)                   
-            results.sort(key=lambda k : k['project_id'])
+            results = get_results_with_context(field, search)     
             complete_results = []
             
-            results.sort(key=lambda k: k['project_id'])
-            for project_id, item in groupby(results, itemgetter('project_id')):
-                project = Project.objects.get(ldt_id=project_id)               
-                complete_results.append({'list' : list(item), 'project_title' : project.title, 'project_id' : project.ldt_id, 'project_description' : project.get_description() })
-        
+            results.sort(key=lambda k: k['iri_id'])
+            for iri_id, item in groupby(results, itemgetter('iri_id')):
+                content = Content.objects.get(iri_id=iri_id)
+                segments = list(item)
+                score = sum([seg['score'] for seg in segments])
+                if content.description == None:
+                    desc = ''
+                else:
+                    desc = content.description        
+                complete_results.append({'list' : segments, 'score' : score, 'content_title' : content.title, 'content_id' : content.iri_id, 'content_description' : desc })
+            complete_results.sort(key=lambda k: k['score'])  
+                    
             request.session.__setitem__('complete_results', complete_results)
             request.session.__setitem__('search', search)
+            request.session.__setitem__('field', field)
+
             paginator = Paginator (complete_results, settings.LDT_RESULTS_PER_PAGE)
             page = 1
             
@@ -267,8 +274,10 @@
                 results = paginator.page(page)
             except (EmptyPage, InvalidPage):
                 results = paginator.page(paginator.num_pages)
+                
+            results.object_list = highlight_documents(results.object_list, search, field)
             
-            return render_to_response('ldt/ldt_utils/search_results.html', {'results': results, 'search' : search, 'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/'}, context_instance=RequestContext(request))   
+            return render_to_response('ldt/ldt_utils/search_results.html', {'results': results, 'nb_results' : paginator.count, 'search' : search, 'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/'}, context_instance=RequestContext(request))   
         
     else:
         msg = _("Please enter valid keywords.")
@@ -294,6 +303,7 @@
  
     complete_results = request.session.__getitem__('complete_results')
     search = request.session.__getitem__('search')
+    field = request.session.__getitem__('field')
     paginator = Paginator(complete_results, settings.LDT_RESULTS_PER_PAGE)
     language_code = request.LANGUAGE_CODE[:2]
 
@@ -306,8 +316,10 @@
         results = paginator.page(page)
     except (EmptyPage, InvalidPage):
         results = paginator.page(paginator.num_pages)
+    
+    results.object_list = highlight_documents(results.object_list, search, field)
 
-    return render_to_response('ldt/ldt_utils/search_results.html', {'results': results, 'search' : search, 'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/'}, context_instance=RequestContext(request))   
+    return render_to_response('ldt/ldt_utils/search_results.html', {'results': results, 'nb_results' : paginator.count, 'search' : search, 'LDT_MEDIA_PREFIX': settings.LDT_MEDIA_PREFIX, 'colorurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/color.xml', 'i18nurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/pkg/i18n', 'language': language_code, 'baseurl': settings.LDT_MEDIA_PREFIX + 'swf/ldt/'}, context_instance=RequestContext(request))   
   
   
 def search_index_get(request, field, query):
Binary file src/ldt/ldt/locale/en/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/en/LC_MESSAGES/django.po	Mon Sep 26 11:05:51 2011 +0200
+++ b/src/ldt/ldt/locale/en/LC_MESSAGES/django.po	Wed Sep 28 17:33:25 2011 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-15 11:57+0200\n"
+"POT-Creation-Date: 2011-09-28 17:04+0200\n"
 "PO-Revision-Date: 2010-02-17 03:53+0100\n"
 "Last-Translator: Yves-Marie Haussonne <ymh.work@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -24,62 +24,62 @@
 msgid "Time"
 msgstr "Time"
 
-#: .\ldt_utils\forms.py:25
+#: .\ldt_utils\forms.py:26
 #: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:53
 msgid "Search"
 msgstr "search"
 
-#: .\ldt_utils\forms.py:26
+#: .\ldt_utils\forms.py:27
 msgid "all"
 msgstr "all"
 
-#: .\ldt_utils\forms.py:26 .\ldt_utils\models.py:39
+#: .\ldt_utils\forms.py:27 .\ldt_utils\models.py:39
 #: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:69
 msgid "title"
 msgstr "title"
 
-#: .\ldt_utils\forms.py:26
+#: .\ldt_utils\forms.py:27
 msgid "resume"
 msgstr "resume"
 
-#: .\ldt_utils\forms.py:26
+#: .\ldt_utils\forms.py:27
 #, fuzzy
 msgid "tags"
 msgstr "Pages"
 
-#: .\ldt_utils\forms.py:26
+#: .\ldt_utils\forms.py:27
 msgid "Fields"
 msgstr "Fields"
 
-#: .\ldt_utils\forms.py:27
+#: .\ldt_utils\forms.py:28
 msgid "Display the results in Lignes De Temps"
 msgstr "Display the results in Lignes De Temps"
 
-#: .\ldt_utils\forms.py:40 .\ldt_utils\models.py:108
+#: .\ldt_utils\forms.py:42 .\ldt_utils\models.py:108
 msgid "content.content_creation_date"
 msgstr "content creation date"
 
-#: .\ldt_utils\forms.py:41
+#: .\ldt_utils\forms.py:43
 msgid "content.media_input_type"
 msgstr "Media source type"
 
-#: .\ldt_utils\forms.py:41
+#: .\ldt_utils\forms.py:43
 msgid "file_upload"
 msgstr "file upload"
 
-#: .\ldt_utils\forms.py:41
+#: .\ldt_utils\forms.py:43
 msgid "url"
 msgstr "url"
 
-#: .\ldt_utils\forms.py:41
+#: .\ldt_utils\forms.py:43
 msgid "existing_media"
 msgstr "existing media"
 
-#: .\ldt_utils\forms.py:41
+#: .\ldt_utils\forms.py:43
 msgid "create_media"
 msgstr "create media"
 
-#: .\ldt_utils\forms.py:41
+#: .\ldt_utils\forms.py:43
 msgid "none_media"
 msgstr "no media"
 
@@ -175,65 +175,65 @@
 msgid "changed by"
 msgstr "changed by"
 
-#: .\ldt_utils\views.py:149 .\ldt_utils\views.py:578 .\ldt_utils\views.py:624
+#: .\ldt_utils\views.py:151 .\ldt_utils\views.py:609 .\ldt_utils\views.py:655
 msgid "You can not access this project"
 msgstr "You can not access this project"
 
-#: .\ldt_utils\views.py:262 .\ldt_utils\views.py:276
+#: .\ldt_utils\views.py:283 .\ldt_utils\views.py:301
 msgid "Please enter valid keywords."
 msgstr "Please enter valid keywords."
 
-#: .\ldt_utils\views.py:790
+#: .\ldt_utils\views.py:821
 #, python-format
 msgid "the project %(title)s is published. please unpublish before deleting."
 msgstr "the project %(title)s is published. please unpublish before deleting."
 
-#: .\ldt_utils\views.py:791
+#: .\ldt_utils\views.py:822
 msgid "can not delete the project. Please correct the following error"
 msgstr "can not delete the project. Please correct the following error"
 
-#: .\ldt_utils\views.py:792
+#: .\ldt_utils\views.py:823
 msgid "title error deleting project"
 msgstr "Error when deleting project"
 
-#: .\ldt_utils\views.py:794
+#: .\ldt_utils\views.py:825
 #, python-format
 msgid "please confirm deleting project %(title)s"
 msgstr "Please confirm deleting project %(title)s"
 
-#: .\ldt_utils\views.py:795
+#: .\ldt_utils\views.py:826
 msgid "confirm deletion"
 msgstr "Confirm deletion"
 
-#: .\ldt_utils\views.py:969
+#: .\ldt_utils\views.py:1003
 msgid "Problem when downloading file from url : "
 msgstr "Problem when downloading file from url: "
 
-#: .\ldt_utils\views.py:972
+#: .\ldt_utils\views.py:1006
 msgid "Problem when uploading file : "
 msgstr "Problem when uploading file: "
 
-#: .\ldt_utils\views.py:1041
+#: .\ldt_utils\views.py:1075
 #, python-format
 msgid "There is %(count)d error when deleting content"
 msgid_plural "There are %(count)d errors when deleting content"
 msgstr[0] "There is %(count)d error when deleting content"
 msgstr[1] "There are %(count)d errors when deleting content"
 
-#: .\ldt_utils\views.py:1042
+#: .\ldt_utils\views.py:1076
 msgid "title error deleting content"
 msgstr "Error when deleting content"
 
-#: .\ldt_utils\views.py:1044
+#: .\ldt_utils\views.py:1078
 #, python-format
 msgid "Confirm delete content %(titles)s"
 msgstr "Confirm delete content %(titles)s"
 
-#: .\ldt_utils\views.py:1045
+#: .\ldt_utils\views.py:1079
 msgid "confirm delete content"
 msgstr "Confirm delete content"
 
-#: .\ldt_utils\views.py:1079
+#: .\ldt_utils\views.py:1113
 #, python-format
 msgid ""
 "Content '%(title)s' is referenced by this project : %(project_titles)s. "
@@ -290,7 +290,7 @@
 msgstr "Copy your project"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\copy_ldt.html.py:16
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:54
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:74
 msgid "Title"
 msgstr "Title"
 
@@ -315,7 +315,7 @@
 msgid "Cancel upload"
 msgstr "Cancel upload"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:55
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:56
 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:"
@@ -341,8 +341,8 @@
 msgstr "media file is being processed please wait."
 
 #: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:124
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:87
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:49
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:109
+#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:52
 msgid "close_cancel"
 msgstr "Close"
 
@@ -354,91 +354,96 @@
 msgid "write"
 msgstr "Write"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:30
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:38
 msgid "check all"
 msgstr "check all"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:31
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:39
 msgid "uncheck all"
 msgstr "uncheck all"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:50
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:70
 msgid "Update your project"
 msgstr "Create your project"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:50
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:70
 msgid "Create your project"
 msgstr "Create your project"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:56
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:76
+#, fuzzy
+msgid "Description :"
+msgstr "description"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:78
 msgid "List of contents"
 msgstr "List of contents"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:69
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:91
 #: .\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\partial\publishedprojectslist.html.py:3
 msgid "name"
 msgstr "name"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:89
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:111
 msgid "delete_project"
 msgstr "delete project"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:90
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:112
 msgid "update_project"
 msgstr "update project"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:92
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:114
 msgid "create_project"
 msgstr "Create new project"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:63
+#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:56
 msgid "project id"
 msgstr "project id"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:64
+#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:57
 msgid "copy to clipboard"
 msgstr "copy to clipboard"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:73
+#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:66
 msgid "popup_player"
 msgstr "player"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:73
+#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:66
 msgid "popup_seo_body"
 msgstr "seo"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:73
+#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:66
 msgid "popup_seo_meta"
 msgstr "meta"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:73
+#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:66
 msgid "popup_links"
 msgstr "links"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:87
+#: .\ldt_utils\templates\ldt\ldt_utils\embed_popup.html.py:80
 msgid "clik here to see the project content"
 msgstr "clik here to see the project content"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:30
+#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:33
 msgid "error"
 msgstr "Error"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:30
+#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:33
 msgid "confirm"
 msgstr "Confirm deletion"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:45
+#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:48
 msgid "close_error"
 msgstr "Close"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:50
+#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:53
 msgid "do_delete"
 msgstr "Approve delete"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\groups.html.py:75
-#: .\templates\ldt\ldt_base.html.py:108
+#: .\templates\ldt\ldt_base.html.py:112
 #, fuzzy
 msgid "My groups"
 msgstr "Groups"
@@ -458,7 +463,7 @@
 #: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:71
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:56
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:68
-#: .\templates\ldt\ldt_base.html.py:119
+#: .\templates\ldt\ldt_base.html.py:123
 msgid "search"
 msgstr "search"
 
@@ -483,7 +488,7 @@
 msgstr "Submit"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:68
-#: .\templates\ldt\ldt_base.html.py:109
+#: .\templates\ldt\ldt_base.html.py:113
 msgid "Published projects"
 msgstr "Published projects"
 
@@ -496,20 +501,39 @@
 msgid "The search field can not be empty."
 msgstr "The search field can not be empty."
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:16
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:59
+#, python-format
+msgid " No results for <b>%(search)s</b>."
+msgstr "No results for <b>%(search)s</b>."
+
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:62
 msgid "Results for "
-msgstr ""
+msgstr "Results for"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:62
+msgid "Result"
+msgstr "Result"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:33
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:76
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:12
+msgid "open ldt"
+msgstr "open ldt"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:79
+#, fuzzy
+msgid "Tags"
+msgstr "Pages"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:93
 msgid "previous"
 msgstr "Previous"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:37
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:98
 #, python-format
 msgid "Page %(number)s of  %(num_pages)s"
 msgstr "Page %(number)s of  %(num_pages)s"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:41
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:103
 msgid "next"
 msgstr "Next"
 
@@ -525,25 +549,20 @@
 msgid "preview media"
 msgstr "preview media"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:12
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:14
-msgid "open ldt"
-msgstr "open ldt"
-
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:16
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:13
 msgid "copy project"
 msgstr "Copy your project"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:17
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:14
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\publishedprojectslist.html.py:12
 msgid "link json by id"
 msgstr "link json by id"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:20
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:17
 msgid "Project published, click to unpublish"
 msgstr "Project published, click to unpublish"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:22
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:19
 msgid "Project not published, click to publish"
 msgstr "Project not published, click to publish"
 
@@ -555,15 +574,6 @@
 msgid "Project published"
 msgstr " published"
 
-#: .\templates\admin\base_site.html.py:4
-msgid "Django site admin"
-msgstr "Django administration"
-
-#: .\templates\admin\base_site.html.py:7
-#: .\templates\admin\page_base_site.html.py:7
-msgid "Django administration"
-msgstr "Django administration"
-
 #: .\templates\admin\cms_change_form.html.py:30
 msgid "Approve page deletion"
 msgstr "Approve page deletion"
@@ -731,6 +741,10 @@
 msgid "Pages"
 msgstr "Pages"
 
+#: .\templates\admin\page_base_site.html.py:7
+msgid "Django administration"
+msgstr "Django administration"
+
 #: .\templates\admin\page_login.html.py:8
 msgid "Connexion"
 msgstr "Login"
@@ -770,7 +784,7 @@
 msgstr "Change password"
 
 #: .\templates\cms\admin\cms\page\change_form.html.py:11
-#: .\templates\ldt\ldt_base.html.py:88
+#: .\templates\ldt\ldt_base.html.py:92
 #: .\user\templates\ldt\user\login_form.html.py:34
 msgid "Log out"
 msgstr "Log out"
@@ -783,53 +797,53 @@
 msgid "Order:"
 msgstr "Order:"
 
-#: .\templates\ldt\ldt_base.html.py:81
+#: .\templates\ldt\ldt_base.html.py:85
 msgid "header_title"
 msgstr "Ldt&nbsp;Platform"
 
-#: .\templates\ldt\ldt_base.html.py:85
+#: .\templates\ldt\ldt_base.html.py:89
 #, fuzzy
 msgid "Link to admin"
 msgstr "link to administration"
 
-#: .\templates\ldt\ldt_base.html.py:85
+#: .\templates\ldt\ldt_base.html.py:89
 msgid "Staff"
 msgstr "admin"
 
-#: .\templates\ldt\ldt_base.html.py:88
+#: .\templates\ldt\ldt_base.html.py:92
 #: .\user\templates\ldt\user\change_profile.html.py:85
 #, fuzzy
 msgid "Profile change"
 msgstr "Mail change"
 
-#: .\templates\ldt\ldt_base.html.py:107 .\templates\ldt\ldt_base.html.py:108
+#: .\templates\ldt\ldt_base.html.py:111 .\templates\ldt\ldt_base.html.py:112
 msgid "home"
 msgstr "home"
 
-#: .\templates\ldt\ldt_base.html.py:110
+#: .\templates\ldt\ldt_base.html.py:114
 msgid "contents"
 msgstr "Contents"
 
-#: .\templates\ldt\ldt_base.html.py:111
+#: .\templates\ldt\ldt_base.html.py:115
 msgid "indexation projects"
 msgstr "indexation projects"
 
-#: .\templates\ldt\ldt_base.html.py:112
+#: .\templates\ldt\ldt_base.html.py:116
 msgid "accounts"
 msgstr "accounts"
 
-#: .\templates\ldt\ldt_base.html.py:113
+#: .\templates\ldt\ldt_base.html.py:117
 #: .\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
 msgid "Profiles"
 msgstr "Profiles"
 
-#: .\templates\ldt\ldt_base.html.py:139
+#: .\templates\ldt\ldt_base.html.py:145
 msgid "Version number"
 msgstr "Version number"
 
-#: .\templates\ldt\ldt_base.html.py:139
+#: .\templates\ldt\ldt_base.html.py:145
 #, python-format
 msgid " web %(WEB_VERSION)s | platform %(VERSION)s"
 msgstr "web v%(WEB_VERSION)s | platform v%(VERSION)s"
@@ -1193,3 +1207,6 @@
 msgstr ""
 "We've e-mailed you instructions for activate your account to the e-mail "
 "address you submitted. You should be receiving it shortly."
+
+#~ msgid "Django site admin"
+#~ msgstr "Django administration"
Binary file src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Mon Sep 26 11:05:51 2011 +0200
+++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Wed Sep 28 17:33:25 2011 +0200
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-15 11:57+0200\n"
+"POT-Creation-Date: 2011-09-28 17:03+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"
@@ -24,61 +24,61 @@
 msgid "Time"
 msgstr "Heure"
 
-#: .\ldt_utils\forms.py:25
+#: .\ldt_utils\forms.py:26
 #: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:53
 msgid "Search"
 msgstr "Recherche"
 
-#: .\ldt_utils\forms.py:26
+#: .\ldt_utils\forms.py:27
 msgid "all"
 msgstr "tous"
 
-#: .\ldt_utils\forms.py:26 .\ldt_utils\models.py:39
+#: .\ldt_utils\forms.py:27 .\ldt_utils\models.py:39
 #: .\ldt_utils\templates\ldt\ldt_utils\content_list.html.py:69
 msgid "title"
 msgstr "titre"
 
-#: .\ldt_utils\forms.py:26
+#: .\ldt_utils\forms.py:27
 msgid "resume"
 msgstr "description"
 
-#: .\ldt_utils\forms.py:26
+#: .\ldt_utils\forms.py:27
 msgid "tags"
 msgstr "tags"
 
-#: .\ldt_utils\forms.py:26
+#: .\ldt_utils\forms.py:27
 msgid "Fields"
 msgstr "Champs"
 
-#: .\ldt_utils\forms.py:27
+#: .\ldt_utils\forms.py:28
 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:108
+#: .\ldt_utils\forms.py:42 .\ldt_utils\models.py:108
 msgid "content.content_creation_date"
 msgstr "Date de création du contenu"
 
-#: .\ldt_utils\forms.py:41
+#: .\ldt_utils\forms.py:43
 msgid "content.media_input_type"
 msgstr "Source du média"
 
-#: .\ldt_utils\forms.py:41
+#: .\ldt_utils\forms.py:43
 msgid "file_upload"
 msgstr "upload fichier"
 
-#: .\ldt_utils\forms.py:41
+#: .\ldt_utils\forms.py:43
 msgid "url"
 msgstr "url"
 
-#: .\ldt_utils\forms.py:41
+#: .\ldt_utils\forms.py:43
 msgid "existing_media"
 msgstr "média existant"
 
-#: .\ldt_utils\forms.py:41
+#: .\ldt_utils\forms.py:43
 msgid "create_media"
 msgstr "source externe : fichier streamé, statique, url youtube..."
 
-#: .\ldt_utils\forms.py:41
+#: .\ldt_utils\forms.py:43
 msgid "none_media"
 msgstr "Aucun"
 
@@ -174,66 +174,66 @@
 msgid "changed by"
 msgstr "modifié par"
 
-#: .\ldt_utils\views.py:149 .\ldt_utils\views.py:578 .\ldt_utils\views.py:624
+#: .\ldt_utils\views.py:151 .\ldt_utils\views.py:609 .\ldt_utils\views.py:655
 msgid "You can not access this project"
 msgstr "vous n'avez pas l'autorisation d'accéder à ce projet"
 
-#: .\ldt_utils\views.py:262 .\ldt_utils\views.py:276
+#: .\ldt_utils\views.py:283 .\ldt_utils\views.py:301
 msgid "Please enter valid keywords."
 msgstr "Veuillez entrer des mots-clés valides."
 
-#: .\ldt_utils\views.py:790
+#: .\ldt_utils\views.py:821
 #, 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:791
+#: .\ldt_utils\views.py:822
 msgid "can not delete the project. Please correct the following error"
 msgstr ""
 "Le projet ne peut pas être effacé. Veuillez corriger les erreurs suivantes."
 
-#: .\ldt_utils\views.py:792
+#: .\ldt_utils\views.py:823
 msgid "title error deleting project"
 msgstr "Erreur lors de l'effacement du projet"
 
-#: .\ldt_utils\views.py:794
+#: .\ldt_utils\views.py:825
 #, python-format
 msgid "please confirm deleting project %(title)s"
 msgstr "Confirmer l'effacement du projet intitulé %(title)s"
 
-#: .\ldt_utils\views.py:795
+#: .\ldt_utils\views.py:826
 msgid "confirm deletion"
 msgstr "Confirmation d'effacement"
 
-#: .\ldt_utils\views.py:969
+#: .\ldt_utils\views.py:1003
 msgid "Problem when downloading file from url : "
 msgstr "Problème lors du téléchargement du fichier : "
 
-#: .\ldt_utils\views.py:972
+#: .\ldt_utils\views.py:1006
 msgid "Problem when uploading file : "
 msgstr "Problème lors de l'upload du fichier : "
 
-#: .\ldt_utils\views.py:1041
+#: .\ldt_utils\views.py:1075
 #, 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:1042
+#: .\ldt_utils\views.py:1076
 msgid "title error deleting content"
 msgstr "Erreur lors de l'effacement du contenu"
 
-#: .\ldt_utils\views.py:1044
+#: .\ldt_utils\views.py:1078
 #, python-format
 msgid "Confirm delete content %(titles)s"
 msgstr "Veuillez confirmer l'effacement du contenu %(titles)s"
 
-#: .\ldt_utils\views.py:1045
+#: .\ldt_utils\views.py:1079
 msgid "confirm delete content"
 msgstr "Confirmation effacement contenu"
 
-#: .\ldt_utils\views.py:1079
+#: .\ldt_utils\views.py:1113
 #, python-format
 msgid ""
 "Content '%(title)s' is referenced by this project : %(project_titles)s. "
@@ -290,7 +290,7 @@
 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:54
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:74
 msgid "Title"
 msgstr "Titre"
 
@@ -314,7 +314,7 @@
 msgid "Cancel upload"
 msgstr "Annuler le téléversement"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:55
+#: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:56
 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:"
@@ -340,8 +340,8 @@
 msgstr "Le fichier média est en cours de traitement. Veuillez patienter."
 
 #: .\ldt_utils\templates\ldt\ldt_utils\create_content.html.py:124
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:87
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:49
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:109
+#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:52
 msgid "close_cancel"
 msgstr "Fermer"
 
@@ -353,91 +353,96 @@
 msgid "write"
 msgstr "Enregistrer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:30
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:38
 msgid "check all"
 msgstr "Tout cocher"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:31
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:39
 msgid "uncheck all"
 msgstr "Tout décocher"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:50
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:70
 msgid "Update your project"
 msgstr "Mettre à jour votre projet Lignes de Temps"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:50
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:70
 msgid "Create your project"
 msgstr "Créer votre projet Lignes de Temps"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:56
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:76
+#, fuzzy
+msgid "Description :"
+msgstr "description"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:78
 msgid "List of contents"
 msgstr "Liste de contenus"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:69
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:91
 #: .\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\partial\publishedprojectslist.html.py:3
 msgid "name"
 msgstr "Nom"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:89
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:111
 msgid "delete_project"
 msgstr "Effacer"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:90
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:112
 msgid "update_project"
 msgstr "Mettre à jour"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:92
+#: .\ldt_utils\templates\ldt\ldt_utils\create_ldt.html.py:114
 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.py:56
 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.py:57
 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.py:66
 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.py:66
 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.py:66
 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.py:66
 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.py:80
 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.py:33
 msgid "error"
 msgstr "Erreur"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:30
+#: .\ldt_utils\templates\ldt\ldt_utils\error_confirm.html.py:33
 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.py:48
 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.py:53
 msgid "do_delete"
 msgstr "Effacer"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\groups.html.py:75
-#: .\templates\ldt\ldt_base.html.py:108
+#: .\templates\ldt\ldt_base.html.py:112
 msgid "My groups"
 msgstr "Groupes"
 
@@ -454,7 +459,7 @@
 #: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:71
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:56
 #: .\ldt_utils\templates\ldt\ldt_utils\workspace_base.html.py:68
-#: .\templates\ldt\ldt_base.html.py:119
+#: .\templates\ldt\ldt_base.html.py:123
 msgid "search"
 msgstr "Recherche"
 
@@ -479,7 +484,7 @@
 msgstr "Chercher"
 
 #: .\ldt_utils\templates\ldt\ldt_utils\published_projects.html.py:68
-#: .\templates\ldt\ldt_base.html.py:109
+#: .\templates\ldt\ldt_base.html.py:113
 msgid "Published projects"
 msgstr "Projets publiés"
 
@@ -492,20 +497,39 @@
 msgid "The search field can not be empty."
 msgstr "Le champ de recherche ne peut pas être vide."
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:16
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:59
+#, python-format
+msgid " No results for <b>%(search)s</b>."
+msgstr "Aucun résultat pour <b>%(search)s</b>."
+
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:62
 msgid "Results for "
 msgstr "Résultats pour "
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:33
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:62
+msgid "Result"
+msgstr "Résultat"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:76
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:12
+msgid "open ldt"
+msgstr "Ouvrir sous Lignes de Temps"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:79
+#, fuzzy
+msgid "Tags"
+msgstr "tags"
+
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:93
 msgid "previous"
 msgstr "Précedent"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:37
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:98
 #, python-format
 msgid "Page %(number)s of  %(num_pages)s"
 msgstr "Page %(number)s de  %(num_pages)s"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:41
+#: .\ldt_utils\templates\ldt\ldt_utils\search_results.html.py:103
 msgid "next"
 msgstr "Suivant"
 
@@ -521,25 +545,20 @@
 msgid "preview media"
 msgstr "Aperçu"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:12
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:14
-msgid "open ldt"
-msgstr "Ouvrir sous Lignes de Temps"
-
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:16
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:13
 msgid "copy project"
 msgstr "Copier votre projet"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:17
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:14
 #: .\ldt_utils\templates\ldt\ldt_utils\partial\publishedprojectslist.html.py:12
 msgid "link json by id"
 msgstr "Ouvrir le lecteur de métadata"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:20
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:17
 msgid "Project published, click to unpublish"
 msgstr "Projet publié, cliquer pour de-publier"
 
-#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:22
+#: .\ldt_utils\templates\ldt\ldt_utils\partial\projectslist.html.py:19
 msgid "Project not published, click to publish"
 msgstr "Projet non publié, cliquer pour publier"
 
@@ -551,15 +570,6 @@
 msgid "Project published"
 msgstr "Projet publié"
 
-#: .\templates\admin\base_site.html.py:4
-msgid "Django site admin"
-msgstr "Administration de Django"
-
-#: .\templates\admin\base_site.html.py:7
-#: .\templates\admin\page_base_site.html.py:7
-msgid "Django administration"
-msgstr "Administration de Django"
-
 #: .\templates\admin\cms_change_form.html.py:30
 msgid "Approve page deletion"
 msgstr "Accepter l'effacement de la page"
@@ -727,6 +737,10 @@
 msgid "Pages"
 msgstr "Pages"
 
+#: .\templates\admin\page_base_site.html.py:7
+msgid "Django administration"
+msgstr "Administration de Django"
+
 #: .\templates\admin\page_login.html.py:8
 msgid "Connexion"
 msgstr "Connexion"
@@ -766,7 +780,7 @@
 msgstr "Modifier le mot de passe"
 
 #: .\templates\cms\admin\cms\page\change_form.html.py:11
-#: .\templates\ldt\ldt_base.html.py:88
+#: .\templates\ldt\ldt_base.html.py:92
 #: .\user\templates\ldt\user\login_form.html.py:34
 msgid "Log out"
 msgstr "Déconnexion"
@@ -779,51 +793,51 @@
 msgid "Order:"
 msgstr "Ordre :"
 
-#: .\templates\ldt\ldt_base.html.py:81
+#: .\templates\ldt\ldt_base.html.py:85
 msgid "header_title"
 msgstr "Plateforme&nbsp;Ldt"
 
-#: .\templates\ldt\ldt_base.html.py:85
+#: .\templates\ldt\ldt_base.html.py:89
 msgid "Link to admin"
 msgstr "Lien vers admin"
 
-#: .\templates\ldt\ldt_base.html.py:85
+#: .\templates\ldt\ldt_base.html.py:89
 msgid "Staff"
 msgstr "admin"
 
-#: .\templates\ldt\ldt_base.html.py:88
+#: .\templates\ldt\ldt_base.html.py:92
 #: .\user\templates\ldt\user\change_profile.html.py:85
 msgid "Profile change"
 msgstr "Modification du profil"
 
-#: .\templates\ldt\ldt_base.html.py:107 .\templates\ldt\ldt_base.html.py:108
+#: .\templates\ldt\ldt_base.html.py:111 .\templates\ldt\ldt_base.html.py:112
 msgid "home"
 msgstr "accueil"
 
-#: .\templates\ldt\ldt_base.html.py:110
+#: .\templates\ldt\ldt_base.html.py:114
 msgid "contents"
 msgstr "Liste des contenus"
 
-#: .\templates\ldt\ldt_base.html.py:111
+#: .\templates\ldt\ldt_base.html.py:115
 msgid "indexation projects"
 msgstr "Projets d'indexation"
 
-#: .\templates\ldt\ldt_base.html.py:112
+#: .\templates\ldt\ldt_base.html.py:116
 msgid "accounts"
 msgstr "Comptes"
 
-#: .\templates\ldt\ldt_base.html.py:113
+#: .\templates\ldt\ldt_base.html.py:117
 #: .\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
 msgid "Profiles"
 msgstr "Mon profil"
 
-#: .\templates\ldt\ldt_base.html.py:139
+#: .\templates\ldt\ldt_base.html.py:145
 msgid "Version number"
 msgstr "Numéro de version"
 
-#: .\templates\ldt\ldt_base.html.py:139
+#: .\templates\ldt\ldt_base.html.py:145
 #, python-format
 msgid " web %(WEB_VERSION)s | platform %(VERSION)s"
 msgstr "web v%(WEB_VERSION)s | platform v%(VERSION)s "
@@ -1194,3 +1208,6 @@
 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 "Django site admin"
+#~ msgstr "Administration de Django"
--- a/src/ldt/ldt/templates/admin/base_site.html	Mon Sep 26 11:05:51 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-{% extends "admin/base.html" %}
-{% load i18n %}
-
-{% block title %}{{ title }} | {% trans 'Django site admin' %}{% endblock %}
-
-{% block branding %}
-<h1 id="site-name">{% trans 'Django administration' %}</h1>
-{% endblock %}
-
-{% block nav-global %}
-    <style type="text/css">
-        .adminlink {
-        	margin:0 10px 10px;
-        	display:block;
-        	float:left;
-        }
-    </style>
-    
-    <a href="{% url admin:index %}" clas="adminlink">Admin home</a>  
-    <a href="{% url root-view %}" class="adminlink">Website home</a>
-{% endblock %}
--- a/web/ldtplatform/settings.py	Mon Sep 26 11:05:51 2011 +0200
+++ b/web/ldtplatform/settings.py	Wed Sep 28 17:33:25 2011 +0200
@@ -101,14 +101,14 @@
 )
 
 
-
 ROOT_URLCONF = 'ldtplatform.urls'
 
 TEMPLATE_DIRS = (
     # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
     # Always use forward slashes, even on Windows.
     # Don't forget to use absolute paths, not relative paths.
-    os.path.join(os.path.basename(__file__), 'templates'),    
+    os.path.join(os.path.basename(__file__), 'templates'), 
+    os.path.join(os.path.dirname(__file__), 'templates'),  
 )
     
 FIXTURES_DIRS = (
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/ldtplatform/templates/admin/base_site.html	Wed Sep 28 17:33:25 2011 +0200
@@ -0,0 +1,21 @@
+{% extends "admin/base.html" %}
+{% load i18n %}
+
+{% block title %}{{ title }} | {% trans 'Django site admin' %}{% endblock %}
+
+{% block branding %}
+<h1 id="site-name">{% trans 'Django administration' %}</h1>
+{% endblock %}
+
+{% block nav-global %}
+    <style type="text/css">
+        .adminlink {
+        	margin:0 10px 10px;
+        	display:block;
+        	float:left;
+        }
+    </style>
+    
+    <a href="{% url admin:index %}" class="adminlink">Admin home</a>  
+    <a href="{% url root-view %}" class="adminlink">Website home</a>
+{% endblock %}
\ No newline at end of file