diff --git a/data/message/fr/installmanager.ini b/data/message/fr/installmanager.ini
index 296e61c..d1aa2c2 100755
--- a/data/message/fr/installmanager.ini
+++ b/data/message/fr/installmanager.ini
@@ -11,12 +11,13 @@ TxtNoSize = "indisponible"
 MsgConnexionFailed = "La connexion a échoué, impossible de lister les paquets disponibles".
 TxtDetailNotAvailable = "Le descriptif n'est pas disponible actuellement"
 
-TxtActionInstallControlTitle = "Liste des packages disponibles pour le téléchargement."
+TxtActionInstallControlTitle = "Liste des paquets disponibles pour le téléchargement."
 TxtActionInstallControlText = "Cette interface permet de récupérer directement les modules (via ftp ou upload de document)."
 TxtActionInstallControlTextBis = "Vous pouvez aussi, directement via un client ftp, rendre disponibles vos modules (au format tar) en les copiant dans: 'data/upload/install/packagesrc/' et ensuite vous reporter à la deuxième phase d'installation."
 TxtActionInstallControlTextWait = "NB : L'opération de téléchargement peut durer plusieurs secondes !"
 
-TxtActionInstallControlTextList = "Voici la liste des packages disponibles (briques applicatives, templates, upgrades, plugins, package d'affichage)"
+TxtActionInstallControlTextList = "Voici la liste des paquets disponibles (briques applicatives, templates, upgrades, plugins, package d'affichage)"
+TxtNoPackageAvailable				= "Aucun paquet disponible"
 
 TxtObjectCoordination = "Liste des briques applicatives"
 TxtObjectPlugin = "Liste des plugins"
@@ -32,47 +33,48 @@ BtnUpload = "Téléchargement"
 BtnBkp = "Options avancées"
 BtnInstall = "(Dés)installation"
 BtnUninstall = "Suppression"
-MsgDownloaded = "Le package à été récupéré avec succès"
+MsgDownloaded = "Le paquet à été récupéré avec succès"
 MsgDownloadError = "Une erreur est survenue, le téléchargement a échoué"
 MsgFailedForMd5 = "Une erreur est survenue, le téléchargement est invalide (vérification md5)"
 
 # Formulaire de liste des packages...
-TxtToInstall = "package non installé"
-TxtToUnInstall = "package installé"
+TxtToInstall = "paquet non installé"
+TxtToUnInstall = "paquet installé"
 
 TxtInstall = "installer"
 TxtUnInstall = "désinstaller/supprimer"
 
-TxtActionListInstallTitle = "Liste des packages disponibles pour installation/désinstallation."
+TxtActionListInstallTitle = "Liste des paquets disponibles pour installation/désinstallation."
 TxtActionListInstallText = "Cette interface permet de gérer les installations/désinstallations de votre système. "
-TxtUploadPackage = "Uploader manuellement un package :"
+TxtUploadPackage = "Uploader manuellement un paquet :"
 TxtUploadFromFtp = "Uploader"
 
 # Msg upload
 msgAllreadyExist = "Le paquet existe déjà..."
 msgDone = "Le paquet est maintenant disponible."
-msgPackageNotValid = "Le package n'est pas valide"
+msgPackageNameNotValid					= "Le nom du paquet n'est pas valide"
+msgPackageNotValid						= "Le paquet n'est pas valide"
 msgSourceDeleted = "Paquet source détruit!"
-BtnUploadInstall = "Uploader et installer"
+BtnUploadInstall						= "Uploader et installer"
 
 # Msg interface d'install
 TxtAfterUninstallTitle ="Désinstallation réussie."
-TxtAfterUninstallText = "Le package a bien été désinstallé."
+TxtAfterUninstallText = "Le paquet a bien été désinstallé."
 TxtFileCopyTitle = "Liste des scripts installés/remplacés"
 TxtFileUninstallTitle="Liste des scripts qui seront désinstallés"
 TxtBeforeInstallTitle = "Vérification des dépendances..."
 TxtInstallTitle =" Installation..."
-TxtInstallText="Installation des scripts relatifs au package sélectionné, création de la base de données et création d'un backup de base de données."
-TxtBeforeUnInstallTitle = "Liste des scripts correspondant au package sélectionné, ainsi que les backups de fichier et de base de données (attention ces derniers seront également supprimés par le processus de désinstallation)"
+TxtInstallText="Installation des scripts relatifs au paquet sélectionné, création de la base de données et création d'un backup de base de données."
+TxtBeforeUnInstallTitle = "Liste des scripts correspondant au paquet sélectionné, ainsi que les backups de fichier et de base de données (attention ces derniers seront également supprimés par le processus de désinstallation)"
 TxtAfterInstallTitle = "Installation terminée."
 TxtBeforeInstallText = "Cette interface permet de lister toutes les opérations effectuées par l'installeur, et de vérifier l'intégrité de l'installation."
 TxtBeforeUnInstallText = "Cette interface permet de lister toutes les opérations effectuées par le désinstalleur, et de vérifier l'intégrité de la désinstallation."
 TxtAfterInstallText = "L'installation est terminée, le paquet a été installé avec succès, pour plus d'informations concernant le paquet installé, veuillez vous référer à la documentation."
 TxtUninstallTitle = "Désinstallation"
-TxtUninstallText = "Cette interface permet de lister l'ensemble des fichiers contenus dans le package que vous souhaitez désinstaller."
-InstalleurDefaut="L'installation se fait à partir de l'installeur de Granilim."
+TxtUninstallText = "Cette interface permet de lister l'ensemble des fichiers contenus dans le paquet que vous souhaitez désinstaller."
+InstalleurDefaut="L'installation se fait à partir de l'installeur de Qware."
 InstalleurSurchargé="Vous utilisez un installeur spécifique appartenant à la classe : "
-UninstalleurDefaut="La désinstallation se fait à partir du désinstalleur de Granilim."
+UninstalleurDefaut="La désinstallation se fait à partir du désinstalleur de Qware."
 UninstalleurSurchargé="Vous utilisez un désinstalleur spécifique appartenant à la classe : "
 TxtBkpBD = "Fichiers de backup de la base de données"
 TxtBkpFile = "Backup des fichiers"
@@ -104,7 +106,7 @@ BtnFinIntall = "Suivant"
 BtnFinUninstall = "Suivant"
 TxtFinUninstall = "L'ensemble des fichiers et répertoires relatifs à l'élément sélectionné a été supprimé, veuillez passer à l'étape suivante pour finaliser la désinstallation."
 TxtUninstall = "Avant de désinstaller ce composant assurez-vous de bien avoir effectué une sauvegarde avant de continuer."
-TxtFinInstall = "Fin du processus d'installation de votre package, veuillez passer à l'étape suivante pour obtenir un récapitulatif."
+TxtFinInstall = "Fin du processus d'installation de votre paquet, veuillez passer à l'étape suivante pour obtenir un récapitulatif."
 TxtBackup = "Désirez vous faire une sauvegarde de votre système ? Cette sauvegarde permettra de restaurer vos données et/ou vos anciens scripts (cette option peut prendre un espace disque important)."
 SuccessCopy="Copie réussie"
 TxtStatutErase="Etat de la suppression"
