diff --git a/php/classes/AliasMgr.php b/php/classes/AliasMgr.php
index 08d790b..f8f4e55 100644
--- a/php/classes/AliasMgr.php
+++ b/php/classes/AliasMgr.php
@@ -61,10 +61,31 @@ class AliasMgr extends AmdaObjectMgr {
 	/*****************************************************************
 	 *                           PUBLIC FUNCTIONS
 	 *****************************************************************/
-
+	 
+	 public function getAliasArraySorted($byParamLength) {
+			$AliasList = $this->contentDom->getElementsByTagName('alias');
+			$AliasArray = array();
+			
+			foreach ($AliasList as $alias) {
+				$AliasArray[$alias->getAttribute('xml:id')] = $alias->getAttribute('name');
+			}
+			
+			if ($byParamLength) { // sort array by parameter length
+					$keys = array_map('strlen', array_keys($AliasArray));
+					array_multisort($keys, SORT_DESC, $AliasArray);
+			}
+			else { // sort array by alias length
+					$keys = array_map('strlen',$AliasArray);
+					array_multisort($keys,SORT_DESC,$AliasArray);
+			}
+			
+		return $AliasArray;
+	}
+	
+	
 	public function getList() {
 		$AliasList = $this->contentDom->getElementsByTagName('alias');
-
+		
 		return $AliasList;
 	}
 
@@ -72,10 +93,12 @@ class AliasMgr extends AmdaObjectMgr {
 
 		$aliasName="#".$aliasName;
 		$pos = strpos($chain, $paramName);
+		
 		while ( $pos !== FALSE ) {
 			$pos = $pos+strlen($paramName);
 			if (preg_match('/[-+*,^<>&|=\/\[\]\(\)\ ]/', $chain[$pos]) || $chain[$pos] === '') {
 					$chain = substr_replace($chain, $aliasName,$pos-strlen($paramName),strlen($paramName));
+					$pos = $pos-strlen($paramName)+strlen($aliasName);
 			}
 			$pos = strpos($chain, $paramName, $pos);
 		}
@@ -90,6 +113,7 @@ class AliasMgr extends AmdaObjectMgr {
 			$pos = $pos+strlen($aliasName);
 			if (preg_match('/[-+*,^<>&|=\/\[\]\(\)\ ]/', $chain[$pos]) || $chain[$pos] === '') {
 					$chain = substr_replace($chain, $paramName,$pos-strlen($aliasName),strlen($aliasName));
+					$pos = $pos-strlen($aliasName)+strlen($paramName);
 			}
 			$pos = strpos($chain, $aliasName, $pos);
 		}
diff --git a/php/classes/AmdaObjectMgr.php b/php/classes/AmdaObjectMgr.php
index 2475e84..be5c663 100644
--- a/php/classes/AmdaObjectMgr.php
+++ b/php/classes/AmdaObjectMgr.php
@@ -223,23 +223,24 @@ class AmdaObjectMgr
 	protected function setAlias($chain)
 	{
 		$aliasMgr = new AliasMgr();		 
-		$listeAlias = $aliasMgr->getList();
-
-		foreach($listeAlias as $alias) 
+		$aliasArray = $aliasMgr->getAliasArraySorted(true);
+		
+		foreach($aliasArray as $key => $value) 
 		{
-			$chain = $aliasMgr->substrParamAlias($chain, $alias->getAttribute("xml:id"),$alias->getAttribute("name"));
+			$chain = $aliasMgr->substrParamAlias($chain, $key,$value);
 		}
+		
 		return $chain;
 	}
 
 	protected function resetAlias($chain) 
 	{
 		$aliasMgr = new AliasMgr();		 
-		$listeAlias = $aliasMgr->getList();
+		$aliasArray = $aliasMgr->getAliasArraySorted(false);
 
-		foreach($listeAlias as $alias) 
+		foreach($aliasArray as $key => $value) 
 		{
-			$chain = $aliasMgr->substrAliasParam($chain, $alias->getAttribute("xml:id"),$alias->getAttribute("name"));
+			$chain = $aliasMgr->substrAliasParam($chain, $key, $value);
 		}
 		return $chain;
 	}	
diff --git a/php/classes/RequestMgr.php b/php/classes/RequestMgr.php
index 60844a3..6afb75b 100644
--- a/php/classes/RequestMgr.php
+++ b/php/classes/RequestMgr.php
@@ -102,23 +102,29 @@ class RequestMgr extends AmdaObjectMgr
 		if (!($objToGet = $this->contentDom->getElementById($id))) return array('error' => NO_SUCH_ID);
 		
 		$obj = json_decode(file_get_contents(USERREQDIR.$id));
+		
 		//if alias exists, replace parameter name by alias name        
-		if (file_exists(USERWSDIR.'Alias.xml')) 
-		{
-			if ($this->type == 'condition') 
-			{
-				$obj->expression =$this->setAlias($obj->expression); 
+		if (file_exists(USERWSDIR.'Alias.xml')) {
+			if ($this->type == 'condition') {
+				$obj->expression = $this->setAlias($obj->expression); 
 			}
-			else if ($this->type == 'request') 
-			{
-				for ($i=0; $i < count($obj->children); $i++) {
-							for ($j=0; $j < count($obj->children[$i]->children); $j++) {
-									$obj->children[$i]->children[$j]->name =  $this->setAlias($obj->children[$i]->children[$j]->name);
+			else if ($this->type == 'request') {
+				$tabs = $obj->tabs;
+				foreach ($tabs as $tab) { // tabs
+					$panels = $tab->panels;
+							foreach ($panels as $panel) { // panels
+								$params = $panel->params;
+								foreach ($params as $param) { // params
+									$alias = $this->setAlias($param->paramid);
+									if ($alias  != $param->paramid) {
+										$param->{'real-paramid'} = $param->paramid;
+										$param->{'real-type'} = $param->type;
+										$param->paramid = $alias; 
+									}
+								}
 							}
 				}
-				//TODO Ajout des SCATTER
-				// if $obj->children[$i]->plotType == "SCATTER" 
-				//$obj->children[$i]->scatterParam->data->name pour 1 panel (bug si 2 panels devient $obj->children[$i]->scatterParam->data->data->name)
+				//TODO add  SCATTER    
 			}    
 		}      
 		//if Start Time - Stop Time
@@ -161,21 +167,9 @@ class RequestMgr extends AmdaObjectMgr
 		{
 			if ($this->type == 'condition') 
 			{
-				$p->expression = $this->resetAlias($p->expression);
+				$p->expression = $this->resetAlias(trim($p->expression));
 				$info = $p->expression;
 			}
-			else if ($this->type == 'request') 
-			{
-				$info = '';
-				for ($i=0; $i < count($p->children); $i++) 
-				{
-					for ($j=0; $j < count($p->children[$i]->children); $j++) 
-					{
-						$p->children[$i]->children[$j]->name =  $this->resetAlias($p->children[$i]->children[$j]->name);
-						$info = $info.' '.$p->children[$i]->children[$j]->name;
-					}
-				}
-			}
 		}
         
 		$this->descFileName = USERREQDIR.$this->id;
@@ -192,7 +186,7 @@ class RequestMgr extends AmdaObjectMgr
 	
 	public static function checkRequest($obj)
 	{		  
-		if (!file_exists(orbitsAllXml)) return array('success' => false, 'message' => 'no orbits descriotion file');
+		if (!file_exists(orbitsAllXml)) return array('success' => false, 'message' => 'no orbits description file');
 
 		//check for orbit templateArgs
 		$args = array();	  	   
--
libgit2 0.21.2