Fixed| bouton close sur BookTimeLine
authortotetm <>
Thu, 11 Feb 2010 17:29:23 +0100
changeset 42 594fdedecf7f
parent 41 b51a10574e7f
child 43 7fa99f1c36a4
Fixed| bouton close sur BookTimeLine Fixed| loading blocker sur les éléments du corpus vidéolivre (book a charger) Fixed| afficher l'état sur on load et loader sur les éléments du corpus vidéolivre ("book a charger") Fixed| bug du title sur book timline Fixed| Actualisation de l'affichage des annotations sur seek de la timline sans play Fixed| Seek possible quand play Fixed| Bug sur le placement tetris ? Fixed| texte par default sur les champs d'annotations
client/src/Iri.Modernisation.BaseMVVM/Commands/Commands.cs
client/src/Iri.Modernisation.Controls/Iri.Modernisation.Controls.csproj
client/src/Iri.Modernisation.Controls/View/BookTimeLine/BookTimeLine.xaml
client/src/Iri.Modernisation.Controls/View/BookTimeLine/BookTimeLine.xaml.cs
client/src/Iri.Modernisation.Controls/View/NavigationBar/ConsultMenu.xaml
client/src/Iri.Modernisation.Controls/ViewModel/AnnotationMaker/AnnotationMakerVM.cs
client/src/Iri.Modernisation.Controls/ViewModel/BookTimeLine/BookTimeLineVM.cs
client/src/Iri.Modernisation.Controls/ViewModel/ConsultationBookView/ConsultationBookViewVM.cs
client/src/Iri.Modernisation.Controls/ViewModel/ConsultationView/ConsultationViewVM.cs
client/src/Iri.Modernisation.Controls/ViewModel/Main/MainVM.cs
client/src/Iri.Modernisation.Controls/ViewModel/NavigationBar/ConsultMenuVM.cs
client/src/Iri.Modernisation.Controls/ViewModel/NavigationBar/ConsultVideoBookVM.cs
client/src/Iri.Modernisation.Data/Models/VideoBook.cs
client/src/Iri.Modernisation.Lang/LangResource.Designer.cs
client/src/Iri.Modernisation.Lang/LangResource.en-US.resx
client/src/Iri.Modernisation.Lang/LangResource.fr-FR.resx
client/src/Iri.Modernisation.Lang/LangResource.resx
client/test/FranceCulture/FranceCulture/FranceCulture.Web/Content/FranceInterENMI28.ldt
client/test/FranceCulture/FranceCulture/FranceCulture.Web/Content/FranceInterENMI29.ldt
client/test/FranceCulture/FranceCulture/FranceCulture.Web/Content/iri_matinalefi28nov2009/iri_matinalefi28nov2009.iri
client/test/FranceCulture/FranceCulture/FranceCulture.Web/Content/iri_matinalefi29nov2009/iri_matinalefi29nov2009.iri
client/test/FranceCulture/FranceCulture/FranceCulture.Web/FranceCulture.Web.csproj
client/test/FranceCulture/FranceCulture/FranceCulture.Web/ProjectConfig.xml
--- a/client/src/Iri.Modernisation.BaseMVVM/Commands/Commands.cs	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.BaseMVVM/Commands/Commands.cs	Thu Feb 11 17:29:23 2010 +0100
@@ -552,20 +552,22 @@
 
             static BookTimeLine()
             {
-                SaveAnnotations = new Command("SaveAnnotations");
+               
                 LeftClickOnElement = new Command("LeftClickOnElement");
+                CloseBookTimeLine = new Command("CloseBookTimeLine");
         
             }
+            public static Command CloseBookTimeLine
+            {
+                get;
+                private set;
+            }
             public static Command LeftClickOnElement
             {
                 get;
                 private set;
             }
-            public static Command SaveAnnotations
-            {
-                get;
-                private set;
-            }
+           
             
             public static void Initialize()
             {
--- a/client/src/Iri.Modernisation.Controls/Iri.Modernisation.Controls.csproj	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Controls/Iri.Modernisation.Controls.csproj	Thu Feb 11 17:29:23 2010 +0100
@@ -115,6 +115,7 @@
     <Compile Include="ViewModel\NavigationBar\ConsultMenuVM.cs" />
     <Compile Include="ViewModel\HeaderControl\HeaderControlVM.cs" />
     <Compile Include="ViewModel\MenuableViewModel.cs" />
+    <Compile Include="ViewModel\NavigationBar\ConsultVideoBookVM.cs" />
     <Compile Include="ViewModel\NavigationBar\NavigationBarVM.cs" />
     <Compile Include="ViewModel\PolemicElementVM.cs" />
     <Compile Include="ViewModel\NavigationBar\ProductionMenuVM.cs" />
--- a/client/src/Iri.Modernisation.Controls/View/BookTimeLine/BookTimeLine.xaml	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/BookTimeLine/BookTimeLine.xaml	Thu Feb 11 17:29:23 2010 +0100
@@ -22,7 +22,8 @@
 			</StackPanel>
 			<ToggleButton x:Name="DisplayCommentButton"  Content="Display" Width="88" IsChecked="True"/>
 			<!--<Button x:Name="saveAnnotationsButton" Content="Save" Width="60" Input:CommandService.Command="SaveAnnotations"/>-->
-			<Slider x:Name="ScaleTimeLine" Height="31" HorizontalAlignment="Left" Margin="143,0,1,0"  Width="138" Value="{Binding ScaleValue, Mode=TwoWay}" Minimum="1" Maximum="10" />
+			<Slider x:Name="ScaleTimeLine" Height="31" HorizontalAlignment="Left" Margin="4,0,1,0"  Width="138" Value="{Binding ScaleValue, Mode=TwoWay}" Minimum="1" Maximum="10" />
+			<Button x:Name="CloseBookTimeLineButton" Content="X" Width="40" Input:CommandService.Command="CloseBookTimeLine" Input:CommandService.CommandParameter="{Binding}"/>
 			
 		</StackPanel>
 		<ScrollViewer x:Name="TimeLineScroller"  HorizontalScrollBarVisibility="Visible" Margin="0,0,8,0" VerticalScrollBarVisibility="Disabled" >
--- a/client/src/Iri.Modernisation.Controls/View/BookTimeLine/BookTimeLine.xaml.cs	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/BookTimeLine/BookTimeLine.xaml.cs	Thu Feb 11 17:29:23 2010 +0100
@@ -21,13 +21,18 @@
         public BookTimeLine()
         {
             InitializeComponent();
-       
+          
+            
             TimeStripsPanel.SizeChanged += new SizeChangedEventHandler(TimeStripsPanel_SizeChanged);
-            BookTimeLineSlider.ThumbDragStarted += new EventHandler<EventArgs>(TimeSlider_ThumbDragCompleted);
-            BookTimeLineSlider.ThumbDragCompleted += new EventHandler<EventArgs>(TimeSlider_ThumbDragCompleted);
+            
             BookTimeLineSlider.MouseLeftButtonUp += new MouseButtonEventHandler(BookTimeLineSlider_MouseLeftButtonUp);
             //saveAnnotationsButton.Click += new RoutedEventHandler(saveAnnotationsButton_Click);
+        
             Commands.AnnotationMaker.NewAnnotationFinished.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(NewAnnotationFinished_Executed);
+            BookTimeLineSlider.ThumbDragStarted += new EventHandler<EventArgs>(TimeSlider_ThumbDragStarted);
+            BookTimeLineSlider.ThumbDragCompleted += new EventHandler<EventArgs>(TimeSlider_ThumbDragCompleted);
+           
+           
         }
 
         void saveAnnotationsButton_Click(object sender, RoutedEventArgs e)
@@ -49,7 +54,10 @@
         {
             if (_saveVideoViewerState)
             {
+              
                 ((BookTimeLineVM)DataContext).ViewModelVideoViewer.Play();
+               
+
             }
         }
 
@@ -67,6 +75,8 @@
         private void BookTimeLineSlider_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
         {
             Commands.TimeChange.Execute(BookTimeLineSlider.Value,DataContext);
+            
+            
         }
 
         private void TimeStripsPanel_SizeChanged(object sender, SizeChangedEventArgs e)
@@ -96,8 +106,10 @@
                 }
             }
             int basi = 0;