@@ -124,11 +126,11 @@ InvalidPackage = "Installation non valide"
 InvalidBackupDb = "La base de données n'a pas pu être sauvegardée... arrêt de l'installation."
 InvalidRestoreDb="La base de données n'a pas pu être restaurée... restauration échouée!"
 InvalidInstall = "Aucun fichier à remplacer, installation non valide..."
-InvalidFileInstall = "Un ou plusieurs scripts ne peuvent pas être remplacés... Impossible d'installer le package."
+InvalidFileInstall = "Un ou plusieurs scripts ne peuvent pas être remplacés... Impossible d'installer le paquet."
 NoRightForFile = "Vous ne possédez pas les droits suffisants sur le fichier pour pouvoir le copier. Vous devez modifier les permissions attribuées sur ce fichier à l'aide de la commande chmod (ex: chmod 0775 nom_fichier) sur le fichier : "
 NotExistBackup="Non présent"
 ExistBackup="Présent"
-NotUninstallPackage="Package invalide"
+NotUninstallPackage="Paquet invalide"
 
 # interfaces bkpmanageinstall
 MsgBkpInstallTitle = "Options avancées"
@@ -164,4 +166,4 @@ TxtEtape3Install = "Finalisation de l'installation."
 TxtEtape1Uninstall = "Vérification de l'intégrité des scripts à désinstaller."
 TxtEtape2Uninstall = "Suppression des scripts et mise à jour de la base de données."
 TxtEtape3Uninstall = "Finalisation de la désinstallation."
-TxtFileHaveBeenToInstall = "Fichiers remplacés"
\ No newline at end of file
+TxtFileHaveBeenToInstall = "Fichiers remplacés"
diff --git a/data/template/lcube6/object_coordination/installmanager/actioninstall.mxt b/data/template/lcube6/object_coordination/installmanager/actioninstall.mxt
index 0034bb5..8ad9b54 100755
--- a/data/template/lcube6/object_coordination/installmanager/actioninstall.mxt
+++ b/data/template/lcube6/object_coordination/installmanager/actioninstall.mxt
@@ -24,7 +24,7 @@
 					<input type='hidden' class="hidden" name='MAX_FILE_SIZE' value='10000000000000'/>
 					<div class="input-group">
 						<div class="custom-file">
-							<input type="file" class="custom-file-input" id="uploadFile">
+							<input type="file" class="custom-file-input" name="uploadFile" id="uploadFile">
 							<label class="custom-file-label" for="uploadFile">Choose file</label>
 						</div>
 						<div class="input-group-append">
@@ -54,8 +54,8 @@
 						<td class="py-0 align-middle"><mx:text id="size"/></td>
 						<td class="py-0 align-middle"><mx:text id="version"/></td>
 						<td class="py-0 align-middle">
-							<a mXattribut="href:urlDetail" class="linkview"></a>
-							<a mXattribut="href:urlDownload" class="linkadd"></a>
+							<span><a mXattribut="href:urlDetail"><span class="fa fa-lg fa-eye"></span></a></span>
+							<span><a mXattribut="href:urlDownload"><span class="fa fa-lg fa-cloud-download"></span></a></span>
 						</td>
 					</tr>
 						<mx:bloc id="DETAIL">
@@ -86,8 +86,8 @@
 					<td class="py-0 align-middle"><mx:text id="size"/></td>
 					<td class="py-0 align-middle"><mx:text id="version"/></td>
 					<td class="py-0 align-middle">
-						<a mXattribut="href:urlDetail" class="linkview"></a>
-						<a mXattribut="href:urlDownload" class="linkadd"></a>
+						<span><a mXattribut="href:urlDetail"><span class="fa fa-lg fa-eye"></span></a></span>
+						<span><a mXattribut="href:urlDownload"><span class="fa fa-lg fa-cloud-download"></span></a></span>
 					</td>
 				</tr>
 					<mx:bloc id="DETAIL">
@@ -117,8 +117,8 @@
 					<td class="py-0 align-middle"><mx:text id="size"/></td>
 					<td class="py-0 align-middle"><mx:text id="version"/></td>
 					<td class="py-0 align-middle">
-						<a mXattribut="href:urlDetail" class="linkview"></a>
-						<a mXattribut="href:urlDownload" class="linkadd"></a>
+						<span><a mXattribut="href:urlDetail"><span class="fa fa-lg fa-eye"></span></a></span>
+						<span><a mXattribut="href:urlDownload"><span class="fa fa-lg fa-cloud-download"></span></a></span>
 					</td>
 				</tr>
 					<mx:bloc id="DETAIL">
@@ -148,8 +148,8 @@
 					<td class="py-0 align-middle"><mx:text id="size"/></td>
 					<td class="py-0 align-middle"><mx:text id="version"/></td>
 					<td class="py-0 align-middle">
-						<a mXattribut="href:urlDetail" class="linkview"></a>
-						<a mXattribut="href:urlDownload" class="linkadd"></a>
+						<span><a mXattribut="href:urlDetail"><span class="fa fa-lg fa-eye"></span></a></span>
+						<span><a mXattribut="href:urlDownload"><span class="fa fa-lg fa-cloud-download"></span></a></span>
 					</td>
 				</tr>
 					<mx:bloc id="DETAIL">
@@ -179,8 +179,8 @@
 					<td class="py-0 align-middle"><mx:text id="size"/></td>
 					<td class="py-0 align-middle"><mx:text id="version"/></td>
 					<td class="py-0 align-middle">
-						<a mXattribut="href:urlDetail" class="linkview"></a>
-						<a mXattribut="href:urlDownload" class="linkadd"></a>
+						<span><a mXattribut="href:urlDetail"><span class="fa fa-lg fa-eye"></span></a></span>
+						<span><a mXattribut="href:urlDownload"><span class="fa fa-lg fa-cloud-download"></span></a></span>
 					</td>
 				</tr>
 					<mx:bloc id="DETAIL">
diff --git a/data/template/lcube6/object_coordination/installmanager/listinstall.mxt b/data/template/lcube6/object_coordination/installmanager/listinstall.mxt
index 6a2e45b..5b1c199 100755
--- a/data/template/lcube6/object_coordination/installmanager/listinstall.mxt
+++ b/data/template/lcube6/object_coordination/installmanager/listinstall.mxt
@@ -1,221 +1,206 @@
-<div class="tabe">
-	<ul>
-	<li id="startTabe" class="WindowTabeData"><a mXattribut="class:ClassTabeView">&nbsp;</a></li>
+<ul class="nav container-fluid nav-tabs w-75 border-bottom-0">
 	<mx:bloc id="TabeB">
