diff --git a/.gitattributes b/.gitattributes
index cca1007013ba3d1686c916f48563501003067e84..2c55545e1ea85ed150ad3b3501d92e76d7e962be 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -4,7 +4,6 @@ aide/verifier_fonctions.php -text
 images/icones-infos.txt -text
 images/verifier-128.png -text
 inc/is_email.php -text
-inc/normaliser.php -text
 inc/verifier.php -text
 lang/paquet-verifier_en.php -text
 lang/paquet-verifier_fr.php -text
@@ -19,7 +18,6 @@ lang/verifier_fr_tu.php -text
 lang/verifier_it.php -text
 lang/verifier_pt_br.php -text
 lang/verifier_sk.php -text
-normaliser/datepicker.php -text
 /paquet.xml -text
 /plugin.xml -text
 test/verifier.html -text
diff --git a/inc/normaliser.php b/inc/normaliser.php
deleted file mode 100644
index fa9d71fb9db09f69e6da3a7230791070faa2f261..0000000000000000000000000000000000000000
--- a/inc/normaliser.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-// Sécurité
-if (!defined("_ECRIRE_INC_VERSION")) return;
-
-/**
- * Fonction de base de l'API de normalisation.
- * (En cours de dev... sera peut etre a revoir)
- * 
- */
-function inc_normaliser_dist($valeur, $type, $options=null){
-
-	// On vérifie que les options sont bien un tableau
-	if (!is_array($options))
-		$options = array();
-
-	$erreur = '';
-	
-	// On cherche si une fonction correspond au type existant
-	if ($normaliser = charger_fonction($type, 'normaliser', true)) {
-		$valeur_normalisee = $normaliser($valeur, $options, $erreur);
-	}
-
-	return array(
-		'erreur' => $erreur,
-		'valeur' => $valeur_normalisee,
-		'changement' => !$erreur and ($valeur_normalisee != $valeur)
-	);
-}
-
-
-?>
diff --git a/inc/verifier.php b/inc/verifier.php
index de8b6526e2b84fe100b7ce18e6b646b85f216157..f73ea77dccfb8601bad7a1473aeb34ed762bc568 100644
--- a/inc/verifier.php
+++ b/inc/verifier.php
@@ -8,9 +8,12 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
  * @param mixed $valeur La valeur a verifier.
  * @param string $type Le type de verification a appliquer.
  * @param array $options Un eventuel tableau d'options suivant le type.
+ * @param array $valeur_normalisee
+ * 		Si des options de verification modifient la valeur entrante (normalisent),
+ * 		alors la valeur modifie sera stockee dans cette variable.
  * @return string Retourne une chaine vide si c'est valide, sinon une chaine expliquant l'erreur.
  */