+           
             foreach (List<Annotation> LAnnotation in VM.Annotations)
             {
+                LAnnotation.Sort((a, b) => TimeSpan.Compare( b.Duration,a.Duration));
                 foreach (Annotation Annotation in LAnnotation)
                 {
                     PolemicElementControl pol = new PolemicElementControl();
@@ -118,7 +130,7 @@
                             int actualTop = (int)Canvas.GetTop(lockedControl);
                             if (basi <= actualTop)
                            {
-                                basi += 10;
+                                basi += 12;
                            }
                             
                         }
--- a/client/src/Iri.Modernisation.Controls/View/NavigationBar/ConsultMenu.xaml	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/NavigationBar/ConsultMenu.xaml	Thu Feb 11 17:29:23 2010 +0100
@@ -41,14 +41,15 @@
 		<ListBox x:Name="ResultSearchList" Height="152" ItemsSource="{Binding VideoBooks}"  Margin="0,0,8,0">
             <ListBox.ItemTemplate>
                 <DataTemplate>
-                    <Grid>
-                        <TextBlock Text="{Binding Title}" Input:CommandService.Command="ClickBook" Input:CommandService.CommandParameter="{Binding}">
-                        
-                        </TextBlock>
-                        <ToolTipService.ToolTip>
-                            <TextBlock Text="{Binding Title}"/>
+                    <StackPanel Orientation="Horizontal" Background="Transparent" Input:CommandService.Command="ClickBook" Input:CommandService.CommandParameter="{Binding VideoBook}">
+                        <TextBlock Text="{Binding VideoBook.Title}" />
+                        <TextBlock Text="("/>
+						<TextBlock Text="{Binding DownloadState}"/>
+						<TextBlock Text=")"/>
+						<ToolTipService.ToolTip>
+                            <TextBlock Text="{Binding VideoBook.Title}"/>
                         </ToolTipService.ToolTip>
-                    </Grid>
+                    </StackPanel>
                 </DataTemplate>
             </ListBox.ItemTemplate>
 
--- a/client/src/Iri.Modernisation.Controls/ViewModel/AnnotationMaker/AnnotationMakerVM.cs	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/AnnotationMaker/AnnotationMakerVM.cs	Thu Feb 11 17:29:23 2010 +0100
@@ -149,7 +149,17 @@
         public String Title
         {
             get
-            { return _title; }
+            {
+                if (_title != String.Empty)
+                {
+                    return _title;
+                }
+                else
+                {
+                    return  "+Ajouter un titre";
+                   
+                }
+            }
             set
             {
                 _title = value;
@@ -167,7 +177,14 @@
         {
             get
             {
-                return _description;
+                if(_description != String.Empty)
+                {
+                    return _description;
+                }
+                else
+                {
+                    return "+Ajouter Description";
+                }
             }
             set
             {
@@ -189,14 +206,17 @@
         {
             get
             {
-                try
+                if(_tags.Count !=0 || _tags!=null)
                 {
                     return String.Join(",", _tags.ToArray());
                 }
-                catch 
+                else
                 {
-                    return String.Empty;
+                    return "+Ajouter Tag";
                 }
+                
+                   
+                
             }
             set
             {
@@ -404,23 +424,24 @@
             helper.ResponseComplete += new HttpResponseCompleteEventHandler(helper_ResponseComplete);
             helper.Execute();
              
-        
-          /*  HttpSendHelper hsh = new HttpSendHelper("POST", FactoryVideoLivre.UpdateBookService,
-                new Dictionary<String, String> { 
-                                                   { "ldtIs", "world" },
-                                                   {"AnnotationLdtFile",newfile.ToString()} 
-                                                });
-            hsh.Execute();*/
+      
 
 
-        /** Local Mode **/
+
             Commands.AnnotationMaker.NewAnnotationFinished.Execute(_newAnnotation,_refElement);
 
             /********/
 
 
             _refElement = null;
+            Title = String.Empty;
+            Description = String.Empty;
+            Tags = String.Empty;
+            BasicRelation = null;
+            PolemicRelation = null;
+
             OnPropertyChanged("IsControlEnable");
+         
            
         }
         
@@ -469,6 +490,8 @@
             InitializeCommands();
             Begin = RefElement.TimerIn.TotalMilliseconds;
             End = RefElement.TimerOut.TotalMilliseconds;
+       
+           
         }
 
 
--- a/client/src/Iri.Modernisation.Controls/ViewModel/BookTimeLine/BookTimeLineVM.cs	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/BookTimeLine/BookTimeLineVM.cs	Thu Feb 11 17:29:23 2010 +0100
@@ -192,14 +192,11 @@
             _annotations = new List<Annotation>[bookParam.Chapters.Length];
             LoadElements();
             Commands.TimeChange.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(TimeChange_Executed);
-            Commands.BookTimeLine.SaveAnnotations.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(SaveAnnotations_Executed);
+            
 
         }
 
-        void SaveAnnotations_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
-        {
-         
-        }
+      
         private double _scaleValue;
         public double ScaleValue
         {
--- a/client/src/Iri.Modernisation.Controls/ViewModel/ConsultationBookView/ConsultationBookViewVM.cs	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/ConsultationBookView/ConsultationBookViewVM.cs	Thu Feb 11 17:29:23 2010 +0100
@@ -54,25 +54,41 @@
             }
             set
             {
-                _selectedIndex = value;
-                _selectedIndexTitle = ((SegmentIndex)value).Title;
-                _selectedIndexDescription = ((SegmentIndex)value).Description;
-                _selectedIndexTags = ((SegmentIndex)value).Tags;
-                _selectedBook = _selectedIndex.Chapter.Book;
-                _title = _selectedIndex.Chapter.Book.Title;
-                _author = _selectedIndex.Chapter.Book.Author;
-                _chapters = _selectedIndex.Chapter.Book.Chapters;
-                _selectedIndexAnnotation.Clear();
-                List<AnnotationViewerVM> _temp = new List<AnnotationViewerVM>();
-                foreach (Annotation An in ((SegmentIndex)value).Chapter.Annotations)
+                if (value != null)
                 {
-                    if (An.TimerIn <= ((SegmentIndex)value).TimerOut && An.TimerOut >= ((SegmentIndex)value).TimerIn)
+                    _selectedIndex = value;
+                    _selectedIndexTitle = ((SegmentIndex)value).Title;
+                    _selectedIndexDescription = ((SegmentIndex)value).Description;
+                    _selectedIndexTags = ((SegmentIndex)value).Tags;
+                    _selectedBook = _selectedIndex.Chapter.Book;
+                    _title = _selectedIndex.Chapter.Book.Title;
+                    _author = _selectedIndex.Chapter.Book.Author;
+                    _chapters = _selectedIndex.Chapter.Book.Chapters;
+                    _selectedIndexAnnotation.Clear();
+                    List<AnnotationViewerVM> _temp = new List<AnnotationViewerVM>();
+                    foreach (Annotation An in ((SegmentIndex)value).Chapter.Annotations)
                     {
-                          _temp.Add(new AnnotationViewerVM (An));
+                        if (An.TimerIn <= ((SegmentIndex)value).TimerOut && An.TimerOut >= ((SegmentIndex)value).TimerIn)
+                        {
+                            _temp.Add(new AnnotationViewerVM(An));
+                        }
                     }
+                    SelectedIndexAnnotation = _temp;
                 }
-                SelectedIndexAnnotation = _temp;
-
+                else
+                {
+                    _selectedIndex = null;
+                    _selectedIndexTitle = String.Empty;
+                    _selectedIndexDescription = String.Empty;
+                    _selectedIndexTags = new List<string>();
+                    _selectedBook = null;
+                    _title = null;
+                    _author = null;
+                    _chapters = null;
+                    _selectedIndexAnnotation.Clear();
+                  
+                    SelectedIndexAnnotation = new List<AnnotationViewerVM>();
+                }
                 OnPropertyChanged(null);
             
          
@@ -169,7 +185,7 @@
             private set
             {
                 _title = value;
-                _selectedBook.Title = value;
+           
                 OnPropertyChanged("Title");
             }
         }
@@ -187,7 +203,7 @@
             private set
             {
                 _author = value;
-                _selectedBook.Author = value;
+            
                 OnPropertyChanged("Author");
             }
 
@@ -206,7 +222,7 @@
             private set
             {
                 _chapters = value;
-                _selectedBook.Chapters = value;
+        
                 OnPropertyChanged("Chapters");
             }
         }
@@ -257,21 +273,35 @@
             }
             set
             {
-                _selectedBookVM = value;
-             
-                _selectedBook = value.SelectedBook;
-                _title = value.SelectedBook.Title;
-                _author = value.SelectedBook.Author;
-                _chapters = value.SelectedBook.Chapters;
-                ActualVideoSourceVM.Source = value.SelectedBook.MediaPath;
+                if (value != null)
+                {
+                    _selectedBookVM = value;
+
+                    _selectedBook = value.SelectedBook;
+                    _title = value.SelectedBook.Title;
+                    _author = value.SelectedBook.Author;
+                    _chapters = value.SelectedBook.Chapters;
+                    ActualVideoSourceVM.Source = value.SelectedBook.MediaPath;
                     ActualVideoSourceVM.Position = TimeSpan.FromMilliseconds(value.Position);
-               
-               
-                
-                SelectedIndex = value.SelectedBook.Chapters[0].Index[0];
-             
-                OnPropertyChanged(null);
-                Commands.GoToTime.Execute(value.Position);
+
+
+
+                    SelectedIndex = value.SelectedBook.Chapters[0].Index[0];
+                    Commands.GoToTime.Execute(value.Position);
+                }
+                else
+                {
+                    _selectedBookVM = null;
+                    _selectedBook = null;
+                    _title = null;
+                    _author = null;
+                    _chapters = null;
+                    ActualVideoSourceVM.Source = null;
+                    ActualVideoSourceVM.Position = TimeSpan.Zero;
+                    SelectedIndex = null;
+                }
+                OnPropertyChanged(String.Empty);
+              
             }
         }
         private VideoViewerVM _actualVideoSourceVM;
@@ -313,19 +343,55 @@
             SelectedIndex = param.SelectedBook.Chapters[0].Index[0];
             
             InitializeCommands();
+           
+          
 
+        }
 
