diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 9275a7b..23e05d2 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,11 +5,10 @@
+
-
-
-
+
@@ -453,7 +452,7 @@
1747251650255
-
+
diff --git a/Log/log_file.log b/Log/log_file.log
index 7a3b497..6e3c115 100644
--- a/Log/log_file.log
+++ b/Log/log_file.log
@@ -82068,3 +82068,1813 @@ INFO:root:2026-03-26 12:24:21.205623 : Security check : IP adresse '127.0.0.1'
INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 12:24:21] "POST /myclass/api/Get_List_Employee_Contrat/ HTTP/1.1" 200 -
INFO:root:2026-03-26 12:24:21.249488 : Security check : IP adresse '127.0.0.1' connected
INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 12:24:21] "POST /myclass/api/Get_Partner_Group_Purchase_Price_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 12:30:33.020104 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 12:30:33] "POST /myclass/api/Get_Type_Contrat_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 12:33:21.973977 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 12:33:21.977976 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 12:33:21.979978 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 12:33:21.982486 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 12:33:21.986493 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 12:33:21.991497 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 12:33:21] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 12:33:22.000494 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 12:33:22] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 12:33:22] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 12:33:22] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 12:33:22] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 12:33:22] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 12:33:22] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:15:49.063310 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:15:49.069439 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:15:49.072974 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:15:49.075951 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:15:49.082953 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:15:49] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:15:49.094981 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:15:49] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:15:49.104954 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:15:49] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:15:49] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:15:49] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:15:49] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:15:49] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:16:12.548952 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:16:12.552958 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:16:12.556957 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:16:12.560961 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:16:12.568959 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:16:12.572959 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:16:12] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:16:12] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:16:12.584965 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:16:12] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:16:12] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:16:12] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:16:12] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:16:12] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:17:15.427728 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:17:15] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:17:15.446721 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:17:15.459235 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:17:15] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:17:15.475263 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:17:15] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:17:15.493262 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:17:15] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:17:15.515261 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:17:15] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:17:15] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:17:15.532263 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:17:15] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:18:08.741972 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:18:08.745970 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:18:08.750480 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:18:08.753487 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:18:08] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:18:08.761000 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:18:08.768024 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:18:08.780999 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:18:08] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:18:08] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:18:08] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:18:08] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:18:08] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:18:08] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:19:22.305731 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:19:22.309696 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:19:22.315208 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:19:22.322214 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:19:22.331727 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:22] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:22] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:19:22.342727 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:22] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:22] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:22] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:19:22.353728 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:22] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:22] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:19:29.738863 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:19:29.744374 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:19:29.748377 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:19:29.753375 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:29] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:19:29.765375 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:19:29.768375 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:29] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:19:29.779376 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:29] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:29] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:29] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:29] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:29] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:19:55.991947 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:19:56.000947 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:19:56.007987 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:56] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:19:56.021561 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:56] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:19:56.034561 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:56] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:56] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:19:56.054502 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:56] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:56] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:19:56.070487 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:19:56] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:21:06.168680 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:21:06.174687 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:21:06.179688 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:21:06] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:21:06.186208 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:21:06.195205 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:21:06.203207 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:21:06.212211 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:21:06] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:21:06] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:21:06] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:21:06] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:21:06] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:21:06] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:22:22.242173 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:22:22.248174 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:22:22.253175 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:22:22.262173 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:22:22.265173 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:22:22] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:22:22.272173 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:22:22] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:22:22] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:22:22] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:22:22.290687 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:22:22] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:22:22] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:22:22] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:23:33.720613 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:23:33.729134 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:23:33.739130 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:23:33] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:23:33.753153 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:23:33.763152 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:23:33.771684 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:23:33] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:23:33] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:23:33.781692 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:23:33] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:23:33] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:23:33] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:23:33] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:24:51.129553 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:24:51.136557 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:24:51.147404 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:24:51.151614 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:24:51.155243 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:24:51] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:24:51.173036 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:24:51] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:24:51] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:24:51.184053 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:24:51] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:24:51] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:24:51] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:24:51] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:25:29.153626 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:25:29.158627 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:25:29.164217 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:25:29.170233 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:29] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:25:29.180227 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:25:29.190229 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:29] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:29] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:25:29.202242 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:29] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:29] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:29] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:29] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:25:49.576738 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:25:49.583904 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:25:49.589417 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:49] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:25:49.598417 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:25:49.607417 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:25:49.622416 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:49] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:49] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:25:49.638417 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:49] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:49] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:49] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:25:49] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:29:28.428802 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:29:28.436801 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:29:28.441319 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:29:28.446317 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:28] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:28] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:28] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:28] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:29:28.481316 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:29:28.489317 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:28] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:29:28.501318 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:28] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:28] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:29:54.556403 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:29:54.560403 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:29:54.566405 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:29:54.569917 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:54] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:29:54.576919 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:29:54.587945 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:29:54.590955 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:54] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:54] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:54] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:54] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:54] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:29:54] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:02.164078 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:02.167079 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:02.172079 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:02.176079 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:02] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:02] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:02.195641 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:02] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:02.197642 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:02.201644 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:02] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:02.207644 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:02.209642 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:02.213643 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:02.219682 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:02] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:02] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:02.228644 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:02] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:02] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:02] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:02] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:02] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:04.863369 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:04] "POST /myclass/api/getRecoded_Employee_Image_from_front/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:06.278893 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:06.280894 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:06.285898 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:06.289404 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:06.295422 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:06] "POST /myclass/api/Get_Given_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:06] "POST /myclass/api/getRecoded_Employee_Image_from_front/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:06.302406 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:06] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:06.309420 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:06.312405 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:06] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:06] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:06.321424 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:06] "POST /myclass/api/Get_List_Ressource_Humaine_Affectation/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:06.329404 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:06] "POST /myclass/api/Get_List_Employee_Contrat/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:06.336410 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:06.345441 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:06] "POST /myclass/api/Get_List_Survey_with_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:06] "POST /myclass/api/Get_Partner_Group_Purchase_Price_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:06] "POST /myclass/api/Get_List_Employee_Suivi_Pedagogique_No_Filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:06] "POST /myclass/api/Get_List_object_owner_collection_Stored_Files/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:06] "POST /myclass/api/Get_Matrix_Acces_Right/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:10.386867 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:10.390867 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:10.395890 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:30:10.399869 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:10] "POST /myclass/api/Is_Partnair_Has_Digital_Signature/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:10.405402 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:10] "POST /myclass/api/Get_List_Employee_Contrat/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:10] "POST /myclass/api/Get_List_Partner_Document_with_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:10] "POST /myclass/api/GetAllValideSessionPartner_List_Without_Scope_Action/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:10] "POST /myclass/api/get_partner_class_Without_Scope_Action/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:30:11.798570 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:30:11] "POST /myclass/api/Get_Type_Contrat_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:31:33.783738 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:31:33.786736 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:31:33.792753 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:31:33.794736 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:31:33] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:31:33.800734 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:31:33.808738 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:31:33] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:31:33.815895 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:31:33] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:31:33] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:31:33] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:31:33] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:31:33] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:32:10.978086 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:32:10.981087 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:32:10.983085 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:32:10.987086 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:32:10.992125 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:32:10] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:32:11.000703 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:32:11] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:32:11.006670 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:32:11] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:32:11] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:32:11] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:32:11] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:32:11] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:33:23.302781 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:33:23.310783 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:33:23.320790 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:33:23] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:33:23.341314 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:33:23.354314 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:33:23] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 15:33:23.371314 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 15:33:23.384323 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:33:23] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:33:23] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:33:23] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:33:23] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:33:23] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\tools_cherif\\freemobile_send_sms.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 15:51:12.887990 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 15:51:12.887990 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 15:51:12.887990 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 15:51:12.889004 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 15:51:12.889004 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\tools_cherif\\freemobile_send_sms.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 15:53:22.513315 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 15:53:22.514316 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 15:53:22.514316 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 15:53:22.514316 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 15:53:22.514316 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\tools_cherif\\freemobile_send_sms.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 15:53:56.746587 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 15:53:56.746587 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 15:53:56.746587 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 15:53:56.746587 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 15:53:56.746587 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\tools_cherif\\freemobile_send_sms.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 15:54:28.595986 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 15:54:28.595986 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 15:54:28.595986 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 15:54:28.595986 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 15:54:28.596988 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\tools_cherif\\freemobile_send_sms.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 15:54:47.293902 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 15:54:47.293902 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 15:54:47.293902 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 15:54:47.293902 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 15:54:47.293902 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\tools_cherif\\freemobile_send_sms.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 15:55:10.340608 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 15:55:10.341622 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 15:55:10.341622 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 15:55:10.341622 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 15:55:10.341622 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\tools_cherif\\freemobile_send_sms.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 15:55:31.945180 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 15:55:31.945180 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 15:55:31.946180 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 15:55:31.946180 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 15:55:31.946180 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\tools_cherif\\freemobile_send_sms.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 15:55:43.323116 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 15:55:43.323116 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 15:55:43.323116 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 15:55:43.323116 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 15:55:43.323116 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\main.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 15:58:02.862674 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 15:58:02.862674 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 15:58:02.863671 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 15:58:02.863671 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 15:58:02.863671 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:root:2026-03-26 15:58:42.198110 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:58:42] "[32mGET /myclass/api/mysy_twilio_send_sms HTTP/1.1[0m" 308 -
+INFO:root:2026-03-26 15:58:42.202110 : Security check : IP adresse '127.0.0.1' connected
+INFO:twilio.http_client:-- BEGIN Twilio API Request --
+INFO:twilio.http_client:POST Request: https://api.twilio.com/2010-04-01/Accounts/ACab1bfab03d8c07b6b9b880a38f54287b/Messages.json
+INFO:twilio.http_client:Headers:
+INFO:twilio.http_client:Content-Type : application/x-www-form-urlencoded
+INFO:twilio.http_client:Accept : application/json
+INFO:twilio.http_client:User-Agent : twilio-python/9.10.4 (Windows AMD64) Python/3.12.9
+INFO:twilio.http_client:X-Twilio-Client : python-9.10.4
+INFO:twilio.http_client:Accept-Charset : utf-8
+INFO:twilio.http_client:-- END Twilio API Request --
+INFO:twilio.http_client:Response Status Code: 400
+INFO:twilio.http_client:Response Headers: {'Content-Type': 'application/json', 'Content-Length': '174', 'Connection': 'keep-alive', 'Date': 'Thu, 26 Mar 2026 14:58:41 GMT', 'X-Twilio-Error-Code': '21659', 'Twilio-Concurrent-Requests': '1', 'Twilio-Request-Id': 'RQ5c2a713ae7084aa9885f4202d5e1c9f4', 'Twilio-Request-Duration': '0.088', 'X-Home-Region': 'us1', 'X-API-Domain': 'api.twilio.com', 'Strict-Transport-Security': 'max-age=31536000', 'X-Cache': 'Error from cloudfront', 'Via': '1.1 9c5e7a714ec4b46a7426d9b2aca51f68.cloudfront.net (CloudFront)', 'X-Amz-Cf-Pop': 'CDG50-P5', 'X-Amz-Cf-Id': 'vcHSwEV0AWwG243VcO84kn-2Z_Ple1-1ApNGwEn-0u6vJabr3cwVTg==', 'X-Powered-By': 'AT-5000', 'X-Shenanigans': 'none', 'Vary': 'Origin'}
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 15:58:45] "GET /myclass/api/mysy_twilio_send_sms/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\tools_cherif\\freemobile_send_sms.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:05:50.705014 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:05:50.705014 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:05:50.705014 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:05:50.705014 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:05:50.705014 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:root:2026-03-26 16:05:50.993144 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:05:50] "[32mGET /myclass/api/mysy_twilio_send_sms HTTP/1.1[0m" 308 -
+INFO:root:2026-03-26 16:05:51.004133 : Security check : IP adresse '127.0.0.1' connected
+INFO:twilio.http_client:-- BEGIN Twilio API Request --
+INFO:twilio.http_client:POST Request: https://api.twilio.com/2010-04-01/Accounts/ACab1bfab03d8c07b6b9b880a38f54287b/Messages.json
+INFO:twilio.http_client:Headers:
+INFO:twilio.http_client:Content-Type : application/x-www-form-urlencoded
+INFO:twilio.http_client:Accept : application/json
+INFO:twilio.http_client:User-Agent : twilio-python/9.10.4 (Windows AMD64) Python/3.12.9
+INFO:twilio.http_client:X-Twilio-Client : python-9.10.4
+INFO:twilio.http_client:Accept-Charset : utf-8
+INFO:twilio.http_client:-- END Twilio API Request --
+INFO:twilio.http_client:Response Status Code: 400
+INFO:twilio.http_client:Response Headers: {'Content-Type': 'application/json', 'Content-Length': '330', 'Connection': 'keep-alive', 'Date': 'Thu, 26 Mar 2026 15:05:50 GMT', 'X-Twilio-Error-Code': '21608', 'Twilio-Concurrent-Requests': '1', 'Twilio-Request-Id': 'RQ89ba401f3bf226661fac277b5e4348a4', 'Twilio-Request-Duration': '0.086', 'X-Home-Region': 'us1', 'X-API-Domain': 'api.twilio.com', 'Strict-Transport-Security': 'max-age=31536000', 'X-Cache': 'Error from cloudfront', 'Via': '1.1 3ed283643ca0988ba581ef4654d5af0e.cloudfront.net (CloudFront)', 'X-Amz-Cf-Pop': 'CDG50-P5', 'X-Amz-Cf-Id': 'vurChdty9hFKNjnjecAy1xFx4kUPVmo69bicpMIA5oOprr6OYr8MsQ==', 'X-Powered-By': 'AT-5000', 'X-Shenanigans': 'none', 'Vary': 'Origin'}
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:05:52] "GET /myclass/api/mysy_twilio_send_sms/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\tools_cherif\\freemobile_send_sms.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:07:59.207354 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:07:59.207354 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:07:59.207354 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:07:59.207354 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:07:59.207354 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:root:2026-03-26 16:07:59.270696 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:07:59] "[32mGET /myclass/api/mysy_twilio_send_sms HTTP/1.1[0m" 308 -
+INFO:root:2026-03-26 16:07:59.274501 : Security check : IP adresse '127.0.0.1' connected
+INFO:twilio.http_client:-- BEGIN Twilio API Request --
+INFO:twilio.http_client:POST Request: https://api.twilio.com/2010-04-01/Accounts/ACab1bfab03d8c07b6b9b880a38f54287b/Messages.json
+INFO:twilio.http_client:Headers:
+INFO:twilio.http_client:Content-Type : application/x-www-form-urlencoded
+INFO:twilio.http_client:Accept : application/json
+INFO:twilio.http_client:User-Agent : twilio-python/9.10.4 (Windows AMD64) Python/3.12.9
+INFO:twilio.http_client:X-Twilio-Client : python-9.10.4
+INFO:twilio.http_client:Accept-Charset : utf-8
+INFO:twilio.http_client:-- END Twilio API Request --
+INFO:twilio.http_client:Response Status Code: 201
+INFO:twilio.http_client:Response Headers: {'Content-Type': 'application/json;charset=utf-8', 'Content-Length': '850', 'Connection': 'keep-alive', 'Date': 'Thu, 26 Mar 2026 15:07:58 GMT', 'Twilio-Concurrent-Requests': '1', 'Twilio-Request-Id': 'RQcfe72cc7d8a05436f46ab7fb59e78e03', 'Twilio-Request-Duration': '0.222', 'X-Home-Region': 'us1', 'X-API-Domain': 'api.twilio.com', 'Strict-Transport-Security': 'max-age=31536000', 'X-Cache': 'Miss from cloudfront', 'Via': '1.1 0d74b54302b90fbab96fab452bd6d612.cloudfront.net (CloudFront)', 'X-Amz-Cf-Pop': 'CDG50-P5', 'X-Amz-Cf-Id': '13lJ4tlChKZURe7NwyqoEQdrtAOCh0IYN2h-OxfhARbRlMPn95LuOQ==', 'X-Powered-By': 'AT-5000', 'X-Shenanigans': 'none', 'Vary': 'Origin'}
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:07:59] "GET /myclass/api/mysy_twilio_send_sms/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\tools_cherif\\freemobile_send_sms.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:21:04.714554 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:21:04.714554 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:21:04.714554 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:21:04.714554 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:21:04.715624 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:root:2026-03-26 16:23:21.927612 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:23:21.930613 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:23:21.934613 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:23:21.937613 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:23:21] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:23:21] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:23:21] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:23:21.988164 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:23:21] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:23:24.215770 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:23:24.220772 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:23:24] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:23:24.227772 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:23:24.232772 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:23:24] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:23:24] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:23:24.254861 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:23:24] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:05.809024 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:05.816018 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:05] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:05.821019 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:05.826019 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:05] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:05] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:05.847019 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:05] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:06.980467 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:06.984468 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:06.988506 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:06] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:06.993495 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:07] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:07] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:07.010065 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:07] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:47.494694 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:47.498701 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:47] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:47.506701 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:47.509700 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:47] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:47] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:47.534214 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:47] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:48.667048 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:48.673049 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:48.678630 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:48] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:48.682630 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:48] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:48.701621 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:48] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:48] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:55.993119 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:55.998116 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:56.001117 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:56.007142 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:56] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:56] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:56] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:56.028758 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:56] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:57.399910 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:57.402911 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:57] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:57.407912 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:24:57.413917 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:57] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:57] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:24:57.433494 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:24:57] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:25:09.613968 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:25:09.615477 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:25:09.620561 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:09] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:25:09.626120 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:09] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:09] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:25:09.647633 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:09] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:25:10.723656 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:25:10.728654 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:10] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:25:10.734643 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:25:10.739651 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:10] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:10] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:25:10.765696 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:10] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:25:42.781772 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:25:42.785767 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:42] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:25:42.790781 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:25:42.793782 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:42] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:42] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:25:42.811303 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:42] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:25:44.129275 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:25:44.135304 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:25:44.139303 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:44] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:25:44.146288 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:44] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:44] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:25:44.167843 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:25:44] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:26:09.152484 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:26:09.156485 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:26:09.160485 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:09] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:26:09.167485 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:09] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:09] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:26:09.183493 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:09] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:26:10.584741 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:26:10.587771 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:10] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:26:10.594745 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:26:10.600751 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:10] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:10] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:26:10.619761 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:10] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:26:33.933581 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:26:33.937584 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:26:33.942598 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:26:33.946624 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:33] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:33] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:26:33.963329 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:33] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:33] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:26:35.056862 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:26:35.061862 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:35] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:26:35.070889 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:26:35.077890 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:35] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:35] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:26:35.107649 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:26:35] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:35:53.102852 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:35:53.106851 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:35:53.109855 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:53] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:35:53.114851 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:53] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:53] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:35:53.139856 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:53] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:35:53.157918 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:35:53.162428 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:35:53.166429 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:35:53.170946 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:53] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:35:53.177944 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:35:53.184019 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:35:53.189018 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:53] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:53] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:53] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:53] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:53] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:53] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:35:54.050208 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:35:54.054208 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:54] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:35:54.062209 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:35:54.063209 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:54] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:54] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:35:54.085216 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:54] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:35:54.179844 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:35:54] "POST /myclass/api/Get_Connected_User_List_Dashbord/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:36:00.793456 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:36:00.798456 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:36:00.803457 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:36:00] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:36:00.810994 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:36:00] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:36:00] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:36:00.831436 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:36:00] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:36:00.848439 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:36:00.852435 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:36:00.856437 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:36:00.860435 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:36:00.866435 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:36:00] "POST /myclass/api/Get_Competence_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:36:00.872435 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:36:00] "POST /myclass/api/Get_Competence_Level/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:36:00] "POST /myclass/api/Get_List_Manager_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:36:00.879435 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:36:00] "POST /myclass/api/Get_List_Profil_Ressource_Humaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:36:00] "POST /myclass/api/Get_Related_Target_Collection_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:36:00] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:36:00] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:14.237804 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:14.242181 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:14.248182 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:14.251182 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:14] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:14] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:14] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:14.275459 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:14] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:15.354946 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:15.359961 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:15.363990 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:15] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:15.371979 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:15] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:15] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:15.394517 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:15] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.290232 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.291200 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.293200 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.295199 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.296199 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/get_List_domaine_formation/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/Get_Suggested_Fr_Cities/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/Get_Suggested_Word/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/get_all_class/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.572083 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.578081 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.583089 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.587087 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.595090 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.601607 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.604606 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.611607 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.617604 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.636626 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.639617 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.646618 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.649613 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.656124 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.660121 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.662122 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.668126 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.670122 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.677121 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.680123 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.684125 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.687123 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.690147 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.695123 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.700122 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.703141 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.708162 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.714141 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:24.720128 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:24.723126 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:24] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.314874 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:30.316875 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:30.316875 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:30.319381 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:30.320387 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/get_List_domaine_formation/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/Get_Suggested_Fr_Cities/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/Get_Suggested_Word/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/get_all_class/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.554967 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:30.556967 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.560966 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.563967 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.569480 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.574482 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:30.577479 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.579479 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:30.583481 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.593487 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.597486 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:30.600485 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.604484 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:30.606992 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.611001 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.614000 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.618001 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:30.622001 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.622999 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.628999 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.634000 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:30.636001 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.640000 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.643999 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:30.646020 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.649000 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.652007 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.656004 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.660004 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:30.664004 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:30] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:32.618630 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:32] "POST /myclass/api/partner_login/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:33.418926 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:33.422937 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:33.423920 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:33.430921 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:33] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:33.439927 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:33.442926 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:33] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:33.449434 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:33.457443 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:33] "POST /myclass/api/Get_bloc_competence_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:33] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:33.469688 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:33] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:33.472687 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:33] "POST /myclass/api/Get_List_Class_domaine/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:33.475689 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:33] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:33.483218 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:33] "POST /myclass/api/Get_List_class_metier/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:33] "POST /myclass/api/Get_List_Class_Categorie/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:33] "POST /myclass/api/get_partner_class/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:33] "POST /myclass/api/find_partner_class_like/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:36.998578 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.002577 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.004583 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.009579 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.015581 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/get_List_domaine_formation/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/Get_Suggested_Fr_Cities/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/Get_Suggested_Word/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/get_all_class/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.321033 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.329040 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.330061 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.348170 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.351547 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.358586 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.367572 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.373700 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.376253 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.390251 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.392236 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.397253 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.402236 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.406235 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.409258 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.414253 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.419253 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.423275 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.428236 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.433235 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.436236 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.439253 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.443283 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.446279 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.449281 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.453279 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.454786 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.458845 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:37.461822 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:37.465839 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:37] "POST /myclass/api/GetActiveSession_Cities_And_Distance_Formation_List/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:39.897957 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:39] "POST /myclass/api/partner_login/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:39.941942 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:39.944945 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:39.948960 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:39.953944 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:39] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:39.963995 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:39.965981 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:39.973005 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:39] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:39] "POST /myclass/api/Get_List_Class_domaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:39] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:39.985526 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:39] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:37:39.990579 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:39.993588 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:39.997587 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 16:37:40.004606 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:40] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:40] "POST /myclass/api/Get_bloc_competence_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:40] "POST /myclass/api/Get_List_class_metier/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:40] "POST /myclass/api/Get_List_Class_Categorie/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:40] "POST /myclass/api/get_partner_class/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:37:40] "POST /myclass/api/find_partner_class_like/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:40:20.304104 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:40:20] "POST /myclass/api/get_all_published_articles_avis/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 16:43:01.873664 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 16:43:01] "POST /myclass/api/get_all_published_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:49:42.797896 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:49:42.797896 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:49:42.798909 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:49:42.798909 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:49:42.798909 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:53:02.500425 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:53:02.500425 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:53:02.500425 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:53:02.500425 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:53:02.500425 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:53:25.299413 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:53:25.299413 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:53:25.299413 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:53:25.299413 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:53:25.299413 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:53:56.505944 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:53:56.505944 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:53:56.505944 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:53:56.505944 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:53:56.505944 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:54:15.418183 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:54:15.418183 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:54:15.418183 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:54:15.418183 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:54:15.418183 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:54:37.208786 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:54:37.208786 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:54:37.208786 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:54:37.208786 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:54:37.208786 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:54:55.006223 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:54:55.006223 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:54:55.006223 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:54:55.006223 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:54:55.007225 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:55:11.926838 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:55:11.926838 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:55:11.926838 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:55:11.926838 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:55:11.926838 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:57:15.368821 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:57:15.368821 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:57:15.368821 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:57:15.368821 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:57:15.368821 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:57:32.696358 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:57:32.696358 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:57:32.696358 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:57:32.696358 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:57:32.696358 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:58:17.837622 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:58:17.837622 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:58:17.837622 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:58:17.837622 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:58:17.837622 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:58:55.349370 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:58:55.350397 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:58:55.350397 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:58:55.350397 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:58:55.350397 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:59:14.990997 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:59:14.990997 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:59:14.992017 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:59:14.992017 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:59:14.992017 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 16:59:52.123737 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 16:59:52.123737 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 16:59:52.123737 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 16:59:52.123737 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 16:59:52.123737 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 17:01:12.669205 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 17:01:12.669205 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 17:01:12.670205 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 17:01:12.670205 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 17:01:12.670205 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 17:02:23.920389 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 17:02:23.920389 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 17:02:23.920389 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 17:02:23.920389 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 17:02:23.920389 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\main.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 17:02:48.926723 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 17:02:48.926723 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 17:02:48.926723 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 17:02:48.926723 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 17:02:48.927725 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 17:18:10.979408 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 17:18:10.979408 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 17:18:10.979408 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 17:18:10.979408 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 17:18:10.979408 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+INFO:werkzeug:[31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
+ * Running on http://localhost:5001
+INFO:werkzeug:[33mPress CTRL+C to quit[0m
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 17:18:25.574236 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 17:18:25.574236 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 17:18:25.574236 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 17:18:25.574236 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 17:18:25.574236 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:root:2026-03-26 17:20:35.981231 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:20:36] "POST /myclass/api/get_all_published_articles_avis/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:20:53.022632 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:20:53] "POST /myclass/api/get_all_published_articles_avis/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:21:35.056864 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:21:35] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:21:36.497178 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:21:36] "POST /myclass/api/get_all_published_articles_avis/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:21:39.761453 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:21:39] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:21:47.735115 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:21:47] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:24:13.332771 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:13] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:24:13.343774 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:24:13.352800 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:24:13.356786 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:13] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:13] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:24:13.384335 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:13] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:24:22.374849 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:24:22.376850 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:24:22.380878 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:24:22.385873 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:22] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:24:22.401499 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:22] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:22] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:22] "POST /myclass/api/Get_Connected_User_List_Dashbord/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:24:22.422481 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:22] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:24:25.352495 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:25] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:24:35.213073 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:35] "POST /myclass/api/get_articles_avis_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:24:41.410955 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:24:41.413954 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:41] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:41] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:24:52.752893 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:24:52] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:26:57.492211 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:26:57] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:26:57.503211 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:26:57] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:28:26.787788 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:28:26] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:28:34.389941 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:28:34] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:28:38.777203 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:28:38.780203 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:28:38] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:28:38] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:30:28.702915 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:30:28] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:33:07.612240 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:33:07] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:33:13.449456 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:33:13] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:33:15.619575 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:33:15.623611 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:33:15] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:33:15] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:33:17.406927 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:33:17] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:33:39.549840 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:33:39] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:33:40.359461 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:33:40] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:34:08.965186 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:34:08.968190 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:34:08] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:34:08] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:34:58.177217 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:34:58] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:35:01.311844 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:35:01] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:35:03.656687 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:35:03.660689 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:35:03] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:35:03] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:35:27.662790 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:35:27] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:35:33.153657 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:35:33.157754 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:35:33] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:35:33] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:35:40.823829 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:35:40] "POST /myclass/api/get_all_published_articles_avis/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:35:54.822725 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:35:54.825732 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:35:54] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:35:54] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:36:49.716755 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:36:49] "POST /myclass/api/get_all_published_articles_avis/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:36:57.305840 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:36:57] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:37:11.872143 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:37:11.874142 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:37:11] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:37:11] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:37:15.284632 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:37:15] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:37:25.720677 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:37:25] "POST /myclass/api/get_all_non_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:37:27.451386 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:37:27] "POST /myclass/api/get_all_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:37:29.422776 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:37:29] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:37:32.613131 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:37:32] "POST /myclass/api/get_articles_avis_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:38:00.629176 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:38:00] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:38:03.155257 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:38:03.159262 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:38:03] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:38:03] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:38:13.516868 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:38:13] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:38:19.693801 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:38:19] "POST /myclass/api/get_articles_avis_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:38:29.946016 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:38:29] "POST /myclass/api/get_articles_avis_from_id/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\main.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 17:39:08.997264 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 17:39:09.004250 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 17:39:09.004250 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 17:39:09.004250 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 17:39:09.004250 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:root:2026-03-26 17:40:45.052831 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:40:45.056815 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:40:45] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:40:45] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:40:50.205593 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:40:50] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:40:52.386802 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:40:52] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:44:48.581266 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 17:44:48.585270 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:44:48] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:44:48] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:44:51.189751 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:44:51] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:44:52.799142 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:44:52] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:45:47.751304 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:45:47] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:45:50.443011 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:45:50] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:46:46.378878 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:46:46] "POST /myclass/api/update_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:46:49.576042 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:46:49] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:46:52.222913 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:46:52] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:47:04.761370 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:47:04] "POST /myclass/api/update_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:47:10.534921 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:47:10] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 17:50:09.037518 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 17:50:09.037518 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 17:50:09.037518 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 17:50:09.037518 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 17:50:09.037518 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 17:50:25.147557 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 17:50:25.147557 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 17:50:25.147557 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 17:50:25.147557 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 17:50:25.148559 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:root:2026-03-26 17:50:32.952406 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:50:32] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:50:34.529860 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:50:34] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:50:40.237231 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:50:40] "POST /myclass/api/update_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:50:42.461403 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:50:42] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:50:44.916869 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:50:44] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:werkzeug: * Detected change in 'C:\\Users\\Cherif\\Documents\\myclass.com\\Siteweb\\Elyos_Ftion_Initiale\\Ela_back\\Back_Office_FI\\help_articles.py', reloading
+INFO:werkzeug: * Restarting with stat
+DEBUG:matplotlib:matplotlib data path: C:\Users\Cherif\Documents\myclass.com\Siteweb\Elyos_Ftion_Continue\Ela_back\Back_Office\venv\Lib\site-packages\matplotlib\mpl-data
+DEBUG:matplotlib:CONFIGDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib:interactive is False
+DEBUG:matplotlib:platform is win32
+DEBUG:matplotlib:CACHEDIR=C:\Users\Cherif\.matplotlib
+DEBUG:matplotlib.font_manager:Using fontManager instance from C:\Users\Cherif\.matplotlib\fontlist-v390.json
+INFO:root:2026-03-26 17:52:33.064274 : ++++ ENVIRONNEMENT DEVELOPPEMENT ++++
+INFO:root:2026-03-26 17:52:33.064274 : ++ DATABASE mongodb://localhost:27017/cherifdb_dev_fi ++
+INFO:root:2026-03-26 17:52:33.064274 : ++ DBNAME Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'cherifdb_dev_fi') ++
+INFO:root:2026-03-26 17:52:33.064274 : ++ FLASK PORT 5001 ++
+INFO:root:2026-03-26 17:52:33.064274 : ++ LMS_BAS_URL mysy-hosting.com/ ++
+WARNING:werkzeug: * Debugger is active!
+INFO:werkzeug: * Debugger PIN: 479-264-725
+INFO:root:2026-03-26 17:52:40.968251 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:52:40] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:52:42.198602 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:52:42] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:52:49.424682 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:52:49] "POST /myclass/api/update_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:52:51.508830 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:52:51] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:53:45.603786 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:53:45] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:53:46.667791 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:53:46] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:53:49.597183 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:53:49] "POST /myclass/api/update_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:53:51.678328 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:53:51] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:54:09.025919 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:54:09] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:54:13.824897 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:54:13] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:54:16.102200 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:54:16] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 17:54:37.681462 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 17:54:37] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:09:40.557200 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:09:40] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:09:46.406127 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:09:46] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:11:37.015938 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:11:37] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:12:26.119665 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:12:26] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:12:28.852573 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:12:28] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:12:49.201674 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:12:49] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:16:02.056197 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:16:02] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:16:05.902383 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:16:05] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:16:47.034522 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:16:47] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:16:54.547419 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:16:54] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:17:35.018551 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:17:35] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:17:49.614279 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:17:49] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:17:56.489689 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:17:56] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:18:28.225491 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:18:28] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:19:05.123201 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:19:05] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:19:08.721227 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:19:08] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:21:36.943519 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:21:36] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:21:41.070259 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:21:41] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:22:20.520857 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:22:20] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:22:30.880299 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:22:30] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:32:37.323314 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:32:37] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:33:37.066704 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:33:37] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:33:51.053636 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:33:51] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:33:59.169599 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:33:59] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:34:33.407654 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:34:33] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:35:48.572994 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:35:48] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:36:03.995684 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:36:03] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:37:12.963078 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:37:12] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:37:18.472931 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:37:18] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:37:39.237207 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:37:39] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:37:56.732610 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:37:56] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:38:33.571289 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:38:33] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:38:48.509892 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:38:48] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:39:02.002052 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:39:02] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:39:05.898308 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:39:05] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:39:44.913734 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:39:44] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:41:05.425525 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:41:05] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:41:24.136463 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:41:24] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:41:34.097059 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:41:34] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:42:01.525330 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:42:01] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:42:07.186071 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:42:07] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:42:19.251585 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:42:19] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:43:23.374764 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:43:23] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:44:58.551066 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:44:58] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:45:31.963734 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:45:31] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:45:45.214133 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:45:45] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:49:53.550115 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:49:53] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:50:01.368752 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 18:50:01.370752 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:50:01] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:50:01] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:50:08.983803 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:50:08] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:53:04.857952 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:53:04] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:53:12.672219 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:53:12] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:53:49.954870 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:53:49] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:54:12.740365 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:12] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:54:48.700904 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 18:54:48.702845 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 18:54:48.712840 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 18:54:48.717842 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:48] "POST /myclass/api/getRecodedImage/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:48] "POST /myclass/api/LMS_Get_Partner_Data/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:48] "POST /myclass/api/Get_Nb_User_Internal_Mail_Not_Read/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:54:48.744245 : Connexion du partner recid = 43598820dd270936c3d2fd822717d0f18f194b1a1b894aaf89 OK. Mise ŕ jour du firstconnexion et/ou lastconnexion : OK
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:48] "POST /myclass/api/get_partner_account/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:54:48.760152 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 18:54:48.764169 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 18:54:48.769181 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 18:54:48.774175 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:48] "POST /myclass/api/get_Agenda_Event_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:48] "POST /myclass/api/Get_List_Ressource_Materielle_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:54:48.784666 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 18:54:48.791665 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 18:54:48.793666 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:48] "POST /myclass/api/get_Agenda_Event_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:48] "POST /myclass/api/Get_Default_Debut_Fin_journee_Modele_Journee/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:54:48.806666 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:48] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:48] "POST /myclass/api/Get_List_Ressource_Materielle_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:48] "POST /myclass/api/Get_Default_Debut_Fin_journee_Modele_Journee/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:48] "POST /myclass/api/Get_List_Ressource_Humaine_no_filter/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:54:52.820880 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:54:52] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 18:59:31.389933 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 18:59:31.393933 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:59:31] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 18:59:31] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:21:24.834699 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:21:24] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:21:33.382133 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:21:35.548062 : get_help_article_from_id -'' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string - ERRORRRR AT Line : 586
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:21:35] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:22:22.918226 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:22:22] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:22:57.790016 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:22:57] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:24:20.686404 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:24:20] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:25:06.785718 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:25:06] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:26:43.510414 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:26:43] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:26:57.642105 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:26:57] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:27:08.615274 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:27:08.619271 : get_help_article_from_id -'' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string - ERRORRRR AT Line : 586
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:27:08] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:29:47.970925 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:29:47] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:31:25.416584 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:31:25] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:31:30.445583 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:31:30] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:38:38.317353 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:38:38] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:40:32.603704 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:40:32] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:42:14.352254 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:42:14] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:42:18.256820 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:42:18] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:43:02.942448 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:43:02] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:43:14.705956 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:43:14] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:46:26.786484 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:46:26] "POST /myclass/api/get_help_article_from_id/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:46:44.809692 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:46:44] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:48:43.941373 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:48:43.983122 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:48:43.986126 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:48:43.991125 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:48:43.999127 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:48:44.008336 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:44] "POST /myclass/api/Get_List_Class_domaine/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:44] "POST /myclass/api/get_partner_class/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:48:44.031531 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:44] "POST /myclass/api/Get_List_class_metier/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:44] "POST /myclass/api/Get_List_Class_Categorie/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:44] "POST /myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:44] "POST /myclass/api/Get_bloc_competence_no_filter/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:44] "POST /myclass/api/find_partner_class_like/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:48:47.659013 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:47] "POST /myclass/api/check_partner_token_validity_v2/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:48:48.550252 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:48:48.556257 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:48:48.562255 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:48] "POST /myclass/api/GetActiveSessionFormation_List/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:48] "POST /myclass/api/get_associated_class_of_partnair/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:48] "POST /myclass/api/get_class/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:48:48.614790 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:48:48.620789 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:48] "POST /myclass/api/getRecodedClassImage_no_token/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:48:48] "POST /myclass/api/Get_List_object_owner_collection_Stored_Files_With_Filter_No_Token/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:54:48.432765 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:54:48] "POST /myclass/api/get_all_published_help_article/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:54:52.431141 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:54:52.438142 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:54:52] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:54:52] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:57:23.029417 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:57:23.036401 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:57:23] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:57:23] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:58:20.081049 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:58:20] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:58:20.094039 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:58:20] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
+INFO:root:2026-03-26 19:58:56.191921 : Security check : IP adresse '127.0.0.1' connected
+INFO:root:2026-03-26 19:58:56.193941 : Security check : IP adresse '127.0.0.1' connected
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:58:56] "POST /myclass/api/get_articles_avis/ HTTP/1.1" 200 -
+INFO:werkzeug:127.0.0.1 - - [26/Mar/2026 19:58:56] "POST /myclass/api/get_last_3_articles/ HTTP/1.1" 200 -
diff --git a/help_articles.py b/help_articles.py
new file mode 100644
index 0000000..989edeb
--- /dev/null
+++ b/help_articles.py
@@ -0,0 +1,1615 @@
+'''
+
+Cette class gere la help page (articles et video de tuto en ligne) .
+
+'''
+import pysftp
+from pymongo import MongoClient
+import pymongo
+import hashlib
+import json
+from bson import ObjectId
+from unidecode import unidecode
+
+import ela_index_bdd_classes as ela_index
+import logging
+from datetime import datetime, date
+import prj_common as mycommon
+import secrets
+from pymongo import ReturnDocument
+import inspect
+import sys, os
+import GlobalVariable as MYSY_GV
+import user_message_mgt as umm
+import Ela_Spacy as ES
+import GlobalVariable as MYSY_GV
+import re
+
+class JSONEncoder(json.JSONEncoder):
+ def default(self, o):
+ if isinstance(o, ObjectId):
+ return str(o)
+ print(self)
+ print(o)
+ return json.JSONEncoder.default(self, o)
+
+
+'''
+Recuperation des tous les help articles, quelque soit le statut (publié et non publié)
+'''
+def get_all_help_article(diction):
+ try:
+
+ # Dictionnaire des champs utilisables
+ field_list = ['token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city',
+ 'user_postal', 'user_latitude', 'user_longitude', 'user_state', 'search_text']
+
+ incom_keys = diction.keys()
+
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+ for val in incom_keys:
+ if str(val).lower() not in str(field_list).lower():
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
+ return False, " Impossible de récupérer les articles et avis"
+
+ val_tmp = 0
+ insertObject = []
+
+ todays_date = str(date.today().strftime("%Y-%m-%d"))
+ filt_date_today_ISODATE = datetime.strptime(str(todays_date), '%Y-%m-%d')
+
+ coll_name = MYSY_GV.dbname['articles_help']
+
+ val_tmp = 1
+ insertObject = []
+ for x in coll_name.find({'valide': '1', 'locked': '0'},
+ { "indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "indexed_title": 0,
+ "valide": 0, "locked": 0, }).sort(
+ [ ("date_avis",pymongo.DESCENDING), ("title_formation",pymongo.ASCENDING),]):
+ # mycommon.myprint("AVANT ==> "+str(x['description']))
+ if( "qualite" in x.keys() ):
+ val = x['qualite']
+ if (len(x['qualite']) > MYSY_GV.MAX_CARACT):
+ x['qualite'] = val[:MYSY_GV.MAX_CARACT] + " ..."
+
+ else:
+ x['qualite'] = val[:MYSY_GV.MAX_CARACT]
+ else :
+ x['qualite'] = "--"
+
+ val = x['avis']
+ CLEANR = re.compile('<.*?>')
+
+ clean_avis = re.sub(CLEANR, '', str(val))
+ clean_avis = str(clean_avis).replace(" ", " ");
+
+ #print(" ### CLEANRCLEANR = "+str(clean_avis))
+
+ if (len(clean_avis) > MYSY_GV.MAX_CARACT):
+ x['avis'] = clean_avis[:MYSY_GV.MAX_CARACT] + " ..."
+
+ else:
+ x['avis'] = str(clean_avis)
+
+ # mycommon.myprint("APRES ==> " + str(x['description']))
+
+ # gestion date publication
+ is_published = "0"
+ if( "date_publication" in x.keys() and x['date_publication']):
+ if (datetime.strptime(str(x['date_publication']).strip()[0:10], '%Y-%m-%d') <= datetime.strptime(str(date.today().strftime("%Y-%m-%d")).strip(), '%Y-%m-%d')):
+ is_published = "1"
+
+ x['is_published'] = str(is_published)
+
+ if("support_type" not in x.keys() ):
+ x['support_type'] = ""
+
+
+ user = x
+ user['id'] = str(val_tmp)
+ insertObject.append(mycommon.JSONEncoder().encode(user))
+ val_tmp = val_tmp + 1
+
+ #print(" getObject = ", str(insertObject))
+ return True, insertObject
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
+ return False, " Impossible de récupérer les articles et avis"
+
+
+"""
+Recuperation des help_article publiés, c'est à dire valide et dont la date de
+publication est arrivée ou passée
+"""
+def get_all_published_help_article(diction):
+ try:
+
+ # Dictionnaire des champs utilisables
+ field_list = ['token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city',
+ 'user_postal', 'user_latitude', 'user_longitude', 'user_state', 'search_text']
+
+ incom_keys = diction.keys()
+
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+ for val in incom_keys:
+ if str(val).lower() not in str(field_list).lower():
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
+ return False, " Impossible de récupérer les articles et avis"
+
+
+ todays_date = str(date.today().strftime("%Y-%m-%d"))
+ filt_date_today_ISODATE = datetime.strptime(str(todays_date), '%Y-%m-%d')
+
+ qery_match_published = {'$and': [
+ {'valide': '1', 'locked': '0'},
+ {
+ 'mysy_article_date_publication': {'$lte': filt_date_today_ISODATE}},
+ ]}
+
+
+ query_pipe_published = ([
+ {"$addFields": {
+ "mysy_article_date_publication": {
+ '$dateFromString': {
+ 'dateString': {"$substr": ["$date_publication", 0, 10]},
+ "format": "%Y-%m-%d"
+ }
+ }
+ }
+ },
+
+ {'$match': qery_match_published
+
+ },
+ {
+ '$sort': {'mysy_article_date_publication': -1}
+ },
+
+ ])
+
+ print(" ### query_pipe = ", query_pipe_published )
+
+ val_tmp = 1
+ insertObject = []
+
+ for x in MYSY_GV.dbname['articles_help'].aggregate(query_pipe_published):
+
+ if( "qualite" in x.keys() ):
+ val = x['qualite']
+ if (len(x['qualite']) > MYSY_GV.MAX_CARACT):
+ x['qualite'] = val[:MYSY_GV.MAX_CARACT] + " ..."
+
+ else:
+ x['qualite'] = val[:MYSY_GV.MAX_CARACT]
+ else :
+ x['qualite'] = "--"
+
+ val = x['avis']
+ CLEANR = re.compile('<.*?>')
+
+ clean_avis = re.sub(CLEANR, '', str(val))
+ clean_avis = str(clean_avis).replace(" ", " ");
+
+ #print(" ### CLEANRCLEANR = "+str(clean_avis))
+
+ if (len(clean_avis) > MYSY_GV.MAX_CARACT):
+ x['avis'] = clean_avis[:MYSY_GV.MAX_CARACT] + " ..."
+
+ else:
+ x['avis'] = str(clean_avis)
+
+ # mycommon.myprint("APRES ==> " + str(x['description']))
+
+ x['is_published'] = "1"
+
+ if ("support_type" not in x.keys()):
+ x['support_type'] = ""
+
+ user = x
+ user['id'] = str(val_tmp)
+ insertObject.append(mycommon.JSONEncoder().encode(user))
+ val_tmp = val_tmp + 1
+
+ #print(" getObject = ", str(insertObject))
+ return True, insertObject
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
+ return False, " Impossible de récupérer les articles et avis"
+
+
+"""
+Recuperation des help_article non publiés, c'est à dire valide et dont la date de
+publication N'EST PAS arrivée ou passée
+"""
+
+
+def get_all_non_published_help_article(diction):
+ try:
+
+ # Dictionnaire des champs utilisables
+ field_list = ['token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city',
+ 'user_postal', 'user_latitude', 'user_longitude', 'user_state', 'search_text']
+
+ incom_keys = diction.keys()
+
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+ for val in incom_keys:
+ if str(val).lower() not in str(field_list).lower():
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
+ return False, " Impossible de récupérer les articles et avis"
+
+ todays_date = str(date.today().strftime("%Y-%m-%d"))
+ filt_date_today_ISODATE = datetime.strptime(str(todays_date), '%Y-%m-%d')
+
+ qery_match_non_published = {'$and': [
+ {'valide': '1', 'locked': '0'},
+ {
+ 'mysy_article_date_publication': {'$gt': filt_date_today_ISODATE}},
+ ]}
+
+ query_pipe_non_published = ([
+ {"$addFields": {
+ "mysy_article_date_publication": {
+ '$dateFromString': {
+ 'dateString': {"$substr": ["$date_publication", 0, 10]},
+ "format": "%Y-%m-%d"
+ }
+ }
+ }
+ },
+
+ {'$match': qery_match_non_published
+
+ },
+ {
+ '$sort': {'mysy_article_date_publication': -1}
+ },
+
+ ])
+
+ print(" ### query_pipe_non_published = ", query_pipe_non_published)
+
+ val_tmp = 1
+ insertObject = []
+ for x in MYSY_GV.dbname['articles_help'].aggregate(query_pipe_non_published):
+ if ("qualite" in x.keys()):
+ val = x['qualite']
+ if (len(x['qualite']) > MYSY_GV.MAX_CARACT):
+ x['qualite'] = val[:MYSY_GV.MAX_CARACT] + " ..."
+
+ else:
+ x['qualite'] = val[:MYSY_GV.MAX_CARACT]
+ else:
+ x['qualite'] = "--"
+
+ val = x['avis']
+ CLEANR = re.compile('<.*?>')
+
+ clean_avis = re.sub(CLEANR, '', str(val))
+ clean_avis = str(clean_avis).replace(" ", " ");
+
+ # print(" ### CLEANRCLEANR = "+str(clean_avis))
+
+ if (len(clean_avis) > MYSY_GV.MAX_CARACT):
+ x['avis'] = clean_avis[:MYSY_GV.MAX_CARACT] + " ..."
+
+ else:
+ x['avis'] = str(clean_avis)
+
+ # mycommon.myprint("APRES ==> " + str(x['description']))
+
+ x['is_published'] = "0"
+
+ if ("support_type" not in x.keys()):
+ x['support_type'] = ""
+
+ user = x
+ user['id'] = str(val_tmp)
+ insertObject.append(mycommon.JSONEncoder().encode(user))
+ val_tmp = val_tmp + 1
+
+ # print(" getObject = ", str(insertObject))
+ return True, insertObject
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
+ return False, " Impossible de récupérer les articles et avis"
+
+
+
+'''
+Recuperation des 3 derniers help_article tous avis et commentaires
+difference de celui en argument (les 3 derniers autre que celui en argument)
+'''
+def get_last_3_help_article(diction):
+ try:
+
+ # Dictionnaire des champs utilisables
+ field_list = ['token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city',
+ 'user_postal', 'user_latitude', 'user_longitude', 'user_state', 'internal_url']
+
+ incom_keys = diction.keys()
+
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+ for val in incom_keys:
+ if str(val).lower() not in str(field_list).lower():
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
+ return False, " Impossible de récupérer les articles et avis"
+
+ """
+ Verification des champs obligatoires
+ """
+ field_list_obligatoire = ['token', "internal_url", ]
+
+ for val in field_list_obligatoire:
+ if val not in diction:
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans la liste des arguments ")
+ return False, " Les informations fournies sont incorrectes"
+
+
+ coll_name = MYSY_GV.dbname['articles_help']
+
+ qry = {'internal_url' :{'$ne':str(diction['internal_url'])}, 'valide': '1', 'locked': '0'}
+ #print(" ### qry = ", qry)
+ val_tmp = 0
+ insertObject = []
+ for x in coll_name.find(qry,
+ { "indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "indexed_title": 0,
+ "valide": 0, "locked": 0, }).limit(3).sort(
+ [ ("date_avis",pymongo.DESCENDING), ("title_formation",pymongo.ASCENDING),]):
+ # mycommon.myprint("AVANT ==> "+str(x['description']))
+ if( "qualite" in x.keys() ):
+ val = x['qualite']
+ if (len(x['qualite']) > MYSY_GV.MAX_CARACT_DEDUIT):
+ x['qualite'] = val[:MYSY_GV.MAX_CARACT_DEDUIT] + " ..."
+
+ else:
+ x['qualite'] = val[:MYSY_GV.MAX_CARACT_DEDUIT]
+
+ val = x['avis']
+ CLEANR = re.compile('<.*?>')
+
+ clean_avis = re.sub(CLEANR, '', str(val))
+ clean_avis = str(clean_avis).replace(" ", " ");
+
+ #print(" ### CLEANRCLEANR = "+str(clean_avis))
+
+ if (len(clean_avis) > MYSY_GV.MAX_CARACT_DEDUIT):
+ x['avis'] = clean_avis[:MYSY_GV.MAX_CARACT_DEDUIT] + " ..."
+
+ else:
+ x['avis'] = str(clean_avis)
+
+ # mycommon.myprint("APRES ==> " + str(x['description']))
+
+ if ("support_type" not in x.keys()):
+ x['support_type'] = ""
+
+ user = x
+ user['id'] = str(val_tmp)
+ insertObject.append(mycommon.JSONEncoder().encode(user))
+ val_tmp = val_tmp + 1
+
+ #print(" getObject = ", str(insertObject))
+ return True, insertObject
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
+ return False, " Impossible de récupérer les articles et avis"
+
+
+
+
+'''
+Cette API recupere et retourne un help_article
+'''
+def get_help_article(diction):
+ try:
+
+ # Dictionnaire des champs utilisables
+ field_list = ['internal_url', 'token', 'user_ip', 'user_country_code', 'user_country_name',
+ 'user_city','user_postal', 'user_latitude', 'user_longitude', 'user_state']
+
+ incom_keys = diction.keys()
+
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+ for val in incom_keys:
+ if str(val).lower() not in str(field_list).lower():
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
+ return False, " Impossible de récupérer l'articles/avis"
+
+ '''
+ Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
+ On controle que les champs obligatoires sont presents dans la liste
+ '''
+ field_list_obligatoire = ['internal_url', 'token']
+
+ for val in field_list_obligatoire:
+ if val not in diction:
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans la liste des arguments ")
+ return False, " Impossible de récupérer l'articles/avis"
+
+
+ # Recuperation des parametres
+ mydata = {}
+ if ("user_ip" in diction.keys()):
+ if diction['user_ip']:
+ mydata['user_ip'] = diction['user_ip']
+
+ if ("user_country_code" in diction.keys()):
+ if diction['user_country_code']:
+ mydata['user_country_code'] = diction['user_country_code']
+
+ if ("user_country_name" in diction.keys()):
+ if diction['user_country_name']:
+ mydata['user_country_name'] = diction['user_country_name']
+
+ if ("user_city" in diction.keys()):
+ if diction['user_city']:
+ mydata['user_city'] = diction['user_city']
+
+ if ("user_postal" in diction.keys()):
+ if diction['user_postal']:
+ mydata['user_postal'] = diction['user_postal']
+
+ if ("user_latitude" in diction.keys()):
+ if diction['user_latitude']:
+ mydata['user_latitude'] = diction['user_latitude']
+
+ if ("user_longitude" in diction.keys()):
+ if diction['user_longitude']:
+ mydata['user_longitude'] = diction['user_longitude']
+
+ if ("user_state" in diction.keys()):
+ if diction['user_state']:
+ mydata['user_state'] = diction['user_state']
+
+ my_title_formation = ''
+ if ("title_formation" in diction.keys()):
+ if diction['title_formation']:
+ mydata['title_formation'] = diction['title_formation']
+ my_title_formation = diction['title_formation']
+
+ my_internal_id = ''
+ if ("internal_url" in diction.keys()):
+ if diction['internal_url']:
+ my_internal_id = diction['internal_url']
+
+
+ #print(" My Data =" + str(mydata))
+
+ coll_name = MYSY_GV.dbname['articles_help']
+ insertObject = []
+
+ for x in coll_name.find({'valide': '1', 'locked': '0', 'internal_url':my_internal_id},
+ { "indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "indexed_title": 0,
+ "valide": 0, "locked": 0, }).sort([("title_formation",pymongo.ASCENDING),
+ ("date_avis",pymongo.ASCENDING),
+ ("note", pymongo.DESCENDING),
+ ]) :
+
+ if ("support_type" not in x.keys()):
+ x['support_type'] = ""
+
+ user = x
+ insertObject.append(mycommon.JSONEncoder().encode(user))
+
+
+ #print(" getObject = ", str(insertObject))
+ return True, insertObject
+
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
+ return False, " Impossible de récupérer l'article/avis"
+
+
+'''
+Cette API recupere et retourne un help_article en partant de l'_id
+'''
+def get_help_article_from_id(diction):
+ try:
+
+ # Dictionnaire des champs utilisables
+ field_list = ['internal_url', 'token', 'user_ip', 'user_country_code', 'user_country_name',
+ 'user_city','user_postal', 'user_latitude', 'user_longitude', 'user_state', '_id']
+
+ incom_keys = diction.keys()
+
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+ for val in incom_keys:
+ if str(val).lower() not in str(field_list).lower():
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
+ return False, " Impossible de récupérer l'articles/avis"
+
+ '''
+ Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
+ On controle que les champs obligatoires sont presents dans la liste
+ '''
+ field_list_obligatoire = ['_id',]
+
+ for val in field_list_obligatoire:
+ if val not in diction:
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans la liste des arguments ")
+ return False, " Impossible de récupérer l'articles/avis"
+
+
+
+
+ #print(" My Data =" + str(mydata))
+
+ coll_name = MYSY_GV.dbname['articles_help']
+ insertObject = []
+
+ cpt = 0
+
+ for x in coll_name.find({'valide': '1', 'locked': '0', '_id':ObjectId(str(diction['_id']))},
+ { "indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "indexed_title": 0,
+ "valide": 0, "locked": 0, }).sort([("title_formation",pymongo.ASCENDING),
+ ("date_avis",pymongo.ASCENDING),
+ ("note", pymongo.DESCENDING),
+ ]) :
+ cpt = cpt + 1
+ if ("support_type" not in x.keys()):
+ x['support_type'] = ""
+ user = x
+ insertObject.append(mycommon.JSONEncoder().encode(user))
+
+ if( cpt == 0 ):
+ return False, "Identifiant de l'article est invalide"
+
+ #print(" getObject = ", str(insertObject))
+ return True, insertObject
+
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
+ return False, " Impossible de récupérer l'article/avis"
+
+
+
+"""
+Suppression d'un help_article
+"""
+def delete_help_article_from_id(diction):
+ try:
+
+ # Dictionnaire des champs utilisables
+ field_list = ['token', '_id']
+
+ incom_keys = diction.keys()
+
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+ for val in incom_keys:
+ if str(val).lower() not in str(field_list).lower():
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Le champ '" + val + "' n'est pas autorisé")
+ return False, " Impossible de récupérer l'articles/avis"
+
+ '''
+ Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
+ On controle que les champs obligatoires sont presents dans la liste
+ '''
+ field_list_obligatoire = ['_id',]
+
+ for val in field_list_obligatoire:
+ if val not in diction:
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans la liste des arguments ")
+ return False, " Impossible de récupérer l'articles/avis"
+
+ """
+ Verification de l'identité et autorisation de l'entité qui
+ appelle cette API
+ """
+ token = ""
+ if ("token" in diction.keys()):
+ if diction['token']:
+ token = diction['token']
+
+ local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data(diction)
+ if (local_status is not True):
+ return local_status, my_partner
+
+
+ """
+ Verifier la validité de l'article à supprimer
+ """
+ is_valide_article_avis_count = MYSY_GV.dbname['articles_help'].count_documents(
+ {'_id': ObjectId(str(diction['_id'])),
+ 'valide': '1'})
+
+ if (is_valide_article_avis_count != 1):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " L'identifiant de l'article n'est pas valide ")
+ return False, " L'identifiant de l'article n'est pas valide "
+
+ delete = MYSY_GV.dbname['articles_help'].delete_one({'_id': ObjectId(str(diction['_id']))})
+
+
+ #print(" getObject = ", str(insertObject))
+ return True, "L'article a été correctement supprimé"
+
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
+ return False, " Impossible de supprimer l'article/avis"
+
+
+'''
+Cette fonction crée un articles avis, avec les element de traà abilité :
+- user_recid,
+- IP,
+- etc
+
+Une fois que l'avis est bien ajouté, une notification est envoyer dans la collection
+'user_message' Ă destination de l'adresse de contact du site.
+
+Important : : 30/12/2024 :
+on va reconstituer le champs : 'img_path' en faisant
+img_path = MYSY_GV.BLOG_IMG_URL+img_file_name
+
+'''
+
+def add_help_article(diction):
+ try:
+
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+ field_list = ['token', 'title_formation', 'user_ip', 'user_country_code', 'user_country_name',
+ 'user_city', 'user_postal', 'user_latitude', 'user_longitude', 'user_state',
+ 'type_formation', 'qualite', 'avis', 'note', 'qualityrating','avisrating',
+ 'comment', 'postedby', 'url_formation', 'user_recid', 'display_header_img',
+ 'img_path', 'date_publication', 'meta_description', 'img_file_name', 'File', 'internal_url',
+ 'video_path', 'video_path_name']
+
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list and val.startswith('my_') is False:
+ mycommon.myprint(str(inspect.stack()[0][
+ 3]) + " - Creation formation : Le champ '" + val + "' n'est pas autorisé, Creation formation annulée")
+ return False, " Verifier votre API"
+
+ '''
+ Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
+ On controle que les champs obligatoires sont presents dans la liste
+ '''
+ field_list_obligatoire = ['title_formation', 'token', 'avis', 'user_ip',
+ 'qualite', 'note']
+
+ for val in field_list_obligatoire:
+ if val not in diction:
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans la liste des arguments ")
+ return False, " Verifier les parametres de votre API"
+
+ '''
+ Verification si le token et l'email sont valident
+ '''
+
+ # recuperation des paramettre
+ mydata = {}
+
+ """
+ Verification de l'identité et autorisation de l'entité qui
+ appelle cette API
+ """
+ token = ""
+ if ("token" in diction.keys()):
+ if diction['token']:
+ token = diction['token']
+
+ local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data({'token': str(token)})
+ if (local_status is not True):
+ return local_status, my_partner
+
+ my_user_recid = my_partner['recid']
+
+
+ mydata['user_recid'] = my_user_recid
+ mydata['token'] = token
+
+ if ("title_formation" in diction.keys()):
+ if diction['title_formation']:
+ mydata['title_formation'] = diction['title_formation']
+ '''
+ Gestion de l'url interne. Pr un meilleur SEO, le champ 'internal_url' = titre avec des tirets, si une valeur 'internal_url' n'est pas fournie.
+ si une valeur diction['internal_url'], on utilise celle-ci si elle est disponible en base, si non on refuse l'enregistrement
+ et on demande a l'utilisateur de choisir un aurtre 'internal_url'
+ '''
+
+ if( "internal_url" in diction.keys() and diction['internal_url']):
+ my_internal_url = str(diction['internal_url'])
+
+ is_my_internal_url_dispo_count = MYSY_GV.dbname['articles_help'].count_documents(
+ {"internal_url": str(my_internal_url)})
+
+ if (is_my_internal_url_dispo_count > 0):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " - L'url souhaitée est déjà utilisée. Merci de choisir une autre.")
+ return False, " L'url souhaitée est déjà utilisée. Merci de choisir une autre."
+
+ else:
+ my_internal_url = str(diction['title_formation']).replace("-","").replace(",", "").replace(" ", "").strip()
+
+ local_status, my_internal_url = ES.Ela_Remove_Ponct_Special_Caractere(my_internal_url)
+ my_internal_url = unidecode(my_internal_url.lower())
+ if (my_internal_url.startswith('-')):
+ my_internal_url = my_internal_url[1:]
+
+ if (my_internal_url.endswith('-')):
+ my_internal_url = my_internal_url[:-1]
+
+ my_internal_url = my_internal_url.replace(" ","-")
+
+ my_internal_url = my_internal_url.replace("----", "-").replace("---", "-").replace("--", "-").replace("--", "-")
+
+ while( my_internal_url.endswith("-")):
+ my_internal_url = my_internal_url[:-1]
+
+
+ print(" #### my_internal_url = ", my_internal_url)
+
+ """
+ Important : 30/12/2024 : Avant d'ajouter un suffixe numerique, verifier si l'url est disponible ou pas.
+ Si elle n'est pas disponible, on ajoute un suffixe jusqu'a trouver une url disponible
+ """
+ url_dispo = False
+ cpt = 0
+ while ( url_dispo is False ):
+ is_my_internal_url_dispo_count = MYSY_GV.dbname['articles_help'].count_documents({"internal_url":str(my_internal_url)})
+
+ if( is_my_internal_url_dispo_count > 0 ):
+ my_internal_url = str(my_internal_url) + "-" + str(cpt)
+ cpt = cpt + 1
+ else:
+ url_dispo = True
+
+
+ mydata['internal_url'] = my_internal_url
+ if(len(str(my_internal_url)) > 200 ):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - L'url ne doit pas dépasser 200 caractères. Le votre fait "+str(len(str(my_internal_url)))+" caractères")
+ return False, " L'url ne doit pas dépasser 200 caractères. Le votre fait "+str(len(str(my_internal_url)))+" caractères "
+
+
+ if ("display_header_img" in diction.keys()):
+ if diction['display_header_img']:
+ mydata['display_header_img'] = diction['display_header_img']
+
+
+
+ if ("date_publication" in diction.keys()):
+ if diction['date_publication']:
+ date_publication = str(diction['date_publication']).strip()
+
+ local_status = mycommon.CheckisDate(date_publication)
+ if (local_status is False):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " La date de publication n'est pas au format 'jj/mm/aaaa' ")
+ return False, " La date de publication n'est pas au format 'jj/mm/aaaa' "
+
+ date_str = str(date_publication)[0:10]
+ date_format = '%d/%m/%Y'
+ date_obj = datetime.strptime(date_str, date_format)
+ formated_date_publication = str(date_obj.strftime("%Y-%m-%d %H:%M:%S"))
+ mydata['date_publication'] = formated_date_publication
+
+
+
+ if ("user_ip" in diction.keys()):
+ if diction['user_ip']:
+ mydata['user_ip'] = diction['user_ip']
+
+ if ("user_country_code" in diction.keys()):
+ if diction['user_country_code']:
+ mydata['user_country_code'] = diction['user_country_code']
+
+ if ("user_country_name" in diction.keys()):
+ if diction['user_country_name']:
+ mydata['user_country_name'] = diction['user_country_name']
+
+ if ("user_city" in diction.keys()):
+ if diction['user_city']:
+ mydata['user_city'] = diction['user_city']
+
+ if ("user_postal" in diction.keys()):
+ if diction['user_postal']:
+ mydata['user_postal'] = diction['user_postal']
+
+ if ("user_latitude" in diction.keys()):
+ if diction['user_latitude']:
+ mydata['user_latitude'] = diction['user_latitude']
+
+ if ("user_longitude" in diction.keys()):
+ if diction['user_longitude']:
+ mydata['user_longitude'] = diction['user_longitude']
+
+ if ("user_state" in diction.keys()):
+ if diction['user_state']:
+ mydata['user_state'] = diction['user_state']
+
+ if ("type_formation" in diction.keys()):
+ if diction['type_formation']:
+ mydata['type_formation'] = diction['type_formation']
+
+ if ("qualite" in diction.keys()):
+ if diction['qualite']:
+ mydata['qualite'] = diction['qualite']
+
+ if ("avis" in diction.keys()):
+ if diction['avis']:
+ mydata['avis'] = diction['avis']
+
+ if ("note" in diction.keys()):
+ if diction['note']:
+ mydata['note'] = diction['note']
+
+ if ("comment" in diction.keys()):
+ if diction['comment']:
+ mydata['comment'] = diction['comment']
+
+ if ("postedby" in diction.keys()):
+ if diction['postedby']:
+ mydata['postedby'] = diction['postedby']
+
+ if ("url_formation" in diction.keys()):
+ if diction['url_formation']:
+ mydata['url_formation'] = diction['url_formation']
+
+ if ("avisrating" in diction.keys()):
+ if diction['avisrating']:
+ mydata['avisrating'] = diction['avisrating']
+
+
+ if ("img_file_name" in diction.keys()):
+ if diction['img_file_name']:
+ mydata['img_file_name'] = diction['img_file_name']
+ mydata['img_path'] = MYSY_GV.BLOG_IMG_URL+str(diction['img_file_name'])
+ mydata['support_type'] = "img"
+
+ if ("video_path" in diction.keys()):
+ mydata['video_path'] = str(diction['video_path'])
+ mydata['support_type'] = "video"
+
+
+ meta_description = ""
+ if ("meta_description" in diction.keys()):
+ if diction['meta_description']:
+ meta_description = str(diction['meta_description']).strip().lower()[0:200]
+ else:
+ meta_description = str(diction['title_formation']).strip().lower()[0:200]
+ mydata['meta_description'] = meta_description
+
+
+ mydata['valide'] = '1'
+ mydata['locked'] = '0'
+ mydata['indexed'] = '0'
+ mydata['indexed'] = '0'
+ mydata['update_date'] = str(datetime.now())
+ mydata['date_avis'] = str(datetime.now())
+ mydata['isalaune'] = "0"
+
+ #print(mydata)
+
+ coll_name = MYSY_GV.dbname['articles_help']
+ ret_val = coll_name.insert_one(mydata)
+
+ return True, " L'article/avis a été bien ajouté"
+
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
+ return False, " Impossible de créer l'article/avis"
+
+
+"""
+Cette fonction met Ă jour un article avis
+
+Important : : la mise à jour du titre ne modifie pas l'url interne car elle est potentiellement deja utilisée
+
+Important : : 30/12/2024 :
+on va reconstituer le champs : 'img_path' en faisant
+img_path = MYSY_GV.BLOG_IMG_URL+img_file_name
+
+"""
+
+def update_help_article(diction):
+ try:
+
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+ field_list = ['token', 'title_formation', 'user_ip', 'user_country_code', 'user_country_name',
+ 'user_city', 'user_postal', 'user_latitude', 'user_longitude', 'user_state',
+ 'type_formation', 'qualite', 'avis', 'note', 'qualityrating', 'avisrating',
+ 'comment', 'postedby', 'url_formation', 'user_recid', '_id','display_header_img',
+ 'img_path', 'date_publication', 'meta_description','img_file_name', 'File',
+ 'video_path', 'video_path_name'
+ ]
+
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list and val.startswith('my_') is False:
+ mycommon.myprint(str(inspect.stack()[0][
+ 3]) + " - Creation formation : Le champ '" + val + "' n'est pas autorisé, Creation formation annulée")
+ return False, " Verifier votre API"
+
+ '''
+ Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
+ On controle que les champs obligatoires sont presents dans la liste
+ '''
+ field_list_obligatoire = ['title_formation', 'token', 'avis', 'user_ip',
+ 'qualite', 'note', '_id']
+
+ for val in field_list_obligatoire:
+ if val not in diction:
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans la liste des arguments ")
+ return False, " Verifier les parametres de votre API"
+
+ '''
+ Verification si le token et l'email sont valident
+ '''
+
+ # recuperation des paramettre
+ mydata = {}
+
+ my_user_recid = 'None'
+ my_token = 'None'
+
+ """
+ Verification de l'identité et autorisation de l'entité qui
+ appelle cette API
+ """
+ token = ""
+ if ("token" in diction.keys()):
+ if diction['token']:
+ token = diction['token']
+
+ local_status, my_partner = mycommon.Check_Connexion_And_Return_Partner_Data({'token':str(token)})
+ if (local_status is not True):
+ return local_status, my_partner
+
+ """
+ Verifier la validité de l'article à mettre à jour
+ """
+
+ is_valide_article_avis_count = MYSY_GV.dbname['articles_help'].count_documents({'_id':ObjectId(str(diction['_id'])),
+ 'valide':'1'})
+
+ if (is_valide_article_avis_count != 1):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " L'identifiant de l'article n'est pas valide ")
+ return False, " L'identifiant de l'article n'est pas valide "
+
+ mydata['user_recid'] = my_partner['recid']
+ mydata['token'] = my_token
+
+ if ("title_formation" in diction.keys()):
+ if diction['title_formation']:
+ mydata['title_formation'] = diction['title_formation']
+
+
+ if ("display_header_img" in diction.keys()):
+ if diction['display_header_img']:
+ mydata['display_header_img'] = diction['display_header_img']
+
+ if ("img_path" in diction.keys()):
+ if diction['img_path']:
+ mydata['img_path'] = diction['img_path']
+
+ if ("img_file_name" in diction.keys()):
+ if diction['img_file_name']:
+ mydata['img_file_name'] = diction['img_file_name']
+ mydata['img_path'] = MYSY_GV.BLOG_IMG_URL + str(diction['img_file_name'])
+ mydata['support_type'] = "img"
+
+ if ("video_path" in diction.keys()):
+ mydata['video_path'] = str(diction['video_path'])
+ mydata['support_type'] = "video"
+
+
+ if ("date_publication" in diction.keys()):
+ if diction['date_publication']:
+ date_publication = str(diction['date_publication']).strip()
+
+ local_status = mycommon.CheckisDate(date_publication)
+ if (local_status is False):
+ mycommon.myprint(
+ str(inspect.stack()[0][
+ 3]) + " La date de publication n'est pas au format 'jj/mm/aaaa' ")
+ return False, " La date de publication n'est pas au format 'jj/mm/aaaa' "
+
+ date_str = str(date_publication)[0:10]
+ date_format = '%d/%m/%Y'
+ date_obj = datetime.strptime(date_str, date_format)
+ formated_date_publication = str(date_obj.strftime("%Y-%m-%d %H:%M:%S"))
+ mydata['date_publication'] = formated_date_publication
+
+
+ if ("user_ip" in diction.keys()):
+ if diction['user_ip']:
+ mydata['user_ip'] = diction['user_ip']
+
+ if ("user_country_code" in diction.keys()):
+ if diction['user_country_code']:
+ mydata['user_country_code'] = diction['user_country_code']
+
+ if ("user_country_name" in diction.keys()):
+ if diction['user_country_name']:
+ mydata['user_country_name'] = diction['user_country_name']
+
+ if ("user_city" in diction.keys()):
+ if diction['user_city']:
+ mydata['user_city'] = diction['user_city']
+
+ if ("user_postal" in diction.keys()):
+ if diction['user_postal']:
+ mydata['user_postal'] = diction['user_postal']
+
+ if ("user_latitude" in diction.keys()):
+ if diction['user_latitude']:
+ mydata['user_latitude'] = diction['user_latitude']
+
+ if ("user_longitude" in diction.keys()):
+ if diction['user_longitude']:
+ mydata['user_longitude'] = diction['user_longitude']
+
+ if ("user_state" in diction.keys()):
+ if diction['user_state']:
+ mydata['user_state'] = diction['user_state']
+
+ if ("type_formation" in diction.keys()):
+ if diction['type_formation']:
+ mydata['type_formation'] = diction['type_formation']
+
+ if ("qualite" in diction.keys()):
+ if diction['qualite']:
+ mydata['qualite'] = diction['qualite']
+
+ if ("avis" in diction.keys()):
+ if diction['avis']:
+ mydata['avis'] = diction['avis']
+
+ if ("note" in diction.keys()):
+ if diction['note']:
+ mydata['note'] = diction['note']
+
+ if ("comment" in diction.keys()):
+ if diction['comment']:
+ mydata['comment'] = diction['comment']
+
+ if ("postedby" in diction.keys()):
+ if diction['postedby']:
+ mydata['postedby'] = diction['postedby']
+
+ if ("url_formation" in diction.keys()):
+ if diction['url_formation']:
+ mydata['url_formation'] = diction['url_formation']
+
+ if ("avisrating" in diction.keys()):
+ if diction['avisrating']:
+ mydata['avisrating'] = diction['avisrating']
+
+ if ("qualityrating" in diction.keys()):
+ if diction['qualityrating']:
+ mydata['qualityrating'] = diction['qualityrating']
+
+ meta_description = ""
+ if ("meta_description" in diction.keys()):
+ if diction['meta_description']:
+ meta_description = str(diction['meta_description']).strip().lower()[0:200]
+ else:
+ meta_description = str(diction['title_formation']).strip().lower()[0:200]
+ mydata['meta_description'] = meta_description
+
+
+ mydata['valide'] = '0'
+ mydata['locked'] = '1'
+ mydata['indexed'] = '0'
+ mydata['indexed'] = '0'
+ mydata['update_date'] = str(datetime.now())
+ mydata['isalaune'] = "0"
+
+ mydata['valide'] = "1"
+ mydata['locked'] = "0"
+ mydata['update_date'] = str(datetime.now())
+ mydata['update_by'] = str(my_partner['_id'])
+ mydata['partner_owner_recid'] = str(my_partner['recid'])
+
+ print(" mydata = ", mydata)
+
+ ret_val = MYSY_GV.dbname['articles_help'].find_one_and_update(
+ {'_id': ObjectId(str(diction['_id'])), },
+ {"$set": mydata},
+ return_document=ReturnDocument.AFTER,
+ upsert=False,
+ )
+
+ return True, "L'article/avis a été correctement mis à jour "
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
+ return False, " Impossible de mettre Ă jour l'article/avis"
+
+
+'''
+Cette fonction recherche help_article
+'''
+def recherche_help_article(diction):
+ try:
+
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+ field_list = ['_id', 'token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city',
+ 'user_postal', 'user_latitude', 'user_longitude', 'user_state', 'search_text']
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list and val.startswith('my_') is False:
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - : Le champ '" + val + "' n'existe pas, recherche annuléee")
+ return False, " Le champ '" + val + "' n'existe pas, recherche annulée"
+
+ '''
+ Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
+ On controle que les champs obligatoires sont presents dans la liste
+ '''
+ field_list_obligatoire = ['search_text', 'token']
+
+ for val in field_list_obligatoire:
+ if val not in diction:
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans la liste des arguments ")
+ return False, " : La valeur '" + val + "' n'est pas presente dans la liste des arguments "
+
+ # recuperation des paramettre
+ search_text = ""
+ user_recid = ""
+ token = ""
+ if ("search_text" in diction.keys()):
+ if diction['search_text']:
+ search_text = diction['search_text']
+
+
+ if ("token" in diction.keys()):
+ if diction['token']:
+ token = diction['token']
+
+ my_internal_id = ''
+ if ("_id" in diction.keys()):
+ if diction['_id']:
+ my_internal_id = diction['_id']
+
+ # Verification de la validité du token/mail dans le cas des user en mode connecté
+ if (len(str(token)) > 0):
+ retval = mycommon.check_token_validity("", token)
+
+ if retval is False:
+ mycommon.myprint(str(inspect.stack()[0][3]) + " - La session de connexion n'est pas valide")
+ return "Err_Connexion", "La session de connexion n'est pas valide"
+
+ # Recuperation du recid de l'utilisateur
+ user_recid = mycommon.get_user_recid_from_token(token)
+ if user_recid is False:
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - Impossible de récupérer le token de l'utilisateur")
+ return False, " Impossible de desactiver l'objectif utilisateur"
+
+ #mycommon.myprint(" On recehrche la phrase +'" + search_text + "' + user_recid = " + user_recid)
+ # Enregistrerment de la recherche
+ retval, message, store_recherche_Id = store_recherche_help_article(diction, user_recid)
+ if (retval is False):
+ return retval, message
+
+ tab_training = []
+ tab_training = ela_index.ela_recherche_article_avis_tokens(search_text)
+ '''
+ Pour analyser la recherche, decommenter les 2 lignes ci-dessous
+ '''
+ #mycommon.myprint(" pour phrase : #" + search_text + "#, voici la liste des formations")
+ #mycommon.myprint(tab_training)
+
+ coll_name = MYSY_GV.dbname['articles_help']
+
+ '''
+ la valeur nb_result permettra de savoir si la requete a donnée un resultat.
+ si ce n'est pas le cas, il faudra Ă la fin enregistrer la requete avec un result a vide'''
+ nb_result = 0
+ insertObject = []
+
+
+ for val in tab_training:
+
+ for x in coll_name.find({"_id": ObjectId(my_internal_id)},
+ { "indexed": 0, "valide": 0, "locked": 0, }):
+ nb_result = nb_result + 1
+ my_recid = {}
+ my_recid['user_rec_id'] = str(user_recid)
+ mydict_combined = {**diction, **x, **my_recid}
+ mydict_combined['update_date'] = str(datetime.now())
+ mydict_combined['type_view'] = "summary"
+
+ #if ("_id" in mydict_combined.keys()):
+ # mydict_combined['class_id'] = mydict_combined.pop('_id')
+
+ user = x
+
+ val = x['qualite']
+ if (len(x['qualite']) > MYSY_GV.MAX_CARACT):
+ x['qualite'] = val[:MYSY_GV.MAX_CARACT] + " ..."
+
+ else:
+ x['qualite'] = val[:MYSY_GV.MAX_CARACT]
+
+ val = x['avis']
+ CLEANR = re.compile('<.*?>')
+ clean_avis = re.sub(CLEANR, '', str(val))
+
+ #print(" ### CLEANRCLEANR = "+str(CLEANR))
+ if (len(clean_avis) > MYSY_GV.MAX_CARACT):
+ x['avis'] = clean_avis[:MYSY_GV.MAX_CARACT] + " ..."
+
+ else:
+ x['avis'] = str(clean_avis)
+
+ if ("support_type" not in x.keys()):
+ x['support_type'] = ""
+
+ #print(user)
+ insertObject.append(mycommon.JSONEncoder().encode(user))
+
+ return True, insertObject
+
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
+ return False, " Impossible de recherche un article/avis"
+
+'''
+Stockage des recherches sur les avis
+'''
+def store_recherche_help_article(diction, user_recid=""):
+ try:
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+
+ if ( len(str(user_recid)) <= 0 ):
+ user_recid = 'None' # by default
+
+
+
+ field_list = ['token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city',
+ 'user_postal', 'user_latitude', 'user_longitude', 'user_state', 'search_text', 'certif',
+ 'support', 'type', 'lang', 'price', 'distance', 'duration']
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list and val.startswith('my_') is False:
+ mycommon.myprint(str(inspect.stack()[0][3]) + " Le champ '" + val + "' n'existe pas, recherche annulée")
+ return False, " Le champ '" + val + "' n'existe pas, recherche annulée", None
+
+ '''
+ Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
+ On controle que les champs obligatoires sont presents dans la liste
+ '''
+ field_list_obligatoire = ['search_text', 'token']
+
+ for val in field_list_obligatoire:
+ if val not in diction:
+ mycommon.myprint(" : La valeur '" + val + "' n'est pas presente dans la liste des arguments ")
+ return False, " : La valeur '" + val + "' n'est pas presente dans la liste des arguments ", None
+
+
+ # recuperation des paramettre
+ mydata = {}
+ mydata_id = ""
+ my_token = ""
+
+ if ("search_text" in diction.keys()):
+ if diction['search_text']:
+ mydata['search_text'] = diction['search_text']
+
+
+ if ("user_mail" in diction.keys()):
+ if diction['user_recid']:
+ mydata['user_recid'] = diction['user_recid']
+
+ if ("token" in diction.keys()):
+ if diction['token']:
+ my_token = diction['token']
+
+ '''# Recuperation du recid de l'utilisateur
+ user_recid = mycommon.get_user_recid_from_token(my_token)
+ if user_recid is False:
+ mycommon.myprint(" Impossible d'enregistrer la recherche de utilisateur")
+ return False, " Impossible d'enregistrer la recherche de utilisateur"
+ '''
+ mydata['user_recid'] = user_recid
+ mydata['document_recherche'] = "articles_help"
+
+ if ("source" in diction.keys()):
+ if diction['source']:
+ mydata['source'] = diction['source']
+
+ if ("name" in diction.keys()):
+ if diction['name']:
+ mydata['name'] = diction['name']
+
+
+ if ("id" in diction.keys()):
+ if diction['id']:
+ mydata_id = diction['id']
+
+ mydata['update_date'] = str(datetime.now())
+
+ mydata['valide'] = "1" # By default
+ if ("valide" in diction.keys()):
+ if diction['valide']:
+ mydata['valide'] = diction['valide']
+
+
+ coll_name = MYSY_GV.dbname['user_recherche']
+
+ # Si le champ "id" est renseigné, il s'agit d'une mis jour
+ #mycommon.myprint(str(inspect.stack()[0][3]) + " on va stocker "+str(mydata)+" id = "+str(mydata_id))
+
+ if( len(str(mydata_id)) > 0 ):
+ ret_val = coll_name.find_one_and_update({'_id': ObjectId(str(mydata_id)), 'valide': '1'},
+ {"$set": mydata},
+ return_document=ReturnDocument.AFTER
+ )
+
+ if (ret_val and ret_val['_id']):
+ nb_doc = str(ret_val['_id'])
+ mycommon.myprint(str(inspect.stack()[0][3]) + " La recherche a bien été mise à jour . Le Doc Id = "+str(nb_doc))
+ return True, "La recherche a bien été mise à jour", ret_val['_id']
+
+ else:
+ return False, "Impossible de mettre Ă jour a la recherche", None
+
+ else:
+ ret_val = coll_name.insert_one(mydata)
+
+ if ret_val and ret_val.inserted_id:
+ nb_doc = ret_val.inserted_id
+ #mycommon.myprint(str(inspect.stack()[0][3]) + " La recherche a été bien enregistrée. Id = '" + str(nb_doc)+"' ")
+ return True, "La recherche a bien été mise à jour", nb_doc
+ else:
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + "Impossible d'enregistrer la recherche")
+ return False, "Impossible d'enregistrer la recherche ", None
+
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
+ return False, "Impossible d'enregistrer la recherche", None
+
+
+
+''''
+Cette fonction retourne la liste
+des help_article Ă la une'''
+def get_help_article_alaune(diction):
+ try:
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+
+
+ field_list = ['_id', 'token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city',
+ 'user_postal', 'user_latitude', 'user_longitude', 'user_state']
+
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list and val.startswith('my_') is False:
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " Le champ '" + val + "' n'existe pas, recherche annulée")
+ return False, " Le champ '" + val + "' n'existe pas, recherche annulée"
+
+ '''
+ Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
+ On controle que les champs obligatoires sont presents dans la liste
+ '''
+ field_list_obligatoire = ['token']
+
+ for val in field_list_obligatoire:
+ if val not in diction:
+ mycommon.myprint(" : La valeur '" + val + "' n'est pas presente dans la liste des arguments ")
+ return False, " : La valeur '" + val + "' n'est pas presente dans la liste des arguments ",
+
+
+ coll_name = MYSY_GV.dbname['articles_help']
+ insertObject = []
+
+ for x in coll_name.find({'valide': '1', 'locked': '0', 'isalaune': '1'},
+ {"indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "isalaune": 0,
+ "valide": 0, "locked": 0, }).sort(
+ [ ("date_avis", pymongo.DESCENDING), ("note", pymongo.DESCENDING)]):
+
+ val = x['qualite']
+ if (len(x['qualite']) > MYSY_GV.MAX_CARACT_DEDUIT):
+ x['qualite'] = val[:MYSY_GV.MAX_CARACT_DEDUIT] + " ..."
+
+ else:
+ x['qualite'] = val[:MYSY_GV.MAX_CARACT_DEDUIT]
+
+ val = x['avis']
+ if (len(x['avis']) > MYSY_GV.MAX_CARACT_DEDUIT):
+ x['avis'] = val[:MYSY_GV.MAX_CARACT_DEDUIT] + " ..."
+
+ else:
+ x['avis'] = val[:MYSY_GV.MAX_CARACT_DEDUIT]
+
+ if ("support_type" not in x.keys()):
+ x['support_type'] = ""
+
+ user = x
+ insertObject.append(mycommon.JSONEncoder().encode(user))
+
+ #print(" getObject = ", str(insertObject))
+ return True, insertObject
+
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno))
+ return False, "Impossible de récupérer les articles à la Une"
+
+
+"""
+Pour alleger le serveur, le système permettra de telecharger une image
+qui sera deposé sur le serveur ftp des images du blog
+MYSY_GV.BLOG_FTP_IMG_REPOSITORY = "/blog_img/"
+"""
+def Blog_Img_Store_Article_Image(file=None, Folder=None, diction=None):
+ try:
+ '''
+ # Verification que les champs reçus dans l'API sont bien dans la liste des champs autorisés
+ # Cela evite le cas ou une entité tierce ajouter les valeurs inconnu dans l'API
+ # Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
+ # field_list.
+ '''
+ field_list = ['token']
+ incom_keys = diction.keys()
+ for val in incom_keys:
+ if val not in field_list and val.startswith('my_') is False:
+ mycommon.myprint(str(
+ inspect.stack()[0][3]) + " Le champ '" + val + "' n'existe pas, mise à jour logo lms annulée")
+ return False, " Les informations fournies sont incorrecte",
+
+ '''
+ Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
+ On controle que les champs obligatoires sont presents dans la liste
+ '''
+ field_list_obligatoire = ['token',]
+ for val in field_list_obligatoire:
+ if val not in diction:
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - La valeur '" + val + "' n'est pas presente dans la liste des arguments ")
+ return False, " Les informations fournies sont incorrecte",
+
+ my_token = ""
+ if ("token" in diction.keys()):
+ if diction['token']:
+ my_token = diction['token']
+
+ partner_recid = mycommon.get_parnter_recid_from_token(my_token)
+ if (partner_recid is False):
+ mycommon.myprint(
+ str(inspect.stack()[0][3]) + " - partner_recid KO : Impossible d'importer la liste des participants ")
+ return False, " Les information de connexion sont incorrectes.",
+
+ # Recuperation des données du partenaire
+ local_status, my_partner = mycommon.get_partner_data_from_recid(partner_recid)
+ if (local_status is False):
+ mycommon.myprint(str(inspect.stack()[0][3]) + " - impossible de récupérer les données du partenaire")
+ return False, str(inspect.stack()[0][
+ 3]) + " - impossible de récupérer les données du partenaire",
+
+
+
+ status, saved_file = mycommon.Upload_Save_IMG_File_No_Change_Origial_Name(file, Folder)
+ if (status == False):
+ return False, saved_file
+
+
+ cnopts = pysftp.CnOpts()
+ cnopts.hostkeys = None
+ with pysftp.Connection(host=MYSY_GV.MYSY_FTP_HOST, username=MYSY_GV.MYSY_FTP_LOGIN,
+ password=MYSY_GV.MYSY_FTP_PWD, cnopts=cnopts) as session:
+ print("Connection successfully established ... ")
+ localFilePath = saved_file
+ remoteFilePath = str(MYSY_GV.BLOG_FTP_IMG_REPOSITORY)
+
+
+ print(" ### DEPLACEMENT DE " + str(localFilePath) + " VERS " + str(remoteFilePath) + " AVANTTT TRAITEMENT")
+ # Use put method to upload a file
+
+ try:
+ with session.cd(remoteFilePath):
+ print("OK cd worked")
+ session.put(localFilePath)
+ except:
+ print("NOT OK cd failed")
+ e = sys.exc_info()
+ print("Exception: {0}".format(e))
+
+
+
+ return True, " Le fichier a été correctement mis à jour"
+
+ except Exception as e:
+ exc_type, exc_obj, exc_tb = sys.exc_info()
+ mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
+ return False, " Impossible de mettre Ă jour le fichier "
+
diff --git a/main.py b/main.py
index 2ca505a..ca5fc62 100644
--- a/main.py
+++ b/main.py
@@ -22,6 +22,7 @@ from flask import redirect
from flask import Flask, render_template, request, redirect, url_for
from apscheduler.triggers.cron import CronTrigger
import articles_avis as aa
+import help_articles as help_articles
import GlobalVariable as MYSY_GV
import youtubes_analyse as YTA
import test_perso as TP
@@ -13408,7 +13409,7 @@ def Add_Update_Email_To_Newsletter():
return jsonify(status=status, message=retval)
"""
-API test envoyer sms
+API test envoyer sms
"""
@app.route('/myclass/api/send_freemobile_sms/', methods=['POST','GET'])
@crossdomain(origin='*')
@@ -13421,7 +13422,6 @@ def send_freemobile_sms():
-
"""
API test mysy Open AI
"""
@@ -17003,6 +17003,161 @@ def Delete_competence_From_domaine_competence_pedagogique():
+"""
+Cette API pour Recuperation des tous les help articles
+"""
+@app.route('/myclass/api/get_all_help_article/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def get_all_help_article():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### get_all_help_article payload = ",payload)
+ status, retval = help_articles.get_all_help_article(payload)
+ return jsonify(status=status, message=retval)
+
+
+"""
+Cette API pour Recuperation des help_article publiés
+"""
+@app.route('/myclass/api/get_all_published_help_article/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def get_all_published_help_article():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### get_all_published_help_article payload = ",payload)
+ status, retval = help_articles.get_all_published_help_article(payload)
+ return jsonify(status=status, message=retval)
+
+
+"""
+Cette API pour Recuperation des help_article non publiés
+"""
+@app.route('/myclass/api/get_all_non_published_help_article/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def get_all_non_published_help_article():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### get_all_non_published_help_article payload = ",payload)
+ status, retval = help_articles.get_all_non_published_help_article(payload)
+ return jsonify(status=status, message=retval)
+
+
+
+"""
+Cette API pour Recuperation des 3 derniers help_article
+"""
+@app.route('/myclass/api/get_last_3_help_article/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def get_last_3_help_article():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### get_last_3_help_article payload = ",payload)
+ status, retval = help_articles.get_last_3_help_article(payload)
+ return jsonify(status=status, message=retval)
+
+
+"""
+Cette API recupere et retourne un help_article
+"""
+@app.route('/myclass/api/get_help_article/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def get_help_article():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### get_help_article payload = ",payload)
+ status, retval = help_articles.get_help_article(payload)
+ return jsonify(status=status, message=retval)
+
+
+
+"""
+Cette API recupere et retourne un help_article en partant de l'_id
+"""
+@app.route('/myclass/api/get_help_article_from_id/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def get_help_article_from_id():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### get_help_article_from_id payload = ",payload)
+ status, retval = help_articles.get_help_article_from_id(payload)
+ return jsonify(status=status, message=retval)
+
+
+"""
+Cette API Suppression d'un help_article
+"""
+@app.route('/myclass/api/delete_help_article_from_id/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def delete_help_article_from_id():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### delete_help_article_from_id payload = ",payload)
+ status, retval = help_articles.delete_help_article_from_id(payload)
+ return jsonify(status=status, message=retval)
+
+
+
+
+"""
+Cette API ajouter un help_article
+"""
+@app.route('/myclass/api/add_help_article/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def add_help_article():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### add_help_article payload = ",payload)
+ status, retval = help_articles.add_help_article(payload)
+ return jsonify(status=status, message=retval)
+
+
+
+
+"""
+Cette API mettre Ă jour un help_article
+"""
+@app.route('/myclass/api/update_help_article/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def update_help_article():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### update_help_article payload = ",payload)
+ status, retval = help_articles.update_help_article(payload)
+ return jsonify(status=status, message=retval)
+
+
+"""
+Cette API recehrche un help_article
+"""
+@app.route('/myclass/api/recherche_help_article/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def recherche_help_article():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### recherche_help_article payload = ",payload)
+ status, retval = help_articles.recherche_help_article(payload)
+ return jsonify(status=status, message=retval)
+
+
+
+"""
+Cette API fonction retourne la liste
+des help_article Ă la une
+"""
+@app.route('/myclass/api/get_help_article_alaune/', methods=['POST','GET'])
+@crossdomain(origin='*')
+def get_help_article_alaune():
+ # On recupere le corps (payload) de la requete
+ payload = mycommon.strip_dictionary (request.form.to_dict())
+ print(" ### get_help_article_alaune payload = ",payload)
+ status, retval = help_articles.get_help_article_alaune(payload)
+ return jsonify(status=status, message=retval)
+
+
+
+
+
+
if __name__ == '__main__':
print(" debut api")