En fait j'ai changé la fonction qui crée le tabpath dans le fichier Library\Components\Shared\globals.vb
Public Function GenerateTabPath(ByVal ParentId As Integer, ByVal TabName As String) As String
Dim strTabPath As String = ""
Dim objTabs As New TabController
Dim objTab As TabInfo
Dim strTabName As String
objTab = objTabs.GetTab(ParentId, Null.NullInteger, False)
Do While Not objTab Is Nothing
'strTabName = HtmlUtils.StripNonWord(objTab.TabName, False)
strTabName = objTab.TabName.Replace(" ", "-")
'strTabPath = "//" & strTabName & strTabPath
strTabPath = strTabPath & "//" & strTabName
If Null.IsNull(objTab.ParentId) Then
objTab = Nothing
Else
objTab = objTabs.GetTab(objTab.ParentId, objTab.PortalID, False)
End If
Loop
'strTabPath = strTabPath & "//" & HtmlUtils.StripNonWord(TabName, False)
'remplacement des espaces par des -
strTabPath = "//" & TabName.Replace(" ", "-") & strTabPath
'suppression des caractères accentués
strTabPath = Regex.Replace(strTabPath, "[éèëê]+", "e", RegexOptions.Compiled)
strTabPath = Regex.Replace(strTabPath, "[àäâ]+", "a", RegexOptions.Compiled)
strTabPath = Regex.Replace(strTabPath, "[îï]+", "i", RegexOptions.Compiled)
strTabPath = Regex.Replace(strTabPath, "[ùüû]+", "u", RegexOptions.Compiled)
strTabPath = Regex.Replace(strTabPath, "[ôö]+", "o", RegexOptions.Compiled)
strTabPath = Regex.Replace(strTabPath, "[ç]+", "c", RegexOptions.Compiled)
strTabPath = Regex.Replace(strTabPath, "[(?+<>.,@#%& )*-]+", "-", RegexOptions.Compiled)
Return strTabPath
End Function