+        void ActualVideoSourceVM_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
+        {
+         
+            if (e.PropertyName == "Position")
+            {
+                if (SelectedBook != null)
+                {
+                    TimeSpan Pos = TimeSpan.FromMilliseconds(SelectedBookVM.Position);
+                    SelectedBookVM.Position = Pos.TotalMilliseconds;
+                    if (SelectedIndex.TimerOut < Pos || SelectedIndex.TimerIn > Pos)
+                    {
+                        foreach (SegmentIndex Index in SelectedIndex.Chapter.Index)
+                        {
+                            if (Index.TimerIn <= Pos && Index.TimerOut >= Pos)
+                            {
+                                SelectedIndex = Index;
+                            }
+
+                        }
+                    }
+                }
+            }
         }
         private void InitializeCommands()
         {
             ActualVideoSourceVM.Tick += new EventHandler<VideoViewerVMEventArgs>(ActualVideoSourceVM_Tick);
-              }
+            Commands.TimeChange.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(TimeChange_Executed);
+        }
 
-        private void ActualVideoSourceVM_Tick(object sender, VideoViewerVMEventArgs e)
+        void TimeChange_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
         {
-            if(SelectedBook!=null)
+            BookTimeLineVM BookTimeLineVM = (BookTimeLineVM)e.Source;
+
+            if (BookTimeLineVM == this.SelectedBookVM)
             {
-                TimeSpan Pos = e.Position; 
+                UpdateAnnotation();
+            }
+        }
+
+        private void UpdateAnnotation()
+        {
+            if (SelectedBook != null)
+            {
+                TimeSpan Pos = TimeSpan.FromMilliseconds(SelectedBookVM.Position);
                 SelectedBookVM.Position = Pos.TotalMilliseconds;
                 if (SelectedIndex.TimerOut < Pos || SelectedIndex.TimerIn > Pos)
                 {
@@ -340,6 +406,12 @@
                 }
             }
         }
