diff --git a/Testing/Code/Visu/CMakeLists.txt b/Testing/Code/Visu/CMakeLists.txt
index 59e9ffefdddb35c829bafeb770783d0ab1a6190b..960aef72d5e14da76c343431599b43aed09b4b57 100755
--- a/Testing/Code/Visu/CMakeLists.txt
+++ b/Testing/Code/Visu/CMakeLists.txt
@@ -11,25 +11,32 @@ SET(TEMP ${OTBTesting_BINARY_DIR}/Temporary)
 #Tolerance sur diff pixel image
 SET(TOL 0.0)
 
-#SET(VISU_TESTS ${CXX_TEST_PATH}/otbVisuTests)
+SET(VISU_TESTS ${CXX_TEST_PATH}/otbVisuTests)
 
+ADD_TEST(viTuImageViewNew ${VISU_TESTS} 
+        otbImageView
+        )
 
-# -------            otb::ExtractROI   ------------------------------
+ADD_TEST(viTuImageViewerNew ${VISU_TESTS} 
+        otbImageViewerNew
+        )
 
+ADD_TEST(viTvImageViewer ${CXX_TEST_PATH}/otbImageViewer 
+        ${INPUTDATA}/sbuv.png
+        0 )
 
 
 # -------       Fichiers sources CXX -----------------------------------
-#SET(BasicVisu_SRCS
-#)
+SET(BasicVisu_SRCS
+otbImageView.cxx
+otbImageViewerNew.cxx
+)
 
 
 INCLUDE_DIRECTORIES("${OTBTesting_BINARY_DIR}")
 
-# ${TIFF_LIBRARY}
-
-#ADD_EXECUTABLE(otbVisuTests otbVisuTests.cxx ${BasicVisu_SRCS})
-#TARGET_LINK_LIBRARIES(otbVisuTests OTBIO OTBCommon ${CAI_LIBRARY}  ${GDAL_LIBRARY} ITKIO ITKCommon)
-
+ADD_EXECUTABLE(otbVisuTests otbVisuTests.cxx ${BasicVisu_SRCS})
+TARGET_LINK_LIBRARIES(otbVisuTests OTBVisu OTBIO OTBCommon ${CAI_LIBRARY}  ${GDAL_LIBRARY} ITKIO ITKCommon)
 
 
 #ADD_EXECUTABLE(otbImageView otbImageView.cxx)
diff --git a/Testing/Code/Visu/otbImageView.cxx b/Testing/Code/Visu/otbImageView.cxx
index 83009462ae20473b3f5aab7a00e09dc1a6fb65b6..9b64ced82d4207effdb0812553a3962ab397b8bc 100644
--- a/Testing/Code/Visu/otbImageView.cxx
+++ b/Testing/Code/Visu/otbImageView.cxx
@@ -4,7 +4,7 @@
   Auteurs   :   CS - T.Feuvrier
   Language  :   C++
   Date      :   11 janvier 2005
-  Version   :   
+  Version   :   Test les differents Image View
   Role      :   
   $Id$
 
@@ -12,33 +12,30 @@
 #include <stdlib.h>
 #include "itkExceptionObject.h"
 
-//#include "otbImageView.h"
-//#include "otbGLImageView.h"
-//#include "otbGLColorImageView.h"
-//#include "otbGLVectorImageViewBase.h"
-//#include "otbGLVectorImageView.h"
-//#include "otbPrincipalImageView.h"
-//#include "otbZoomImageView.h"
+#include "otbImageViewer.h"
+//#include "otbVectorImageView.h"
+#include "otbGLVectorImageViewBase.h"
+#include "otbPrincipalImageView.h"
+#include "otbZoomImageView.h"
 #include "otbScrollImageView.h"
 
