diff --git a/P4A/src/LinkedListCPU.png b/P4A/src/LinkedListCPU.png
new file mode 100644
index 0000000000000000000000000000000000000000..649daf2bd4d836de7fe0749a91947d59ae6a6cac
Binary files /dev/null and b/P4A/src/LinkedListCPU.png differ
diff --git a/P4A/src/comparaison_CPU_ajout_LinkedList_ArrayList_Standard.png b/P4A/src/comparaison_CPU_ajout_LinkedList_ArrayList_Standard.png
new file mode 100644
index 0000000000000000000000000000000000000000..314026996e2600ac21663ce63ffbea4da808a655
Binary files /dev/null and b/P4A/src/comparaison_CPU_ajout_LinkedList_ArrayList_Standard.png differ
diff --git a/P4A/src/p4a/MainArrayListStd.java b/P4A/src/p4a/MainArrayListStd.java
index 790041b4e4f3b369915e6c75fc5f9e72fe36f864..b41d86d2dad2735087fb2f2daca8d0774aa14050 100644
--- a/P4A/src/p4a/MainArrayListStd.java
+++ b/P4A/src/p4a/MainArrayListStd.java
@@ -4,8 +4,9 @@ public class MainArrayListStd {
 
 	public static void main(String[] args) {
 		ArrayListStd<Integer> arrayListStd = new ArrayListStd<Integer>();
+		int taille = Integer.parseInt(args[0]);
 		
-		for (int i = 0; i < 100000; i++) {
+		for (int i = 0; i < taille; i++) {
 			arrayListStd.ajout(i, 0);
 		}
 		
diff --git a/P4A/src/p4a/MainLinkedListPerso.java b/P4A/src/p4a/MainLinkedListPerso.java
new file mode 100755
index 0000000000000000000000000000000000000000..53b6aedb7910c09ae6a8cac7648390ceb9fba6a7
--- /dev/null
+++ b/P4A/src/p4a/MainLinkedListPerso.java
@@ -0,0 +1,16 @@
+package p4a;
+
+public class MainLinkedListPerso {
+
+	public static void main(String[] args) {
+		
+		LinkedListPerso<Integer> linkedListStd = new LinkedListPerso<Integer>();
+		int taille = Integer.parseInt(args[0]);
+
+		for (int i = 0; i < taille; i++) {
+			linkedListStd.ajout(i, 0);
+		}
+		
+
+	}
+}
diff --git a/P4A/src/p4a/MainLinkedListStd.java b/P4A/src/p4a/MainLinkedListStd.java
new file mode 100755
index 0000000000000000000000000000000000000000..df45a6f551268b51cdc848bacf76c91810547858
--- /dev/null
+++ b/P4A/src/p4a/MainLinkedListStd.java
@@ -0,0 +1,15 @@
+package p4a;
+
+public class MainLinkedListStd {
+
+	public static void main(String[] args) {
+		LinkedListStd<Integer> linkedListStd = new LinkedListStd<Integer>();
+		int taille = Integer.parseInt(args[0]);
+		
+		for (int i = 0; i < taille; i++) {
+			linkedListStd.ajout(i, 0);
+		}
+
+	}
+
+}
diff --git a/P4A/src/perfLinkedArrayList.csv b/P4A/src/perfLinkedArrayList.csv
new file mode 100644
index 0000000000000000000000000000000000000000..6f15301c3b58d97c46f5e9bb5e7ec02d12a5d206
--- /dev/null
+++ b/P4A/src/perfLinkedArrayList.csv
@@ -0,0 +1,7 @@
+Taille,Version,CPU,Mem
+100000,ArrayListStd,0.93,53940
+100000,LinkedListStd,0.09,58976
+200000,ArrayListStd,3.76,61608
+200000,LinkedListStd,0.10,58392
+500000,ArrayListStd,23.81,66520
+500000,LinkedListStd,0.10,75740
diff --git a/P4A/src/perfLinkedArrayList.sh b/P4A/src/perfLinkedArrayList.sh
new file mode 100755
index 0000000000000000000000000000000000000000..12145988ed7390a603acfad36d04cac38c9e74cc
--- /dev/null
+++ b/P4A/src/perfLinkedArrayList.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+NTEST=2
+TAILLES="100000 200000 500000"
+echo "Taille,Version,CPU,Mem"
+
+for taille in $TAILLES
+do
+    for i in `seq $NTEST`
+    do 
+    if [ $i = 1 ]
+    then
+            res=`(/usr/bin/time -f "%U,%M" java p4a.MainArrayListStd $taille > /dev/null) 2>&1`
+            echo "$taille,ArrayListStd,$res"
+    else
+            res=`(/usr/bin/time -f "%U,%M" java p4a.MainLinkedListStd $taille > /dev/null) 2>&1`
+            echo "$taille,LinkedListStd,$res"
+    fi
+    done
+done 
\ No newline at end of file
diff --git a/P4A/src/perfLinkedList.csv b/P4A/src/perfLinkedList.csv
new file mode 100644
index 0000000000000000000000000000000000000000..7c6dceb535f50eb5c586280664b3171211c4a914
--- /dev/null
+++ b/P4A/src/perfLinkedList.csv
@@ -0,0 +1,9 @@
+Taille,Version,CPU,Mem
+1000000,Standard,0.11,90904
+1000000,Perso,0.10,90812
+2000000,Standard,0.12,135160
+2000000,Perso,0.10,130076
+5000000,Standard,60.82,367332
+5000000,Perso,104.47,363560
+10000000,Standard,124.54,559092
+10000000,Perso,206.43,561180
diff --git a/P4A/src/perfLinkedList.sh b/P4A/src/perfLinkedList.sh
new file mode 100755
index 0000000000000000000000000000000000000000..617e47da60109fae2e6ea14cd02c1e1a7394b991
--- /dev/null
+++ b/P4A/src/perfLinkedList.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+NTEST=2
+TAILLES="1000000 2000000 5000000 10000000"
+echo "Taille,Version,CPU,Mem"
+
+for taille in $TAILLES
+do
+    for i in `seq $NTEST`
+    do 
+    if [ $i = 1 ]
+    then
+            res=`(/usr/bin/time -f "%U,%M" java p4a.MainLinkedListStd $taille > /dev/null) 2>&1`
+            echo "$taille,Standard,$res"
+    else
+            res=`(/usr/bin/time -f "%U,%M" java p4a.MainLinkedListPerso $taille > /dev/null) 2>&1`
+            echo "$taille,Perso,$res"
+    fi
+    done
+done 
\ No newline at end of file
diff --git a/commandes b/commandes
new file mode 100755
index 0000000000000000000000000000000000000000..3bff47c1aa0bc89a3bdf3b068bb4fdc541f73993
--- /dev/null
+++ b/commandes
@@ -0,0 +1,19 @@
+Compilation : 
+(dossier avec sources)
+javac ./*.java
+cd .. 
+java nomDossier.nomClasseMain
+
+R
+perf <- read.csv("perf.csv")
+library(ggplot2) 
+
+
+Comparaison LinkedList perso / standard : 
+CPU : ggplot(perf, aes(x=Taille,y=CPU, color=as.character(Version))) + geom_point() + geom_smooth(aes(group=Version)) + scale_color_discrete(name="Version") + ggtitle("Consommation CPU en fonction de la taille")
+
+Mem : ggplot(perf, aes(x=Taille,y=Mem, color=as.character(Test))) + geom_point() + geom_smooth(aes(group=Test)) + scale_color_discrete(name="Test")
+
+Comparaison LinkedListStd / ArrayListStd :
+
+ggplot(perf, aes(x=Taille,y=CPU, color=as.character(Version))) + geom_point() + geom_smooth(aes(group=Version)) + scale_color_discrete(name="Version") + ggtitle("Consommation CPU en fonction de la taille")