diff --git a/controllers/internalConsole.php b/controllers/internalConsole.php
index 56996ab..d7cae5b 100755
--- a/controllers/internalConsole.php
+++ b/controllers/internalConsole.php
@@ -71,88 +71,90 @@
 			//On créé l'objet de base de données
 			global $db;
 			
+			for ($i = 0; $i < 30; $i++)
+			{			
+				$now = new DateTime();
+				$now = $now->format('Y-m-d H:i:s');
 
-			$now = new DateTime();
-			$now = $now->format('Y-m-d H:i:s');
+				echo "Début de l'envoi des SMS programmés\n";
 
-			echo "Début de l'envoi des SMS programmés\n";
+				$scheduleds = $db->getScheduledsNotInProgressBefore($now);
 
-			$scheduleds = $db->getScheduledsNotInProgressBefore($now);
+				$ids_scheduleds = array();
 
-			$ids_scheduleds = array();
-
-			//On passe en cours de progression tous les SMS
-			foreach ($scheduleds as $scheduled)
-			{
-				$ids_scheduleds[] = $scheduled['id'];
-			}
-
-			echo count($ids_scheduleds) . " SMS à envoyer ont été trouvés et ajoutés à la liste des SMS en cours d'envoi.\n";
-
-			$db->updateProgressScheduledsIn($ids_scheduleds, true);
-
-			//Pour chaque SMS à envoyer
-			foreach ($scheduleds as $scheduled)
-			{
-				$id_scheduled = $scheduled['id'];
-				$text_sms = escapeshellarg($scheduled['content']);
- 
-				//On initialise les numéros auxquelles envoyer le SMS
-				$numbers = array();
-
-				//On récupère les numéros pour le SMS et on les ajoute
-				$target_numbers = $db->getNumbersForScheduled($id_scheduled);
-				foreach ($target_numbers as $target_number)
+				//On passe en cours de progression tous les SMS
+				foreach ($scheduleds as $scheduled)
 				{
-					$numbers[] = $target_number['number'];
+					$ids_scheduleds[] = $scheduled['id'];
 				}
 
-				//On récupère les contacts, et on ajoute les numéros
-				$contacts = $db->getContactsForScheduled($id_scheduled);
-				foreach ($contacts as $contact)
-				{
-					$numbers[] = $contact['number'];
-				}
+				echo count($ids_scheduleds) . " SMS à envoyer ont été trouvés et ajoutés à la liste des SMS en cours d'envoi.\n";
 
-				//On récupère les groupes
-				$groups = $db->getGroupsForScheduled($id_scheduled);
-				foreach ($groups as $group)
+				$db->updateProgressScheduledsIn($ids_scheduleds, true);
+
+				//Pour chaque SMS à envoyer
+				foreach ($scheduleds as $scheduled)
 				{
-					//On récupère les contacts du groupe et on les ajoute aux numéros
-					$contacts = $db->getContactsForGroup($group['id']);
+					$id_scheduled = $scheduled['id'];
+					$text_sms = escapeshellarg($scheduled['content']);
+	 
+					//On initialise les numéros auxquelles envoyer le SMS
+					$numbers = array();
+
+					//On récupère les numéros pour le SMS et on les ajoute
+					$target_numbers = $db->getNumbersForScheduled($id_scheduled);
+					foreach ($target_numbers as $target_number)
+					{
+						$numbers[] = $target_number['number'];
+					}
+
+					//On récupère les contacts, et on ajoute les numéros
+					$contacts = $db->getContactsForScheduled($id_scheduled);
 					foreach ($contacts as $contact)
 					{
 						$numbers[] = $contact['number'];
 					}
-				}
-				
-				foreach ($numbers as $number)
-				{
-					echo "	Envoi d'un SMS au " . $number . "\n";
-					//On ajoute le SMS aux SMS envoyés
-					//Pour plus de précision, on remet la date à jour en réinstanciant l'objet DateTime (et on reformatte la date, bien entendu)
-					$now = new DateTime();
-					$now = $now->format('Y-m-d H:i:s');
-					//On peut maintenant ajouter le SMS
-					if (!$db->insertIntoTable('sendeds', ['at' => $now, 'target' => $number, 'content' => $scheduled['content']]))
+
+					//On récupère les groupes
+					$groups = $db->getGroupsForScheduled($id_scheduled);
+					foreach ($groups as $group)
 					{
-						echo 'Impossible d\'inserer le sms pour le numero ' . $number . "\n";
+						//On récupère les contacts du groupe et on les ajoute aux numéros
+						$contacts = $db->getContactsForGroup($group['id']);
+						foreach ($contacts as $contact)
+						{
+							$numbers[] = $contact['number'];
+						}
 					}
-					$id_sended = $db->lastId();
 					
-					//Commande qui envoie le SMS
-					$commande_send_sms = 'gammu-smsd-inject TEXT ' . escapeshellarg($number) . ' -len ' . mb_strlen($text_sms) . ' -text ' . $text_sms;
-					//Commande qui s'assure de passer le SMS dans ceux envoyés, et de lui donner le bon statut
+					foreach ($numbers as $number)
+					{
+						echo "	Envoi d'un SMS au " . $number . "\n";
+						//On ajoute le SMS aux SMS envoyés
+						//Pour plus de précision, on remet la date à jour en réinstanciant l'objet DateTime (et on reformatte la date, bien entendu)
+						$now = new DateTime();
+						$now = $now->format('Y-m-d H:i:s');
+						//On peut maintenant ajouter le SMS
+						if (!$db->insertIntoTable('sendeds', ['at' => $now, 'target' => $number, 'content' => $scheduled['content']]))
+						{
+							echo 'Impossible d\'inserer le sms pour le numero ' . $number . "\n";
+						}
+						$id_sended = $db->lastId();
+						
+						//Commande qui envoie le SMS
+						$commande_send_sms = 'gammu-smsd-inject TEXT ' . escapeshellarg($number) . ' -len ' . mb_strlen($text_sms) . ' -text ' . $text_sms;
+						//Commande qui s'assure de passer le SMS dans ceux envoyés, et de lui donner le bon statut
 
-					//On va liée les deux commandes pour envoyer le SMS puis le passer en echec
-					$commande = '(' . $commande_send_sms . ') >/dev/null 2>/dev/null &';
-					exec($commande); //On execute la commande d'envoie d'un SMS
+						//On va liée les deux commandes pour envoyer le SMS puis le passer en echec
+						$commande = '(' . $commande_send_sms . ') >/dev/null 2>/dev/null &';
+						exec($commande); //On execute la commande d'envoie d'un SMS
+					}
 				}
-			}
 
-			echo "Tous les SMS sont en cours d'envoi.\n";
-			//Tous les SMS ont été envoyés.	
-			$db->deleteScheduledsIn($ids_scheduleds);
+				echo "Tous les SMS sont en cours d'envoi.\n";
+				//Tous les SMS ont été envoyés.	
+				$db->deleteScheduledsIn($ids_scheduleds);
+			}
 		}
 
 		/**
@@ -163,116 +165,122 @@
 			//On créer l'objet de base de données
 			global $db;
 			
-			foreach (scandir(PWD_RECEIVEDS) as $dir)
-			{
-				//Si le fichier est un fichier système, on passe à l'itération suivante
-				if ($dir == '.' || $dir == '..')
+			for ($i = 0; $i < 30; $i++)
+			{			
+				foreach (scandir(PWD_RECEIVEDS) as $dir)
 				{
-					continue;
-				}				
-
-				//On récupère la date du SMS à la seconde près grâce au nom du fichier (Cf. parseSMS.sh)
-				//Il faut mettre la date au format Y-m-d H:i:s
-				$date = substr($dir, 0, 4) . '-' . substr($dir, 4, 2) . '-' . substr($dir, 6, 2) . ' ' . substr($dir, 8, 2) . ':' . substr($dir, 10, 2) . ':' . substr($dir, 12, 2);
-
-				//On récupère le fichier, et on récupère la chaine jusqu'au premier ':' pour le numéro de téléphone source, et la fin pour le message
-				$content_file = file_get_contents(PWD_RECEIVEDS . $dir);
-
-				//Si on peux pas ouvrir le fichier, on quitte en logant une erreur
-				if ($content_file == false)
-				{
-					$this->wlog('Unable to read file "' . $dir);
-					die(4);
-				}
-
-				//On supprime le fichier. Si on n'y arrive pas, alors on log
-				if (!unlink(PWD_RECEIVEDS . $dir))
-				{
-					$this->wlog('Unable to delete file "' . $dir);
-					die(8);
-				}
-
-				$content_file = explode(':', $content_file, 2);
-
-				//Si on a pas passé de numéro ou de message, alors on lève une erreur
-				if (!isset($content_file[0], $content_file[1]))
-				{
-					$this->wlog('Missing params in file "' . $dir);
-					die(5);
-				}
-
-				$number = $content_file[0];
-				$number = internalTools::parsePhone($number);
-				$text = $content_file[1];
-
-
-				if (!$number)
-				{
-					$this->wlog('Invalid phone number in file "' . $dir);
-					die(6);
-				}
-			
-				//On va vérifier si on a reçu une commande, et des identifiants
-				$flags = internalTools::parseForFlag($text);
-
-				//On créer le tableau qui permettra de stocker les commandes trouvées
-
-				$found_commands = array();
-
-				//Si on reçu des identifiants
-				if (array_key_exists('LOGIN', $flags) && array_key_exists('PASSWORD', $flags))
-				{
-					//Si on a bien un utilisateur avec les identifiants reçus
-					$user = $db->getUserFromEmail($flags['LOGIN']);
-					$this->wlog('We found ' . count($user) . ' users');
-					if ($user && $user['password'] == sha1($flags['PASSWORD']))
+					//Si le fichier est un fichier système, on passe à l'itération suivante
+					if ($dir == '.' || $dir == '..')
 					{
-						$this->wlog('Password is valid');
-						//On va passer en revue toutes les commandes, pour voir si on en trouve dans ce message
-						$commands = $db->getAll('commands');
+						continue;
+					}				
 
-						$this->wlog('We found ' . count($commands) . ' commands');
-						foreach ($commands as $command)
+					//On récupère la date du SMS à la seconde près grâce au nom du fichier (Cf. parseSMS.sh)
+					//Il faut mettre la date au format Y-m-d H:i:s
+					$date = substr($dir, 0, 4) . '-' . substr($dir, 4, 2) . '-' . substr($dir, 6, 2) . ' ' . substr($dir, 8, 2) . ':' . substr($dir, 10, 2) . ':' . substr($dir, 12, 2);
+
+					//On récupère le fichier, et on récupère la chaine jusqu'au premier ':' pour le numéro de téléphone source, et la fin pour le message
+					$content_file = file_get_contents(PWD_RECEIVEDS . $dir);
+
+					//Si on peux pas ouvrir le fichier, on quitte en logant une erreur
+					if ($content_file == false)
+					{
+						$this->wlog('Unable to read file "' . $dir);
+						die(4);
+					}
+
+					//On supprime le fichier. Si on n'y arrive pas, alors on log
+					if (!unlink(PWD_RECEIVEDS . $dir))
+					{
+						$this->wlog('Unable to delete file "' . $dir);
+						die(8);
+					}
+
+					$content_file = explode(':', $content_file, 2);
+
+					//Si on a pas passé de numéro ou de message, alors on lève une erreur
+					if (!isset($content_file[0], $content_file[1]))
+					{
+						$this->wlog('Missing params in file "' . $dir);
+						die(5);
+					}
+
+					$number = $content_file[0];
+					$number = internalTools::parsePhone($number);
+					$text = $content_file[1];
+
+
+					if (!$number)
+					{
+						$this->wlog('Invalid phone number in file "' . $dir);
+						die(6);
+					}
+				
+					//On va vérifier si on a reçu une commande, et des identifiants
+					$flags = internalTools::parseForFlag($text);
+
+					//On créer le tableau qui permettra de stocker les commandes trouvées
+
+					$found_commands = array();
+
+					//Si on reçu des identifiants
+					if (array_key_exists('LOGIN', $flags) && array_key_exists('PASSWORD', $flags))
+					{
+						//Si on a bien un utilisateur avec les identifiants reçus
+						$user = $db->getUserFromEmail($flags['LOGIN']);
+						$this->wlog('We found ' . count($user) . ' users');
+						if ($user && $user['password'] == sha1($flags['PASSWORD']))
 						{
-							$command_name = mb_strtoupper($command['name']);
-							if (array_key_exists($command_name, $flags))
+							$this->wlog('Password is valid');
+							//On va passer en revue toutes les commandes, pour voir si on en trouve dans ce message
+							$commands = $db->getAll('commands');
+
+							$this->wlog('We found ' . count($commands) . ' commands');
+							foreach ($commands as $command)
 							{
-								$this->wlog('We found command ' . $command_name);
-								
-								//Si la commande ne nécessite pas d'être admin, ou si on est admin
-								if (!$command['admin'] || $user['admin'])
+								$command_name = mb_strtoupper($command['name']);
+								if (array_key_exists($command_name, $flags))
 								{
-									$this->wlog('And the count is ok');
-									$found_commands[$command_name] = PWD_SCRIPTS . $command['script'] . escapeshellcmd($flags[$command_name]);
+									$this->wlog('We found command ' . $command_name);
+									
+									//Si la commande ne nécessite pas d'être admin, ou si on est admin
+									if (!$command['admin'] || $user['admin'])
+									{
+										$this->wlog('And the count is ok');
+										$found_commands[$command_name] = PWD_SCRIPTS . $command['script'] . escapeshellcmd($flags[$command_name]);
+									}
 								}
 							}
 						}
 					}
+
+					//On va supprimer le mot de passe du SMS pour pouvoir l'enregistrer sans danger
+					if (isset($flags['PASSWORD']))
+					{
+						$text = str_replace($flags['PASSWORD'], '*****', $text);
+					}
+
+					//On map les données et on créer le SMS reçu
+					$send_by = $number;
+					$content = $text;
+					$is_command = count($found_commands);
+					if (!$db->insertIntoTable('receiveds', ['at' => $date, 'send_by' => $send_by, 'content' => $content, 'is_command' => $is_command]))
+					{
+						echo "Erreur lors de l'enregistrement du SMS\n";
+						$this->wlog('Unable to process the SMS in file "' . $dir);
+						die(7);
+					}
+
+					//Chaque commande sera executée.
+					foreach ($found_commands as $command_name => $command)
+					{
+						echo 'Execution de la commande : ' . $command_name . ' :: ' . $command . "\n";
+						exec($command);
+					}
 				}
 
-				//On va supprimer le mot de passe du SMS pour pouvoir l'enregistrer sans danger
-				if (isset($flags['PASSWORD']))
-				{
-					$text = str_replace($flags['PASSWORD'], '*****', $text);
-				}
-
-				//On map les données et on créer le SMS reçu
-				$send_by = $number;
-				$content = $text;
-				$is_command = count($found_commands);
-				if (!$db->insertIntoTable('receiveds', ['at' => $date, 'send_by' => $send_by, 'content' => $content, 'is_command' => $is_command]))
-				{
-					echo "Erreur lors de l'enregistrement du SMS\n";
-					$this->wlog('Unable to process the SMS in file "' . $dir);
-					die(7);
-				}
-
-				//Chaque commande sera executée.
-				foreach ($found_commands as $command_name => $command)
-				{
-					echo 'Execution de la commande : ' . $command_name . ' :: ' . $command . "\n";
-					exec($command);
-				}
+				//On attend 2 secondes
+				sleep(2);
 			}
 		}
 	}