public void splitLines(String l) {

		ArrayList<String> splitedLine = new ArrayList<String>();
		String attributs = "";

		/*
		 * typeRelation = in -> Relation entrante : Noeud1<--relation--Noeud2
		 * typeRelation = out -> Relation sortante : Noeud1--relation-->Noeud2
		 * typeRelation = inout -> Relation reciproque :
		 * Noeud1<--relation-->Noeud2 ou Noeud1--relation--Noeud2
		 */
		String typeRelation = "inout";

		// Premier split selon les tirets (--)
		String[] tab = l.split("--");

		// On recupère le premier noeud et on verifie le type de relation
		if (tab[0].charAt(tab[0].length() - 1) == '<') {
			typeRelation = "in";
			tab[0] = tab[0].substring(0, tab[0].length() - 1);
		}
		// On recupère le deuxième noeud et on verifie le type de relation
		if (tab[2].charAt(0) == '>') {
			if (typeRelation.compareTo("in") == 0)
				typeRelation = "inout";
			else
				typeRelation = "out";
			tab[2] = tab[2].substring(1);
		}

		// Ajout du type de relation et des deux noeuds concernés dans
		// l'ArrayList
		splitedLine.add(typeRelation);
		splitedLine.add(tab[0]);
		splitedLine.add(tab[2]);

		// Récupération du type de relation
		int nb = tab[1].indexOf("[");
		if (nb == -1)
			splitedLine.add(tab[1]); // Si la relation est sans attributs
		else {
			splitedLine.add(tab[1].substring(0, nb));
			attributs = tab[1].substring(nb + 1, tab[1].indexOf("]", tab[1].length() - 1));
		}

		// Booleen permettant de tester si on a atteind la fin du parcours des
		// attributs
		Boolean b = false;

		// On parcourt la chaine de caractère contenant tout les attributs et
		// leurs valeurs
		while (attributs.length() != 0) {
			int n = attributs.indexOf("=");
			String name = attributs.substring(0, n);
			String value = "";
			int fin = 0;

			// Si il s'agit d'une liste de valeurs
			if (attributs.charAt(n + 1) == '[') {
				fin = attributs.indexOf("]");
				value = attributs.substring(n + 2, fin);
			} else {
				fin = attributs.indexOf(",", n);
				// Si il n'y a plus d'attributs, on passe b à true
				if (fin == -1) {
					value = attributs.substring(n + 1);
					b = true;
				} else
					value = attributs.substring(n + 1, fin);
			}

			// Suppression des espaces et virgule superflux
			int index = name.indexOf(",");
			name = name.substring(index + 1);
			name = name.trim();
			value = value.trim();

			splitedLine.add(name);
			splitedLine.add(value);

			// Si !b alors on supprime l'attribut traité de la chaine de
			// caractères
			if (!b)
				attributs = attributs.substring(fin + 1);
			else
				attributs = "";
		}
		addGraph(splitedLine);
	}