-		<li mXattribut="class:TabeView">
-			<a mXattribut="href:UrlTabeView" mXattribut="class:ClassTabeView">
-				<i class="mr-1 fa fa-lg fa-<mx:text id="pictoTabe"/>"></i>
-				<mx:text id="TabeNameView"/>
-			</a>
-		</li>
-	</mx:bloc id="TabeB">
-	<li id="endTabe" class="WindowTabeData"><a mXattribut="class:ClassTabeView">&nbsp;</a></li>
-	</ul>
-</div>
-<div class="box">
-	<div class="header"><h2><mx:text id="TabeBTabeNameView"/> (<mx:text id="TxtActionListInstallTitle"/>)</h2>
-	<p><mx:text id="TxtActionListInstallText"/></p>
+	<li mXattribut="class:TabeView">
+		<a mXattribut="class:ClassTabeView" mXattribut="href:UrlTabeView">
+			<i class="mr-1 fa fa-lg fa-<mx:text id="pictoTabe"/>"></i>
+			<mx:text id="TabeNameView"/>
+		</a>
+	</li>
+    </mx:bloc id="TabeB">
+</ul>
+<div class="tab-content container-fluid px-2 py-2 border w-75">
+	<div class="card w-100 text-center">
+		<div class="card-header">
+			<h3><mx:text id="TabeBTabeNameView"/> (<mx:text id="TxtActionListInstallTitle"/>)</h3>
+		</div>
+		<div class="card-title mx-auto w-75">
+			<p><mx:text id="TxtActionListInstallText"/></p>
+		</div>
+		<div class="card-header">
+			<h3><mx:text id="TxtObjectCoordination"/></h3>
+		</div>
+		<div class="card-body">
+			<table class="table table-sm table-responsive-sm table-bordered table-striped table-hover" id="tabObjectCoordination" mXattribut="summary:TxtObjectCoordination">
+				<thead class="thead-default">
+				<tr>
+					<th><mx:text id="TxtName"/></th>
+					<th><mx:text id="TxtVersion"/></th>
+					<th data-orderable="false"><mx:text id="TxtAction"/></th>
+				</tr>
+				</thead>
+				<tbody>
+					<mx:bloc id="object_coordination">
+					<tr>
+						<td><mx:text id="name"/></td>
+						<td><mx:text id="version"/></td>
+						<td>
+							<a mXattribut="href:urlDetail"><img src="data/template/default/media/picto/view.gif" border="0"/></a>
+							<mx:bloc id="INSTALL">
+								<a mXattribut="href:urlInstall"><img src="data/template/default/media/picto/add.gif" border="0"/></a>
+								<a mXattribut="href:urlDeleteSrc"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
+							</mx:bloc id="INSTALL">
+							<mx:bloc id="UNINSTALL">
+								<a mXattribut="href:urlUnInstall"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
+							</mx:bloc id="UNINSTALL">
+						</td>
+					</tr>
+						<mx:bloc id="DETAIL">
+							<tr>
+								<td colspan="3" class="tabledetail"><mx:text id="detail"/></td>
+							</tr>
+						</mx:bloc id="DETAIL">
+					</mx:bloc id="object_coordination">
+				</tbody>
+			</table>
+		</div>
+		<div class="card-header">
+			<h3><mx:text id="TxtObjectPlugin"/></h3>
+		</div>
+		<div class="card-body">
+			<table class="table table-sm table-responsive-sm table-bordered table-striped table-hover" id="tabObjectPlugin" mXattribut="summary:TxtObjectPlugin">
+				<thead class="thead-default">
+					<tr>
+						<th><mx:text id="TxtName"/></th>
+						<th><mx:text id="TxtVersion"/></th>
+						<th data-orderable="false"><mx:text id="TxtAction"/></th>
+					</tr>
+				</thead>
+				<tbody>
+					<mx:bloc id="object_plugin">
+					<tr>
+						<td><mx:text id="name"/></td>
+						<td><mx:text id="version"/></td>
+						<td>
+							<a mXattribut="href:urlDetail"><img src="data/template/default/media/picto/view.gif" border="0"/></a>
+							<mx:bloc id="INSTALL">
+								<a mXattribut="href:urlInstall"><img src="data/template/default/media/picto/add.gif" border="0"/></a>
+								<a mXattribut="href:urlDeleteSrc"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
+							</mx:bloc id="INSTALL">
+							<mx:bloc id="UNINSTALL">
+								<a mXattribut="href:urlUnInstall"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
+							</mx:bloc id="UNINSTALL">
+						</td>
+					</tr>
+						<mx:bloc id="DETAIL">
+							<tr>
+								<td colspan="4" class="tabledetail"><mx:text id="detail"/></td>
+							</tr>
+						</mx:bloc id="DETAIL">
+					</mx:bloc id="object_plugin">
+				</tbody>
+			</table>
+		</div>
+		<div class="card-header">
+			<h3><mx:text id="TxtObjectPrinting"/></h3>
+		</div>
+		<div class="card-body">
+			<table class="table table-sm table-responsive-sm table-bordered table-striped table-hover" id="tabObjectPrinting" mXattribut="summary:TxtObjectPrinting">
+				<thead class="thead-default">
+					<tr>
+						<th><mx:text id="TxtName"/></th>
+						<th><mx:text id="TxtVersion"/></th>
+						<th data-orderable="false"><mx:text id="TxtAction"/></th>
+					</tr>
+				</thead>
+				<tbody>
+					<mx:bloc id="object_printing">
+						<tr>
+							<td><mx:text id="name"/></td>
+							<td><mx:text id="version"/></td>
+							<td>
+								<a mXattribut="href:urlDetail"><img src="data/template/default/media/picto/view.gif" border="0"/></a>
+								<mx:bloc id="INSTALL">
+									<a mXattribut="href:urlInstall"><img src="data/template/default/media/picto/add.gif" border="0"/></a>
+									<a mXattribut="href:urlDeleteSrc"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
+								</mx:bloc id="INSTALL">
+								<mx:bloc id="UNINSTALL">
+									<a mXattribut="href:urlUnInstall"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
+								</mx:bloc id="UNINSTALL">
+							</td>
+						</tr>
+						<mx:bloc id="DETAIL">
+							<tr>
+								<td colspan="3" class="tabledetail"><mx:text id="detail"/></td>
+							</tr>
+						</mx:bloc id="DETAIL">
+					</mx:bloc id="object_printing">
+				</tbody>
+			</table>
+		</div>
+		<div class="card-header">
+			<h3><mx:text id="TxtTemplate"/></h3>
+		</div>
+		<div class="card-body">
+			<table class="table table-sm table-responsive-sm table-bordered table-striped table-hover" id="tabTemplate" mXattribut="summary:TxtTemplate">
+				<thead class="thead-default">
+				<tr>
+					<th><mx:text id="TxtName"/></th>
+					<th><mx:text id="TxtVersion"/></th>
+					<th data-orderable="false"><mx:text id="TxtAction"/></th>
+				</tr>
+				</thead>
+				<tbody>
+					<mx:bloc id="template">
+						<tr>
+							<td><mx:text id="name"/></td>
+							<td><mx:text id="version"/></td>
+							<td>
+								<a mXattribut="href:urlDetail"><img src="data/template/default/media/picto/view.gif" border="0"/></a>
+								<mx:bloc id="INSTALL">
+									<a mXattribut="href:urlInstall"><img src="data/template/default/media/picto/add.gif" border="0"/></a>
+									<a mXattribut="href:urlDeleteSrc"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
+								</mx:bloc id="INSTALL">
+								<mx:bloc id="UNINSTALL">
+									<a mXattribut="href:urlUnInstall"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
+								</mx:bloc id="UNINSTALL">
+							</td>
+						</tr>
+						<mx:bloc id="DETAIL">
+							<tr>
+								<td colspan="3" class="tabledetail"><mx:text id="detail"/></td>
+							</tr>
+						</mx:bloc id="DETAIL">
+					</mx:bloc id="template">
+				</tbody>
+			</table>
+		</div>
+		<div class="card-header">
+			<h3><mx:text id="TxtUpgrade"/></h3>
+		</div>
+		<div class="card-body">
+			<table class="table table-sm table-responsive-sm table-bordered table-striped table-hover" id="tabUpgrade" mXattribut="summary:TxtUpgrade">
+				<thead class="thead-default">
+				<tr>
+					<th><mx:text id="TxtName"/></th>
+					<th><mx:text id="TxtVersion"/></th>
+					<th data-orderable="false"><mx:text id="TxtAction"/></th>
+				</tr>
+				</thead>
+				<tbody>
+					<mx:bloc id="upgrade">
+						<tr>
+							<td><mx:text id="name"/></td>
+							<td><mx:text id="version"/></td>
+							<td>
+								<a mXattribut="href:urlDetail"><img src="data/template/default/media/picto/view.gif" border="0"/>
+								<mx:bloc id="INSTALL">
+									<a mXattribut="href:urlInstall"><img src="data/template/default/media/picto/add.gif" border="0"/></a>
+									<a mXattribut="href:urlDeleteSrc"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
+								</mx:bloc id="INSTALL">
+								<mx:bloc id="UNINSTALL">
+									<a mXattribut="href:urlUnInstall"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
+								</mx:bloc id="UNINSTALL">
+							</td>
+						</tr>
+						<mx:bloc id="DETAIL">
+							<tr>
+								<td colspan="3" class="tabledetail"><mx:text id="detail"/></td>
+							</tr>
+						</mx:bloc id="DETAIL">
+					</mx:bloc id="upgrade">
+				</tbody>
+			</table>
+			
+		</div>
 	</div>
