public CanvasExtended(String ownerName) {
		super(SimpleUniverse.getPreferredConfiguration());
		setDoubleBufferEnable(true);

		// Create a universe
		universeProxyServer = Client.getSharedUniverse(App.SERVER_NAME, "1234",
				"Pluton");
		universe = new CSharedUniverse(universeProxyServer, this);

		// Load a vrml model
		AObject aCube;
		if ("test".equals(ownerName)) {
			aCube = new AObject("cubeDe_" + ownerName + "_" + (Math.random() * 10),
					"http://espacezives.free.fr/coneVert.wrl");
		}
		else {
			aCube = new AObject("cubeDe_" + ownerName + "_" + (Math.random() * 10),
					"http://espacezives.free.fr/colorcube2.wrl");
		}
		CObject cube = new CObject(aCube, universeProxyServer);

		// Create a receiver
		receiverUpdates = new ReceiverUpdates("239.0.0.1", 1234);
		receiverUpdates.setDeportedClient(universe);

		

		// Check if user camera is existing in universe
		// True : assign the universe camera to the current user
		// False : create a new camera 
		ACamera existingCamera = (ACamera) universe.getCamera(ownerName);
		ACamera aCamera = null;
		if (existingCamera == null) 			
			aCamera = new ACamera(ownerName);
		else
			aCamera = existingCamera;
		
		TransformGroup tgCamera = universe.getPresentation()
				.getTransformgroupCamera();
		camera = new CCamera(aCamera, tgCamera, universeProxyServer);		
	
		// Refresh location of camera if already existing
		if (existingCamera != null) {
			camera.refresh();
		}
		else
			camera.relativeTranslate(0, 0, 5.0);
		
		universe.setCameraUser(camera, existingCamera == null);
		try {
			universe.init();
		} catch (RemoteException e) {
			e.printStackTrace();
			System.exit(0);
		}
		
		// Add personnal cube to the shared universe
				universe.add(cube);

		// Add a mouse interactor to the scene
		mouseInteractor = new MouseInteractor(universe.getPresentation()
				.getScene(), camera);
		mouseInteractor.setSchedulingBounds(new BoundingSphere(new Point3d(),
				1000.0));
		universe.addMouseInteractor(mouseInteractor);

		// Add a keylistener to the canvas
		addKeyListener(new KeyCameraStateForMouseInteractor(this,
				getMouseInteractor()));

		// Launch receiver client
		receiverUpdates.start();

	}