src/base/Model.js
function(){
				Object.defineProperty(this,'listen',{ value:function(){} });
				var hasSyncEvent=this.self.store.hasSyncEvent;
				this.on('request.started',function(){
					S.log('request.started');
					this.state='pending';
					this.nodes.forEach(function(node){
						node.first('.state').html('<img src="/web/sync-14.gif"/>');
					});
				}.bind(this));
				this.on('request.success',function(){
					S.log('request.success');
					if(this.state==='pending') this.state='saved'; //the state could change to 'unsaved' for instance.
					this.nodes.forEach(function(node){
						var state=node.first('.state');
						hasSyncEvent ? state.html('<img src="/web/sync-server.gif"/>') : state.empty();
					});
				}.bind(this));
				
				if(hasSyncEvent){
					this.on('synced',function(){
						S.log('synced');
						this.nodes.forEach(function(node){
							node.first('.state').empty();//TODO : gérer les cas où state !== sync-server.
						});
					}.bind(this));
				}
			}
function(){
				Object.defineProperty(this,'listen',{ value:function(){} });
				var hasSyncEvent=this.self.store.hasSyncEvent;
				this.on('request.started',function(){
					S.log('request.started');
					this.state='pending';
					this.nodes.forEach(function(node){
						node.first('.state').html('<img src="/web/sync-14.gif"/>');
					});
				}.bind(this));
				this.on('request.success',function(){
					S.log('request.success');
					if(this.state==='pending') this.state='saved'; //the state could change to 'unsaved' for instance.
					this.nodes.forEach(function(node){
						var state=node.first('.state');
						hasSyncEvent ? state.html('<img src="/web/sync-server.gif"/>') : state.empty();
					});
				}.bind(this));
				
				if(hasSyncEvent){
					this.on('synced',function(){
						S.log('synced');
						this.nodes.forEach(function(node){
							node.first('.state').empty();//TODO : gérer les cas où state !== sync-server.
						});
					}.bind(this));
				}
			}
/*#if BROWSER