-<div class="fieldset">
-<div class="legend"><mx:text id="TxtObjectCoordination"/></div>
-	<div class="legendcolor">
-		<div><strong><mx:text id="TxtLegend"/></strong></div>
-		<div class="lnColor1">&nbsp;</div><div><mx:text id="TxtToInstall"/></div>
-		<div class="lnColor3">&nbsp;</div><div><mx:text id="TxtToUnInstall"/></div>
-		<div class="linkview">&nbsp;</div><div><mx:text id="TxtDetail"/></div>
-		<div class="linkadd">&nbsp;</div><div><mx:text id="TxtInstall"/></div>
-		<div class="linkdelete">&nbsp;</div><div><mx:text id="TxtUnInstall"/></div>
-	</div>
-	<table class="table" mXattribut="summary:TxtObjectCoordination">
-	<caption></caption>
-	<tr>
-		<th><mx:text id="TxtName"/></th>
-		<th><mx:text id="TxtVersion"/></th>
-		<th><mx:text id="TxtAction"/></th>
-	</tr>
-	<mx:bloc id="object_coordination">
-	<tr mXattribut="class:lineStyle">
-		<td mXattribut="class:class"><mx:text id="name"/></td>
-		<td><mx:text id="version"/></td>
-		<td class="actionOne">
-		<a mXattribut="href:urlDetail"><img src="data/template/default/media/picto/view.gif" border="0"/></a>
-		<mx:bloc id="INSTALL">
-		<a mXattribut="href:urlInstall"><img src="data/template/default/media/picto/add.gif" border="0"/></a>
-		<a mXattribut="href:urlDeleteSrc"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
-		</mx:bloc id="INSTALL">
-		<mx:bloc id="UNINSTALL">
-		<a mXattribut="href:urlUnInstall"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
-		</mx:bloc id="UNINSTALL">
-		</td>
-	</tr>
-		<mx:bloc id="DETAIL">
-		<tr>
-			<td colspan="3" class="tabledetail"><mx:text id="detail"/></td>
-		</tr>
-		</mx:bloc id="DETAIL">
-	</mx:bloc id="object_coordination">
-	</table>
-</div>
-<div class="fieldset">
-<div class="legend><mx:text id="TxtObjectPlugin"/></div>
-	<div class="legendcolor">
-		<div><strong><mx:text id="TxtLegend"/></strong></div>
-		<div class="lnColor1">&nbsp;</div><div><mx:text id="TxtToInstall"/></div>
-		<div class="lnColor3">&nbsp;</div><div><mx:text id="TxtToUnInstall"/></div>
-		<div class="linkview">&nbsp;</div><div><mx:text id="TxtDetail"/></div>
-		<div class="linkadd">&nbsp;</div><div><mx:text id="TxtInstall"/></div>
-		<div class="linkdelete">&nbsp;</div><div><mx:text id="TxtUnInstall"/></div>
-	</div>
-	<table class="table" mXattribut="summary:TxtObjectPlugin">
-	<caption></caption>
-	<tr>
-		<th><mx:text id="TxtName"/></th>
-		<th><mx:text id="TxtVersion"/></th>
-		<th><mx:text id="TxtAction"/></th>
-	</tr>
-	<mx:bloc id="object_plugin">
-	<tr mXattribut="class:lineStyle">
-		<td mXattribut="class:class"><mx:text id="name"/></td>
-		<td><mx:text id="version"/></td>
-		<td class="action">
-		<a mXattribut="href:urlDetail"><img src="data/template/default/media/picto/view.gif" border="0"/></a>
-		<mx:bloc id="INSTALL">
-		<a mXattribut="href:urlInstall"><img src="data/template/default/media/picto/add.gif" border="0"/></a>
-		<a mXattribut="href:urlDeleteSrc"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
-		</mx:bloc id="INSTALL">
-		<mx:bloc id="UNINSTALL">
-		<a mXattribut="href:urlUnInstall"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
-		</mx:bloc id="UNINSTALL">
-		</td>
-	</tr>
-		<mx:bloc id="DETAIL">
-		<tr>
-			<td colspan="4" class="tabledetail"><mx:text id="detail"/></td>
-		</tr>
-		</mx:bloc id="DETAIL">
-	</mx:bloc id="object_plugin">
-	</table>
-</div>
-<div class="fieldset">
-<div class="legend><mx:text id="TxtObjectPrinting"/></div>
-	<div class="legendcolor">
-		<div><strong><mx:text id="TxtLegend"/></strong></div>
-		<div class="lnColor1">&nbsp;</div><div><mx:text id="TxtToInstall"/></div>
-		<div class="lnColor3">&nbsp;</div><div><mx:text id="TxtToUnInstall"/></div>
-		<div class="linkview">&nbsp;</div><div><mx:text id="TxtDetail"/></div>
-		<div class="linkadd">&nbsp;</div><div><mx:text id="TxtInstall"/></div>
-		<div class="linkdelete">&nbsp;</div><div><mx:text id="TxtUnInstall"/></div>
-	</div>
-	<table class="table" mXattribut="summary:TxtObjectPrinting">
-	<caption></caption>
-	<tr>
-		<th><mx:text id="TxtName"/></th>
-		<th><mx:text id="TxtVersion"/></th>
-		<th><mx:text id="TxtAction"/></th>
-	</tr>
-	<mx:bloc id="object_printing">
-	<tr mXattribut="class:lineStyle">
-		<td mXattribut="class:class"><mx:text id="name"/></td>
-		<td><mx:text id="version"/></td>
-
-		<td class="actionOne">
-		<a mXattribut="href:urlDetail"><img src="data/template/default/media/picto/view.gif" border="0"/></a>
-		<mx:bloc id="INSTALL">
-		<a mXattribut="href:urlInstall"><img src="data/template/default/media/picto/add.gif" border="0"/></a>
-		<a mXattribut="href:urlDeleteSrc"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
-		</mx:bloc id="INSTALL">
-		<mx:bloc id="UNINSTALL">
-		<a mXattribut="href:urlUnInstall"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
-		</mx:bloc id="UNINSTALL">
-		</td>
-	</tr>
-		<mx:bloc id="DETAIL">
-		<tr>
-			<td colspan="3" class="tabledetail"><mx:text id="detail"/></td>
-		</tr>
-		</mx:bloc id="DETAIL">
-	</mx:bloc id="object_printing">
-	</table>
-</div>
-<div class="fieldset">
-<div class="legend><mx:text id="TxtTemplate"/></div>
-	<div class="legendcolor">
-		<div><strong><mx:text id="TxtLegend"/></strong></div>
-		<div class="lnColor1">&nbsp;</div><div><mx:text id="TxtToInstall"/></div>
-		<div class="lnColor3">&nbsp;</div><div><mx:text id="TxtToUnInstall"/></div>
-		<div class="linkview">&nbsp;</div><div><mx:text id="TxtDetail"/></div>
-		<div class="linkadd">&nbsp;</div><div><mx:text id="TxtInstall"/></div>
-		<div class="linkdelete">&nbsp;</div><div><mx:text id="TxtUnInstall"/></div>
-	</div>
-	<table class="table" mXattribut="summary:TxtTemplate">
-	<caption></caption>
-	<tr>
-		<th><mx:text id="TxtName"/></th>
-		<th><mx:text id="TxtVersion"/></th>
-		<th><mx:text id="TxtAction"/></th>
-	</tr>
-	<mx:bloc id="template">
-	<tr mXattribut="class:lineStyle">
-		<td mXattribut="class:class"><mx:text id="name"/></td>
-		<td><mx:text id="version"/></td>
-		<td class="actionOne">
-		<a mXattribut="href:urlDetail"><img src="data/template/default/media/picto/view.gif" border="0"/></a>
-		<mx:bloc id="INSTALL">
-		<a mXattribut="href:urlInstall"><img src="data/template/default/media/picto/add.gif" border="0"/></a>
-		<a mXattribut="href:urlDeleteSrc"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
-		</mx:bloc id="INSTALL">
-		<mx:bloc id="UNINSTALL">
-		<a mXattribut="href:urlUnInstall"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
-		</mx:bloc id="UNINSTALL">
-		</td>
-	</tr>
-		<mx:bloc id="DETAIL">
-		<tr>
-			<td colspan="3" class="tabledetail"><mx:text id="detail"/></td>
-		</tr>
-		</mx:bloc id="DETAIL">
-	</mx:bloc id="template">
-	</table>
-</div>
-<div class="fieldset">
-<div class="legend><mx:text id="TxtUpgrade"/></div>
-	<div class="legendcolor">
-		<div><strong><mx:text id="TxtLegend"/></strong></div>
-		<div class="lnColor1">&nbsp;</div><div><mx:text id="TxtToInstall"/></div>
-		<div class="lnColor3">&nbsp;</div><div><mx:text id="TxtToUnInstall"/></div>
-		<div class="linkview">&nbsp;</div><div><mx:text id="TxtDetail"/></div>
-		<div class="linkadd">&nbsp;</div><div><mx:text id="TxtInstall"/></div>
-		<div class="linkdelete">&nbsp;</div><div><mx:text id="TxtUnInstall"/></div>
-	</div>
-	<table class="table" mXattribut="summary:TxtUpgrade">
-	<caption></caption>
-	<tr>
-		<th><mx:text id="TxtName"/></th>
-		<th><mx:text id="TxtVersion"/></th>
-		<th><mx:text id="TxtAction"/></th>
-	</tr>
-	<mx:bloc id="upgrade">
-	<tr mXattribut="class:lineStyle">
-		<td mXattribut="class:class"><mx:text id="name"/></td>
-		<td><mx:text id="version"/></td>
-
-		<td class="actionOne">
-		<a mXattribut="href:urlDetail"><img src="data/template/default/media/picto/view.gif" border="0"/>
-		<mx:bloc id="INSTALL">
-		<a mXattribut="href:urlInstall"><img src="data/template/default/media/picto/add.gif" border="0"/></a>
-		<a mXattribut="href:urlDeleteSrc"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
-		</mx:bloc id="INSTALL">
-		<mx:bloc id="UNINSTALL">
-		<a mXattribut="href:urlUnInstall"><img src="data/template/default/media/picto/delete.gif" border="0"/></a>
-		</mx:bloc id="UNINSTALL">
-		</td>
-	</tr>
-		<mx:bloc id="DETAIL">
-		<tr>
-			<td colspan="3" class="tabledetail"><mx:text id="detail"/></td>
-		</tr>
-		</mx:bloc id="DETAIL">
-	</mx:bloc id="upgrade">
-	</table>
-</div>
 </div>
