From 711113dadd4ca5ce7fe6be1be3376a23c975681f Mon Sep 17 00:00:00 2001
From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr>
Date: Mon, 31 Mar 2025 12:09:54 +0200
Subject: [PATCH] BDDADMIN enquete

---
 config/autoload/unicaen-bdd-admin.global.php  | 29 ++++++++++++++++-
 .../sources/csv/unicaen_enquete_enquete.csv   |  2 ++
 .../sources/csv/unicaen_enquete_groupe.csv    |  7 +++++
 .../sources/csv/unicaen_enquete_question.csv  | 14 +++++++++
 database/sources/unicaen_enquete_enquete.php  | 24 ++++++++++++++
 database/sources/unicaen_enquete_groupe.php   | 28 +++++++++++++++++
 database/sources/unicaen_enquete_question.php | 31 +++++++++++++++++++
 7 files changed, 134 insertions(+), 1 deletion(-)
 create mode 100644 database/sources/csv/unicaen_enquete_enquete.csv
 create mode 100644 database/sources/csv/unicaen_enquete_groupe.csv
 create mode 100644 database/sources/csv/unicaen_enquete_question.csv
 create mode 100644 database/sources/unicaen_enquete_enquete.php
 create mode 100644 database/sources/unicaen_enquete_groupe.php
 create mode 100644 database/sources/unicaen_enquete_question.php

diff --git a/config/autoload/unicaen-bdd-admin.global.php b/config/autoload/unicaen-bdd-admin.global.php
index f3c70cb0..3fe588dd 100644
--- a/config/autoload/unicaen-bdd-admin.global.php
+++ b/config/autoload/unicaen-bdd-admin.global.php
@@ -131,8 +131,32 @@ return [
                     'key' => ['code'],
                     'options' => [],
                 ],
-                //UNICAEN RENDERER
                 //UNICAEN ENQUETE
+                'unicaen_enquete_enquete' => [
+                    'actions' => ['install', 'update'],
+                    'key' => ['code'],
+                    'options' => [],
+                ],
+                'unicaen_enquete_groupe' => [
+                    'actions' => ['install', 'update'],
+                    'key' => ['enquete_id','code'],
+                    'options' => [
+                        'columns' => [
+                            'enquete_id' => ['transformer' => 'select id from public.unicaen_enquete_enquete where code = %s'],
+                        ],
+                    ],
+                ],
+                'unicaen_enquete_question' => [
+                    'actions' => ['install', 'update'],
+                    'key' => ['enquete_id','groupe_id', 'libelle'],
+                    'options' => [
+                        'columns' => [
+                            'enquete_id' => ['transformer' => 'select id from public.unicaen_enquete_enquete where code = %s'],
+                            'groupe_id' => ['transformer' => 'select id from public.unicaen_enquete_groupe where code = %s'],
+                        ],
+                    ],
+                ],
+                //UNICAEN RENDERER
                 //formation session type ??
                 //fichier nature ??
                 //notification configuration ??
@@ -151,6 +175,9 @@ return [
                 'database/sources/unicaen_validation_type.php',
                 'database/sources/unicaen_evenement_type.php',
                 'database/sources/unicaen_evenement_etat.php',
+                'database/sources/unicaen_enquete_enquete.php',
+                'database/sources/unicaen_enquete_groupe.php',
+                'database/sources/unicaen_enquete_question.php',
             ],
         ],
         'migration' => [],
