From 7977b01017852b64194d6d30607f98be6ebd1649 Mon Sep 17 00:00:00 2001 From: Cherif Date: Thu, 26 Mar 2026 20:00:57 +0100 Subject: [PATCH] 23/03/26 - 20h Signed-off-by: Cherif --- .idea/workspace.xml | 7 +- Log/log_file.log | 1810 +++++++++++++++++++++++++++++++++++++++++++ help_articles.py | 1615 ++++++++++++++++++++++++++++++++++++++ main.py | 159 +++- 4 files changed, 3585 insertions(+), 6 deletions(-) create mode 100644 help_articles.py 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 @@ + - - - + 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] "GET /myclass/api/mysy_twilio_send_sms HTTP/1.1" 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] "GET /myclass/api/mysy_twilio_send_sms HTTP/1.1" 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] "GET /myclass/api/mysy_twilio_send_sms HTTP/1.1" 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:WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://localhost:5001 +INFO:werkzeug:Press CTRL+C to quit +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")