diff --git a/lib/object_coordination/installmanager/installdriver.php b/lib/object_coordination/installmanager/installdriver.php
index 22e0e15..3c18f57 100755
--- a/lib/object_coordination/installmanager/installdriver.php
+++ b/lib/object_coordination/installmanager/installdriver.php
@@ -72,14 +72,14 @@ var $dbUninstallFile= "uninstall";
 	//
 	// Constructeur
 	//
-/**
-* Constructeur PHP4
-* @param chaine nom du package
-* @param chaine path de travail
-*/
-	function InstallDriver($pkgName, $rootDir=null){
-		$this->__construct($pkgName, $rootDir);
-	}
+// /**
+// * Constructeur PHP4
+// * @param chaine nom du package
+// * @param chaine path de travail
+// */
+// 	function InstallDriver($pkgName, $rootDir=null){
+// 		$this->__construct($pkgName, $rootDir);
+// 	}
 
 /**
 * Constructeur PHP5
diff --git a/lib/object_coordination/installmanager/installmanager.php b/lib/object_coordination/installmanager/installmanager.php
index e79c927..2165ccf 100755
--- a/lib/object_coordination/installmanager/installmanager.php
+++ b/lib/object_coordination/installmanager/installmanager.php
@@ -87,13 +87,10 @@ Class InstallManager extends CoordinationObj
 		mxPageTitle("actionAdminTitlePage");
 		
 		$arrayCallCss = array();
-// 		$arrayCallCss[] = "data/css/bootstrap-datepicker/1.9.0/bootstrap-datepicker3.min.css";
 		$arrayCallCss[] = "data/css/dataTables.bootstrap4/1.10.22/dataTables.bootstrap4.min.css";
 		mxCallCss($arrayCallCss);
 		
 		$arrayCallJs = array();
-// 		$arrayCallJs[] = "data/javascript/bootstrap-datepicker/1.9.0/bootstrap-datepicker.min.js";
-// 		$arrayCallJs[] = "data/javascript/bootstrap-datepicker/1.9.0/locales/bootstrap-datepicker.".$currentCode.".min.js";
 		$arrayCallJs[] = "data/javascript/jquery.dataTables/1.10.22/jquery.dataTables.min.js";
 		$arrayCallJs[] = "data/javascript/dataTables.bootstrap4/1.10.22/dataTables.bootstrap4.min.js";
 		mxCallJs($arrayCallJs);
@@ -125,47 +122,52 @@ Class InstallManager extends CoordinationObj
 		#################################################################
 		# Récupération des packages disponibles
 		#################################################################
-		$pathCache=$GLOBALS["CONF_DATA_PATH"]."data/upload/install/cache/cache.dat";
-		if (file_exists($pathCache))
-		{
-			$file=new File($pathCache, "r");
-			$tab=unserialize(base64_decode($file->readAll()));
-			$file->close();
-			// On recup aussi $cache_time
-			extract($tab);
-		}
+// 		$pathCache=$GLOBALS["CONF_DATA_PATH"]."data/upload/install/cache/cache.dat";
+// 		if (file_exists($pathCache))
+// 		{
+// 			$file=new File($pathCache, "r");
+// 			$tab=unserialize(base64_decode($file->readAll()));
+// 			$file->close();
+// 			// On recup aussi $cache_time
+// // 			extract($tab);
+// 		}
 
-		if ( ($cache_time==null) || (date("H:i:s",$cache_time)<date("H:i:s",(time()-mktime(0,CACHETIME,0,0,0)))) )
-		{
+// 		if ( ($cache_time==null) || (date("H:i:s",$cache_time)<date("H:i:s",(time()-mktime(0,CACHETIME,0,0,0)))) )
+// 		{
 			$tabPackage=array();
 			if ($connection->connect())
 			{
 				//Listing du rep distant
 				$tabdir=$connection->getContentDir(".");
+// 				var_dump($tabdir);
+// 				exit(0);
 				
 				//Teste de l'existence des packages et telechargement si on les possede pas deja
 				for ($i=0;$i<count($tabdir);$i++)
 				{
-					//On recupere le nom du package distant et on vïżœifie si on les possede ou pas
+					//On recupere le nom du package distant et on vérifie si on les possede ou pas
 					if (($tabdir[$i][1]=="Directory"))
 					{
+// 						var_dump($tabdir[$i][2]);
+// 						exit(0);
 						//Si pas installer affichage de la liste des packages
 						$tabPackage[]=$tabdir[$i][2];
 						$tabSize[$tabdir[$i][2]]=$connection->getSize($tabdir[$i][0]."/".$tabdir[$i][2].".tar");
+// 						$tabSize[$tabdir[$i][2]]=$connection->getSize($tabdir[$i][0]."/".$tabdir[$i][2]);
 					}
 				}
 				$tab["tabPackage"]=$tabPackage;
 				$tab["tabSize"]=$tabSize;
-				$tab["cache_time"]=time();
-				$file=new File($pathCache, "w");
-				$file->addLine(base64_encode(serialize($tab)));
-				$file->close();
+// 				$tab["cache_time"]=time();
+// 				$file=new File($pathCache, "w");
+// 				$file->addLine(base64_encode(serialize($tab)));
+// 				$file->close();
 			}
 			else
 			{
 				$msg="MsgConnexionFailed";
 			}
-		}
+// 		}
 		
 		// on vérifie si les packages sont installés ou non?
 		$tabpatch=$backup->getAllPatch();
@@ -185,6 +187,10 @@ Class InstallManager extends CoordinationObj
             }
         }
 
+// 		var_dump($tabDownLoadCp);
+//         var_dump($tabPackage);
+//         exit(0);
+        
 		//Teste de l'existence des packages et telechargement si on les possede pas deja
 		$nb=count($tabPackage);
 		for ($i=0;$i<$nb;$i++)
@@ -203,57 +209,69 @@ Class InstallManager extends CoordinationObj
 		#################################################################
 		$GLOBALS["SYSTEM_TEMPLATE"]->MxAttribut("urlUpload", formatUrl($this->getId(), "InstallManager", "uploadInstall"));
 		$tabDel=array();
-		foreach($tabPackage as $key=>$val)
-		{
-			$tmp=split("-", $val);
-			if (count($tmp)==3)
+		
+// 		var_dump($tabPackage);
+// 		exit(0);
+		
+// 		if( is_array($tabPackage) && count($tabPackage) > 0 )
+// 		{
+			foreach($tabPackage as $key=>$val)
 			{
-				###########################################################################
-				# Doit-on afficher le détail?
-				###########################################################################
-				if ($detailId==$val)
+				$tmp=mb_split("-", $val);
+				if (count($tmp)==3)
 				{
-					$content=getMessage("TxtDetailNotAvailable");
-					$file=$GLOBALS["CONF_DATA_PATH"]."data/upload/install/cache/".$val.".".strtolower(lcode());
-					if (!file_exists($file))
+					###########################################################################
+					# Doit-on afficher le détail?
+					###########################################################################
+					if ($detailId==$val)
 					{
-						if ($connection->connect())
+						$content=getMessage("TxtDetailNotAvailable");
+						$file=$GLOBALS["CONF_DATA_PATH"]."data/upload/install/cache/".$val.".".strtolower(lcode());
+						if (!file_exists($file))
 						{
-							$tabFile=$connection->getContentDir("./".$val);
-							for($i=0; $i<count($tabFile); $i++){
-								if($tabFile[0][2]=="./".$val."/".$detailId.".".strtolower(lcode())){
-									if($connection->downloadFile("./".$val."/".$val.".".strtolower(lcode()) , $file))
+							if ($connection->connect())
+							{
+								$tabFile=$connection->getContentDir("./".$val);
+								for($i=0; $i<count($tabFile); $i++){
+// 									if($tabFile[0][2]=="./".$val."/".$detailId.".".strtolower(lcode()))
+									if($tabFile[0][2]==$detailId.".".strtolower(lcode()))
 									{
-										$detail=new File($file, "r");
-										$content=$detail->readAll();
-										$detail->close();
+										if($connection->downloadFile("./".$val."/".$val.".".strtolower(lcode()) , $file))
+										{
+											$detail=new File($file, "r");
+											$content=$detail->readAll();
+											$detail->close();
+										}
 									}
 								}
+								$connection->close();
 							}
-							$connection->close();
+						}else{
+							$detail=new File($file, "r");
+							$content=$detail->readAll();
+							$detail->close();
 						}
+						$GLOBALS["SYSTEM_TEMPLATE"]->MxText($tmp[0].".DETAIL.detail", $content);
 					}else{
-						$detail=new File($file, "r");
-						$content=$detail->readAll();
-						$detail->close();
+						$GLOBALS["SYSTEM_TEMPLATE"]->MxBloc($tmp[0].".DETAIL", "delete");
 					}
-					$GLOBALS["SYSTEM_TEMPLATE"]->MxText($tmp[0].".DETAIL.detail", $content);
-				}else{
-					$GLOBALS["SYSTEM_TEMPLATE"]->MxBloc($tmp[0].".DETAIL", "delete");
+					###########################################################################
+					$tabDel[$tmp[0]]=true;
+					$GLOBALS["SYSTEM_TEMPLATE"]->MxText($tmp[0].".size", (isset($tabSize[$val]) && $tabSize[$val]!=null)?(round($tabSize[$val]/1024,2)):getMessage("TxtNoSize"));
+					$GLOBALS["SYSTEM_TEMPLATE"]->MxText($tmp[0].".name", $tmp[1]);
+					$GLOBALS["SYSTEM_TEMPLATE"]->MxText($tmp[0].".version", $tmp[2]);
+					$GLOBALS["SYSTEM_TEMPLATE"]->MxAttribut($tmp[0].".urlDetail", formatUrl($this->getId(), "InstallManager", "actionInstall", "&detailId=".$val));
+					$GLOBALS["SYSTEM_TEMPLATE"]->MxText($tmp[0].".BtnView", getMessage("BtnView"));
+					$GLOBALS["SYSTEM_TEMPLATE"]->MxAttribut($tmp[0].".urlDownload", formatUrl($this->getId(), "InstallManager", "downloadSourceInstall", "","&detailId=".$val));
+					$GLOBALS["SYSTEM_TEMPLATE"]->MxText($tmp[0].".TxtUploadFromFtp", getMessage("TxtUploadFromFtp"));
+					$GLOBALS["SYSTEM_TEMPLATE"]->MxBloc($tmp[0], "loop");
 				}
-				###########################################################################
-				$tabDel[$tmp[0]]=true;
-				$GLOBALS["SYSTEM_TEMPLATE"]->MxText($tmp[0].".size", (isset($tabSize[$val]) && $tabSize[$val]!=null)?(round($tabSize[$val]/1024,2)):getMessage("TxtNoSize"));
-				$GLOBALS["SYSTEM_TEMPLATE"]->MxText($tmp[0].".name", $tmp[1]);
-				$GLOBALS["SYSTEM_TEMPLATE"]->MxText($tmp[0].".version", $tmp[2]);
-				$GLOBALS["SYSTEM_TEMPLATE"]->MxAttribut($tmp[0].".urlDetail", formatUrl($this->getId(), "InstallManager", "actionInstall", "&detailId=".$val));
-				$GLOBALS["SYSTEM_TEMPLATE"]->MxText($tmp[0].".BtnView", getMessage("BtnView"));
-				$GLOBALS["SYSTEM_TEMPLATE"]->MxAttribut($tmp[0].".urlDownload", formatUrl($this->getId(), "InstallManager", "downloadSourceInstall", "","&detailId=".$val));
-				$GLOBALS["SYSTEM_TEMPLATE"]->MxText($tmp[0].".TxtUploadFromFtp", getMessage("TxtUploadFromFtp"));
-				$GLOBALS["SYSTEM_TEMPLATE"]->MxBloc($tmp[0], "loop");
 			}
-		}
-		# On efface les blocs qui ne servent ïżœrien...
+// 		} else {
+// 			systemRedirect(formatUrl($this->getId(),"InstallManager", "actionInstall", "TxtNoPackageAvailable"));
+// 			return "";
+// 		}
+		# On efface les blocs qui ne servent à rien...
 		$tabTest=array("object_coordination", "object_printing", "object_plugin", "template", "upgrade");
 		foreach($tabTest as $key=>$val)
 		{
@@ -322,6 +340,29 @@ Class InstallManager extends CoordinationObj
 
 		includePackage ("ftp.php");
 		includePackage ("backup.php");
+		
+		/* gestion du lib en fonction de la langue courante */
+		$currentCode=$GLOBALS["SYSTEM_USER_SESSION"]->langue->getCode();
+		$defaultCode=$GLOBALS["SYSTEM_DEFAULT_LANGUAGE_CODE"];
+		/* fin récupèration des codes par defaut */
+		
+		mxPageTitle("actionAdminTitlePage");
+		
+		$arrayCallCss = array();
+		$arrayCallCss[] = "data/css/dataTables.bootstrap4/1.10.22/dataTables.bootstrap4.min.css";
+		mxCallCss($arrayCallCss);
+		
+		$arrayCallJs = array();
+		$arrayCallJs[] = "data/javascript/jquery.dataTables/1.10.22/jquery.dataTables.min.js";
+		$arrayCallJs[] = "data/javascript/dataTables.bootstrap4/1.10.22/dataTables.bootstrap4.min.js";
+		mxCallJs($arrayCallJs);
+		
+		$arrayRawJs[] = "\$(document).ready(function(){\$('#tabObjectCoordination').dataTable({\"bPaginate\": true,\"bFilter\": false,\"bInfo\": true,\"sPaginationType\": \"full_numbers\",\"bAutoWidth\": false,\"bLengthChange\": false,\"aaSorting\": [[ 1, \"asc\" ]],\"iDisplayLength\": 10,\"oLanguage\": {\"sUrl\": \"data/message/".$currentCode."/datatables.txt\"}});});";
+		$arrayRawJs[] = "\$(document).ready(function(){\$('#tabObjectPlugin').dataTable({\"bPaginate\": true,\"bFilter\": false,\"bInfo\": true,\"sPaginationType\": \"full_numbers\",\"bAutoWidth\": false,\"bLengthChange\": false,\"aaSorting\": [[ 1, \"asc\" ]],\"iDisplayLength\": 10,\"oLanguage\": {\"sUrl\": \"data/message/".$currentCode."/datatables.txt\"}});});";
+		$arrayRawJs[] = "\$(document).ready(function(){\$('#tabObjectPrinting').dataTable({\"bPaginate\": true,\"bFilter\": false,\"bInfo\": true,\"sPaginationType\": \"full_numbers\",\"bAutoWidth\": false,\"bLengthChange\": false,\"aaSorting\": [[ 1, \"asc\" ]],\"iDisplayLength\": 10,\"oLanguage\": {\"sUrl\": \"data/message/".$currentCode."/datatables.txt\"}});});";
+		$arrayRawJs[] = "\$(document).ready(function(){\$('#tabTemplate').dataTable({\"bPaginate\": true,\"bFilter\": false,\"bInfo\": true,\"sPaginationType\": \"full_numbers\",\"bAutoWidth\": false,\"bLengthChange\": false,\"aaSorting\": [[ 1, \"asc\" ]],\"iDisplayLength\": 10,\"oLanguage\": {\"sUrl\": \"data/message/".$currentCode."/datatables.txt\"}});});";
+		$arrayRawJs[] = "\$(document).ready(function(){\$('#tabUpgrade').dataTable({\"bPaginate\": true,\"bFilter\": false,\"bInfo\": true,\"sPaginationType\": \"full_numbers\",\"bAutoWidth\": false,\"bLengthChange\": false,\"aaSorting\": [[ 1, \"asc\" ]],\"iDisplayLength\": 10,\"oLanguage\": {\"sUrl\": \"data/message/".$currentCode."/datatables.txt\"}});});";
+		mxRawJs($arrayRawJs);
 
 		withBlocPath("InstallManager", "listinstall");
 
