Index: her_megapoli/trunk/domain/interface/com/ether/AxeType.java
===================================================================
--- /ether_megapoli/trunk/domain/interface/com/ether/AxeType.java	(revision 131)
+++ 	(revision )
@@ -1,7 +1,0 @@
-package com.ether;
-
-public enum AxeType
-{
-    TIME,
-    LATITUDE,
-}
Index: /ether_megapoli/trunk/domain/interface/com/ether/AxeTypeForFixedPlateform.java
===================================================================
--- /ether_megapoli/trunk/domain/interface/com/ether/AxeTypeForFixedPlateform.java	(revision 132)
+++ /ether_megapoli/trunk/domain/interface/com/ether/AxeTypeForFixedPlateform.java	(revision 132)
@@ -0,0 +1,7 @@
+package com.ether;
+
+public enum AxeTypeForFixedPlateform
+{
+    TIME,
+    FIXE,
+}
Index: /ether_megapoli/trunk/domain/interface/com/ether/AxeTypeForMobilePlateform.java
===================================================================
--- /ether_megapoli/trunk/domain/interface/com/ether/AxeTypeForMobilePlateform.java	(revision 132)
+++ /ether_megapoli/trunk/domain/interface/com/ether/AxeTypeForMobilePlateform.java	(revision 132)
@@ -0,0 +1,7 @@
+package com.ether;
+
+public enum AxeTypeForMobilePlateform
+{
+    LATITUDE,
+    MOBILE,
+}
Index: /ether_megapoli/trunk/persistence/implementation/com/medias/objects/Parametre.hbm.xml
===================================================================
--- /ether_megapoli/trunk/persistence/implementation/com/medias/objects/Parametre.hbm.xml	(revision 131)
+++ /ether_megapoli/trunk/persistence/implementation/com/medias/objects/Parametre.hbm.xml	(revision 132)
@@ -12,5 +12,5 @@
             </generator>
         </id>
-        <many-to-one name="unite" class="com.medias.database.objects.Unite" fetch="select">
+        <many-to-one name="unite" class="com.medias.database.objects.Unite" fetch="select" lazy="false">
             <column name="unite_id" not-null="true">
                 <comment>lien vers la table unite</comment>
Index: /ether_megapoli/trunk/persistence/implementation/com/medias/objects/Plateforme.hbm.xml
===================================================================
--- /ether_megapoli/trunk/persistence/implementation/com/medias/objects/Plateforme.hbm.xml	(revision 131)
+++ /ether_megapoli/trunk/persistence/implementation/com/medias/objects/Plateforme.hbm.xml	(revision 132)
@@ -17,5 +17,5 @@
             </column>
         </many-to-one>
-        <many-to-one name="typePlateforme" class="com.medias.database.objects.TypePlateforme" fetch="select">
+        <many-to-one name="typePlateforme" class="com.medias.database.objects.TypePlateforme" fetch="select" lazy="false">
             <column name="type_plateforme_id" not-null="true">
                 <comment>lien vers la table type_plateforme</comment>
Index: /ether_megapoli/trunk/service/implementation/com/ether/EtherPlotServiceImpl.java
===================================================================
--- /ether_megapoli/trunk/service/implementation/com/ether/EtherPlotServiceImpl.java	(revision 131)
+++ /ether_megapoli/trunk/service/implementation/com/ether/EtherPlotServiceImpl.java	(revision 132)
@@ -2,5 +2,4 @@
 
 import gov.noaa.pmel.sgt.JPane;
-import gov.noaa.pmel.sgt.dm.SGTData;
 import gov.noaa.pmel.sgt.swing.JPlotLayout;
 import org.apache.commons.logging.Log;