+
+        private void ActualVideoSourceVM_Tick(object sender, VideoViewerVMEventArgs e)
+        {
+            SelectedBookVM.Position =  e.Position.TotalMilliseconds;
+            UpdateAnnotation();
+        }
        
     }
 }
--- a/client/src/Iri.Modernisation.Controls/ViewModel/ConsultationView/ConsultationViewVM.cs	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/ConsultationView/ConsultationViewVM.cs	Thu Feb 11 17:29:23 2010 +0100
@@ -71,7 +71,14 @@
             {
                 _selectedVideoBookIndex= value;
                 OnPropertyChanged("SelectedVideoBookIndex");
-                ConsultationBookViewContextMenu.SelectedBookVM = (_selectedVideoBooks[value]);
+                if (_selectedVideoBooks.Count > value && value >= 0)
+                {
+                    ConsultationBookViewContextMenu.SelectedBookVM = (_selectedVideoBooks[value]);
+                }
+                else
+                {
+                    ConsultationBookViewContextMenu.SelectedBookVM = null;
+                }
                
             }
         }
@@ -121,6 +128,13 @@
             Commands.PolemicElement.SelectPolemicElement.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(SelectPolemicElement_Executed);
             Commands.AnnotationMaker.NewAnnotationFinished.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(NewAnnotationFinished_Executed);
             Commands.BookTimeLine.LeftClickOnElement.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(LeftClickOnElement_Executed);
+            Commands.BookTimeLine.CloseBookTimeLine.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(CloseBookTimeLine_Executed);
+        }
+
+        void CloseBookTimeLine_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
+        {
+            SelectedVideoBooks.Remove((BookTimeLineVM)e.Parameter);
+            BookDeleted(this,new ConsultationVieVMSelectBookArg(((BookTimeLineVM)e.Parameter).SelectedBook));
         }
 
         void LeftClickOnElement_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
@@ -142,7 +156,9 @@
 
            
         }
-       
+
+        List<String> InDownloadFile { get; set; }
+
         /// <summary>
         /// Evenement lors d'un click sur un livre de la liste
         /// </summary>
@@ -152,23 +168,25 @@
         {
 
             bool CanAdd = true;
+            VideoBook clickedVideoBook = ((VideoBook)e.Parameter);
             //On regarde si le VideoLivre qu'on à choisis n'est pas déjà dans la liste des VideoLivres sélectionné
             foreach (BookTimeLineVM BookTLVM in SelectedVideoBooks)
             {
-                if (BookTLVM.SelectedBook.LdtPath == ((VideoBook)e.Parameter).LdtPath)
+                if (BookTLVM.SelectedBook.LdtPath == clickedVideoBook.LdtPath)
                 {
                     CanAdd = false;
                 }
             }
-            if (CanAdd)
+            if (CanAdd && !InDownloadFile.Contains(clickedVideoBook.LdtPath))
             {
                 //Préparation du loader
                /* _loaderVideoBook = new Loader<VideoBook>(LDTFileReader.ConvertToVideoBook);
                 _loaderVideoBook.LoaderFinished += new EventHandler<EventArgs>(LoaderVideoBook_LoaderFinished);
                 _loaderVideoBook.Load(((VideoBook)e.Parameter).LdtPath);*/
+                InDownloadFile.Add(clickedVideoBook .LdtPath);
                 _loaderVideoBook = new VideoBookLoader();
                 _loaderVideoBook.LoaderFinished += new EventHandler<LoaderEventArgs<VideoBook>>(_loaderVideoBook_LoaderFinished);
-                _loaderVideoBook.Load(((VideoBook)e.Parameter).LdtPath);
+                _loaderVideoBook.Load(clickedVideoBook.LdtPath);
             }
             
 
@@ -179,25 +197,15 @@
             VideoBook addedVideoBook = ((LoaderEventArgs<VideoBook>)e).CreatedObject;
             BookTimeLineVM temp = new BookTimeLineVM(addedVideoBook);
             temp.ViewModelVideoViewer = ConsultationBookViewContextMenu.ActualVideoSourceVM;
-            SelectedVideoBooks.Add(temp); ;
+            SelectedVideoBooks.Add(temp);
+            InDownloadFile.Remove(addedVideoBook.LdtPath);
+
+            if(BookDownloaded!=null)
+            BookDownloaded(this,new ConsultationVieVMSelectBookArg(addedVideoBook));
         }
 
-        /// <summary>
-        /// Fonction une fois que le fichier .ldt à été chargé
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-     /*   private void LoaderVideoBook_LoaderFinished(object sender, EventArgs e)
-        {
-            VideoBook addedVideoBook = ((LoaderEventArgs<VideoBook>)e).CreatedObject;
-            ///------- ///
-            addedVideoBook.LdtPath = _loaderVideoBook.Path;
-            ///-----------------///
-            BookTimeLineVM temp = new BookTimeLineVM(addedVideoBook);
-            temp.ViewModelVideoViewer = ConsultationBookViewContextMenu.ActualVideoSourceVM;
-            SelectedVideoBooks.Add(temp);
-            
-        }*/
+        public event EventHandler<ConsultationVieVMSelectBookArg> BookDownloaded;
+        public event EventHandler<ConsultationVieVMSelectBookArg> BookDeleted;
 
         
         private void CreateNewTextualAnnotation_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
@@ -208,6 +216,7 @@
         public ConsultationViewVM()
         {
             InitializeCommands();
+            InDownloadFile = new List<string>();
             _consultationBookViewContextMenu = new ConsultationBookViewVM();
             ViewModelAnnotationMaker = new AnnotationMakerVM();
             SelectedVideoBooks = new SLExtensions.Collections.ObjectModel.ObservableCollection<BookTimeLineVM>();
@@ -225,4 +234,12 @@
             }
         }
     }
+    public class ConsultationVieVMSelectBookArg : EventArgs
+    {
+        public VideoBook Book {get;private set;}
+        public ConsultationVieVMSelectBookArg (VideoBook book)
+        {
+            Book=book;
+        }
+    }
 }
