diff --git a/R3.01/tp/tp2/ex5/conjuguer.php b/R3.01/tp/tp2/ex5/conjuguer.php
index 507d322..e51405d 100644
--- a/R3.01/tp/tp2/ex5/conjuguer.php
+++ b/R3.01/tp/tp2/ex5/conjuguer.php
@@ -1,23 +1,45 @@
-
-
-
-
-
+
+
+
+
+
+ Exercice 5
+
+
+
+ Conjugaison
-
-
-
-
+
+
+
+
+ Verbe :
+
+
-
-
+
+
+
+
+
+ Retour au formulaire
+
+
+
diff --git a/R3.01/tp/tp2/ex5/include/controller.php b/R3.01/tp/tp2/ex5/include/controller.php
index f35c02d..f1f8309 100644
--- a/R3.01/tp/tp2/ex5/include/controller.php
+++ b/R3.01/tp/tp2/ex5/include/controller.php
@@ -1,12 +1,64 @@
array("e","es","e","ons","ez","ent"),
- "futur"=>array("erai","eras","era","erons","erez","eront"),
- "imparfait"=>array("ais","ais","ait","ions","iez","aient")
+ 'present' => array('e', 'es', 'e', 'ons', 'ez', 'ent'),
+ 'futur' => array('erai', 'eras', 'era', 'erons', 'erez', 'eront'),
+ 'imparfait' => array('ais', 'ais', 'ait', 'ions', 'iez', 'aient')
);
-$pronoms=array("je","tu","il","nous","vous","ils");
+$libellesTemps = array(
+ 'present' => 'Present',
+ 'futur' => 'Futur',
+ 'imparfait' => 'Imparfait'
+);
-$verbe = filter_input(INPUT_POST,"verbe",FILTER_SANITIZE_STRING);
-$radical = substr($verbe,0,strlen($verbe)-2);
+$pronoms = array('je', 'tu', 'il', 'nous', 'vous', 'ils');
+
+$verbeSaisi = filter_input(INPUT_POST, 'verbe', FILTER_UNSAFE_RAW);
+$verbeSaisi = is_string($verbeSaisi) ? trim($verbeSaisi) : '';
+$verbe = strtolower($verbeSaisi);
+
+$tempsChoisis = filter_input(INPUT_POST, 'temps', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
+$tempsChoisis = is_array($tempsChoisis) ? $tempsChoisis : array();
+
+$messageErreur = '';
+$conjugaisons = array();
+
+if ($_SERVER['REQUEST_METHOD'] === 'POST') {
+ if ($verbe === '') {
+ $messageErreur = 'Veuillez saisir un verbe.';
+ } elseif (strlen($verbe) < 3 || substr($verbe, -2) !== 'er') {
+ $messageErreur = 'Veuillez saisir un verbe du premier groupe.';
+ } elseif ($tempsChoisis === array()) {
+ $messageErreur = 'Veuillez choisir au moins un temps.';
+ } else {
+ $radical = substr($verbe, 0, strlen($verbe) - 2);
+
+ foreach ($tempsChoisis as $temps) {
+ if (!isset($terminaisons[$temps], $libellesTemps[$temps])) {
+ continue;
+ }
+
+ $formes = array();
+
+ foreach ($pronoms as $index => $pronom) {
+ $forme = $radical . $terminaisons[$temps][$index];
+
+ if ($pronom === 'je' && preg_match('/^[aeiouh]/', $forme) === 1) {
+ $formes[] = "j'" . $forme;
+ } else {
+ $formes[] = $pronom . ' ' . $forme;
+ }
+ }
+
+ $conjugaisons[] = array(
+ 'temps' => $libellesTemps[$temps],
+ 'formes' => $formes
+ );
+ }
+
+ if ($conjugaisons === array()) {
+ $messageErreur = 'Aucun temps valide n a ete transmis.';
+ }
+ }
+}