@@ -24,4 +23,16 @@
         implements EtherPlotService
 {
+    public static Integer getMaxWidth()
+    {
+        final Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
+        return Math.min( Double.valueOf( screenSize.getWidth() ).intValue(), MAX_WIDTH );
+    }
+
+    public static Integer getMaxHeight()
+    {
+        final Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
+        return Math.min( Double.valueOf( screenSize.getHeight() ).intValue(), MAX_HEIGHT );
+    }
+
     /**
      * Create the main JPane with the 3 jPanes
@@ -34,30 +45,31 @@
     public BufferedImage createMainPane( @NotNull final MegapoliPlot megapoliPlot, @Nullable final Locale locale )
     {
-//        JPane jPane = new JPane( "Main jPane", new Dimension( MAIN_WIDTH, MAIN_HEIGHT ) );
-        JPane jPane = new JPane( "Main jPane", new Dimension( MAIN_WIDTH, 700 ) );
-        if( null != megapoliPlot.getWidth() && null != megapoliPlot.getHeight() )
-            jPane = new JPane( "Main jPane", new Dimension( megapoliPlot.getWidth(), megapoliPlot.getHeight() ) );
-
+        final Integer maxWidth = getMaxWidth();
+        final Integer maxHeight = getMaxHeight();
+
+        final JPane jPane = new JPane( "Main jPane", new Dimension( maxWidth, maxHeight ) );
         jPane.setLayout( new BorderLayout() );
         jPane.setBackground( Color.white );
-        jPane.setBorder( BorderFactory.createLineBorder( Color.black, 2 ) );
         jPane.setOpaque( true );
 
         // Top Pane
-//        final JPane jPaneTop = createTopPane( megapoliPlot );
-//        jPane.add( jPaneTop, BorderLayout.NORTH );
+        final JPane jPaneTop = createTopPane( megapoliPlot );
+        jPane.add( jPaneTop, BorderLayout.NORTH );
+
+        final Integer valuesNumber = megapoliPlot.getData().getYArray().length;
+
+        // Bottom Pane
+        final JPane jPaneBottom = createBottomPane( valuesNumber, locale );
+        jPane.add( jPaneBottom, BorderLayout.SOUTH );
 
         // Center Pane
-        final Integer valuesNumber = megapoliPlot.getData().getYArray().length;
+        final Integer centerHeight = maxHeight - jPaneTop.getHeight() - jPaneBottom.getHeight();
         final JPane jPaneCenter;
         if( valuesNumber > 0 )
-            jPaneCenter = createCenterPane( megapoliPlot.getData() );
+            jPaneCenter = createCenterPane( megapoliPlot, maxWidth, centerHeight );
         else
             jPaneCenter = createEmptyCenterPane( locale );
         jPane.add( jPaneCenter, BorderLayout.CENTER );
 
-        // Bottom Pane
-//        final JPane jPaneBottom = createBottomPane( valuesNumber, locale );
-//        jPane.add( jPaneBottom, BorderLayout.SOUTH );
 
         final JPanelToImageManager jPanelToImageManager = new JPanelToImageManager( jPane );
@@ -105,24 +117,28 @@
      * Create the center JPane with the graph
      *
-     * @param data
-     * @return
-     */
-    @NotNull
-    public JPane createCenterPane( @NotNull final SGTData data )
-    {
-//        final JPane jPaneCenter = new JPane( "Center jPane", new Dimension( 0, 1000 ) );
+     * @param megapoliPlot
+     * @param maxWidth
+     * @param maxHeight
+     * @return
+     */
+    @NotNull
+    public JPane createCenterPane( @NotNull final MegapoliPlot megapoliPlot, @NotNull final Integer maxWidth, @NotNull final Integer maxHeight )
+    {
+        final Integer plotWidth = Math.min( maxWidth - MARGIN_LEFT_RIGHT, maxWidth );
+        final Integer plotHeight = Math.min( maxHeight - MARGIN_LEFT_RIGHT, maxHeight );
 
         // Graph
-        final JPlotLayout jPlotLayout = new JPlotLayout( false, true, false, "Trajectory data", null, false );
+        final JPlotLayout jPlotLayout = new JPlotLayout( false, true, false, "Trajectory data", null, megapoliPlot.isLegendToHide() );
         jPlotLayout.setTitles( "", "", "" );
-        jPlotLayout.addData( data, data.getTitle() );
-//        jPlotLayout.setSize( 800, 1 );
+        // Add data and legend
+        jPlotLayout.addData( megapoliPlot.getData(), megapoliPlot.getData().getTitle() );
+        jPlotLayout.setSize( plotWidth, plotHeight );
         jPlotLayout.setVisible( true );
 
         jPlotLayout.addNotify();
         jPlotLayout.validate();
+        jPlotLayout.setOpaque( true );
 
         // TODO : remove this change to bufferedImage to insert directly the jPlotLayout !!!!
-//        final BufferedImage bufferedImage = new BufferedImage( jPlotLayout.getWidth(), jPlotLayout.getHeight(), BufferedImage.TYPE_INT_RGB );
         final BufferedImage bufferedImage = new BufferedImage( jPlotLayout.getWidth(), jPlotLayout.getHeight(), BufferedImage.TYPE_INT_RGB );
         final Graphics2D graphics2D = bufferedImage.createGraphics();
@@ -130,11 +146,14 @@
 
         final ImageIcon imageIcon = new ImageIcon( bufferedImage );
-        final JLabel jLabel = new JLabel( imageIcon, JLabel.CENTER );
-        jLabel.setBorder( BorderFactory.createLineBorder( Color.blue, 2 ) );
-
-//        final JPane jPaneCenter = new JPane( "Center jPane", new Dimension( jPlotLayout.getWidth(), jPlotLayout.getHeight() ) );
-        final JPane jPaneCenter = new JPane();
-        jPaneCenter.setLayout( new BorderLayout() );
-        jPaneCenter.add( jLabel, BorderLayout.CENTER );
+        final JLabel jLabelPlot = new JLabel( imageIcon, JLabel.CENTER );
+        jLabelPlot.setBorder( BorderFactory.createLineBorder( Color.black, 1 ) );
+
+        final JPane jPaneCenter = new JPane( "Center jPane", new Dimension( jPlotLayout.getWidth(), jPlotLayout.getHeight() ) );
+        jPaneCenter.setLayout( new GridBagLayout() );
+        jPaneCenter.add( jLabelPlot,
+                new GridBagConstraints( 0, 0, 1, 1, 0, 0,
+                        GridBagConstraints.CENTER,
+                        GridBagConstraints.CENTER,
+                        new Insets( 0, 0, 0, 0 ), 0, 0 ) );
 
         return jPaneCenter;
@@ -206,5 +225,5 @@
      */
     @NotNull
-    public BufferedImage createErrorPane( @NotNull final String mainError, @NotNull final String errorText, @Nullable final Locale locale )
+    public BufferedImage createErrorPane( @NotNull final String mainError, @Nullable final String errorText, @Nullable final Locale locale )
     {
         // Image
@@ -215,10 +234,16 @@
         final ResourceBundle bundle = WebHelper.getBundle( locale );
         final String mainMessage = bundle.getString( "plot.errorMessage" );
-        final JLabel jLabelError = new JLabel( "<html>" + mainMessage + "<br><br>" + mainError + "<br>" + errorText + "</html>", JLabel.CENTER );
+
+        final JLabel jLabelError;
+        if( null != errorText )
+            jLabelError = new JLabel( "<html>" + mainMessage + "<br><br>" + mainError + "<br>" + errorText + "</html>", JLabel.CENTER );
+        else
+            jLabelError = new JLabel( "<html>" + mainMessage + "<br><br>" + mainError + "</html>", JLabel.CENTER );
+
         final Font police = new Font( "Arial", Font.BOLD, ERROR_FONT_SIZE );
         jLabelError.setFont( police );
 
         // jPane
-        final JPane jPane = new JPane( "jPane", new Dimension( MAIN_WIDTH, errorImage.getIconHeight() ) );
+        final JPane jPane = new JPane( "jPane", new Dimension( MAX_WIDTH, errorImage.getIconHeight() ) );
         jPane.setLayout( new BorderLayout() );
         jPane.setBackground( Color.white );
@@ -243,13 +268,10 @@
     }
 
-    public static final int TOP_HEIGHT = 110;
-    public static final int CENTER_HEIGHT = 400;
-    public static final int BOTTOM_HEIGHT = 50;
-
     private static final Log LOGGER = LogFactory.getLog( EtherPlotServiceImpl.class );
 
     // Dimensions of the jPanes
-    private static final int MAIN_WIDTH = 800;
-    private static final int MAIN_HEIGHT = 800;
+    private static final int MAX_WIDTH = 800;
+    private static final int MAX_HEIGHT = 700;
+    private static final int MARGIN_LEFT_RIGHT = 50;
 
     private static final int TITLE_FONT_SIZE = 20;
Index: /ether_megapoli/trunk/service/implementation/com/ether/MegapoliPlot.java
===================================================================
--- /ether_megapoli/trunk/service/implementation/com/ether/MegapoliPlot.java	(revision 131)
+++ /ether_megapoli/trunk/service/implementation/com/ether/MegapoliPlot.java	(revision 132)
@@ -1,8 +1,4 @@
 package com.ether;
 
-import gov.noaa.pmel.sgt.LineAttribute;
-import gov.noaa.pmel.sgt.beans.DataModel;
-import gov.noaa.pmel.sgt.beans.Page;
-import gov.noaa.pmel.sgt.beans.PanelModel;
 import gov.noaa.pmel.sgt.dm.SimpleLine;
 import org.jetbrains.annotations.NotNull;
@@ -10,24 +6,10 @@
 import org.medias.megapoli.utils.MegapoliInitialisation;
 
-import javax.swing.*;
-import java.awt.*;
-
 /**
  * @author vmipsl
  * @date 31 may 2011
  */
-// TODO : range this class !!!!
 public class MegapoliPlot
 {
-    public MegapoliPlot()
-    {
-    }
-
-    public MegapoliPlot( @Nullable final Integer width, @Nullable final Integer height )
-    {
-        _width = width;
-        _height = height;
-    }
-
     @Nullable
     public String getTitle()
@@ -74,107 +56,13 @@
     }
 
-    @NotNull
-    public LineAttribute getLineAttribute()
+    public boolean isLegendToHide()
     {
-        return _lineAttribute;
+        return _legendToHide;
     }
 
-    public void setLineAttribute( @NotNull final LineAttribute lineAttribute )
+    public void setLegendToHide( final boolean legendToHide )
     {
-        _lineAttribute = lineAttribute;
+        _legendToHide = legendToHide;
     }
-
-    @NotNull
-    public Page getPage()
-    {
-        return _page;
-    }
-
-    public void setPage( @NotNull final Page page )
-    {
-        _page = page;
-    }
-
-    @NotNull
-    public PanelModel getPanelModel()
-    {
-        return _panelModel;
-    }
-
-    public void setPanelModel( @NotNull final PanelModel panelModel )
-    {
-        _panelModel = panelModel;
-    }
-
-    @NotNull
-    public DataModel getDataModel()
-    {
-        return _dataModel;
-    }
-
-    public void setDataModel( @NotNull final DataModel dataModel )
-    {
-        _dataModel = dataModel;
-    }
-
-    @NotNull
-    public JPanel getjPanel()
-    {
-        return _jPanel;
-    }
-
-    public void setjPanel( @NotNull final JPanel jPanel )
-    {
-        _jPanel = jPanel;
-    }
-
-    @Nullable
-    public Integer getWidth()
-    {
-        return _width;
-    }
-
-    public void setWidth( @Nullable final Integer width )
-    {
-        _width = width;
-    }
-
-    @Nullable
-    public Integer getHeight()
-    {
-        return _height;
-    }
-
-    public void setHeight( @Nullable final Integer height )
-    {
-        _height = height;
-    }
-
-/**
- * Instantiate the three primary SGT Bean objects.
- * Page -       Main SGT JavaBean used with PanelModel and DataModel to
- * create a graphic.
- * <p/>
- * PanelModel - A model that supports the Panel structure of a plot.
- * DataModel -  A model that supplies the relationship between SGTData objects,
- * its Attribute and the Panel and DataGroup in which it is
- * displayed and the Legend.
- * JPanel   - The JPanel that will be used to contain the graphic.
- */
-
-    /**
-     * PanelModel corresponds to the file "megapoli.xml"
-     * PanelHolder corresponds to one of the Panels from "panelList" described in the PanelModel
-     * contains positions of labels, legends, title, etc..
-     */
-
-    @NotNull
-    private Page _page = new Page();
-    @NotNull
-    private PanelModel _panelModel = new PanelModel();
-    @NotNull
-    private DataModel _dataModel = new DataModel();
-    @NotNull
-    private JPanel _jPanel = new JPanel( new BorderLayout() );
 
     @Nullable
@@ -183,23 +71,7 @@
     private SimpleLine _data;
     @NotNull
-    private LineAttribute _lineAttribute = new LineAttribute( LineAttribute.SOLID, Color.red );
-    @Nullable
-    private Integer _width;
-    @Nullable
-    private Integer _height;
-    @NotNull
     private String _logoMegapoli  = MegapoliInitialisation.pathImages + "/logo_Megapoli.png";
     @NotNull
     private String _logoEther = MegapoliInitialisation.pathImages + "/logo_Ether.jpg";
-
-
-    // Labels used in the megapoli.xml
-    public static final String FILE_NAME = "megapoli.xml";
-    public static final String PANEL_GRAPH = "Panel_graph";
-    public static final String PANEL_IMAGE = "Panel_image";
-    public static final String DATA_GROUP = "DataGroup";
-    public static final String LABEL_TITLE = "Label_title";
-    public static final String LABEL_LOGO_MEGAPOLI = "Label_logoMegapoli";
-    public static final String LABEL_LOGO_ETHER = "Label_logoEther";
-    public static final String LEGEND = "Legend";
+    private boolean _legendToHide = true;
 }
Index: /ether_megapoli/trunk/service/interface/com/ether/EtherPlotService.java
===================================================================
--- /ether_megapoli/trunk/service/interface/com/ether/EtherPlotService.java	(revision 131)
+++ /ether_megapoli/trunk/service/interface/com/ether/EtherPlotService.java	(revision 132)
@@ -23,5 +23,5 @@
 
     @NotNull
-    public JPane createCenterPane( @NotNull final SGTData data );
+    public JPane createCenterPane( @NotNull final MegapoliPlot megapoliPlot, @NotNull final Integer maxWidth, @NotNull final Integer maxHeight );
 
     @NotNull
@@ -29,4 +29,4 @@
 
     @NotNull
-    public BufferedImage createErrorPane( @NotNull final String mainError, @NotNull final String errorText, @Nullable final Locale locale );
+    public BufferedImage createErrorPane( @NotNull final String mainError, @Nullable final String errorText, @Nullable final Locale locale );
 }
Index: /ether_megapoli/trunk/web/src/ApplicationResources.properties
===================================================================
--- /ether_megapoli/trunk/web/src/ApplicationResources.properties	(revision 131)
+++ /ether_megapoli/trunk/web/src/ApplicationResources.properties	(revision 132)
@@ -438,2 +438,5 @@
 plot.errorMessage=Erreur de cr\u00E9ation du quicklook. <BR>Veuillez essayer de corriger les erreurs suivantes ou contacter l'administrateur en indiquant les erreurs rencontr\u00E9es.
 plot.noData=Aucune donn\u00E9e extraite
+plot.latitude=Latitude
+plot.longitude=Longitude
+plot.degres=Degr\u00E9s
Index: /ether_megapoli/trunk/web/src/ApplicationResources_en.properties
===================================================================
--- /ether_megapoli/trunk/web/src/ApplicationResources_en.properties	(revision 131)
+++ /ether_megapoli/trunk/web/src/ApplicationResources_en.properties	(revision 132)
@@ -425,2 +425,5 @@
 plot.errorMessage=Error creating the quicklook. <BR>Please try to correct the following errors or contact the administrator with the detected errors.
 plot.noData=No extracted data
+plot.latitude=Latitude
+plot.longitude=Longitude
+plot.degres=Degrees
Index: /ether_megapoli/trunk/web/src/com/ether/Controller.java
===================================================================
--- /ether_megapoli/trunk/web/src/com/ether/Controller.java	(revision 131)
+++ /ether_megapoli/trunk/web/src/com/ether/Controller.java	(revision 132)
@@ -6,4 +6,5 @@
 import com.medias.database.objects.Parametre;
 import com.medias.database.objects.Plateforme;
+import com.medias.database.objects.TypePlateforme;
 import net.sf.json.JSONObject;
 import org.apache.commons.logging.Log;
@@ -50,18 +51,26 @@
             throws ServiceException
     {
-        final List<Plateforme> plateforms = _etherService.getAllPlateforms();
-//        final List<Plateforme> plateforms = new ArrayList<Plateforme>();
-//        final Plateforme pf = new Plateforme();
-//        pf.setPlateformeId( 1 );
-//        pf.setPlateformeNom( "LHVP" );
-//        plateforms.add( pf );
-//        final Plateforme pf2 = new Plateforme();
-//        pf2.setPlateformeId( 2 );
-//        pf2.setPlateformeNom( "SIRTA" );
-//        plateforms.add( pf2 );
+//        final List<Plateforme> plateforms = _etherService.getAllPlateforms();
+        final List<Plateforme> plateforms = new ArrayList<Plateforme>();
+        final Plateforme pf = new Plateforme();
+        pf.setPlateformeId( 1 );
+        pf.setPlateformeNom( "LHVP" );
+        final TypePlateforme type = new TypePlateforme(  );
+        type.setTypePlateformeNom( "MOBILE" );
+        pf.setTypePlateforme( type );
+        plateforms.add( pf );
+
+        final Plateforme pf2 = new Plateforme();
+        pf2.setPlateformeId( 2 );
+        pf2.setPlateformeNom( "SIRTA" );
+        final TypePlateforme type2 = new TypePlateforme(  );
+        type2.setTypePlateformeNom( "FIXED" );
+        pf2.setTypePlateforme( type2 );
+        plateforms.add( pf2 );
 
         final Map<String, Object> model = new HashMap<String, Object>();
         model.put( "plateforms", getJsonHelper().toJSON( plateforms ) );
-        model.put( "axeTypes", getJSONAxeTypes() );
+        model.put( "axeTypesForFixedPlateforms", getJSONAxeTypesForFixedPlateforms() );
+        model.put( "axeTypesForMobilePlateforms", getJSONAxeTypesForMobilePlateforms() );
         return model;
     }
@@ -77,13 +86,4 @@
     {
         final List<Parametre> parametersByPlateform = _etherService.getParametersByPlateformId( plateformId );
-//        final List<Parametre> parametersByPlateform = new ArrayList<Parametre>( 2 );
-//        final Parametre p1 = new Parametre();
-//        p1.setParametreId( 1 );
-//        p1.setParametreNom( "JNO2" );
-//        parametersByPlateform.add( p1 );
-//        final Parametre p2 = new Parametre();
-//        p2.setParametreId( 2 );
-//        p2.setParametreNom( "CO2" );
-//        parametersByPlateform.add( p2 );
 
         final JSONObject result = new JSONObject();
@@ -92,12 +92,27 @@
     }
 
-    @ControllerMethod(jsonResult = true)
-    private List<JSONObject> getJSONAxeTypes()
+    private List<JSONObject> getJSONAxeTypesForFixedPlateforms()
     {
-        final AxeType[] axeTypes = AxeType.values();
+        final AxeTypeForFixedPlateform[] axeTypes = AxeTypeForFixedPlateform.values();
 
         final List<JSONObject> jsonAxeTypes = new ArrayList<JSONObject>( axeTypes.length );
 
-        for( final AxeType axeType : axeTypes )
+        for( final AxeTypeForFixedPlateform axeType : axeTypes )
+        {
+            final JSONObject jsonAxeType = new JSONObject();
+            jsonAxeType.put( "text", axeType.name() );
+            jsonAxeType.put( "value", axeType.name() );
+            jsonAxeTypes.add( jsonAxeType );
+        }
+        return jsonAxeTypes;
+    }
+
+    private List<JSONObject> getJSONAxeTypesForMobilePlateforms()
+    {
+        final AxeTypeForMobilePlateform[] axeTypes = AxeTypeForMobilePlateform.values();
+
+        final List<JSONObject> jsonAxeTypes = new ArrayList<JSONObject>( axeTypes.length );
+
+        for( final AxeTypeForMobilePlateform axeType : axeTypes )
         {
             final JSONObject jsonAxeType = new JSONObject();
Index: /ether_megapoli/trunk/web/src/com/ether/ControllerPlot.java
===================================================================
--- /ether_megapoli/trunk/web/src/com/ether/ControllerPlot.java	(revision 131)
+++ /ether_megapoli/trunk/web/src/com/ether/ControllerPlot.java	(revision 132)
@@ -2,4 +2,6 @@
 
 import com.medias.Context;
+import com.medias.database.objects.Parametre;
+import com.medias.database.objects.Unite;
 import gov.noaa.pmel.sgt.dm.SGTMetaData;
 import gov.noaa.pmel.sgt.dm.SimpleLine;
@@ -24,4 +26,6 @@
 import java.util.Date;
 import java.util.List;
+import java.util.Locale;
+import java.util.ResourceBundle;
 
 /**
@@ -109,15 +113,29 @@
             //** ******************************************************************** **//
 
-
-            final SimpleLine data = new SimpleLine( dateArray, dataArray, "legend" );
-            SGTMetaData meta = new SGTMetaData( "Longitude", "degrees East", false, false );
-            data.setXMetaData( meta );
-
-            meta = new SGTMetaData( "parameterName", "parameterUnit", false, false );
-            data.setYMetaData( meta );
+            final Parametre parametre = _etherService.getParameterById( parameterId );
+
+//            final Parametre parametre = new Parametre();
+//            parametre.setParametreNom( "Ozone" );
+//            final Unite unit = new Unite();
+//            unit.setUniteCode( "ppb" );
+//            parametre.setUnite( unit );
+            if( null == parametre )
+            {
+                createErrorPane( response, request, WebException.WebCode.PARAMETER_IS_NULL.toString(), null );
+                flagException = true;
+                throw new ServletException( WebException.WebCode.PARAMETER_IS_NULL.toString(), null );
+            }
+
+
+            final SimpleLine data;
+            if( AxeTypeForFixedPlateform.TIME.name().equals( axeType ) )
+                data = createTimeSerie( dateArray, dataArray, parametre.getParametreNom(), parametre.getUnite() );
+            else
+                data = createLatitudeSerie( dataArray, dataArray, parametre.getParametreNom(), Context.getLocale( request ) );
 
             final MegapoliPlot megapoliPlot = new MegapoliPlot();
             megapoliPlot.setTitle( title );
             megapoliPlot.setData( data );
+            megapoliPlot.setLegendToHide( null == data.getTitle() );
 
             final BufferedImage bufferedImage = _etherPlotService.createMainPane( megapoliPlot, Context.getLocale( request ) );
@@ -138,8 +156,41 @@
     }
 
-    private void createErrorPane( final HttpServletResponse response, final HttpServletRequest request, @NotNull final String mainError, @NotNull final Exception e )
+    private SimpleLine createTimeSerie( @NotNull final GeoDateArray dateArray, @NotNull final double[] dataArray, @Nullable final String parameterName, @Nullable final Unite unit )
+    {
+        final SimpleLine data = new SimpleLine( dateArray, dataArray, null );
+        SGTMetaData meta = new SGTMetaData( null, null, false, false );
+        data.setXMetaData( meta );
+
+        meta = new SGTMetaData( parameterName, unit.getUniteCode(), false, false );
+        data.setYMetaData( meta );
+        return data;
+    }
+
+    private SimpleLine createLatitudeSerie( @NotNull final double[] dateArray, @NotNull final double[] dataArray, @Nullable final String legend, @Nullable final Locale locale )
+    {
+        final ResourceBundle bundle = WebHelper.getBundle( locale );
+
+        final SimpleLine data = new SimpleLine( dateArray, dataArray, legend );
+        SGTMetaData meta = new SGTMetaData( bundle.getString( "plot.longitude" ), bundle.getString( "plot.degres" ), false, true );
+        // TODO : vÃ©rifier modulo = 360
+//        meta.setModuloValue( 360 );
+        data.setXMetaData( meta );
+
+        meta = new SGTMetaData( bundle.getString( "plot.latitude" ), bundle.getString( "plot.degres" ), false, true );
+        // TODO : vÃ©rifier modulo = 360
+//        meta.setModuloValue( 360 );
+        data.setYMetaData( meta );
+        return data;
+    }
+
+    private void createErrorPane( final HttpServletResponse response, final HttpServletRequest request, @NotNull final String mainError, @Nullable final Exception e )
             throws IOException
     {
-        final BufferedImage errorImage = _etherPlotService.createErrorPane( mainError, e.toString(), Context.getLocale( request ) );
+        final BufferedImage errorImage;
+        if( null != e )
+            errorImage = _etherPlotService.createErrorPane( mainError, e.toString(), Context.getLocale( request ) );
+        else
+            errorImage = _etherPlotService.createErrorPane( mainError, null, Context.getLocale( request ) );
+
         ImageIO.write( errorImage, "png", response.getOutputStream() );
     }
Index: /ether_megapoli/trunk/web/src/com/ether/WebException.java
===================================================================
--- /ether_megapoli/trunk/web/src/com/ether/WebException.java	(revision 131)
+++ /ether_megapoli/trunk/web/src/com/ether/WebException.java	(revision 132)
@@ -34,4 +34,5 @@
 		ERROR_NUMBER_OF_PARAM_TYPES_NOT_EQUAL_TO_PARAM_ANNOTATIONS,
         INVALID_DATE,
+        PARAMETER_IS_NULL,
     }
 }
