diff --git a/src/Gargantext/Components/DocsTable.purs b/src/Gargantext/Components/DocsTable.purs
index 5d996078f41adfe9ea13d16ba10f8d9520300c98..0995f61087848b1dc4d0908cd7cd1831a8f98068 100644
--- a/src/Gargantext/Components/DocsTable.purs
+++ b/src/Gargantext/Components/DocsTable.purs
@@ -245,7 +245,7 @@ loadPage {nodeId, tabType, query, listId, corpusId, params: {limit, offset, orde
     convOrderBy _ = DateAsc -- TODO
 
 renderPage :: R.State T.Params -> PageLoaderProps -> Array DocumentsView -> R.Element
-renderPage (_ /\ setTableParams) p res = R.createElement el p []
+renderPage (tableParams /\ setTableParams) p res = R.createElement el p []
   where
     el = R.hooksComponent "RenderPage" cpt
 
@@ -259,10 +259,11 @@ renderPage (_ /\ setTableParams) p res = R.createElement el p []
     cpt {nodeId, corpusId, listId, totalRecords} _children = do
       localCategories <- R.useState' (mempty :: LocalCategories)
 
-      pure $ R2.buff $ T.tableElt
+      pure $ R2.buff $ T.tableEltWithInitialState
+          (T.paramsState tableParams)
           { rows: rows localCategories
           -- , setParams: \params -> liftEffect $ loaderDispatch (Loader.SetPath {nodeId, tabType, listId, corpusId, params, query})
-          , setParams: \params -> setTableParams $ const params
+          , setParams: setTableParams <<< const
           , container: T.defaultContainer { title: "Documents" }
           , colNames:
             T.ColumnName <$>
@@ -277,29 +278,29 @@ renderPage (_ /\ setTableParams) p res = R.createElement el p []
       where
         getCategory (localCategories /\ _) {_id, category} = maybe category identity (localCategories ^. at _id)
         rows localCategories = (\(DocumentsView r) ->
-                    let cat = getCategory localCategories r
-                        isDel = Trash == cat in
-                    { row: map R2.scuff $ [
-                          H.div {}
-                          [ H.a { className: gi cat
-                                , style: trashStyle cat
-                                , on: {click: onClick localCategories Favorite r._id cat}
-                                } []
-                          ]
-                        , H.input { type: "checkbox"
-                                  , defaultChecked: isDel
-                                  , on: {click: onClick localCategories Trash r._id cat}
-                                  }
-                        -- TODO show date: Year-Month-Day only
-                        , H.div { style: trashStyle cat } [ H.text (show r.date) ]
-                        , H.a { href: toLink $ (corpusDocument corpusId) listId r._id
-                              , style: trashStyle cat
-                              , target: "_blank"
-                              } [ H.text r.title ]
-                        , H.div { style: trashStyle cat} [ H.text r.source ]
-                        ]
-                    , delete: true
-                    }) <$> res
+          let cat = getCategory localCategories r
+              isDel = Trash == cat in
+          { row: map R2.scuff $ [
+                H.div {}
+                [ H.a { className: gi cat
+                      , style: trashStyle cat
+                      , on: {click: onClick localCategories Favorite r._id cat}
+                      } []
+                ]
+              , H.input { type: "checkbox"
+                        , defaultChecked: isDel
+                        , on: {click: onClick localCategories Trash r._id cat}
+                        }
+              -- TODO show date: Year-Month-Day only
+              , H.div { style: trashStyle cat } [ H.text (show r.date) ]
+              , H.a { href: toLink $ (corpusDocument corpusId) listId r._id
+                    , style: trashStyle cat
+                    , target: "_blank"
+                    } [ H.text r.title ]
+              , H.div { style: trashStyle cat} [ H.text r.source ]
+              ]
+          , delete: true
+          }) <$> res
         onClick (_ /\ setLocalCategories) catType nid cat = \_-> do
           let newCat = if (catType == Favorite) then (favCategory cat) else (trashCategory cat)
           setLocalCategories $ insert nid newCat
diff --git a/src/Gargantext/Components/Search/Types.purs b/src/Gargantext/Components/Search/Types.purs
index 9b73f2b30f5b84d8ae7c2122a668f91963eca0b1..0e0b608dfeaf42e3922aa3fdbeaeb0838643078c 100644
--- a/src/Gargantext/Components/Search/Types.purs
+++ b/src/Gargantext/Components/Search/Types.purs
@@ -17,19 +17,52 @@ import Gargantext.Config.REST (put)
 import Gargantext.Utils (id)
 import URI.Extra.QueryPairs as QP
 
-data Database = All | PubMed | HAL | IsTex
+allDatabases :: Array Database
+allDatabases = [All, PubMed
+               , HAL_EN
+               , HAL_FR
+               , IsTex_EN
+               , IsTex_FR
+               , Isidore_EN, Isidore_FR]
+
+data Database = All | PubMed
+              | HAL_EN       | HAL_FR
+              | IsTex_EN     | IsTex_FR
+              | Isidore_EN   | Isidore_FR
+
+data Langs = FR | EN
+
+-- | Types needed for now maybe not useful later (we could factorize the Type with Database Lang but no need for now)
+instance showLangs :: Show Langs where
+  show FR = "FR"
+  show EN = "EN"
 
 instance showDatabase :: Show Database where
   show All    = "All"
   show PubMed = "PubMed"
-  show HAL    = "HAL"
-  show IsTex  = "IsTex"
+  
+  show HAL_EN = "HAL_" <> show EN
+  show HAL_FR = "HAL_" <> show FR
+  
+  show IsTex_EN  = "IsTex_" <> show EN
+  show IsTex_FR  = "IsTex_" <> show FR
+  
+  show Isidore_EN = "Isidore_" <> show EN
+  show Isidore_FR = "Isidore_" <> show FR
 
 readDatabase :: String -> Maybe Database
 readDatabase "All" = Just All
 readDatabase "PubMed" = Just PubMed
-readDatabase "HAL" = Just HAL
-readDatabase "IsTex" = Just IsTex
+
+readDatabase "HAL_EN" = Just HAL_EN
+readDatabase "HAL_FR" = Just HAL_FR
+
+readDatabase "IsTex_EN" = Just IsTex_EN
+readDatabase "IsTex_FR" = Just IsTex_FR
+
+readDatabase "Isidore_EN" = Just Isidore_EN
+readDatabase "Isidore_FR" = Just Isidore_FR
+
 readDatabase _ = Nothing
 
 derive instance eqDatabase :: Eq Database
@@ -38,9 +71,6 @@ instance encodeJsonDatabase :: EncodeJson Database where
   encodeJson a = encodeJson (show a)
 
 
-allDatabases :: Array Database
-allDatabases = [All, PubMed]
-
 data SearchOrder
   = DateAsc
   | DateDesc
diff --git a/src/Gargantext/Components/Table.purs b/src/Gargantext/Components/Table.purs
index 3a4b28d76d2f06ccedaadf6e8d7b65219e605d86..02c0981ca60f918cbe2cc2089eb45413d6387871 100644
--- a/src/Gargantext/Components/Table.purs
+++ b/src/Gargantext/Components/Table.purs
@@ -1,19 +1,20 @@
 module Gargantext.Components.Table where
 
+import Gargantext.Prelude
+
 import Data.Array (filter)
 import Data.Maybe (Maybe(..), maybe)
 import Data.Generic.Rep (class Generic)
 import Data.Generic.Rep.Show (genericShow)
+import Data.Maybe (Maybe(..), maybe)
 import Effect (Effect)
 import Effect.Class (liftEffect)
+import Gargantext.Utils.Reactix as R2
 import React (ReactElement, ReactClass, Children, createElement)
 import React.DOM (a, b, b', p, i, h3, hr, div, option, select, span, table, tbody, td, text, th, thead, tr)
 import React.DOM.Props (className, href, onChange, onClick, scope, selected, value, defaultValue, style)
 import Thermite (PerformAction, Render, Spec, modifyState_, simpleSpec, StateCoTransformer, createClass)
 
-import Gargantext.Prelude
-import Gargantext.Utils.Reactix as R2
-
 type TableContainerProps =
   { pageSizeControl     :: ReactElement
   , pageSizeDescription :: ReactElement
@@ -130,7 +131,7 @@ tableSpec = simpleSpec performAction render
   where
     modifyStateAndReload :: (State -> State) -> Props -> State -> StateCoTransformer State Unit
     modifyStateAndReload f {setParams} state = do
-      logs "modifyStateAndReload" -- TODO rename
+      --logs "modifyStateAndReload" -- TODO rename
       modifyState_ f
       liftEffect $ setParams $ stateParams $ f state
 
@@ -207,12 +208,23 @@ stateParams {pageSize, currentPage, orderBy} = {offset, limit, orderBy}
     limit = pageSizes2Int pageSize
     offset = limit * (currentPage - 1)
 
+paramsState :: Params -> State
+paramsState {offset, limit, orderBy} = {pageSize, currentPage, orderBy}
+  where
+    pageSize = string2PageSize $ show limit
+    currentPage = (offset / limit) + 1
+
 tableClass :: ReactClass {children :: Children | Props'}
 tableClass = createClass "Table" tableSpec (const initialState)
 
 tableElt :: Props -> ReactElement
 tableElt props = createElement tableClass props []
 
+tableEltWithInitialState :: State -> Props -> ReactElement
+tableEltWithInitialState state props = createElement tc props []
+  where
+    tc = createClass "Table" tableSpec (const state)
+
 sizeDD :: PageSizes -> (Action -> Effect Unit) -> ReactElement
 sizeDD ps d
   = span []