diff --git a/CCI_Java/CCI_Java/src/tp10/exo2/fiddling.java b/CCI_Java/CCI_Java/src/tp10/exo2/fiddling.java
index 2764567778aee1f79087ab629948c6f3b0f1f378..f720b3424476e8b58c2ce31d106f71cb64ff4606 100644
--- a/CCI_Java/CCI_Java/src/tp10/exo2/fiddling.java
+++ b/CCI_Java/CCI_Java/src/tp10/exo2/fiddling.java
@@ -7,8 +7,8 @@ import java.util.List;
 public class fiddling {
 
 	public static void main(String[] args) {
-		String test = "halloa";
-		String test2 = "hallob";
+		String test = "hallo";
+		String test2 = "hallo";
 		String test3 = "hallolc";
 		String test4 = "hallold";
 		List<String> list = new ArrayList<String>();
@@ -21,7 +21,7 @@ public class fiddling {
 		int bool = test.compareTo(test2);
 
 		
-		System.out.println(list);
+		System.out.println(test.equals(test2));
 	}
 
 }
diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/AuthorMessageFilter.java b/CCI_Java/CCI_Java/src/tp11/exo1/AuthorMessageFilter.java
new file mode 100644
index 0000000000000000000000000000000000000000..ab2ee65b2b296458fec403d1f0b2be07360830ce
--- /dev/null
+++ b/CCI_Java/CCI_Java/src/tp11/exo1/AuthorMessageFilter.java
@@ -0,0 +1,16 @@
+package tp11.exo1;
+
+public class AuthorMessageFilter implements MessageFilter {
+
+	String authorName;
+	
+	public AuthorMessageFilter(String author) {
+		this.authorName = author;
+	}
+	
+	@Override
+	public boolean accept(Message message) {
+		return message.getAuthor().getName().equals(authorName) ? true : false;
+	}
+
+}
diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/KeywordMessageFilter.java b/CCI_Java/CCI_Java/src/tp11/exo1/KeywordMessageFilter.java
new file mode 100644
index 0000000000000000000000000000000000000000..d48a417f3efababe27f011ba184b33e3a0eea3cb
--- /dev/null
+++ b/CCI_Java/CCI_Java/src/tp11/exo1/KeywordMessageFilter.java
@@ -0,0 +1,16 @@
+package tp11.exo1;
+
+public class KeywordMessageFilter implements MessageFilter {
+
+	String keyWord;
+	
+	public KeywordMessageFilter(String keyWord) {
+		this.keyWord = keyWord;
+	}
+	
+	@Override
+	public boolean accept(Message message) {
+		return message.getTitle().contains(keyWord) ? true : false;
+	}
+
+}
diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/Message.java b/CCI_Java/CCI_Java/src/tp11/exo1/Message.java
index aa0fbc6e6541391959760a5ab3b732345987b384..2dbaac4b4d50d07adf3129c4e072b24be78cedb7 100644
--- a/CCI_Java/CCI_Java/src/tp11/exo1/Message.java
+++ b/CCI_Java/CCI_Java/src/tp11/exo1/Message.java
@@ -32,5 +32,17 @@ public class Message {
 		System.out.println(content);
 		System.out.println("Aim� par : " + likers + "\n");
 	}
+	
+	public User getAuthor() {
+		return author;
+	}
+	
+	public String getContent() {
+		return content;
+	}
+	
+	public String getTitle() {
+		return title;
+	}
 
 }
diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/MessageFilter.java b/CCI_Java/CCI_Java/src/tp11/exo1/MessageFilter.java
new file mode 100644
index 0000000000000000000000000000000000000000..cc350e4c45ba3ee66542e445048276cc67996a97
--- /dev/null
+++ b/CCI_Java/CCI_Java/src/tp11/exo1/MessageFilter.java
@@ -0,0 +1,5 @@
+package tp11.exo1;
+
+public interface MessageFilter {
+	public boolean accept(Message message);
+}
diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/TestMessage.java b/CCI_Java/CCI_Java/src/tp11/exo1/TestMessage.java
index 8f3274cd9074c15d79b3553e7686c7c6e5e12dc0..a86ff10fc9489bee11687587bbafe64af2ac4dd5 100644
--- a/CCI_Java/CCI_Java/src/tp11/exo1/TestMessage.java
+++ b/CCI_Java/CCI_Java/src/tp11/exo1/TestMessage.java
@@ -9,10 +9,14 @@ public class TestMessage {
 		Message msg1 = new Message(user1, "Mon second message", "Je vous aime.");
 		msg1.receiveLike(user2);
 		msg1.receiveLike(user3);
-		Message msg2 = new Message(user1, "Test", "Test Test");
+		Message msg2 = new Message(user2, "Test", "Test Test");
 		Message msg3 = new Message(user1, "� propos de Bob.", "Quel boulet celui - l�.");
 		msg3.receiveLike(user3);
 		
+		user1.receive(msg1);
+		user1.receive(msg2);
+		user1.receive(msg3);
+		
 		System.out.println(msg1);
 		System.out.println(msg2);
 		System.out.println(msg3);
@@ -20,6 +24,8 @@ public class TestMessage {
 		msg1.display();
 		msg2.display();
 		msg3.display();
+		
+		System.out.println(user1.getLastPost());
 	}
 
 }
diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/TestNetwork.java b/CCI_Java/CCI_Java/src/tp11/exo1/TestNetwork.java
new file mode 100644
index 0000000000000000000000000000000000000000..a0dcbb8ddc5986b89780b6a0ee19f00ddc53429a
--- /dev/null
+++ b/CCI_Java/CCI_Java/src/tp11/exo1/TestNetwork.java
@@ -0,0 +1,37 @@
+package tp11.exo1;
+
+public class TestNetwork {
+
+	public static void main(String[] args) {
+		User alice = new User("Alice");
+		User bob = new User("Bob");
+		
+//		bob.follow(alice);
+//		alice.post("Mon premier message", "Bonjour � tous !");
+//		bob.display();
+		
+		User carol = new User("Carol");
+		
+		alice.post("Mon premier message", "Bonjour � tous !");
+		bob.follow(alice);
+		carol.like(alice.getLastPost());
+		alice.post("Mon second message", " Je vous aime.");
+		bob.like(alice.getLastPost());
+		carol.like(alice.getLastPost());
+		bob.post("Test", "Test Test");
+		alice.post("� propos de Bob.", "Quel boulet celui - l�.");
+		carol.like(alice.getLastPost());
+		bob.post("R�ponse � Alice.", "T'as un probl�me ???");
+//		bob.display();
+		
+		bob.post("message1", "content von message 1");
+		bob.post("message2", "content von message 2");
+		bob.post("message3", "content von message 3");
+		bob.post("message4", "content von message 4");
+		
+		bob.display(new AuthorMessageFilter("Alice"));
+//		bob.display(new KeywordMessageFilter("Test"));
+
+	}
+
+}
diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java b/CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java
index 0d09224c076bc9a541f6051ddcc08ce649246aba..a7a718119d08a62385ead6310cf656ac2020fe09 100644
--- a/CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java
+++ b/CCI_Java/CCI_Java/src/tp11/exo1/TestUser.java
@@ -7,7 +7,6 @@ public class TestUser {
 		User user2 = new User("peter");
 		User user3 = new User("ernst");
 		
-		user1.addMessage("testtest");
 		System.out.println(user1);
 		System.out.println(user2);
 		System.out.println(user3);
diff --git a/CCI_Java/CCI_Java/src/tp11/exo1/User.java b/CCI_Java/CCI_Java/src/tp11/exo1/User.java
index cb45fe04843c89d9f9e9a03274ea0348ae5e43b0..c63c98a9b912ca70839c59e052a2f6ca35640a68 100644
--- a/CCI_Java/CCI_Java/src/tp11/exo1/User.java
+++ b/CCI_Java/CCI_Java/src/tp11/exo1/User.java
@@ -29,22 +29,53 @@ public class User {
 	}
 
 	public void broadcast(Message message) {
-		for (User usr : followers) {
+		for (User usr : this.followers) {
 			usr.receive(message);
 		}
 	}
 
 	public void follow(User other) {
-		System.out.println(other + " s'abonne � la liste de Alice." + this.name);
+		other.getFollow(this);
+		System.out.println(this + " s'abonne � la liste de " + other + ".");
+	}
+
+	private void getFollow(User user) {
+		this.followers.add(user);
 	}
 
 	public Message getLastPost() {
-		return messages.get(messages.lastIndexOf(messages));
+		return messages.get(messages.size() - 1);
+	}
+
+	public void like(Message message) {
+		message.receiveLike(this);
+		System.out.println(this + " likes le message " + message);
 	}
-	
+
+	public void post(String title, String content) {
+		Message msg = new Message(this, title, content);
+		messages.add(msg);
+		broadcast(msg);
+		System.out.println(this + " poste le message " + msg);
+	}
+
 	@Override
 	public String toString() {
-		// TODO Auto-generated method stub
 		return this.name;
 	}
+
+	public void display() {
+		System.out.println("Messages de la page de " + this + "\n");
+		for (Message msg : messages) {
+			msg.display();
+		}
+	}
+
+	void display(MessageFilter filter) {
+		System.out.println("Messages de la page de " + this + "\n");
+		for (Message msg : messages) {
+			if (filter.accept(msg))
+				msg.display();
+		}
+	}
 }