Index: /ether_megapoli/trunk/web/src/json/serializers/PlateformJsonSerializer.java
===================================================================
--- /ether_megapoli/trunk/web/src/json/serializers/PlateformJsonSerializer.java	(revision 131)
+++ /ether_megapoli/trunk/web/src/json/serializers/PlateformJsonSerializer.java	(revision 132)
@@ -5,5 +5,6 @@
 import net.sf.json.JsonConfig;
 
-public class PlateformJsonSerializer extends AbstractJsonSerializer<Plateforme>
+public class PlateformJsonSerializer
+        extends AbstractJsonSerializer<Plateforme>
 {
     public JSONObject process( final Plateforme plateform, final JsonConfig jsonConfig )
@@ -13,4 +14,5 @@
         serialize( result, "id", plateform.getPlateformeId(), jsonConfig );
         serialize( result, "name", plateform.getPlateformeNom(), jsonConfig );
+        serialize( result, "type", plateform.getTypePlateforme().getTypePlateformeNom(), jsonConfig );
 
         return result;
Index: /ether_megapoli/trunk/web/visualization/visu_parameter_by_pf-script.jsp
===================================================================
--- /ether_megapoli/trunk/web/visualization/visu_parameter_by_pf-script.jsp	(revision 131)
+++ /ether_megapoli/trunk/web/visualization/visu_parameter_by_pf-script.jsp	(revision 132)
@@ -1,6 +1,7 @@
+<%@ page import="com.ether.EtherPlotServiceImpl" %>
 <script type="text/javascript">
 var InterfaceVisualization = Class.create( {
 
-    initialize: function( jsonPlateforms, axeTypes )
+    initialize: function( jsonPlateforms, axeTypesForFixedPlateforms, axeTypesForMobilePlateforms )
     {
         // Values
@@ -11,5 +12,6 @@
         this.generalContainerOptions = $( "generalContainerOptions" );
         this.jsonPlateforms = jsonPlateforms || null;
-        this.jsonAxeTypes = axeTypes || null;
+        this.jsonAxeTypesForFixedPlateforms = axeTypesForFixedPlateforms || null;
+        this.jsonAxeTypesForMobilePlateforms = axeTypesForMobilePlateforms || null;
         this.selectedPlateform = false;
         this.selectedParameter = false;
@@ -89,11 +91,4 @@
         paramSelect.parent = $( "containerOptionAxe" );
         this.selectAxes = new Select( paramSelect );
-
-        this.jsonAxeTypes.each( function ( axeType )
-        {
-            this.selectAxes.add( axeType.value, interfaceTexts[axeType.text] );
-        }.bind( this ) );
-
-        this.selectAxes.selectFirst( false );
     },
 
@@ -160,4 +155,7 @@
         if( this.selectedParameter )
             this.selectedParameter = false;
+
+        // Change plateformType's select
+        this.updateListAxes();
 
         $( "textareaTitle" ).value = this.selectedPlateform.getName();
@@ -219,6 +217,6 @@
 //                + "&axeType=" + this.selectAxes.getValue();
 
-        var url = "visualization/plotEther?plateformId=33"
-                + "&parameterId=10"
+        var url = "visualization/plotEther?plateformId=14"
+                + "&parameterId=125"
                 + "&dateBegin=" + this.beginDate
                 + "&dateEnd=" + this.endDate
@@ -227,9 +225,6 @@
 
         this.plotWindow.getContent().innerHTML = '<img src=' + url + ' />';
-//        this.plotWindow.setSize( this.plotWindow.getContent().firstChild.width, this.plotWindow.getContent().firstChild.height, true );
-        this.plotWindow.setSize( 800, 700 );
+        this.plotWindow.setSize( <%=EtherPlotServiceImpl.getMaxWidth()%>, <%=EtherPlotServiceImpl.getMaxHeight()%> );
         this.plotWindow.show();
-//        this.plotWindow.height = this.plotWindow.getContent().firstChild.height;
-//        this.plotWindow.width = this.plotWindow.getContent().firstChild.width;
     },
 
@@ -281,4 +276,22 @@
         this.visualizeButton.enable();
         this.downloadButton.enable();
+    },
+
+    updateListAxes: function()
+    {
+        this.selectAxes.clear();
+        var jsonAxeTypes;
+
+        if( "MOBILE" == this.selectedPlateform.jsonElement.type )
+            jsonAxeTypes = this.jsonAxeTypesForMobilePlateforms;
+        else
+            jsonAxeTypes = this.jsonAxeTypesForFixedPlateforms;
+
+        jsonAxeTypes.each( function ( axeType )
+        {
+            this.selectAxes.add( axeType.value, interfaceTexts[axeType.text] );
+        }.bind( this ) );
+
+        this.selectAxes.selectFirst( false );
     }
 
Index: /ether_megapoli/trunk/web/visualization/visu_parameter_by_pf.jsp
===================================================================
--- /ether_megapoli/trunk/web/visualization/visu_parameter_by_pf.jsp	(revision 131)
+++ /ether_megapoli/trunk/web/visualization/visu_parameter_by_pf.jsp	(revision 132)
@@ -1,5 +1,6 @@
 <!-- /*** ****************** VISU ******************** **/ -->
 <%@ page import="com.medias.Context" %>
-<%@ page import="com.ether.AxeType" %>
+<%@ page import="com.ether.AxeTypeForFixedPlateform" %>
+<%@ page import="com.ether.AxeTypeForMobilePlateform" %>
 
 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
@@ -25,6 +26,4 @@
         <ether:htmlCss cssFile="windows_js_1.3/themes/mac_os_x"/>
 
-        <%-- Select --%>
-        <%--ether:htmlCss cssFile="customedSelect/css/customSelect" /--%>
     </tiles:put>
 
@@ -46,6 +45,4 @@
         <ether:htmlJs jsFile="windows_js_1.3/javascripts/window_ext"/>
 
-        <%-- Select --%>
-        <%--ether:htmlJs jsFile="customedSelect/js/customSelect"/--%>
     </tiles:put>
 
@@ -61,5 +58,5 @@
     <tiles:put name="body" type="string">
 
-        <div class="span-24">
+        <div class="span-25">
             <div id="generalContainerPlateforms" class="span-7 colborder">
                 <div id="messages"><bean:message key="data.visualization.selectPf"/></div>
@@ -74,6 +71,6 @@
             </div>
 
-            <div id="generalContainerOptions" class="span-9 last">
-                <div id="containerOptionCalendar" class="span-9">
+            <div id="generalContainerOptions" class="span-10 last">
+                <div id="containerOptionCalendar" class="span-10">
                     <div id="messages" class="messagesHeight"><bean:message key="data.visualization.selectPeriod"/></div>
                     <input type="text" id="beginDate" size="15"/>
@@ -119,8 +116,8 @@
             interfaceTexts["data.visualization.selectMinute"] = "<bean:message key="data.visualization.selectMinute"/>";
 
-            interfaceTexts["<%=AxeType.TIME%>"] = "<bean:message key="data.visualization.axeType.Time"/>";
-            interfaceTexts["<%=AxeType.LATITUDE%>"] = "<bean:message key="data.visualization.axeType.Latitude"/>";
+            interfaceTexts["<%=AxeTypeForFixedPlateform.TIME%>"] = "<bean:message key="data.visualization.axeType.Time"/>";
+            interfaceTexts["<%=AxeTypeForMobilePlateform.LATITUDE%>"] = "<bean:message key="data.visualization.axeType.Latitude"/>";
 
-            var interfaceVisualization = new InterfaceVisualization( ${plateforms}, ${axeTypes} );
+            var interfaceVisualization = new InterfaceVisualization( ${plateforms}, ${axeTypesForFixedPlateforms}, ${axeTypesForMobilePlateforms} );
         </script>
 
