diff --git a/CHANGELOG.md b/CHANGELOG.md
index 596dc9f0e66384a3ede0580845e6a4ec15a66d7b..3a20ea0d5d66a64bae42df2350081ffe5bc2ea1d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -28,7 +28,11 @@ Variable non instanciée `$this->content->text = "";`.
 
 __#### 4__
 
-La progression ne fonctionne plus. L'appel à la méthode suivante cause une suite d'erreur : 
+La progression ne fonctionne plus. L'appel à la méthode suivante cause une suite d'erreur. 
+
+La méthode au centre de la récupération des données ne fonctionne plus et fait appel à des méthodes trop complexes. 
+
+__Refaire l'interface de liste des cpt d'un user et des users pour une cpt : cf. "Améliorations".__
 
 ``` php
 $apiComp = new \tool_lp\output\user_competency_summary_in_course($userID, $competenceId, $courseID);
@@ -37,8 +41,6 @@ try {
 }
 ```
 
-__[ ] TODO__
-
 ### Page informations sur l'APC
 
 #### 2
@@ -76,3 +78,41 @@ Changement du nom du plugin (fichiers de langue).
 [ ] Ajout d'un bouton pour ajouter les compétences en haut du tableau. 
 
 [ ] Si aucune compétence n'est liée au cours, au lieu d'afficher le tableau, afficher uniquement le bouton d'ajout d'une compétence (un seul sur les deux). 
