diff --git a/cfg/clifton/comp.cfg b/cfg/clifton/comp.cfg
index 9eb28702832a513011994e88c6d814cf72fe9316..907c8d24c602b47b61a3e44d49c385f3e9a8bce3 100644
--- a/cfg/clifton/comp.cfg
+++ b/cfg/clifton/comp.cfg
@@ -1,5 +1,5 @@
 self.pars['CMAKELIST'].val='clifton.cmake'
-self.pars['NB_TASKS'].val='12'
+self.pars['NB_TASKS'].val='6'
 self.pars['NB_THREADS'].val='1'
 self.pars['RUNMETHOD'].vals=['interactive','at','batch',]
 self.pars['RUNMETHOD'].val='batch'
diff --git a/cfg/clifton/launch.cfg b/cfg/clifton/launch.cfg
index 42954536ad82b897ed29039391532746f8193064..12256a89f06c5501b848f3489ea602aed964e83d 100644
--- a/cfg/clifton/launch.cfg
+++ b/cfg/clifton/launch.cfg
@@ -1,4 +1,4 @@
-self.pars['NB_THREADS'].val='12'
+self.pars['NB_THREADS'].val='6'
 self.pars['NB_TASKS'].val='1'
 self.pars['RUNMETHOD'].vals=['interactive','at','batch']
 self.pars['RUNMETHOD'].val='batch'
diff --git a/cfg/clifton/oneApi.bashrc b/cfg/clifton/oneApi.bashrc
index b87d57ad00fd18bb47079ec45e0c325bcc1d73ff..713bc531e1ea3c5aa7ce4fb91f2f4e0d3cc3009f 100644
--- a/cfg/clifton/oneApi.bashrc
+++ b/cfg/clifton/oneApi.bashrc
@@ -8,8 +8,4 @@ if [ -d /opt/intel ] ; then
      . /opt/intel/oneapi/tbb/latest/env/vars.sh intel64
      . /opt/intel/oneapi/mkl/latest/env/vars.sh intel64
      . /opt/intel/oneapi/compiler/latest/env/vars.sh intel64
-     #. /opt/intel/oneapi/tbb/2021.6.0/env/vars.sh intel64     
-     #. /opt/intel/oneapi/mkl/2022.1.0/env/vars.sh intel64
-     #. /opt/intel/oneapi/compiler/2022.1.0/env/vars.sh intel64
-
 fi
diff --git a/cfg/clifton/oneApi.profile b/cfg/clifton/oneApi.profile
index a3b39398ee7ab4a2a72182bd6a379ce039b77ce6..0439c8e7979673edc11cb11e1ca0e24d39ae978f 100644
--- a/cfg/clifton/oneApi.profile
+++ b/cfg/clifton/oneApi.profile
@@ -7,5 +7,4 @@ if [ -d /opt/intel ] ; then
      . /opt/intel/oneapi/tbb/latest/env/vars.sh intel64     
      . /opt/intel/oneapi/mkl/latest/env/vars.sh intel64
      . /opt/intel/oneapi/compiler/latest/env/vars.sh intel64
-
 fi
diff --git a/cfg/gaston/oneApi.bashrc b/cfg/gaston/oneApi.bashrc
index b012e1cf016574a79a004081e7e1014f8b8c4d4f..bc562e44d40b6444d909092e3a3fe93bcf65f8d2 100644
--- a/cfg/gaston/oneApi.bashrc
+++ b/cfg/gaston/oneApi.bashrc
@@ -3,8 +3,8 @@
 # EXPLANATIONS [RB]: (see "cfg/garfield/compilers.*")
 
 if [ -d /opt/intel ] ; then
-     . /opt/intel/oneapi/tbb/2021.10.0/env/vars.sh intel64
-     . /opt/intel/oneapi/mkl/2023.2.0/env/vars.sh intel64
-     #. /opt/intel/oneapi/tbb/latest/env/vars.sh intel64
-     #. /opt/intel/oneapi/mkl/latest/env/vars.sh intel64
+     #. /opt/intel/oneapi/tbb/2021.10.0/env/vars.sh intel64
+     #. /opt/intel/oneapi/mkl/2023.2.0/env/vars.sh intel64
+     . /opt/intel/oneapi/tbb/latest/env/vars.sh intel64
+     . /opt/intel/oneapi/mkl/latest/env/vars.sh intel64
 fi
diff --git a/cfg/gaston/oneApi.profile b/cfg/gaston/oneApi.profile
index 8379b0a9a8c5f656946bf864a83ae5db5f76cf41..e47ed411922c05915b013b9c041d0f9bb0178716 100644
--- a/cfg/gaston/oneApi.profile
+++ b/cfg/gaston/oneApi.profile
@@ -3,8 +3,8 @@
 # EXPLANATIONS [RB]: (see "cfg/garfield/compilers.*")
 
 if [ -d /opt/intel ] ; then