--- a/client/src/Iri.Modernisation.Controls/ViewModel/Main/MainVM.cs	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/Main/MainVM.cs	Thu Feb 11 17:29:23 2010 +0100
@@ -91,7 +91,7 @@
         public MainVM()
         {
 
-            InitializeCommands();
+            
             List<VideoBook> SelectedVideoBooks = new List<VideoBook>();
             SelectedVideoBooks = SettingsProject.ListVideoBook;
 
@@ -101,12 +101,39 @@
             ViewModelConsultationView = new ConsultationViewVM();
             ViewModelNavigationBar = new NavigationBarVM() { ConsultMenuViewModel = new ConsultMenuVM(SelectedVideoBooks) };
             ViewModelHeaderControl = new HeaderControlVM();
+            InitializeCommands();
           
         }
 
         private void InitializeCommands()
         {
             Commands.Initialize();
+            ViewModelConsultationView.BookDownloaded += new EventHandler<ConsultationVieVMSelectBookArg>(ViewModelConsultationView_BookDownloaded);
+            ViewModelConsultationView.BookDeleted += new EventHandler<ConsultationVieVMSelectBookArg>(ViewModelConsultationView_BookDeleted);
+        }
+
+        private void ViewModelConsultationView_BookDeleted(object sender, ConsultationVieVMSelectBookArg e)
+        {
+            foreach (ConsultVideoBookVM Cvbm in ViewModelNavigationBar.ConsultMenuViewModel.VideoBooks)
+            {
+                if (Cvbm.VideoBook.LdtPath == e.Book.LdtPath)
+                {
+                    Cvbm.DownloadState =  Lang.LangResource.NotDownloadedLabel;
+                    break;
+                }
+            }
+        }
+
+        private void ViewModelConsultationView_BookDownloaded(object sender, ConsultationVieVMSelectBookArg e)
+        {
+            foreach (ConsultVideoBookVM Cvbm in ViewModelNavigationBar.ConsultMenuViewModel.VideoBooks)
+            {
+                if(Cvbm.VideoBook.LdtPath == e.Book.LdtPath)
+                {
+                    Cvbm.DownloadState =  Lang.LangResource.DownloadedLabel;
+                    break;
+                }
+            }
         }
        
     }