@@ -350,7 +391,9 @@ Class InstallManager extends CoordinationObj
 		for($i=0;$i<count($tabDownload);$i++)
 		{
 			if (strpos($tabDownload[$i][2], ".tar")!==false)
+			{
 				$tabDownLoadCp[]=substr($tabDownload[$i][2], 0, (strlen($tabDownload[$i][2])-4));
+			}
 		}
 		$tabPackage=$tabDownLoadCp;
 		sort($tabPackage);
@@ -367,7 +410,7 @@ Class InstallManager extends CoordinationObj
 		$tabDel=array();
 		foreach($tabPackage as $key=>$val)
 		{
-			$tmp=split("-", $val);
+			$tmp=mb_split("-", $val);
 			if (count($tmp)==3)
 			{
 				###########################################################################
@@ -448,16 +491,28 @@ Class InstallManager extends CoordinationObj
 */
 	function uploadInstall(){
 
+// 		var_dump($_FILES);
+// 		var_dump($_POST);
+// 		exit(0);
+	
 		includePackage("upload.php");
 		includePackage("backup.php");
 
 		$backup=new backup();
 		$chmod=$backup->checkConfigForPerms();
 		$uploadDir=$GLOBALS["CONF_DATA_PATH"]."data/upload/install/packagesrc/";
-		$tmp=split("-", $_FILES["uploadFile"]["name"]);
-
+		
+		// On check le format du nom du fichier avant de l'analyser
 		if ( (count($tmp)!=3) && (strpos($_FILES["uploadFile"]["name"], ".tar")!==false) )
 		{
+			if( strpos($_FILES["uploadFile"]["name"], '-') !== false )
+			{
+				$tmp=mb_split("-", $_FILES["uploadFile"]["name"]);
+			} else {
+				systemRedirect(formatUrl($this->getId(),"InstallManager", "actionInstall", "msgPackageNameNotValid"));
+				return "";
+			}
+		} else {
 			systemRedirect(formatUrl($this->getId(),"InstallManager", "actionInstall", "msgPackageNotValid"));
 			return "";
 		}
@@ -1019,7 +1074,7 @@ Class InstallManager extends CoordinationObj
 		$passwd=(isset($_POST["passwd"]))?$_POST["passwd"]:"";
 		$this->setData("passwd", $passwd);
 
-		$end=parent::__execCreateObject($groupIdPass, $nodeIdPass);
+		$end=parent::__execCreateObject($groupIdPass, $nodeIdPass, $tabForbiddenPass);
 		return $end;
 	}
 
@@ -1039,7 +1094,7 @@ Class InstallManager extends CoordinationObj
 		$this->setData("login", $login);
 		$passwd=(isset($_POST["passwd"]))?$_POST["passwd"]:"";
 		$this->setData("passwd", $passwd);
-		$end=parent::__execUpdateObject($groupIdPass, $nodeIdPass);
+		$end=parent::__execUpdateObject($groupIdPass, $nodeIdPass, $tabForbiddenPass);
 		return $end;
 	}
 
diff --git a/lib/package/upload.php b/lib/package/upload.php
index cc4a7fe..a2f602c 100755
--- a/lib/package/upload.php
+++ b/lib/package/upload.php
@@ -72,18 +72,7 @@ var $uid=0;
 /**#@-*/
 
 /**
-*Constructeur de la classe Upload PHP4
-*
-* @access public
-* @param chaine nom du champ
-*/
-	function UploadLimit($nid="", $uid="")
-	{
-		$this->__construct($nid, $uid);
-	}
-
-/**
-*Constructeur de la classe Upload PHP5
+*Constructeur de la classe UploadLimit
 *
 * @access public
 * @param chaine nom du champ
@@ -461,8 +450,7 @@ var $uid=0;
 			/* on renvoi la valeur min entre quota sur noeud ou utilisateur */
 			return ($maxSpaceNode-$useSpace);
 
-		} elseif {
-			($mode=="USER"){
+		} elseif ($mode=="USER"){
 			$maxSpaceNode	=$this->getMaxSpaceForNode();
 			$useUserSpace		=$this->getUseSpace($nid, $this->getUid() );	// spaceUsed By user
 			$useNodeSpace		=$this->getUseSpace($nid, "" );					// spaceUsed By node
@@ -564,7 +552,7 @@ function updateUserLimit($nid, $uid, $limit)
 	function updateNodeLimit($nid, $limit)
 	{
 		//$prefixe=(!defined("DATA_ACCES_TABLE_PREFIX"))?"": DATA_ACCES_TABLE_PREFIX ;
-		$sql="UPDATE ".DATA_ACCES_TABLE_PREFIX.DATA_ACCES_PACKAGE_PREFIX.."node_space SET node_space=".$limit." WHERE node_space_nid=".$nid;
+		$sql="UPDATE ".DATA_ACCES_TABLE_PREFIX.DATA_ACCES_PACKAGE_PREFIX."node_space SET node_space=".$limit." WHERE node_space_nid=".$nid;
 		/* gestion du resultat */
 		$GLOBALS["SYSTEM_DATABASE_CONN"]->sql_query($sql);
 	}
@@ -626,18 +614,7 @@ var $fileName;
 	// Constructor
 	//
 /**
-*Constructeur de la classe Upload PHP4
-*
-* @access public
-* @param chaine nom du champ
-*/
-	function Upload($fieldName="upload")
-	{
-                 $this->__construct($fieldName);
-	}
-
-/**
-*Constructeur de la classe Upload PHP5
+*Constructeur de la classe Upload
 *
 * @access public
 * @param chaine nom du champ
@@ -1005,20 +982,9 @@ var $maxSqlSize=40000;
 var $file_id=0;
 
 /**#@-*/
-
-/**
-*Constructeur de la classe UploadToBd
-*
-*<p>Initialise la classe</p>
-* @access public
-* @param chaine nom du champ
-* @param entier taille max des paquets sql
-*/
-	function UploadToDb($fieldName="upload", $maxSqlSize=40000)
-	{
-		$this->__construct($fieldName, $maxSqlSize);
-	}
-
+//
+// Constructor
+//
 /**
 *Constructeur de la classe UploadToBd
 *
@@ -1225,7 +1191,7 @@ var $file_id=0;
 
 
 /**
-* Classe UploadToDb
+* Classe UploadToDir
 *
 * Permet la gestion de Wyzis
 * @todo Les tests ne sont pas encore fait pour la gestion de fichier sur disque...
@@ -1246,19 +1212,6 @@ var $uploadDir="./data/upload/";
 
 /**#@-*/
 
-/**
-*Constructeur de la classe UploadToDir
-*
-*<p>Initialise la classe</p>
-*
-* @param chaine nom du champ
-* @param chaine nom du repertoire
-*/
-	function UploadToDir($fieldName="upload", $uploadDir=null)
-	{
-		$this->__construct($fieldName, $uploadDir);
-	}
-
 /**
 *Constructeur de la classe UploadToDir
 *