public void mouseClicked(MouseEvent e) {
		JToAds source = ((JToAds)e.getSource());	// Definie la source de l'evenement (le clic) comme etant une route ou une ville (<=> Classe JToAds).
		if (source.isEnabled()) {	// Si la source est activee.
			if (!source.isDrawn()) {	// Si la source n'est pas deja traçee.
				source.setToDraw(true);	// Definie le composant comme devant etre trace.
				source.repaint();	// Repaint le composant.
				if (source instanceof JRoad) {	// Si une route a ete cliquee.
					if (!buildingTwoRoads)	// Si l'on est pas dans l'attente d'une construction de route gratuite (<=> le joueur n'a pas joue de carte construction de routes).
						model.roadCreated(source.getNumber(), false);	// Notifie le modele que la route numero i a ete construite par le joueur actif.
					else {	// Sinon (<=> le joueur a joue une carte construction de routes).
						model.roadCreated(source.getNumber(), true);	// Notifie le modele que la route numero i a ete construite par le joueur actif mais qu'elle est gratuite.
						buildingTwoRoads = false;	// Indique que l'on a construit une des deux routes gratuite.
					}
				} else if (source instanceof JTown) {	// Si une ville a ete cliquee.
					model.townCreated(source.getNumber());	// Notifie le modele que la ville numero i a ete construite par le joueur actif.
				} 
			} else {	// Sinon (<=> la source est deja tracee).
				if (movingThief) {	// Si on est en attente d'un joueur de choisir une ville a voler.
						movingThief = false;	// On sort de l'attente du choix du joueur.
						model.stealTown(source.getNumber());	// On vole une ressource au joueur possedant la ville cliquee.
				} else {	// Sinon (<=> le joueur cherche a ameliorer une colonie en ville). 
					((JTown)source).updateToTown();	// Met a jour la colonie en ville.
					model.updatedToTown(source.getNumber());	// Informe le modele que la colonie de numero passe en parametre a ete mise a jour en ville.
				}
			}
		}
	}