diff --git a/VERSIONS_HOTLINE/64607 b/VERSIONS_HOTLINE/64607
new file mode 100644
index 0000000000000000000000000000000000000000..a48c41783251ca5c52f57482c2e84a1c9600d160
--- /dev/null
+++ b/VERSIONS_HOTLINE/64607
@@ -0,0 +1,2 @@
+ - ticket #64607 : Administration : correction du glisser déposer du composant de sélection des articles.
+ 
\ No newline at end of file
diff --git a/public/admin/js/treeselect/treeselect.js b/public/admin/js/treeselect/treeselect.js
index 1927395e9f12a8f612b83673c9fad67524ce5ed6..2776030d80db042c2a3b8a8ee0b5d2984ab8ecae 100644
--- a/public/admin/js/treeselect/treeselect.js
+++ b/public/admin/js/treeselect/treeselect.js
@@ -1,10 +1,10 @@
 (function($) {
-  
+
   $.widget("ui.treeselect", {
     options: {
       datas: []
     },
-    
+
 
     disableMultipleSelection: function () {
       this.multiple_selection=false;
@@ -14,29 +14,29 @@
     _create: function(){
       var self=this;
 
-      this.multiple_selection = true;  
+      this.multiple_selection = true;
       this.element.addClass('ui-widget ui-helper-reset');
       this.container = $("<div class='ui-treeselect ui-widget-content ui-corner-all'></div>").
-	appendTo(this.element);
+	      appendTo(this.element);
 
-      this.searchInput = 
-	$("<div class='ui-treeselect-search'>"+
-	  "<span>Rechercher: </span><input type='textfield' size='50'></input>"+
-	  "</div>").
-	appendTo(this.container).
-	find('input').keyup(function(event){
-	  self._onSearchInputChange($(this).val());
-	}).end();
+      this.searchInput =
+	      $("<div class='ui-treeselect-search'>"+
+	        "<span>Rechercher: </span><input type='textfield' size='50'></input>"+
+	        "</div>").
+	      appendTo(this.container).
+	      find('input').keyup(function(event){
+	        self._onSearchInputChange($(this).val());
+	      }).end();
 
       this.itemsTree = ($("<div class='ui-treeselect-items-tree' />")).
-	appendTo(this.container);
+	      appendTo(this.container);
 
-      this.selectedItems = 
-	$("<div class='ui-treeselect-selected-items'>"+
-	  "<div class='ui-treeselect-selected-items-inner ui-widget-content ui-corner-all'>"+
-	  "<ul></ul></div></div>").
-	appendTo(this.container).
-	find("ul");
+      this.selectedItems =
+	      $("<div class='ui-treeselect-selected-items'>"+
+	        "<div class='ui-treeselect-selected-items-inner ui-widget-content ui-corner-all'>"+
+	        "<ul></ul></div></div>").
+	      appendTo(this.container).
+	      find("ul");
 
       this._createDataTree();
       this._initialize();
@@ -71,32 +71,32 @@
 
       var self = this;
       $.each(items, function(index, item) {
-	var item_li=self.mkli(item, parent, 'item').
-	    children('a');
+	      var item_li=self.mkli(item, parent, 'item').
+	          children('a');
       });
-      
+
     },
 
     mkli: function(catOrItem, parent, type){
       var self = this;
       return	$("<li class='ui-treeselect-"+type+"'>"+
-		  this._addCheckbox(catOrItem)+
-		  "<a class='ui-state-default' href='#' title='" + catOrItem.label.replace("'", "&apos;") + "'>" +
-		  this._addIco(catOrItem)+
-		  catOrItem.label+
-		  "</a>" +
-		  "</li>").
-	data("label", catOrItem.label).
-	data("type", type).
-	data("elid", catOrItem.id).
-	appendTo(parent).
-	children('a').hover(
-	  function (event) {
-	    self._onMouseEntersLI($(event.target).parent());
-	  },
-	  function (event) {
-	    self._onMouseExitsLI($(event.target).parent());
-	  }).end();
+		            this._addCheckbox(catOrItem)+
+		            "<a class='ui-state-default' href='#' title='" + catOrItem.label.replace("'", "&apos;") + "'>" +
+		            this._addIco(catOrItem)+
+		            catOrItem.label+
+		            "</a>" +
+		            "</li>").
+	      data("label", catOrItem.label).
+	      data("type", type).
+	      data("elid", catOrItem.id).
+	      appendTo(parent).
+	      children('a').hover(
+	        function (event) {
+	          self._onMouseEntersLI($(event.target).parent());
+	        },
+	        function (event) {
+	          self._onMouseExitsLI($(event.target).parent());
+	        }).end();
     },
 
 
@@ -107,22 +107,22 @@
 
       var self = this;
       $.each(categories, function(index, cat) {
-	var cat_li = self.mkli(cat, parent, 'category');
-
-	if ((cat.categories.length + cat.items.length) == 0) {
-	  cat_li.addClass('ui-treeselect-empty-category');
-	  return;
-	}
-	
-
-	var cat_ul = $("<ul></ul>").appendTo(cat_li);
-	self._addCategoriesTo(cat.categories, cat_ul);
-	
-
-	$.each(cat.items, function(index, item){
-	  self.mkli(item, cat_ul, 'item').
-	    children('a');
-	});
+	      var cat_li = self.mkli(cat, parent, 'category');
+
+	      if ((cat.categories.length + cat.items.length) == 0) {
+	        cat_li.addClass('ui-treeselect-empty-category');
+	        return;
+	      }
+
+
+	      var cat_ul = $("<ul></ul>").appendTo(cat_li);
+	      self._addCategoriesTo(cat.categories, cat_ul);
+
+
+	      $.each(cat.items, function(index, item){
+	        self.mkli(item, cat_ul, 'item').
+	          children('a');
+	      });
       });
     },
 
@@ -131,32 +131,32 @@
       var anchor = li.children('a');
 
       if(anchor.size())
-	anchor.data('on_mouse_enter_classes', anchor[0].className);
+	      anchor.data('on_mouse_enter_classes', anchor[0].className);
 
       anchor.
-	addClass("ui-state-hover").
-	removeClass("ui-state-default").
-	removeClass("ui-state-highlight").
-	removeClass("ui-state-active");
+	      addClass("ui-state-hover").
+	      removeClass("ui-state-default").
+	      removeClass("ui-state-highlight").
+	      removeClass("ui-state-active");
 
       if (li.parents('.ui-treeselect-selected-items').length == 0) return;
 
-      var hint = 
-	  $('<div class="hint ui-widget ui-corner-all ui-state-active" style="display:none"/>').
-	  hide().
-	  appendTo(li);
+      var hint =
+	        $('<div class="hint ui-widget ui-corner-all ui-state-active" style="display:none"/>').
+	        hide().
+	        appendTo(li);
 
       hint.delay(1000).fadeIn('fast');
-      
+
       var sourceLI = this._findConnectedIn(li, this.itemsTree);
 
       this._getAnchorTreeFor(sourceLI).
-	slice(0, -1).
-	each(function(index, element){
-	  hint = $("<li>"+$(element).text()+"</li>").
-	    appendTo($("<ul></ul>")).
-	    appendTo(hint);
-	});
+	      slice(0, -1).
+	      each(function(index, element){
+	        hint = $("<li>"+$(element).text()+"</li>").
+	          appendTo($("<ul></ul>")).
+	          appendTo(hint);
+	      });
     },
 
 
@@ -164,9 +164,9 @@
       var anchor = 	li.children('a');
 
       anchor.
-	addClass(anchor.data('on_mouse_enter_classes')).
-	removeData('on_mouse_enter_classes').
-	removeClass("ui-state-hover");
+	      addClass(anchor.data('on_mouse_enter_classes')).
+	      removeData('on_mouse_enter_classes').
+	      removeClass("ui-state-hover");
 
 
       this.selectedItems.find('.hint').remove();
@@ -176,86 +176,87 @@
     _createDataTree: function(){
       var self = this;
       $.each(this.options.datas, function(index, cat) {
-	cat = self._initDataOptions(cat);
-	
-	$("<h4><a href='#'>"+cat.label+"</a></h4>").
-	  appendTo(self.itemsTree);
-
-	var ul = $("<div style='padding:0px' class='cat_"+cat.id+"'></div>").
-	    appendTo(self.itemsTree).
-	    append('<ul></ul>').
-	    children()[0];
-	
-	self._addCategoriesTo(cat.categories, ul);
-	self._addItemsTo(cat.items,ul);
+	      cat = self._initDataOptions(cat);
+
+	      $("<h4><a href='#'>"+cat.label+"</a></h4>").
+	        appendTo(self.itemsTree);
+
+	      var ul = $("<div style='padding:0px' class='cat_"+cat.id+"'></div>").
+	          appendTo(self.itemsTree).
+	          append('<ul></ul>').
+	          children()[0];
+
+	      self._addCategoriesTo(cat.categories, ul);
+	      self._addItemsTo(cat.items,ul);
 
       });
     },
 
-    
+
     _initDataOptions: function(categorieOrItem){
       var self = this;
       if(undefined==categorieOrItem.options)
-	categorieOrItem.options = [];
-      
+	      categorieOrItem.options = [];
+
       $.each(categorieOrItem.categories, function(index,cat){
-	self._initDataOptions(cat);
+	      self._initDataOptions(cat);
       });
 
       $.each(categorieOrItem.items, function(index,item){
-	if(undefined==item.options)
-	  item.options = [];
+	      if(undefined==item.options)
+	        item.options = [];
       });
-      
+
       return categorieOrItem;
     },
 
 
-    _initAccordion: function(){		
-      this.itemsTree.accordion({collapsible: true, 
-				beforeActivate: function(event, ui) {
-				  if (ui.newHeader[0]) {
-				    var currHeader  = ui.newHeader;
-				    var currContent = currHeader.next('.ui-accordion-content');
-				  } else {
-				    var currHeader  = ui.oldHeader;
-				    var currContent = currHeader.next('.ui-accordion-content');
-				  }
-				  var isPanelSelected = currHeader.attr('aria-selected') == 'true';
-				  var isPanelHighlight = currHeader.hasClass('ui-state-highlight');
-				  currHeader
-				    .toggleClass('ui-corner-all', isPanelSelected)
-				    .toggleClass('accordion-header-active ui-state-active ui-corner-top', !isPanelSelected)
-				    .attr('aria-selected', ((!isPanelSelected).toString()));
+    _initAccordion: function(){
+      this.itemsTree.accordion({collapsible: true,
+				                        beforeActivate: function(event, ui) {
+				                          if (ui.newHeader[0]) {
+				                            var currHeader= ui.newHeader;
+				                            var currContent = currHeader.next('.ui-accordion-content');
+				                          } else {
+				                            var currHeader= ui.oldHeader;
+				                            var currContent = currHeader.next('.ui-accordion-content');
+				                          }
+				                          var isPanelSelected = currHeader.attr('aria-selected') == 'true';
+				                          var isPanelHighlight = currHeader.hasClass('ui-state-highlight');
+				                          currHeader
+				                            .toggleClass('ui-corner-all', isPanelSelected)
+				                            .toggleClass('accordion-header-active ui-state-active ui-corner-top', !isPanelSelected)
+				                            .attr('aria-selected', ((!isPanelSelected).toString()));
 
-				  currContent.toggleClass('accordion-content-active', !isPanelSelected)    
+				                          currContent.toggleClass('accordion-content-active', !isPanelSelected)
 
-				  if(isPanelSelected && isPanelHighlight) {
-				    self._hideAll();
-				    return false;
-				  }
+				                          if(isPanelSelected && isPanelHighlight) {
+				                            self._hideAll();
+				                            return false;
+				                          }
 
-				  if (isPanelSelected) { 
-				    currContent.slideUp(); 
-				    return false;
-				  }
-				  
-				  currContent.slideDown(); 
-				  return false;
-				}}
-			      );
+				                          if (isPanelSelected) {
+				                            currContent.slideUp();
+				                            return false;
+				                          }
+
+				                          currContent.slideDown();
+				                          return false;
+				                        }}
+			                        );
     },
 
 
     _initSortable: function(){
       var self=this;
       this.selectedItems.
-	addClass("sortable").
-	sortable({
-	  cursor:'crosshair', 
-	  opacity: 0.8,
-	  start: function(event, ui) {$(this).find('.hint').remove();}
-	});
+	      addClass("sortable").
+	      sortable({
+	        cursor:'crosshair',
+	        opacity: 0.8,
+	        start: function(event, ui) {$(this).find('.hint').remove();},
+          stop: function(event, ui) {$(this).closest('form').find('input').first().change();}
+	      });
     },
 
 
@@ -263,42 +264,42 @@
       var self=this;
 
       this.itemsTree.find('li').each(
-	function(index, li){
-	  $(li).data('sid', index);});
-      
+	      function(index, li){
+	        $(li).data('sid', index);});
+
       this.itemsTree.change(
-	function(event){
-	  self._onSelectionChange($(event.target).parent());
-	  event.stopPropagation();});
+	      function(event){
+	        self._onSelectionChange($(event.target).parent());
+	        event.stopPropagation();});
 
       this.itemsTree.find('li>ul').css("display","none");
       this.itemsTree.click(
-	function(event){
-	  var $target = $(event.target);
-	  if ($target.is("a>*")) $target = $target.parent();
-	  if ($target.is("a")) {
-	    event.stopPropagation();
-	    event.preventDefault();
-	    $target.closest('li').find('li').show();
-	    $target.siblings('ul').find('ul').hide();
-	    $target.siblings('ul').toggle('fast');
-	  }})
+	      function(event){
+	        var $target = $(event.target);
+	        if ($target.is("a>*")) $target = $target.parent();
+	        if ($target.is("a")) {
+	          event.stopPropagation();
+	          event.preventDefault();
+	          $target.closest('li').find('li').show();
+	          $target.siblings('ul').find('ul').hide();
+	          $target.siblings('ul').toggle('fast');
+	        }})
     },
 
 
     _findConnectedIn: function(li, items) {
       var sid = li.data('sid');
-      return items.find('li').filter(function(index) { 
-	return $(this).data('sid') == sid; 
+      return items.find('li').filter(function(index) {
+	      return $(this).data('sid') == sid;
       });
     },
 
 
     _deselect: function(li) {
       this._findConnectedIn(li, this.selectedItems).
-	hide('fast', function(){
-	  $(this).remove()});
-      
+	      hide('fast', function(){
+	        $(this).remove()});
+
       li.children('input').removeAttr('checked');
       li.find("li input").removeAttr('disabled');
       li.children('a').removeClass('ui-state-active');
@@ -312,7 +313,7 @@
       if (parent.length == 0) return;
 
       if (parent.find('li>input:checked').length==0) {
-	this._setInactive(parent);
+	      this._setInactive(parent);
       }
     },
 
@@ -320,10 +321,10 @@
     _deselectAll: function() {
       var self = this;
       this.itemsTree.find('li.ui-treeselect-category').each( function() {
-	self._deselect($(this));
+	      self._deselect($(this));
       });
       this.itemsTree.find('li.ui-treeselect-item').each( function() {
-	self._deselect($(this));
+	      self._deselect($(this));
       });
     },
 
@@ -332,49 +333,49 @@
       var self = this;
 
       if (!this.multiple_selection)
-	this._deselectAll();
+	      this._deselectAll();
 
       li.children('input').attr('checked', 'checked');
-      
+
       var selectedLI = $("<li>"+
-			 "<a href='#'>"+
-			 li.find('a').html()+ 
-			 "</a></li>").
-	  appendTo(self.selectedItems).
-	  data(li.data()).
-	  children('a').
-	  addClass('ui-state-default').
-	  addClass(li[0].className).
-	  hover(
-	    function (event) {
-	      self._onMouseEntersLI($(event.target).parent());
-	    },
-	    function (event) {
-	      self._onMouseExitsLI($(event.target).parent());
-	    }
-	  ).end().
-	  click(
-	    function(event){
-	      event.preventDefault();
-	      if ($(event.target).is('a.ui-state-highlight')) {
-	        $(event.target).removeClass("ui-state-highlight");
-	        $(event.target).removeClass("ui-state-active");
-	        $(event.target).addClass("ui-state-default");
-	        return self._hideAll();
-	      }
-	      if ($(event.target).is('a'))
-	        self._highlightSelected($(event.target).parent());
-	    });
+			                   "<a href='#'>"+
+			                   li.find('a').html()+
+			                   "</a></li>").
+	        appendTo(self.selectedItems).
+	        data(li.data()).
+	        children('a').
+	        addClass('ui-state-default').
+	        addClass(li[0].className).
+	        hover(
+	          function (event) {
+	            self._onMouseEntersLI($(event.target).parent());
+	          },
+	          function (event) {
+	            self._onMouseExitsLI($(event.target).parent());
+	          }
+	        ).end().
+	        click(
+	          function(event){
+	            event.preventDefault();
+	            if ($(event.target).is('a.ui-state-highlight')) {
+	              $(event.target).removeClass("ui-state-highlight");
+	              $(event.target).removeClass("ui-state-active");
+	              $(event.target).addClass("ui-state-default");
+	              return self._hideAll();
+	            }
+	            if ($(event.target).is('a'))
+	              self._highlightSelected($(event.target).parent());
+	          });
 
       $("<div class='remove_button'/>").
-	appendTo(selectedLI).
-	click(function(event){
-	  self._deselect(
-	    self._findConnectedIn($(event.target).parent(), 
-				  self.itemsTree));
-	  self.itemsTree.closest('form').find('input').first().change();
-	});
-      
+	      appendTo(selectedLI).
+	      click(function(event){
+	        self._deselect(
+	          self._findConnectedIn($(event.target).parent(),
+				                          self.itemsTree));
+	        self.itemsTree.closest('form').find('input').first().change();
+	      });
+
       li.parents('li').andSelf().children('a').addClass('ui-state-active');
 
       this._disableChildren(li);
@@ -383,16 +384,16 @@
 
     _disableChildren: function(li) {
       var self = this;
-      
+
       if(!this.multiple_selection)
-	return false;
+	      return false;
 
-      li.find("li>input").each( 
-	function(index, checkbox) {
-	  self._deselect($(checkbox).parent());
-	  $(checkbox).
-	    attr('disabled', true).
-	    removeAttr('checked'); });
+      li.find("li>input").each(
+	      function(index, checkbox) {
+	        self._deselect($(checkbox).parent());
+	        $(checkbox).
+	          attr('disabled', true).
+	          removeAttr('checked'); });
     },
 
 
@@ -400,20 +401,20 @@
       this.itemsTree.closest('form').find('input').first().change();
       this._turnHighlightOff();
       if (li.children('input').is(':checked')) {
-	this._select(li);
+	      this._select(li);
       }	else {
-	this._deselect(li);
-	this._setInactive(li);
+	      this._deselect(li);
+	      this._setInactive(li);
       }
-      
+
       this.selectedItems.sortable('refresh');
     },
 
     _turnHighlightOff: function() {
       this.container.find('.ui-state-highlight').
-	removeClass("ui-state-highlight").
-	filter('li a, h3').
-	addClass("ui-state-default");
+	      removeClass("ui-state-highlight").
+	      filter('li a, h3').
+	      addClass("ui-state-default");
     },
 
 
