public List<Tache> lireFichier(String fichier){

		//lecture du fichier texte	
		try{
			InputStream ips=new FileInputStream(fichier); 
			InputStreamReader ipsr=new InputStreamReader(ips);
			BufferedReader br=new BufferedReader(ipsr);
			String ligne;
			//On lit ligne par ligne
			while ((ligne=br.readLine())!=null){

				//On découpe chaque ligne à l'aide d'un signe particulier (ici, la virgule)
				StringTokenizer st = new StringTokenizer(ligne, ",");

				//Pour chaque particule
				while(st.hasMoreTokens()) {

					//On détermine le type de tâche ([P]ériodique ou [A]périodique)
					String type = st.nextToken();
					if(type.contains(Tache.PREFIX)) {						
						taches.add(new Tache(Integer.valueOf(st.nextToken()), Integer.valueOf(st.nextToken())));
					}
					else if (type.contains(TachePeriodique.PREFIX)) {
						taches.add(
							new TachePeriodique(
								Integer.valueOf(st.nextToken()), 
								Integer.valueOf(st.nextToken()), 
								Integer.valueOf(st.nextToken()), 
								Integer.valueOf(st.nextToken())
							)
						);
					}
				}
			}
			br.close(); 

		}		
		catch (Exception e){
			System.out.println(e.toString());
		}
		
		hyperperiode = Ordonnanceur.calculeHyperperiode(taches);
		Simulation.getInstance().setHyperperiode(hyperperiode);
		return taches;
	}