-function inc_verifier_dist($valeur, $type, $options=null){
+function inc_verifier_dist($valeur, $type, $options=null, &$valeur_normalisee=null){
 
 	// On vérifie que les options sont bien un tableau
 	if (!is_array($options))
@@ -21,7 +24,7 @@ function inc_verifier_dist($valeur, $type, $options=null){
 
 	// On cherche si une fonction correspondant au type existe
 	if ($verifier = charger_fonction($type, 'verifier',true)){
-		$erreur = $verifier($valeur, $options);
+		$erreur = $verifier($valeur, $options, $valeur_normalisee);
 	}
 
 	// On passe le tout dans le pipeline du meme nom
@@ -31,7 +34,7 @@ function inc_verifier_dist($valeur, $type, $options=null){
 			'args' => array(
 				'valeur' => $valeur,
 				'type' => $type,
-				'options' => $options
+				'options' => $options,
 			),
 			'data' => $erreur
 		)
@@ -42,44 +45,53 @@ function inc_verifier_dist($valeur, $type, $options=null){
 
 /**
  * Liste toutes les vérifications possibles
- *
+ * 
+ * @param string $repertoire
+ * 		Dans quel repertoire chercher les yaml.
+ * 
  * @return Retourne un tableau listant les vérifications et leurs options
  */
-function verifier_lister_disponibles(){
-	static $verifications = null;
-	
-	if (is_null($verifications)){
-		$verifications = array();
-		$liste = find_all_in_path('verifier/', '.+[.]yaml$');
+function verifier_lister_disponibles($repertoire='verifier'){
+	static $verifications = array();
+
+	if (is_null($verifications[$repertoire])){
+		$verifications[$repertoire] = array();
+		$liste = find_all_in_path("$repertoire/", '.+[.]yaml$');
 		
 		if (count($liste)){
 			foreach ($liste as $fichier=>$chemin){
-				$type_verif = preg_replace(',[.]yaml$,i', '', $fichier);
+				$type = preg_replace(',[.]yaml$,i', '', $fichier);
 				$dossier = str_replace($fichier, '', $chemin);
 				// On ne garde que les vérifications qui ont bien la fonction !
-				if (charger_fonction($type_verif, 'verifier', true)
+				if (charger_fonction($type, $repertoire, true)
 					and (
-						is_array($verif = verifier_charger_infos($type_verif))
+						is_array($verif = verifier_charger_infos($type, $repertoire))
 					)
 				){
-					$verifications[$type_verif] = $verif;
+					$verifications[$repertoire][$type] = $verif;
 				}
 			}
 		}
 	}
 	
-	return $verifications;
+	return $verifications[$repertoire];
 }
 
+
 /**
  * Charger les informations contenues dans le yaml d'une vérification
  *
- * @param string $type_verif Le type de la vérification
+ * @param string $type_verif
+ * 		Le type de la vérification
+ * 
+ * @param string $repertoire
+ * 		Dans quel repertoire chercher les yaml.
+ * 
  * @return array Un tableau contenant le YAML décodé
  */
-function verifier_charger_infos($type_verif){
+function verifier_charger_infos($type_verif, $repertoire='verifier'){
 	include_spip('inc/yaml');
-	$fichier = find_in_path("verifier/$type_verif.yaml");
+	$fichier = find_in_path("$repertoire/$type_verif.yaml");
 	$verif = yaml_decode_file($fichier);
 	if (is_array($verif)){
 		$verif['titre'] = $verif['titre'] ? _T_ou_typo($verif['titre']) : $type_verif;
diff --git a/lang/verifier_fr.php b/lang/verifier_fr.php
index 17e519d3505e601569262b604924065229429a1a..2e357fe5896a2fceb23082752df398936b506ac7 100644
--- a/lang/verifier_fr.php
+++ b/lang/verifier_fr.php
@@ -38,6 +38,11 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 	'erreur_url_protocole' => 'L\'adresse saisie <em>(@url@)</em> doit commencer par @protocole@',
 	'erreur_url_protocole_exact' => 'L\'adresse saisie <em>(@url@)</em> ne commence pas par un protocole valide (http:// par exemple)',
 
+	// N
+	'normaliser_option_date' => 'Normaliser la date&nbsp;?',
+	'normaliser_option_date_aucune' => 'Non',
+	'normaliser_option_date_en_datetime' => 'Au format «Datetime» (pour SQL)',
+	
 	// O
 	'option_decimal_nb_decimales_label' => 'Nombre de décimales après la virgule',
 	'option_email_disponible_label' => 'Adresse disponible',
diff --git a/normaliser/datepicker.php b/normaliser/datepicker.php
deleted file mode 100644
index eafb9254aecb09e799f3eb64c82a703115103fe5..0000000000000000000000000000000000000000
--- a/normaliser/datepicker.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-// Sécurité
-if (!defined("_ECRIRE_INC_VERSION")) return;
-
-/**
- * Convertir une date vers un type de format
- */
-function normaliser_datepicker_dist($valeur, $options=array(), &$erreur) {
-
-	if (!isset($options['format'])) {
-		$erreur = "Pas de format de date transmis pour normalisation.";
-		return;
-	}
-
-	$format = $options['format'];
-	$normaliser = charger_fonction('datepicker_'.$format, 'normaliser', true);
-
-	if (!$normaliser) {
-		$erreur = "Pas de normalisation trouvee pour 'date' vers '$format'";
-		return;
-	}
-
-	return $normaliser($valeur, $options, $erreur);
-}
-
-
-/**
- * Convertir une date en datetime 
- *
-**/
-function normaliser_datepicker_datetime_dist($valeur, $options, &$erreur) {
-	$defaut = '0000-00-00 00:00:00';
-
-	if (!$valeur) {
-		return $defaut;
-	}
-
-	$date = $valeur;
-	if (isset($options['heure'])) {
-		$date .= (' ' . $options['heure'] . ':00');
-	} else {
-		$date .= ' 00:00:00';
-	}
-
-	include_spip('inc/filtres');
-	if (!$date = recup_date($date)) {
-		$erreur = "Impossible d'extraire la date de $date";
-		return;
-	}
-
-	if (!($date = mktime($date[3], $date[4], 0, (int)$date[1], (int)$date[2], (int)$date[0]))) {
-		// mauvais format de date
-		$erreur = "Impossible de normaliser la date...";
-		return false;
-	}
-
-	$date = date("Y-m-d H:i:s", $date);
-	$date = vider_date($date); // enlever les valeurs considerees comme nulles (1 1 1970, etc...)
-	if (!$date) {
-		$date = $defaut;
-	}
-	return $date;
-}
diff --git a/paquet.xml b/paquet.xml
index 7bea50bb43f27911950854e395c098f10e8d4558..abbb4ae7b1b1ddda74d47855134da4cdfe2f6470 100644
--- a/paquet.xml
+++ b/paquet.xml
@@ -1,7 +1,7 @@
 <paquet
 	prefix="verifier"
 	categorie="outil"
-	version="0.1.11"
+	version="0.1.12"
 	etat="test"
 	compatibilite="[2.0.10;3.0.99]"
 	logo="images/verifier-128.png"
diff --git a/plugin.xml b/plugin.xml
index 58d6c9f43f38ca9d8067c83f0999c77d8667c42d..dda729a5dabd8155721503c6b950e7af42f40a85 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -9,7 +9,7 @@
 	<auteur>[Les Développements Durables->http://www.ldd.fr]</auteur>
 	<icon>images/verifier-128.png</icon>
 	<licence>GPL v3</licence>
-	<version>0.1.11</version>
+	<version>0.1.12</version>
 	<etat>test</etat>
 	<description>
 		<multi>
diff --git a/verifier/date.php b/verifier/date.php
index f2a2e8a78689235b8ca05aeade4caa15e61bb074..868fdbd678c36810b4ecb5544492932f48abf8e6 100644
--- a/verifier/date.php
+++ b/verifier/date.php
@@ -14,11 +14,13 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
  * @param string $valeur
  *   La valeur à vérifier.
  * @param array $options
- *   tableau d'options [NON UTILISE].
+ *   tableau d'options.
+ * @param null $valeur_normalisee
+ *   Si normalisation a faire, la variable sera rempli par la date normalisee.
  * @return string
  *   Retourne une chaine vide si c'est valide, sinon une chaine expliquant l'erreur.
  */
-function verifier_date_dist($valeur, $options=array()){
+function verifier_date_dist($valeur, $options=array(), &$valeur_normalisee){
 	$erreur = _T('verifier:erreur_date_format');
 	if (!is_string($valeur))
 		return $erreur;
@@ -45,6 +47,56 @@ function verifier_date_dist($valeur, $options=array()){
 	// validité de la date
 	$erreur = _T('verifier:erreur_date');
 	if (!checkdate($mois, $jour, $annee)) return $erreur;
+
+	// normaliser si demandé
+	if ($options['normaliser'] and $options['normaliser'] == 'datetime') {
+		$valeur_normalisee = normaliser_date_datetime_dist($valeur, $options, $ok);
+	}
 	
 	return $ok;
 }
+
+
+
+
+/**
+ * Convertir une date en datetime 
+ *
+**/
+function normaliser_date_datetime_dist($valeur, $options, &$erreur) {
+	$defaut = '0000-00-00 00:00:00';
+
+	if (!$valeur) {
+		return $defaut;
+	}
+
+	$date = str_replace('-', '/', $valeur); // formater en jj/mm/aaaa
+
+	if (isset($options['heure'])) {
+		$date .= (' ' . $options['heure'] . ':00');
+	} else {
+		$date .= ' 00:00:00';
+	}
+
+	include_spip('inc/filtres');
+	if (!$date = recup_date($date)) {
+		$erreur = "Impossible d'extraire la date de $date";
+		return false;
+	}
+
+	if (!($date = mktime($date[3], $date[4], 0, (int)$date[1], (int)$date[2], (int)$date[0]))) {
+		// mauvais format de date
+		$erreur = "Impossible de normaliser la date...";
+		return false;
+	}
+
+	$date = date("Y-m-d H:i:s", $date);
+	$date = vider_date($date); // enlever les valeurs considerees comme nulles (1 1 1970, etc...)
+
+	if (!$date) {
+		$date = $defaut;
+	}
+
+	return $date;
+}
+
diff --git a/verifier/date.yaml b/verifier/date.yaml
index 90a9c54e0977d6158eb1bcba6cae10225f5d65c6..aef4408aee46456adb3f7c76348101a1cf5b93b1 100644
--- a/verifier/date.yaml
+++ b/verifier/date.yaml
@@ -1,3 +1,13 @@
 
 titre: '<:verifier:type_date:>'
 description: '<:verifier:type_date_description:>'
+options:
+  -
+    saisie: 'radio'
+    options:
+      nom: 'normaliser'
+      label: '<:verifier:normaliser_option_date:>'
+      datas:
+        aucune: '<:verifier:normaliser_option_date_aucune:>'
+        datetime: '<:verifier:normaliser_option_date_en_datetime:>'
+      defaut: 'datetime'
diff --git a/verifier/email.yaml b/verifier/email.yaml
index fd6ea33119589fd1477c1a17a1f0876dc9e0ee90..bbd904fe8783449ed674d35a369131a71b9bcefb 100644
--- a/verifier/email.yaml
+++ b/verifier/email.yaml
@@ -10,7 +10,7 @@ options:
       datas:
         normal: '<:verifier:option_email_mode_normal:>'
         strict: '<:verifier:option_email_mode_strict:>'
-        rfc5322: '<:verifier:option_email_mode_rfc5322:>'
+        rfc5322: '<:verifier:option_email_mode_5322:>'
       defaut: 'normal'
   -
     saisie: 'case'