@@ -436,15 +437,15 @@
       lis.parents("ul").show();
       this.itemsTree.find('ul li').hide();
       this.itemsTree.find('> div').hide();
-      
+
       var self = this;
       lis.each(function(index, li) {
-	self._getAnchorTreeFor($(li)).
-	  addClass("ui-state-highlight").
-	  removeClass("ui-state-default");
-	$(li).show();
-	$(li).parents('li').show();
-	$(li).closest('div').show();
+	      self._getAnchorTreeFor($(li)).
+	        addClass("ui-state-highlight").
+	        removeClass("ui-state-default");
+	      $(li).show();
+	      $(li).parents('li').show();
+	      $(li).closest('div').show();
       });
     },
 
@@ -462,8 +463,8 @@
 
     _onSearchInputChange: function(searchText) {
       if (searchText=="") {
-	this._hideAll();
-	return;
+	      this._hideAll();
+	      return;
       }
 
       accentsTidy = function(s){
@@ -473,19 +474,19 @@
         r = r.replace(new RegExp("ç", 'g'),"c");
         r = r.replace(new RegExp("[èéêë]", 'g'),"e");
         r = r.replace(new RegExp("[ìíîï]", 'g'),"i");
-        r = r.replace(new RegExp("ñ", 'g'),"n");                            
+        r = r.replace(new RegExp("ñ", 'g'),"n");
         r = r.replace(new RegExp("[òóôõö]", 'g'),"o");
         r = r.replace(new RegExp("Å“", 'g'),"oe");
         r = r.replace(new RegExp("[ùúûü]", 'g'),"u");
         r = r.replace(new RegExp("[ýÿ]", 'g'),"y");
         return r;
       };
-      
+
       searchText = accentsTidy(searchText);
 
       var re = new RegExp('\\b' + searchText, 'gi');
       var matches = this.itemsTree.find('li, h3').filter(function() {
-	return re.test(accentsTidy($(this).text()));
+	      return re.test(accentsTidy($(this).text()));
       });
       this._highlightItems(matches);
       matches.parents(".ui-accordion-content").show();
@@ -494,12 +495,12 @@
 
     _selectByIdAndType: function(ids, type) {
       var self = this;
-      jQuery.each(ids, function(index, id) { 
-	self.itemsTree.find('li').each(function(index, li) {
-	  var listitem = $(li);
-	  if ((listitem.data('elid') == id) && (listitem.data('type') == type))
-	    self._select($(li));
-	});
+      jQuery.each(ids, function(index, id) {
+	      self.itemsTree.find('li').each(function(index, li) {
+	        var listitem = $(li);
+	        if ((listitem.data('elid') == id) && (listitem.data('type') == type))
+	          self._select($(li));
+	      });
       });
     },
 
@@ -507,10 +508,10 @@
     _getSelectedDataByType: function(type) {
       var datas = [];
       this.selectedItems.find('li').each(function(index,li){
-	if ($(li).data('type') == type) {
-	  datas.push({"id": $(li).data('elid'), 
-		      "label": $(li).data('label')});
-	}
+	      if ($(li).data('type') == type) {
+	        datas.push({"id": $(li).data('elid'),
+		                  "label": $(li).data('label')});
+	      }
       });
       return datas;
     },
@@ -539,20 +540,20 @@
 
     readSelection: function(callback) {
       callback(
-	this._getSelectedDataByType('item'),
-	this._getSelectedDataByType('category'));
+	      this._getSelectedDataByType('item'),
+	      this._getSelectedDataByType('category'));
     },
 
 
     toggleVisibility: function(visible) {
       if (visible) {
-	var self = this;
-	this.element.show('fast',
-			  function() {
-			    self.itemsTree.children('div').height('auto');
-			  });
+	      var self = this;
+	      this.element.show('fast',
+			                    function() {
+			                      self.itemsTree.children('div').height('auto');
+			                    });
       } else {
-	this.element.hide('fast');
+	      this.element.hide('fast');
       }
     }
   })})(jQuery);