-#include "itkImage.h"
-#include "itkRGBPixel.h"
-
-
-int main( int argc, char ** argv )
+int otbImageView( int argc, char ** argv )
 {
   try 
     { 
 
-//        typedef otb::ImageView<unsigned char>    ViewType;
-//        typedef otb::GLImageView<unsigned char,double>    ViewType;
-//        typedef otb::VectorImageView<unsigned char>    ViewType;
-//        typedef otb::GLVectorImageViewBase<unsigned char,double>    ViewType;
-//        typedef otb::GLVectorImageView<unsigned char,double>    ViewType;
-//        typedef otb::PrincipalImageView<unsigned char,double>    ViewType;
-//        typedef otb::ZoomImageView<unsigned char,double>    ViewType;
-        typedef otb::ScrollImageView<unsigned char,double>    ViewType;
-        ViewType::Pointer lView = ViewType::New();
+        typedef otb::GLVectorImageViewBase<unsigned char,double>    GLVectorImageViewBaseType;
+        typedef otb::PrincipalImageView<unsigned char,double>           PrincipalImageViewType;
+        typedef otb::VectorImageView<unsigned char>                     VectorImageViewType;
+        typedef otb::ZoomImageView<unsigned char,double>                ZoomImageViewType;
+        typedef otb::ScrollImageView<unsigned char,double>              ScrollImageViewType;
+
+        PrincipalImageViewType::Pointer lPrincipalImageView = PrincipalImageViewType::New();
+
+        GLVectorImageViewBaseType::Pointer lGLVectorImageViewBase = GLVectorImageViewBaseType::New();
+        VectorImageViewType::Pointer lVectorImageView = VectorImageViewType::New();
+        ZoomImageViewType::Pointer lZoomImageView = ZoomImageViewType::New();
+        ScrollImageViewType::Pointer lScrollImageView = ScrollImageViewType::New();
     } 
 
   catch( itk::ExceptionObject & err ) 
diff --git a/Testing/Code/Visu/otbImageViewer.cxx b/Testing/Code/Visu/otbImageViewer.cxx
index 1cb5f217249fc74c29aaa7667576083c3b9715f2..397e3baabcd19bde60fe1852ddc05997e3e3d535 100644
--- a/Testing/Code/Visu/otbImageViewer.cxx
+++ b/Testing/Code/Visu/otbImageViewer.cxx
@@ -19,7 +19,20 @@ int main( int argc, char ** argv )
 {
   try 
     { 
+        int lRunFLTK(1);
+        if( argc < 2 || argc > 3 )
+        {
+                std::cout <<" Usage : InputImage"<<std::endl;
+        }
+        
+        //Parametre utilise pour le lancement du test de facon automatique, sans intervention de l'utilisateur
+        if( argc == 3 )
+        {
+                lRunFLTK = atoi(argv[2]);
+        }
+        
         const char * inputFilename  = argv[1];
+        
 
         typedef otb::ImageViewer<unsigned char,double>    ViewerType;
         ViewerType::Pointer  lViewer = ViewerType::New();
@@ -29,21 +42,22 @@ int main( int argc, char ** argv )
         VolumeReaderType::Pointer       lReader = VolumeReaderType::New();
         lReader->SetFileName(inputFilename);
         lReader->Update();
-        std::cout << " GetNumberOfComponentsPerPixel = "<<lReader->GetOutput()->GetNumberOfComponentsPerPixel()<<std::endl;
-
 
-//        lViewer->SetLabel( "Image" );
+        lViewer->SetLabel( "Toto" );
         lViewer->SetImage( lReader->GetOutput() );  
 
 //        lViewer->SetGrayLevelChannel(1);
-        lViewer->SetRGBChannels(1,2,3);
+//        lViewer->SetRGBChannels(1,2,3);
 //        lViewer->SetRedChannel(3);
 //        lViewer->SetGreenChannel(2);
 //        lViewer->SetBlueChannel(1);
 //        lViewer->Update();
         lViewer->Show();
         
-        Fl::run();
+        if( lRunFLTK == 1 )
+        {
+                Fl::run();
+        }
 
     } 
 
diff --git a/Testing/Code/Visu/otbImageViewerNew.cxx b/Testing/Code/Visu/otbImageViewerNew.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..2fcc8cdedf034f508048c7d5694835696111ffab
--- /dev/null
+++ b/Testing/Code/Visu/otbImageViewerNew.cxx
@@ -0,0 +1,43 @@
+/*=========================================================================
+
+  Programme :   OTB (ORFEO ToolBox)
+  Auteurs   :   CS - T.Feuvrier
+  Language  :   C++
+  Date      :   11 janvier 2005
+  Version   :   Test du ImageViewer
+  Role      :   
+  $Id$
+
+=========================================================================*/
+#include <stdlib.h>
+#include "itkExceptionObject.h"
+
+#include "otbImageViewer.h"
+
+int otbImageViewerNew( int argc, char ** argv )
+{
+  try 
+    { 
+
+        typedef otb::ImageViewer<unsigned char,double>    ViewerType;
+        ViewerType::Pointer  lViewer = ViewerType::New();
+
+    } 
+
+  catch( itk::ExceptionObject & err ) 
+    { 
+    std::cout << "Exception itk::ExceptionObject levee !" << std::endl; 
+    std::cout << err << std::endl; 
+    return EXIT_FAILURE;
+    } 
+  catch( ... ) 
+    { 
+    std::cout << "Exception levee inconnue !" << std::endl; 
+    return EXIT_FAILURE;
+    } 
+
+
+  return EXIT_SUCCESS;
+}
+
+
diff --git a/Testing/Code/Visu/otbVisuTests.cxx b/Testing/Code/Visu/otbVisuTests.cxx
index 33a8134ef2dec03445868fd61c20754fcec92ab6..33f5a009b91b479bf0aabacc58fa723c4bea8f65 100755
--- a/Testing/Code/Visu/otbVisuTests.cxx
+++ b/Testing/Code/Visu/otbVisuTests.cxx
@@ -8,5 +8,6 @@
 
 void RegisterTests()
 {
-REGISTER_TEST(otbFLTKImageViewer);
+REGISTER_TEST(otbImageView);
+REGISTER_TEST(otbImageViewerNew);
 }