-     . /opt/intel/oneapi/tbb/2021.10.0/env/vars.sh intel64     
-     . /opt/intel/oneapi/mkl/2023.2.0/env/vars.sh intel64
-     #. /opt/intel/oneapi/tbb/latest/env/vars.sh intel64     
-     #. /opt/intel/oneapi/mkl/latest/env/vars.sh intel64
+     #. /opt/intel/oneapi/tbb/2021.10.0/env/vars.sh intel64     
+     #. /opt/intel/oneapi/mkl/2023.2.0/env/vars.sh intel64
+     . /opt/intel/oneapi/tbb/latest/env/vars.sh intel64     
+     . /opt/intel/oneapi/mkl/latest/env/vars.sh intel64
 fi
diff --git a/cfg/spring/lam3.profile b/cfg/spring/lam3.profile
new file mode 100644
index 0000000000000000000000000000000000000000..d25fcba39de0360469e5274676359f8e88190bc6
--- /dev/null
+++ b/cfg/spring/lam3.profile
@@ -0,0 +1,3 @@
+add2env PATH "/opt/lam3/bin" front
+add2env LD_LIBRARY_PATH "/opt/lam3/lib"
+#add2env PYTHONPATH "/opt/gmsh/lib"
diff --git a/cfg/warson/intel2023/intel.bashrc b/cfg/warson/intel2023/intel.bashrc
deleted file mode 100644
index 0c51365894a0ce78bc678d0316d0c4a27041e702..0000000000000000000000000000000000000000
--- a/cfg/warson/intel2023/intel.bashrc
+++ /dev/null
@@ -1,8 +0,0 @@
-# Intel compiler and/or TBB/MKL 
-#
-# EXPLANATIONS [RB]: (see "cfg/garfield/compilers.*")
-
-if [ -d /opt/intel ] ; then
-     . /opt/intel/oneapi/tbb/2021.10.0/env/vars.sh intel64
-     . /opt/intel/oneapi/mkl/2023.2.0/env/vars.sh intel64
-fi
diff --git a/cfg/warson/intel2023/intel.profile b/cfg/warson/intel2023/intel.profile
deleted file mode 100644
index 7325e0c6ef3cbf207da1cc4bbbfcdc9346f42451..0000000000000000000000000000000000000000
--- a/cfg/warson/intel2023/intel.profile
+++ /dev/null
@@ -1,8 +0,0 @@
-# Intel compiler and/or TBB/MKL 
-#
-# EXPLANATIONS [RB]: (see "cfg/garfield/compilers.*")
-
-if [ -d /opt/intel ] ; then
-     . /opt/intel/oneapi/tbb/2021.10.0/env/vars.sh intel64     
-     . /opt/intel/oneapi/mkl/2023.2.0/env/vars.sh intel64
-fi
diff --git a/cfg/warson/intel2023/mumps.profile b/cfg/warson/intel2023/mumps.profile
deleted file mode 100644
index 2e804bb9f82fb1ae0f7370e89dd2812d09ffa170..0000000000000000000000000000000000000000
--- a/cfg/warson/intel2023/mumps.profile
+++ /dev/null
@@ -1,3 +0,0 @@
-add2env LD_LIBRARY_PATH "/opt/mumps-4.10.0/lib"
-add2env LIB "/opt/mumps-4.10.0/lib"
-add2env INCLUDE "/opt/mumps-4.10.0/include"
diff --git a/comp.py b/comp.py
index f0a1ac2d0d083fc7dcb16682764dfb8aedc48209..4294d66ba2f39fa27b11ae5303dbf8cae5cc80fa 100755
--- a/comp.py
+++ b/comp.py
@@ -175,12 +175,12 @@ class CompJob(ParametricJob):
         ext = os.path.splitext(file)[1]
         if ext==".zip":
             # unzip the source and try to convert text files
-            cmd = 'unzip -a %s -x "*/.svn/*" >/dev/null' % file
+            cmd = 'unzip -a %s -x "*/.git/*" >/dev/null' % file
             sysOutput = os.system(cmd)
             if (sysOutput != 0):
                 self.error("unable to unzip archive %s !" % file)
-            # no conversion for ".svn" database
-            cmd = 'unzip %s "*/.svn/*" >/dev/null' % file
+            # no conversion for ".git" database
+            cmd = 'unzip %s "*/.git/*" >/dev/null' % file
             sysOutput = os.system(cmd)
             if (sysOutput != 0):
                 self.error("unable to unzip archive %s !" % file)