--- a/client/src/Iri.Modernisation.Controls/ViewModel/NavigationBar/ConsultMenuVM.cs	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/NavigationBar/ConsultMenuVM.cs	Thu Feb 11 17:29:23 2010 +0100
@@ -18,16 +18,17 @@
 {
     public class ConsultMenuVM : BaseMVVM.ViewModel.ViewModel
     {
-      private List<VideoBook> _videoBooks = new List<VideoBook>();
-      private List<VideoBook> list = new List<VideoBook>();
+        private List<ConsultVideoBookVM> _videoBooks = new List<ConsultVideoBookVM>();
+        private List<ConsultVideoBookVM> list = new List<ConsultVideoBookVM>();
         /// <summary>
         /// VideoBooks Disponible
         /// </summary>
-      public List<VideoBook> VideoBooks
+        public List<ConsultVideoBookVM> VideoBooks
       {
           get 
           {
-              _videoBooks.Sort(new VideoBookComparer());
+
+              //_videoBooks.Sort(new VideoBookComparer());
               if (SearchWord != String.Empty)
               {
                   return list;
@@ -123,7 +124,11 @@
          }
         public ConsultMenuVM(List<VideoBook> argList)
         {
-            _videoBooks = argList;
+            //_videoBooks = argList;
+            foreach(VideoBook vb in argList)
+            {
+                _videoBooks.Add(new ConsultVideoBookVM(vb));
+            }
             SearchAuthor = true;
             InitializeCommands();
         }
@@ -133,7 +138,7 @@
         void GetBook_Executed(object sender, ExecutedEventArgs e)
         {
            
-           if (SearchAuthor)
+          /* if (SearchAuthor)
             {
                 var query = from c in _videoBooks
                             where c.Author.UserName.Contains(_searchWord)
@@ -182,7 +187,7 @@
                     }
                 }
                 VideoBooks = temp;
-            }
+            }*/
         }
        
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/NavigationBar/ConsultVideoBookVM.cs	Thu Feb 11 17:29:23 2010 +0100
@@ -0,0 +1,55 @@
+using System;
+using System.Net;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Shapes;
+using Iri.Modernisation.Data.Models;
+using Iri.Modernisation.BaseMVVM.Commands;
+namespace Iri.Modernisation.Controls.ViewModel
+{
+    public class ConsultVideoBookVM : BaseMVVM.ViewModel.ViewModel  
+    {
+        private VideoBook _videoBook
+        {
+            get
+            {
+                return _videoBook;
+            }
+            set
+            {
+                _videoBook = value;
+                OnPropertyChanged("VideoBook");
+            }
+        }
+        public VideoBook VideoBook { get; private set; }
+
+        private String _downloadState { get; set; }
+      
+        public String DownloadState  
+        {
+            get
+            {
+                return _downloadState;
+            }
+            set
+            {
+                _downloadState = value;
+                OnPropertyChanged("DownloadState");
+            }
+        }
+        public ConsultVideoBookVM (VideoBook videoBook)
+        {
+            VideoBook = videoBook;
+            DownloadState = Lang.LangResource.NotDownloadedLabel;
+            InitializeCommands();
+        }
+        private void InitializeCommands()
+        {
+        }
+    }
+}
--- a/client/src/Iri.Modernisation.Data/Models/VideoBook.cs	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Data/Models/VideoBook.cs	Thu Feb 11 17:29:23 2010 +0100
@@ -83,7 +83,8 @@
             LDTFile ldt = new LDTFile();
             ldt.Project = new LDTProject()
              {
-                 Title = this.Title
+                 Title = this.Title,
+                 User = this.Author.UserName
              };
             ldt.Medias = new List<LDTMedia>()
              {
--- a/client/src/Iri.Modernisation.Lang/LangResource.Designer.cs	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Lang/LangResource.Designer.cs	Thu Feb 11 17:29:23 2010 +0100
@@ -124,6 +124,24 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to DownloadedLabel.
+        /// </summary>
+        public static string DownloadedLabel {
+            get {
+                return ResourceManager.GetString("DownloadedLabel", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to DownloadingLabel.
+        /// </summary>
+        public static string DownloadingLabel {
+            get {
+                return ResourceManager.GetString("DownloadingLabel", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to EditingLabel.
         /// </summary>
         public static string EditingLabel {
@@ -259,6 +277,15 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to NotDownloadedLabel.
+        /// </summary>
+        public static string NotDownloadedLabel {
+            get {
+                return ResourceManager.GetString("NotDownloadedLabel", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to OkLabel.
         /// </summary>
         public static string OkLabel {
--- a/client/src/Iri.Modernisation.Lang/LangResource.en-US.resx	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Lang/LangResource.en-US.resx	Thu Feb 11 17:29:23 2010 +0100
@@ -138,6 +138,12 @@
   <data name="DisplayLabel" xml:space="preserve">
     <value>Display</value>
   </data>
+  <data name="DownloadedLabel" xml:space="preserve">
+    <value>DownloadedLabel</value>
+  </data>
+  <data name="DownloadingLabel" xml:space="preserve">
+    <value>DownloadingLabel</value>
+  </data>
   <data name="EditingLabel" xml:space="preserve">
     <value>Editing</value>
   </data>
@@ -183,6 +189,9 @@
   <data name="NotActivedChapter" xml:space="preserve">
     <value>You can't edit the {0} chapter. You have to finish the editing of the previous chapter.</value>
   </data>
+  <data name="NotDownloadedLabel" xml:space="preserve">
+    <value>NotDownloadedLabel</value>
+  </data>
   <data name="OkLabel" xml:space="preserve">
     <value>Ok</value>
   </data>
--- a/client/src/Iri.Modernisation.Lang/LangResource.fr-FR.resx	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Lang/LangResource.fr-FR.resx	Thu Feb 11 17:29:23 2010 +0100
@@ -138,6 +138,12 @@
   <data name="DisplayLabel" xml:space="preserve">
     <value>Afficher</value>
   </data>
+  <data name="DownloadedLabel" xml:space="preserve">
+    <value>Chargé !</value>
+  </data>
+  <data name="DownloadingLabel" xml:space="preserve">
+    <value>Chargement...</value>
+  </data>
   <data name="EditingLabel" xml:space="preserve">
     <value>Edition</value>
   </data>
@@ -189,6 +195,9 @@
   <data name="NotActivedChapter" xml:space="preserve">
     <value>Vous ne pouvez pas éditer le chapitre {0}. Veuillez terminer d'abort l'édition du chapitre précédent.</value>
   </data>
+  <data name="NotDownloadedLabel" xml:space="preserve">
+    <value>Non Chargé</value>
+  </data>
   <data name="OkLabel" xml:space="preserve">
     <value>Ok</value>
   </data>
--- a/client/src/Iri.Modernisation.Lang/LangResource.resx	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/src/Iri.Modernisation.Lang/LangResource.resx	Thu Feb 11 17:29:23 2010 +0100
@@ -138,6 +138,12 @@
   <data name="DisplayLabel" xml:space="preserve">
     <value>DisplayLabel</value>
   </data>
+  <data name="DownloadedLabel" xml:space="preserve">
+    <value>DownloadedLabel</value>
+  </data>
+  <data name="DownloadingLabel" xml:space="preserve">
+    <value>DownloadingLabel</value>
+  </data>
   <data name="EditingLabel" xml:space="preserve">
     <value>EditingLabel</value>
   </data>
@@ -183,6 +189,9 @@
   <data name="NotActivedChapter" xml:space="preserve">
     <value>NotActivedChapter</value>
   </data>
+  <data name="NotDownloadedLabel" xml:space="preserve">
+    <value>NotDownloadedLabel</value>
+  </data>
   <data name="OkLabel" xml:space="preserve">
     <value>OkLabel</value>
   </data>
--- a/client/test/FranceCulture/FranceCulture/FranceCulture.Web/Content/FranceInterENMI28.ldt	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/test/FranceCulture/FranceCulture/FranceCulture.Web/Content/FranceInterENMI28.ldt	Thu Feb 11 17:29:23 2010 +0100
@@ -1,5 +1,5 @@
 <iri xmlns:dc="http://dublincore.org/documents/dcmi-namespace/">
-  <project id="1" user="" title="France Inter ENMI 28-11-2009" abstract=""/>
+  <project id="1" user="France Inter " title="ENMI 28-11-2009" abstract=""/>
   <medias>
     <media id="iri_matinalefi28nov2009" src="/Content/iri_matinalefi28nov2009/iri_matinalefi28nov2009.iri" video="" pict="" extra=""/>
   </medias>
--- a/client/test/FranceCulture/FranceCulture/FranceCulture.Web/Content/FranceInterENMI29.ldt	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/test/FranceCulture/FranceCulture/FranceCulture.Web/Content/FranceInterENMI29.ldt	Thu Feb 11 17:29:23 2010 +0100
@@ -1,15 +1,15 @@
 <iri xmlns:dc="http://dublincore.org/documents/dcmi-namespace/">
-  <project id="0" user="" title="" abstract="" />
+  <project id="0" user="France Inter" title="ENMI 29-11-2009" abstract="" />
   <medias>
     <media id="" src="/Content/iri_matinalefi29nov2009/iri_matinalefi29nov2009.iri" video="" pict="" extra="" />
   </medias>
   <annotations>
-    <content id="b493430f-1ef0-47c6-8106-fa41df22674f" title="" author="" abstract="">
-      <decoupage id="3fa7c4d1-0ca2-4d41-bdff-0c2db9bd8bb1" author="TestUser">
+    <content id="40a8cfb1-b2c1-4621-b7c2-691d7afd7a80" title="" author="" abstract="">
+      <decoupage id="7945effe-0e03-448d-b5e3-ad0a91fa6263" author="TestUser">
         <title>Emission France Culture</title>
         <abstract></abstract>
         <elements>
-          <element id="1b0e6e2f-3ea4-4b01-9639-ca16a1386cde" begin="0" dur="636088" author="TestUser" date="10/02/2010 14:43:58" color="0" src="">
+          <element id="1b0e6e2f-3ea4-4b01-9639-ca16a1386cde" begin="0" dur="636088" author="TestUser" date="11/02/2010 16:34:06" color="0" src="">
             <title>A</title>
             <abstract>A</abstract>
             <audio></audio>
@@ -20,11 +20,26 @@
           </element>
         </elements>
       </decoupage>
-      <decoupage id="4e1bf10e-320d-428d-8465-9cf084e4b9d6" author="TestUser">
+      <decoupage id="e7e4f9d8-60a4-432f-b4ba-26001afe10c7" author="TestUser">
         <title>Emission France Culture</title>
         <abstract></abstract>
         <elements>
-          <element id="537b7d83-ba91-456c-b36d-95cd6c022a9a" begin="0" dur="636088" author="TestUser" date="10/02/2010 14:43:58" color="0" src="">
+          <element id="5df32b26-1bc5-47d1-aa19-cc1936594c1d" begin="0" dur="636088" author="TestUser" date="11/02/2010 16:34:06" color="0" src="">
+            <title>aa</title>
+            <abstract>aa</abstract>
+            <audio></audio>
+            <video></video>
+            <tags>
+              <tag>aa</tag>
+            </tags>
+          </element>
+        </elements>
+      </decoupage>
+      <decoupage id="5b038fcf-675e-48f0-abb2-2859898bc7e9" author="TestUser">
+        <title>Emission France Culture</title>
+        <abstract></abstract>
+        <elements>
+          <element id="537b7d83-ba91-456c-b36d-95cd6c022a9a" begin="0" dur="636088" author="TestUser" date="11/02/2010 16:34:06" color="0" src="">
             <title>B</title>
             <abstract>B</abstract>
             <audio></audio>
@@ -35,11 +50,118 @@
           </element>
         </elements>
       </decoupage>
-      <decoupage id="67bf2701-b74c-476e-b0bd-586e2df84c10" author="TestUser">
+      <decoupage id="57bb65b7-4274-47ae-ac47-7de10e057d98" author="TestUser">
+        <title>Emission France Culture</title>
+        <abstract></abstract>
+        <elements>
+          <element id="da01030b-b20d-4e2e-a57b-02eff8e43974" begin="2504208" dur="306150" author="TestUser" date="11/02/2010 16:34:06" color="0" src="">
+            <title>Alors là</title>
+            <abstract>C'est vraiment nul !</abstract>
+            <audio></audio>
+            <video></video>
+            <tags>
+              <tag>nul</tag>
+              <tag>pas bien</tag>
+              <tag>mauvais</tag>
+            </tags>
+          </element>
+        </elements>
+      </decoupage>
+      <decoupage id="36c2a65f-3a40-45c1-b2d2-864b4bbe9d01" author="TestUser">
+        <title>Emission France Culture</title>
+        <abstract></abstract>
+        <elements>
+          <element id="8e5c1014-8663-4dac-9ea9-5ff2b03694fa" begin="847179" dur="227432" author="TestUser" date="11/02/2010 16:34:06" color="0" src="">
+            <title></title>
+            <abstract></abstract>
+            <audio></audio>
+            <video></video>
+            <tags>
+              <tag></tag>
+            </tags>
+          </element>
+        </elements>
+      </decoupage>
+      <decoupage id="9f085784-7c25-4a87-869b-dec7d23254b3" author="TestUser">
+        <title>Emission France Culture</title>
+        <abstract></abstract>
+        <elements>
+          <element id="b121489a-ac88-491f-9952-0d645a91e662" begin="1546865" dur="155749" author="TestUser" date="11/02/2010 16:34:06" color="0" src="">
+            <title>Hello</title>
+            <abstract>Hello</abstract>
+            <audio></audio>
+            <video></video>
+            <tags>
+              <tag></tag>
+            </tags>
+          </element>
+        </elements>
+      </decoupage>
+      <decoupage id="08d95d18-cb95-492b-a473-6196f38cb74f" author="TestUser">
         <title>Emission France Culture</title>
         <abstract></abstract>
         <elements>
-          <element id="da8b4bf7-9007-448e-9549-1812755a8277" begin="847179" dur="0" author="TestUser" date="10/02/2010 14:43:58" color="0" src="">
+          <element id="1f211aa6-1277-47f2-b4c5-95924e877838" begin="0" dur="128245" author="TestUser" date="11/02/2010 16:34:06" color="0" src="">
+            <title>d</title>
+            <abstract>d</abstract>
+            <audio></audio>
+            <video></video>
+            <tags>
+              <tag></tag>
+            </tags>
+          </element>
+        </elements>
+      </decoupage>
+      <decoupage id="90288a62-51f7-4ae1-ba86-adc9fc7a4741" author="TestUser">
+        <title>Emission France Culture</title>
+        <abstract></abstract>
+        <elements>
+          <element id="ae40c7ee-7e35-4227-8bdf-2bf8ee02da1b" begin="2611514" dur="91405" author="TestUser" date="11/02/2010 16:34:06" color="0" src="">
+            <title>o</title>
+            <abstract>o</abstract>
+            <audio></audio>
+            <video></video>
+            <tags>
+              <tag></tag>
+            </tags>
+          </element>
+        </elements>
+      </decoupage>
+      <decoupage id="b3f17949-5fdb-43be-9683-6596b7c17cc6" author="TestUser">
+        <title>Emission France Culture</title>
+        <abstract></abstract>
+        <elements>
+          <element id="51ee8d2a-5d22-44ea-8966-fd8842059b2c" begin="2504208" dur="57265" author="TestUser" date="11/02/2010 16:34:06" color="0" src="">
+            <title>Papabowo</title>
+            <abstract>Django</abstract>
+            <audio></audio>
+            <video></video>
+            <tags>
+              <tag></tag>
+            </tags>
+          </element>
+        </elements>
+      </decoupage>
+      <decoupage id="73412e9e-1ee0-49d7-933c-41c49af764a9" author="TestUser">
+        <title>Emission France Culture</title>
+        <abstract></abstract>
+        <elements>
+          <element id="b6ccb96b-cd33-4a88-a510-c7dd71567952" begin="1400796" dur="53494" author="TestUser" date="11/02/2010 16:34:06" color="0" src="">
+            <title>aa</title>
+            <abstract>aaa</abstract>
+            <audio></audio>
+            <video></video>
+            <tags>
+              <tag>aaa</tag>
+            </tags>
+          </element>
+        </elements>
+      </decoupage>
+      <decoupage id="f6717c9e-09c0-407e-9fec-1e0dbb0d7f82" author="TestUser">
+        <title>Emission France Culture</title>
+        <abstract></abstract>
+        <elements>
+          <element id="da8b4bf7-9007-448e-9549-1812755a8277" begin="847179" dur="0" author="TestUser" date="11/02/2010 16:34:06" color="0" src="">
             <title>aa</title>
             <abstract>aaa</abstract>
             <audio></audio>
@@ -50,32 +172,20 @@
           </element>
         </elements>
       </decoupage>
-      <decoupage id="8f119fa3-283d-4586-8224-0cb76235502a" author="TestUser">
+      <decoupage id="d16800c4-9e43-4eee-a94e-ff47e5e386c0" author="TestUser">
         <title>Emission France Culture</title>
         <abstract></abstract>
         <elements>
-          <element id="8e5c1014-8663-4dac-9ea9-5ff2b03694fa" begin="847179" dur="227432" author="TestUser" date="10/02/2010 14:43:58" color="0" src="">
-            <title></title>
-            <abstract></abstract>
+          <element id="24d7c6ba-f001-4ff8-b791-259631b6c38f" begin="2722591" dur="119703" author="TestUser" date="11/02/2010 16:34:06" color="0" src="">
+            <title>Oui Mais ?</title>
+            <abstract>Encore !</abstract>
             <audio></audio>
             <video></video>
             <tags>
-              <tag></tag>
-            </tags>
-          </element>
-        </elements>
-      </decoupage>
-      <decoupage id="c630e9d7-f641-48e0-aee5-fb903bc24baa" author="TestUser">
-        <title>Emission France Culture</title>
-        <abstract></abstract>
-        <elements>
-          <element id="b6ccb96b-cd33-4a88-a510-c7dd71567952" begin="1400796" dur="53494" author="TestUser" date="10/02/2010 14:43:58" color="0" src="">
-            <title>aa</title>
-            <abstract>aaa</abstract>
-            <audio></audio>
-            <video></video>
-            <tags>
-              <tag>aaa</tag>
+              <tag>a</tag>
+              <tag>b</tag>
+              <tag>c</tag>
+              <tag>d</tag>
             </tags>
           </element>
         </elements>
@@ -90,6 +200,13 @@
     <relation idElementFrom="s_F47370B1-C509-1630-A07B-748EAB0156D8" idElementTo="da8b4bf7-9007-448e-9549-1812755a8277" title="aa" type="Question" />
     <relation idElementFrom="s_F47370B1-C509-1630-A07B-748EAB0156D8" idElementTo="8e5c1014-8663-4dac-9ea9-5ff2b03694fa" title="" type="Question" />
     <relation idElementFrom="s_2B140B79-08CF-221B-9692-748EAB0CACFA" idElementTo="b6ccb96b-cd33-4a88-a510-c7dd71567952" title="aa" type="Polémique" />
+    <relation idElementFrom="s_92506216-25D0-6E9F-A10B-748EAAFA09B9" idElementTo="5df32b26-1bc5-47d1-aa19-cc1936594c1d" title="aa" type="Polémique" />
+    <relation idElementFrom="s_17D5A170-54BD-A15C-D1DE-748EAB110465" idElementTo="b121489a-ac88-491f-9952-0d645a91e662" title="Hello" type="Polémique" />
+    <relation idElementFrom="s_9F218423-9098-E077-BDEA-748EAB1D6B53" idElementTo="ae40c7ee-7e35-4227-8bdf-2bf8ee02da1b" title="o" type="Référence" />
+    <relation idElementFrom="s_92506216-25D0-6E9F-A10B-748EAAFA09B9" idElementTo="1f211aa6-1277-47f2-b4c5-95924e877838" title="d" type="Polémique" />
+    <relation idElementFrom="s_9F218423-9098-E077-BDEA-748EAB1D6B53" idElementTo="51ee8d2a-5d22-44ea-8966-fd8842059b2c" title="Papabowo" type="Polémique" />
+    <relation idElementFrom="s_9F218423-9098-E077-BDEA-748EAB1D6B53" idElementTo="da01030b-b20d-4e2e-a57b-02eff8e43974" title="Alors là" type="Polémique" />
+    <relation idElementFrom="s_9F218423-9098-E077-BDEA-748EAB1D6B53" idElementTo="24d7c6ba-f001-4ff8-b791-259631b6c38f" title="Oui Mais ?" type="Référence" />
   </basicRelations>
   <polemicRelations />
 </iri>
\ No newline at end of file
--- a/client/test/FranceCulture/FranceCulture/FranceCulture.Web/Content/iri_matinalefi28nov2009/iri_matinalefi28nov2009.iri	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/test/FranceCulture/FranceCulture/FranceCulture.Web/Content/iri_matinalefi28nov2009/iri_matinalefi28nov2009.iri	Thu Feb 11 17:29:23 2010 +0100
@@ -832,7 +832,7 @@
 		<links/>
 		<medias>
 			<media id="video">
-				<video dur="7231314" begin="0" src="http://localhost:6848/Content/iri_matinalefi28nov2009/iri_matinalefi28nov2009.mp3" id="a1" q=""/>
+				<video dur="7231314" begin="0" src="http://localhost:7375/Content/iri_matinalefi28nov2009/iri_matinalefi28nov2009.mp3" id="a1" q=""/>
 			</media>
 		</medias>
 		<display>
--- a/client/test/FranceCulture/FranceCulture/FranceCulture.Web/Content/iri_matinalefi29nov2009/iri_matinalefi29nov2009.iri	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/test/FranceCulture/FranceCulture/FranceCulture.Web/Content/iri_matinalefi29nov2009/iri_matinalefi29nov2009.iri	Thu Feb 11 17:29:23 2010 +0100
@@ -541,7 +541,7 @@
 		<links/>
 		<medias>
 			<media id="video">
-				<video dur="7209241" begin="0" src="http://localhost:6848/Content/iri_matinalefi29nov2009/iri_matinalefi29nov2009.mp3" id="a1" q="0"/>
+				<video dur="7209241" begin="0" src="http://localhost:7375/Content/iri_matinalefi29nov2009/iri_matinalefi29nov2009.mp3" id="a1" q="0"/>
 			</media>
 		</medias>
 		<display>
--- a/client/test/FranceCulture/FranceCulture/FranceCulture.Web/FranceCulture.Web.csproj	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/test/FranceCulture/FranceCulture/FranceCulture.Web/FranceCulture.Web.csproj	Thu Feb 11 17:29:23 2010 +0100
@@ -87,7 +87,7 @@
         <WebProjectProperties>
           <UseIIS>False</UseIIS>
           <AutoAssignPort>True</AutoAssignPort>
-          <DevelopmentServerPort>6848</DevelopmentServerPort>
+          <DevelopmentServerPort>7375</DevelopmentServerPort>
           <DevelopmentServerVPath>/</DevelopmentServerVPath>
           <IISUrl>
           </IISUrl>
--- a/client/test/FranceCulture/FranceCulture/FranceCulture.Web/ProjectConfig.xml	Wed Feb 10 14:56:46 2010 +0100
+++ b/client/test/FranceCulture/FranceCulture/FranceCulture.Web/ProjectConfig.xml	Thu Feb 11 17:29:23 2010 +0100
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ProjectConfig 
 	VideoBookList="/Content/AvailableVideoBooks.xml"
-	UpdateBookService="http://localhost:6848/UpdateBookService.aspx"
+	UpdateBookService="http://localhost:7375/UpdateBookService.aspx"
 	ProductionVideo="/ProductionContent/ProductionVideo.xml"
 >
 	<VideoBook>