diff --git a/database/sources/csv/unicaen_enquete_enquete.csv b/database/sources/csv/unicaen_enquete_enquete.csv
new file mode 100644
index 00000000..0e5a4784
--- /dev/null
+++ b/database/sources/csv/unicaen_enquete_enquete.csv
@@ -0,0 +1,2 @@
+'code';'titre';'description' 20250331115000
+"FORMATION_2024","FORMATION","<p>Enquete par d&eacute;faut des formation</p>"
diff --git a/database/sources/csv/unicaen_enquete_groupe.csv b/database/sources/csv/unicaen_enquete_groupe.csv
new file mode 100644
index 00000000..57eee9c6
--- /dev/null
+++ b/database/sources/csv/unicaen_enquete_groupe.csv
@@ -0,0 +1,7 @@
+'enquete_id';'code';'libelle';'description';'ordre' 20250331115300
+"FORMATION_2024","1","Evaluation globale",null,"1"
+"FORMATION_2024","2","Contenu de la formation",null,"2"
+"FORMATION_2024","3","L\'intervenant·e",null,"3"
+"FORMATION_2024","4","Les supports pédagogiques",null,"4"
+"FORMATION_2024","5","L\'organisation et la logistique",null,"5"
+"FORMATION_2024","6","Amélioration possible",null,"6"
\ No newline at end of file
diff --git a/database/sources/csv/unicaen_enquete_question.csv b/database/sources/csv/unicaen_enquete_question.csv
new file mode 100644
index 00000000..a36d903f
--- /dev/null
+++ b/database/sources/csv/unicaen_enquete_question.csv
@@ -0,0 +1,14 @@
+'enquete_id';'groupe_id';'libelle';'description';'ordre';'has_note';'has_commentaire' 20250331120500
+"FORMATION_2024","1","Quel est votre satisfaction globale de la session de formation ?",null,"1","true","true"
+"FORMATION_2024","1","Comment allez-vous intégrer cette formation dans votre quotidien professionnel",null,"3","true","true"
+"FORMATION_2024","2","Les objectifs de la formation étaient-il clairs et pertinents ?",null,"2","true","true"
+"FORMATION_2024","2","Le contenu de la formation était-il en adequation avec vos attentes ?",null,"1","true","true"
+"FORMATION_2024","3","L'intervenant(e) était-il/elle disponible pour répondre à vos questions ?",null,"2","true","true"
+"FORMATION_2024","3","Comment évaluez-vous les compétences et la pédagogie de l'intervenant(e) ?",null,"1","true","true"
+"FORMATION_2024","4","Les supports étaient-ils suffisamment complets et utiles pour votre apprentissage ?",null,"2","true","true"
+"FORMATION_2024","4","Comment jugez-vous la qualité des supports de formation ?",null,"1","true","true"
+"FORMATION_2024","5","Avez-vous reçu les informations relatives à la formation suffisamment en amont de la formation ?",null,"2","true","true"
+"FORMATION_2024","5","Les conditions logistiques étaient-elles confortables et propices à l'apprentissage ?",null,"3","true","true"
+"FORMATION_2024","5","Comment évaluez-vous l'organisation générale de la formation ( lieu, date, horaires...) ?",null,"1","true","true"
+"FORMATION_2024","6","Quels sont les axes d'amélioration de cette formation ?",null,"2","false","true"
+"FORMATION_2024","6","Quels sont les points forts de cette formation ?",null,"1","false","true"
diff --git a/database/sources/unicaen_enquete_enquete.php b/database/sources/unicaen_enquete_enquete.php
new file mode 100644
index 00000000..a06d1dbe
--- /dev/null
+++ b/database/sources/unicaen_enquete_enquete.php
@@ -0,0 +1,24 @@
+<?php
+
+/** Requête utilisée pour la collecte des données **/
+//select ee.code, ee.titre, ee.description
+//from unicaen_enquete_enquete ee
+
+$csvFile = fopen("./database/sources/csv/unicaen_enquete_enquete.csv", "r");
+
+$array = []; $first = true;
+while (($item = fgetcsv($csvFile)) !== FALSE) {
+    if ($first) $first = false;
+    else {
+        $instance = [
+            'code' => $item[0],
+            'titre' => $item[1],
+            'description' => $item[2],
+        ];
+        $array["unicaen_enquete_enquete"][] = $instance;
+    }
+}
+
+fclose($csvFile);
+
+return $array;
\ No newline at end of file
diff --git a/database/sources/unicaen_enquete_groupe.php b/database/sources/unicaen_enquete_groupe.php
new file mode 100644
index 00000000..7535cd5f
--- /dev/null
+++ b/database/sources/unicaen_enquete_groupe.php
@@ -0,0 +1,28 @@
+<?php
+
+/** Requête utilisée pour la collecte des données **/
+//select ee.code as enquete_id, eg.code, eg.libelle, eg.description, eg.ordre
+//from unicaen_enquete_groupe eg
+//join unicaen_enquete_enquete ee on eg.enquete_id = ee.id
+//order by eg.ordre
+
+$csvFile = fopen("./database/sources/csv/unicaen_enquete_groupe.csv", "r");
+
+$array = []; $first = true;
+while (($item = fgetcsv($csvFile)) !== FALSE) {
+    if ($first) $first = false;
+    else {
+        $instance = [
+            'enquete_id' => $item[0],
+            'code' => $item[1],
+            'libelle' => $item[2],
+            'description' => $item[3],
+            'ordre' => $item[4],
+        ];
+        $array["unicaen_enquete_groupe"][] = $instance;
+    }
+}
+
+fclose($csvFile);
+
+return $array;
\ No newline at end of file
diff --git a/database/sources/unicaen_enquete_question.php b/database/sources/unicaen_enquete_question.php
new file mode 100644
index 00000000..bcf01bbf
--- /dev/null
+++ b/database/sources/unicaen_enquete_question.php
@@ -0,0 +1,31 @@
+<?php
+
+/** Requête utilisée pour la collecte des données **/
+//select ee.code as enquete_id, eg.code as groupe_id, eq.libelle, eq.description, eq.ordre, eq.has_note, eq.has_commentaire
+//from unicaen_enquete_question eq
+//join unicaen_enquete_groupe eg on eq.groupe_id = eg.id
+//join unicaen_enquete_enquete ee on eq.enquete_id = ee.id
+//order by eg.ordre
+
+$csvFile = fopen("./database/sources/csv/unicaen_enquete_question.csv", "r");
+
+$array = []; $first = true;
+while (($item = fgetcsv($csvFile)) !== FALSE) {
+    if ($first) $first = false;
+    else {
+        $instance = [
+            'enquete_id' => $item[0],
+            'groupe_id' => $item[1],
+            'libelle' => $item[2],
+            'description' => $item[3],
+            'ordre' => $item[4],
+            'has_note' => ($item[5] === true)? 't' : 'f',
+            'has_commentaire' => ($item[6] === true)? 't' : 'f',
+        ];
+        $array["unicaen_enquete_question"][] = $instance;
+    }
+}
+
+fclose($csvFile);
+
+return $array;
\ No newline at end of file
-- 
GitLab