diff --git a/externalProgramPath.py b/externalProgramPath.py
index 6b169e8dee301d0a7537919b7b667cd676b0788d..f7565f992306776e79bc297b0a204b61e6d191c2 100755
--- a/externalProgramPath.py
+++ b/externalProgramPath.py
@@ -46,6 +46,11 @@ class ExtProgs(PRMSet):
             TextPRM(self.pars,  'LATEX',       'Latex',          'latex')
             TextPRM(self.pars,  'GHOSTSCRIPT', 'GhostScript',    'gs')
             TextPRM(self.pars,  'IMAGEMAGICK', 'Image Magick',   'convert')
+            # Arcelor
+            TextPRM(self.pars,  'LAM3',       'Lam3',          'lam3')
+            TextPRM(self.pars,  'TEC3',       'Tec3',          'tec3')
+            TextPRM(self.pars,  'XDONNEE',    'X-Donnee',      'xd')
+            
         else: # windows
             # Mesh generation
             TextPRM(self.pars,  'SAMCEF',      'Samcef',        'samcef.cmd')
@@ -62,6 +67,11 @@ class ExtProgs(PRMSet):
             TextPRM(self.pars,  'GHOSTSCRIPT', 'GhostScript',   'gswin32c.exe')
             TextPRM(self.pars,  'IMAGEMAGICK', 'Image Magick',  'convert.exe')
 
+            # Arcelor
+            TextPRM(self.pars,  'LAM3',       'Lam3',          'lam3.exe')
+            TextPRM(self.pars,  'TEC3',       'Tec3',          'tec3.exe')
+            TextPRM(self.pars,  'XDONNEE',    'X-Donnee',      'xd.exe')
+
     def checkValidity(self, key):
         if key not in self.pars :
             print("%s is not a valid external program key from externalProgramPath... "%key)
@@ -96,6 +106,10 @@ class ExtProgs(PRMSet):
         PRMAction(self.actions, 'i', self.pars['GHOSTSCRIPT'])
         PRMAction(self.actions, 'j', self.pars['IMAGEMAGICK'])
         NoAction(self.actions)
+        PRMAction(self.actions, 'k', self.pars['LAM3'])
+        PRMAction(self.actions, 'l', self.pars['TEC3'])
+        PRMAction(self.actions, 'm', self.pars['XDONNEE'])
+        NoAction(self.actions)
         SaveAction(self.actions , 'S')
         QuitAction(self.actions , 'Q')
 
diff --git a/externalProgramPathGui.pyw b/externalProgramPathGui.pyw
index eb7beaf9a0aab098d944416e73ea26162db992d0..085a6bf8a0c7a5f38fc2dee786a6cd5f8983c920 100755
--- a/externalProgramPathGui.pyw
+++ b/externalProgramPathGui.pyw
@@ -111,6 +111,16 @@ class ExtProgsConfGui(QWidget):
         self.sf['GHOSTSCRIPT']       = ExeFileLine(self, grplay3, self.extProgPath.pars['GHOSTSCRIPT'],    exeFileType, 1, 0, 4)
         self.sf['IMAGEMAGICK']       = ExeFileLine(self, grplay3, self.extProgPath.pars['IMAGEMAGICK'],    exeFileType, 2, 0, 4)
         
+        # Outils Arcelor
+        self.arcelorGrpBox  = QGroupBox("Arcelor Tools")
+        box.addWidget(self.arcelorGrpBox)
+        grplay4 = QGridLayout()
+        grplay4.setColumnStretch(2,1)
+        self.arcelorGrpBox.setLayout(grplay4)
+        self.sf['LAM3']             = ExeFileLine(self, grplay4, self.extProgPath.pars['LAM3'],          exeFileType, 0, 0, 4)
+        self.sf['TEC3']             = ExeFileLine(self, grplay4, self.extProgPath.pars['TEC3'],          exeFileType, 1, 0, 4)
+        self.sf['XDONNEE']          = ExeFileLine(self, grplay4, self.extProgPath.pars['XDONNEE'],       exeFileType, 2, 0, 4)
+        
     def buildButtonFrame(self, box):      
         # == Buttons Frame ==
         butframe = QFrame()
diff --git a/mtfLicense/spring.lic b/mtfLicense/spring.lic
new file mode 100644
index 0000000000000000000000000000000000000000..8645502e746a6200c2296a256f768e0ad5925058
--- /dev/null
+++ b/mtfLicense/spring.lic
@@ -0,0 +1 @@
+646574612B0A060C031B13305B736D657470666F722024372D0F021B1900102D0F0C1703161160666F72CD657461506F726DD9746166C6726D65EA61666F7D6D6574D96E6F72