+
+### Page statut des compétences pour un utilisateur
+
+Ne pas utiliser de méthodes root, quitte à abandonner des fonctionnalités. Trop instable. 
+
+[x] Lister les compétences de l'utilisateur
+- ne trouve pas les users qui n'ont jamais eu d'évaluation sur les compétences : trouver la méthode qui les crée au passage (il y en a une dans l'api) parmi celles qui sont capables de lister les cpt des users => ou constituer la liste des cpt users d'une autre manière
+
+[ ] Générer un tableau ou une liste propre
+
+[ ] Pouvoir changer d'utilisateur via un champ de recherche dynamique
+- champ intégré mais affiche un id au lieu du nom
+
+[ ] Pouvoir changer d'utilisateur via des boutons précédent, suivant
+
+[ ] Permettre de filtrer par proficiency et par grade
+
+[ ] Générer un lien vers la page cpt x user
+
+### Page statut des utilisateurs pour une compétence
+
+[ ] Lister l'état d'acquisitions des utilisateurs pour une compétence
+
+[ ] Générer un tableau ou une liste propre
+
+[ ] Pouvoir changer de compétence via un champ de recherche dynamique
+
+[ ] Pouvoir changer de compétence via des boutons précédent, suivant
+
+[ ] Permettre de filtrer par proficiency et par grade
+
+[ ] Générer un lien vers la page cpt x user
+
+### Page cpt x user
+
+[ ] Récupérer toutes les données (ne marchera sûrement )
+
+
diff --git a/block_competency_iena.php b/block_competency_iena.php
index 51219520a83e840a50c15219844200744e4cbc15..5754b04dab39be17c2932adebd3348b2262e22be 100644
--- a/block_competency_iena.php
+++ b/block_competency_iena.php
@@ -54,6 +54,7 @@ class block_competency_iena extends block_base
 			$this->content->text = "";
 			if (has_capability('moodle/course:update', $context = context_course::instance($COURSE->id), $USER->id)) {
 				$this->content->text .= '<a href="' . $CFG->wwwroot . '/blocks/competency_iena/competency_iena_competencies.php?courseid=' . $COURSE->id . '"  class="btn btn-primary w-100 mb-3" style="white-space: normal;">Acquisition des compétences</a>';
+				$this->content->text .= '<a href="' . $CFG->wwwroot . '/blocks/competency_iena/competency_iena_competencies_2.php?courseid=' . $COURSE->id . '"  class="btn btn-warning w-100 mb-3" style="white-space: normal;">Acquisition des compétences 2</a>';
 				$this->content->text .= '<a href="' . $CFG->wwwroot . '/blocks/competency_iena/competency_iena_competencies_mgmt.php?courseid=' . $COURSE->id . '" type="button " class="btn btn-success w-100 mb-3" style="white-space: normal;">Gérer les compétences</a>';
 				$this->content->text .= '<a href="' . $CFG->wwwroot . '/blocks/competency_iena/competency_iena_competency_mgmt.php?courseid=' . $COURSE->id . '" type="button " class="btn btn-secondary w-100 mb-3" style="white-space: normal;">Informations sur l\'APC</a>';
 			} else {
diff --git a/competency_iena_competencies_2.php b/competency_iena_competencies_2.php
new file mode 100644
index 0000000000000000000000000000000000000000..1ee11dad48856a10605d6705538ca57505d367f6
--- /dev/null
+++ b/competency_iena_competencies_2.php
@@ -0,0 +1,100 @@
+<?php
+
+require_once('../../config.php');
+
+// ENLEVER SI NON NECESSAIRE :
+require_once('entity/block_competency_iena_competency.php');
+require_once('entity/block_competency_iena_module.php');
+require_once('entity/block_competency_iena_ressource.php');
+require_once('entity/block_competency_iena_section.php');
+require_once('entity/block_competency_iena_student.php');
+require_once('entity/block_competency_iena_cron_roles.php');
+require_once('entity/block_competency_iena_cron_competency.php');
+require_once('view/view_competency_iena_competencies.php');
+
+
+global $COURSE, $DB, $USER, $CFG;
+
+$courseid = required_param('courseid', PARAM_INT);
+$studentid = optional_param('studentid', $USER->id, PARAM_INT);
+$url = new moodle_url('/blocks/competency_iena/competency_iena_competencies_2.php', array('courseid' => $courseid, 'studentid' => $studentid));
+$PAGE->set_pagelayout('course');
+$PAGE->set_url($url);
+$course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST);
+require_login($course, false, NULL);
+$PAGE->set_title(get_string('title_plugin', 'block_competency_iena'));
+$PAGE->set_heading($OUTPUT->heading($COURSE->fullname, 2, 'headingblock header outline'));
+$PAGE->requires->js("/blocks/competency_iena/js/datalist-polyfill.min.js");
+echo $OUTPUT->header();
+
+
+
+// Les étudiants. 
+$student = new block_competency_iena_student();
+$students = $student->get_all_students_by_course($COURSE->id);
+// var_dump($students);
+
+// L'étudiant
+$student->get_student_by_id($studentid);
+
+// Les compétences du cours. 
+// $course_cpts = \core_competency\course_competency::list_competencies($COURSE->id);
+$course_cpts = \core_competency\course_competency::list_competencies($COURSE->id);
+// echo "<pre>";
+// foreach ($course_cpts as $course_cpt) {
+// 	var_dump($course_cpt);
+// 	echo "<hr>";
+// }
+// echo "</pre>";
+
+// L'état des compétences du cours pour un utilisateur
+$user_course_competencies = \core_competency\api::list_user_competencies_in_course($COURSE->id, $studentid);
+// echo "<pre>";
+// foreach ($user_course_competencies as $user_course_competency) {
+// 	var_dump($user_course_competency);
+// 	echo "<hr>";
+// 	$cpt = new \core_competency\competency($user_course_competency->get('id'));
+// 	var_dump($cpt->get_scale());
+// 	echo "<hr>";
+// 	echo "<hr>";
+// }
+// echo "</pre>";
+
+echo "<form action='{$CFG->wwwroot}/blocks/competency_iena/competency_iena_competencies_2.php'>";
+echo "<input type='text' hidden name='courseid' value='{$courseid}'>";
+// https://github.com/mfranzke/datalist-polyfill
+echo "<input type='text' name='studentid' id='studentid_sel' value='' list='student_list' class='dtlst'>";
+
+echo "<datalist id='student_list' title='Select student'>";
+
+foreach ($students as $stud) {
+	echo "<option value='{$stud->id}'>{$stud->firstname} {$stud->lastname}</option>";
+}
+echo "</datalist>";
+echo "<button type='submit'>Rechercher</button>";
+echo "</form>";
+
+echo "<h2>{$student->firstname} {$student->lastname}</h2>";
+foreach ($user_course_competencies as $user_course_competency) {
+	echo "<div class='alert alert-secondary'>";
+	$cpt = new \core_competency\competency($user_course_competency->get('id'));
+	echo "<h3 id='{$cpt->get('id')}'>{$cpt->get('shortname')}</h3>";
+	$cpt_scale = $cpt->get_scale()->scale_items;
+	if ( $user_course_competency->get('grade') == null ) {
+		$eval = "Non évalué";
+	} else {
+		$eval = $cpt_scale[$user_course_competency->get('grade') - 1];
+	}
+	echo "<p>Evaluation : {$eval}</p>";
+	$proficient = $user_course_competency->get('proficiency') == 1 ? "Oui" : "Non";
+	echo "<p>Validé : {$proficient}</p>";
+	echo "</div>";
+}
+
+
+
+
+
+
+
+echo $OUTPUT->footer();