14/05/22 - 15h30
parent
908523ee55
commit
541ea911a0
|
@ -79,3 +79,11 @@ Repertoire de stockage de video YouTubes
|
||||||
YTUBES_ENSCRIPT_LOCATION = ""
|
YTUBES_ENSCRIPT_LOCATION = ""
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
Email recever des alertes internes
|
||||||
|
'''
|
||||||
|
INTERNAL_MAIL_RECEVER = "contact@mysy-training.com"
|
||||||
|
INTERNAL_MAIL_SENDER = "contact@mysy-training.com"
|
||||||
|
INTERNAL_TEL_RECEVER = "+33769203945"
|
||||||
|
INTERNAL_TEL_SENDER = "+33769203945"
|
||||||
|
|
||||||
|
|
|
@ -5,13 +5,10 @@ Cette class gere les avis et articles sur une formation.
|
||||||
'''
|
'''
|
||||||
from pymongo import MongoClient
|
from pymongo import MongoClient
|
||||||
import pymongo
|
import pymongo
|
||||||
import json
|
|
||||||
from flask import Flask, request, jsonify
|
|
||||||
#from flask_mongoengine import MongoEngine
|
|
||||||
import json
|
import json
|
||||||
from bson import ObjectId
|
from bson import ObjectId
|
||||||
import re
|
|
||||||
import numpy as np
|
|
||||||
import ela_index_bdd_classes as ela_index
|
import ela_index_bdd_classes as ela_index
|
||||||
import logging
|
import logging
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
@ -20,9 +17,8 @@ import secrets
|
||||||
from pymongo import ReturnDocument
|
from pymongo import ReturnDocument
|
||||||
import inspect
|
import inspect
|
||||||
import sys, os
|
import sys, os
|
||||||
import csv
|
|
||||||
import pandas as pd
|
|
||||||
import GlobalVariable as MYSY_GV
|
import GlobalVariable as MYSY_GV
|
||||||
|
import user_message_mgt as umm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -68,7 +64,7 @@ def get_all_articles_avis(diction):
|
||||||
val_tmp = 1
|
val_tmp = 1
|
||||||
insertObject = []
|
insertObject = []
|
||||||
for x in coll_name.find({'valide': '1', 'locked': '0'},
|
for x in coll_name.find({'valide': '1', 'locked': '0'},
|
||||||
{"_id": 0, "indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "indexed_title": 0,
|
{ "indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "indexed_title": 0,
|
||||||
"valide": 0, "locked": 0, "url_formation": 0, }).sort(
|
"valide": 0, "locked": 0, "url_formation": 0, }).sort(
|
||||||
[("title_formation",pymongo.ASCENDING), ("date_avis",pymongo.ASCENDING)]):
|
[("title_formation",pymongo.ASCENDING), ("date_avis",pymongo.ASCENDING)]):
|
||||||
# mycommon.myprint("AVANT ==> "+str(x['description']))
|
# mycommon.myprint("AVANT ==> "+str(x['description']))
|
||||||
|
@ -93,7 +89,7 @@ def get_all_articles_avis(diction):
|
||||||
insertObject.append(JSONEncoder().encode(user))
|
insertObject.append(JSONEncoder().encode(user))
|
||||||
val_tmp = val_tmp + 1
|
val_tmp = val_tmp + 1
|
||||||
|
|
||||||
#print(" getObject = ", str(insertObject))
|
print(" getObject = ", str(insertObject))
|
||||||
return True, insertObject
|
return True, insertObject
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
@ -109,7 +105,7 @@ def get_articles_avis(diction):
|
||||||
try:
|
try:
|
||||||
|
|
||||||
# Dictionnaire des champs utilisables
|
# Dictionnaire des champs utilisables
|
||||||
field_list = ['token', 'title_formation', 'user_ip', 'user_country_code', 'user_country_name',
|
field_list = ['_id', 'token', 'user_ip', 'user_country_code', 'user_country_name',
|
||||||
'user_city','user_postal', 'user_latitude', 'user_longitude', 'user_state']
|
'user_city','user_postal', 'user_latitude', 'user_longitude', 'user_state']
|
||||||
|
|
||||||
incom_keys = diction.keys()
|
incom_keys = diction.keys()
|
||||||
|
@ -129,7 +125,7 @@ def get_articles_avis(diction):
|
||||||
Une fois qu'on a controlé que toutes les clés mise dans l'API sont correcte. etape precedente,
|
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
|
On controle que les champs obligatoires sont presents dans la liste
|
||||||
'''
|
'''
|
||||||
field_list_obligatoire = ['token', 'title_formation']
|
field_list_obligatoire = ['_id', 'token']
|
||||||
|
|
||||||
for val in field_list_obligatoire:
|
for val in field_list_obligatoire:
|
||||||
if val not in diction:
|
if val not in diction:
|
||||||
|
@ -178,14 +174,19 @@ def get_articles_avis(diction):
|
||||||
mydata['title_formation'] = diction['title_formation']
|
mydata['title_formation'] = diction['title_formation']
|
||||||
my_title_formation = diction['title_formation']
|
my_title_formation = diction['title_formation']
|
||||||
|
|
||||||
|
my_internal_id = ''
|
||||||
|
if ("_id" in diction.keys()):
|
||||||
|
if diction['_id']:
|
||||||
|
my_internal_id = diction['_id']
|
||||||
|
|
||||||
|
|
||||||
print(" My Data =" + str(mydata))
|
print(" My Data =" + str(mydata))
|
||||||
|
|
||||||
coll_name = dbname['articles_avis']
|
coll_name = dbname['articles_avis']
|
||||||
insertObject = []
|
insertObject = []
|
||||||
|
|
||||||
for x in coll_name.find({'valide': '1', 'locked': '0', 'title_formation':my_title_formation},
|
for x in coll_name.find({'valide': '1', 'locked': '0', '_id':ObjectId(my_internal_id)},
|
||||||
{"_id": 0, "indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "indexed_title": 0,
|
{ "indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "indexed_title": 0,
|
||||||
"valide": 0, "locked": 0, "url_formation": 0, }).sort([("title_formation",pymongo.ASCENDING),
|
"valide": 0, "locked": 0, "url_formation": 0, }).sort([("title_formation",pymongo.ASCENDING),
|
||||||
("date_avis",pymongo.ASCENDING),
|
("date_avis",pymongo.ASCENDING),
|
||||||
("note", pymongo.DESCENDING),
|
("note", pymongo.DESCENDING),
|
||||||
|
@ -210,7 +211,11 @@ Cette fonction crée un articles avis, avec les element de traàabilité :
|
||||||
- user_recid,
|
- user_recid,
|
||||||
- IP,
|
- IP,
|
||||||
- etc
|
- 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.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
def add_articles_avis(diction):
|
def add_articles_avis(diction):
|
||||||
try:
|
try:
|
||||||
|
|
||||||
|
@ -369,6 +374,34 @@ def add_articles_avis(diction):
|
||||||
nb_doc = str(ret_val.inserted_id)
|
nb_doc = str(ret_val.inserted_id)
|
||||||
mycommon.myprint(
|
mycommon.myprint(
|
||||||
str(inspect.stack()[0][3]) + " - L'article/avis a été bien ajouté =" + str(nb_doc))
|
str(inspect.stack()[0][3]) + " - L'article/avis a été bien ajouté =" + str(nb_doc))
|
||||||
|
|
||||||
|
'''
|
||||||
|
Vu que l'ajout a bien ete fait, on declenche l'envoie de l'email (enregistrement
|
||||||
|
dans la collection "user_message". c'est un cron qui enverra l'email plus tard.
|
||||||
|
'''
|
||||||
|
notif_dict = {}
|
||||||
|
|
||||||
|
notif_dict['type'] = 'email'
|
||||||
|
notif_dict['sender_mail']= MYSY_GV.INTERNAL_MAIL_SENDER
|
||||||
|
notif_dict['sender_tel'] = MYSY_GV.INTERNAL_TEL_SENDER
|
||||||
|
notif_dict['recever_mail'] = MYSY_GV.INTERNAL_MAIL_RECEVER
|
||||||
|
notif_dict['recever_tel'] = MYSY_GV.INTERNAL_TEL_RECEVER
|
||||||
|
notif_dict['object'] = 'Nouvel article par utilisateur : '+str(ret_val.inserted_id)
|
||||||
|
notif_dict['message'] = 'Merci de verifier et valider article _id='+str(ret_val.inserted_id)
|
||||||
|
notif_dict['token'] = ''
|
||||||
|
notif_dict['user_ip'] = ''
|
||||||
|
notif_dict['user_country_code'] = ''
|
||||||
|
notif_dict['user_country_name'] = ''
|
||||||
|
notif_dict['user_city'] = ''
|
||||||
|
notif_dict['user_postal'] = ''
|
||||||
|
notif_dict['user_latitude'] = ''
|
||||||
|
notif_dict['user_longitude'] = ''
|
||||||
|
notif_dict['user_state'] = ''
|
||||||
|
notif_dict['sender_name'] = 'systeme automatique'
|
||||||
|
|
||||||
|
|
||||||
|
umm.add_user_message(notif_dict)
|
||||||
|
|
||||||
return True, " L'article/avis a été bien ajouté"
|
return True, " L'article/avis a été bien ajouté"
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
@ -393,7 +426,7 @@ def recherche_articles_avis(diction):
|
||||||
# Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
|
# Ici on doit mettre tous les champs possible (obligatoire ou non) de la BDD dans la liste
|
||||||
# field_list.
|
# field_list.
|
||||||
'''
|
'''
|
||||||
field_list = ['token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city',
|
field_list = ['_id', 'token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city',
|
||||||
'user_postal', 'user_latitude', 'user_longitude', 'user_state', 'search_text']
|
'user_postal', 'user_latitude', 'user_longitude', 'user_state', 'search_text']
|
||||||
incom_keys = diction.keys()
|
incom_keys = diction.keys()
|
||||||
for val in incom_keys:
|
for val in incom_keys:
|
||||||
|
@ -427,6 +460,11 @@ def recherche_articles_avis(diction):
|
||||||
if diction['token']:
|
if diction['token']:
|
||||||
token = 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é
|
# Verification de la validité du token/mail dans le cas des user en mode connecté
|
||||||
if (len(str(token)) > 0):
|
if (len(str(token)) > 0):
|
||||||
retval = mycommon.check_token_validity("", token)
|
retval = mycommon.check_token_validity("", token)
|
||||||
|
@ -461,10 +499,11 @@ def recherche_articles_avis(diction):
|
||||||
nb_result = 0
|
nb_result = 0
|
||||||
insertObject = []
|
insertObject = []
|
||||||
|
|
||||||
|
|
||||||
for val in tab_training:
|
for val in tab_training:
|
||||||
|
|
||||||
for x in coll_name.find({"title_formation": str(val)},
|
for x in coll_name.find({"_id": ObjectId(my_internal_id)},
|
||||||
{"_id": 0, "indexed": 0, "valide": 0, "locked": 0, }):
|
{ "indexed": 0, "valide": 0, "locked": 0, }):
|
||||||
nb_result = nb_result + 1
|
nb_result = nb_result + 1
|
||||||
my_recid = {}
|
my_recid = {}
|
||||||
my_recid['user_rec_id'] = str(user_recid)
|
my_recid['user_rec_id'] = str(user_recid)
|
||||||
|
@ -472,12 +511,11 @@ def recherche_articles_avis(diction):
|
||||||
mydict_combined['date_update'] = str(datetime.now())
|
mydict_combined['date_update'] = str(datetime.now())
|
||||||
mydict_combined['type_view'] = "summary"
|
mydict_combined['type_view'] = "summary"
|
||||||
|
|
||||||
if ("_id" in mydict_combined.keys()):
|
#if ("_id" in mydict_combined.keys()):
|
||||||
mydict_combined['class_id'] = mydict_combined.pop('_id')
|
# mydict_combined['class_id'] = mydict_combined.pop('_id')
|
||||||
|
|
||||||
user = x
|
user = x
|
||||||
|
|
||||||
|
|
||||||
val = x['qualite']
|
val = x['qualite']
|
||||||
if (len(x['qualite']) > MYSY_GV.MAX_CARACT):
|
if (len(x['qualite']) > MYSY_GV.MAX_CARACT):
|
||||||
x['qualite'] = val[:MYSY_GV.MAX_CARACT] + " ..."
|
x['qualite'] = val[:MYSY_GV.MAX_CARACT] + " ..."
|
||||||
|
@ -492,7 +530,7 @@ def recherche_articles_avis(diction):
|
||||||
else:
|
else:
|
||||||
x['avis'] = val[:MYSY_GV.MAX_CARACT]
|
x['avis'] = val[:MYSY_GV.MAX_CARACT]
|
||||||
|
|
||||||
|
print(user)
|
||||||
insertObject.append(JSONEncoder().encode(user))
|
insertObject.append(JSONEncoder().encode(user))
|
||||||
|
|
||||||
return True, insertObject
|
return True, insertObject
|
||||||
|
@ -641,7 +679,7 @@ def get_article_avis_alaune(diction):
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
||||||
field_list = ['token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city',
|
field_list = ['_id', 'token', 'user_ip', 'user_country_code', 'user_country_name', 'user_city',
|
||||||
'user_postal', 'user_latitude', 'user_longitude', 'user_state']
|
'user_postal', 'user_latitude', 'user_longitude', 'user_state']
|
||||||
|
|
||||||
incom_keys = diction.keys()
|
incom_keys = diction.keys()
|
||||||
|
@ -667,7 +705,7 @@ def get_article_avis_alaune(diction):
|
||||||
insertObject = []
|
insertObject = []
|
||||||
|
|
||||||
for x in coll_name.find({'valide': '1', 'locked': '0', 'isalaune': '1'},
|
for x in coll_name.find({'valide': '1', 'locked': '0', 'isalaune': '1'},
|
||||||
{"_id": 0, "indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "isalaune": 0,
|
{"indexed": 0, "indexed_desc": 0, "indexed_obj": 0, "isalaune": 0,
|
||||||
"valide": 0, "locked": 0, }).sort(
|
"valide": 0, "locked": 0, }).sort(
|
||||||
[ ("note", pymongo.DESCENDING), ("date_avis", pymongo.DESCENDING),]):
|
[ ("note", pymongo.DESCENDING), ("date_avis", pymongo.DESCENDING),]):
|
||||||
|
|
||||||
|
|
|
@ -1,86 +1,278 @@
|
||||||
,index,mots,occurence,moyenne,id_formation,source_field
|
,index,mots,occurence,moyenne,id_formation,source_field
|
||||||
0,0,lumineuse,1,0.01,1652379108009382,default
|
0,0,envoi,1,0.0,1652439802530303,default
|
||||||
1,1,evaluation,1,0.01,1652379108009382,default
|
1,1,lpi,1,0.0,1652439802530303,default
|
||||||
2,2,automatiser,2,0.01,1652379108009382,default
|
2,2,automatique,1,0.0,1652439802530303,default
|
||||||
3,3,informatique,1,0.01,1652379108009382,default
|
3,3,visualiser,1,0.0,1652439802530303,default
|
||||||
4,4,basee,1,0.01,1652379108009382,default
|
4,4,gestion,11,0.02,1652439802530303,default
|
||||||
5,5,pedagogie,1,0.01,1652379108009382,default
|
5,5,interpreteur,1,0.0,1652439802530303,default
|
||||||
6,6,participant,1,0.01,1652379108009382,default
|
6,6,access,1,0.0,1652439802530303,default
|
||||||
7,7,foundation,1,0.01,1652379108009382,default
|
7,7,video,1,0.0,1652439802530303,default
|
||||||
8,8,java,1,0.01,1652379108009382,default
|
8,8,tache,8,0.01,1652439802530303,default
|
||||||
9,9,uft,1,0.01,1652379108009382,default
|
9,9,consommation,1,0.0,1652439802530303,default
|
||||||
10,10,accessible,2,0.01,1652379108009382,default
|
10,10,local,1,0.0,1652439802530303,default
|
||||||
11,11,salle,1,0.01,1652379108009382,default
|
11,11,locale,1,0.0,1652439802530303,default
|
||||||
12,12,formation,20,0.14,1652379108009382,default
|
12,12,cron,2,0.0,1652439802530303,default
|
||||||
13,13,fonctionnel,3,0.02,1652379108009382,default
|
13,13,ouvert,2,0.0,1652439802530303,default
|
||||||
14,14,personne,1,0.01,1652379108009382,default
|
14,14,suppression,1,0.0,1652439802530303,default
|
||||||
15,15,referentiel,2,0.01,1652379108009382,default
|
15,15,correcte,1,0.0,1652439802530303,default
|
||||||
16,16,etudieron,1,0.01,1652379108009382,default
|
16,16,demarrer,1,0.0,1652439802530303,default
|
||||||
17,17,locau,1,0.01,1652379108009382,default
|
17,17,desactiver,1,0.0,1652439802530303,default
|
||||||
18,18,alm,1,0.01,1652379108009382,default
|
18,18,notation,1,0.0,1652439802530303,default
|
||||||
19,19,iqbba,1,0.01,1652379108009382,default
|
19,19,travau,2,0.0,1652439802530303,default
|
||||||
20,20,automatisation,1,0.01,1652379108009382,default
|
20,20,horloge,2,0.0,1652439802530303,default
|
||||||
21,21,presentielle,1,0.01,1652379108009382,default
|
21,21,lightdm,2,0.0,1652439802530303,default
|
||||||
22,22,redaction,1,0.01,1652379108009382,default
|
22,22,different,2,0.0,1652439802530303,default
|
||||||
23,23,logiciel,1,0.01,1652379108009382,default
|
23,23,standard,2,0.0,1652439802530303,default
|
||||||
24,24,automatise,1,0.01,1652379108009382,default
|
24,24,email,1,0.0,1652439802530303,default
|
||||||
25,25,recette,1,0.01,1652379108009382,default
|
25,25,hote,1,0.0,1652439802530303,default
|
||||||
26,26,functional,1,0.01,1652379108009382,default
|
26,26,personnaliser,2,0.0,1652439802530303,default
|
||||||
27,27,offerte,1,0.01,1652379108009382,default
|
27,27,chemin,1,0.0,1652439802530303,default
|
||||||
28,28,situation,3,0.02,1652379108009382,default
|
28,28,reperer,1,0.0,1652439802530303,default
|
||||||
29,29,besoin,1,0.01,1652379108009382,default
|
29,29,environement,1,0.0,1652439802530303,default
|
||||||
30,30,application,2,0.01,1652379108009382,default
|
30,30,utiliser,5,0.01,1652439802530303,default
|
||||||
31,31,accueillir,1,0.01,1652379108009382,default
|
31,31,squelette,1,0.0,1652439802530303,default
|
||||||
32,32,jour,15,0.1,1652379108009382,default
|
32,32,manipulation,1,0.0,1652439802530303,default
|
||||||
33,33,formateur,2,0.01,1652379108009382,default
|
33,33,priorite,1,0.0,1652439802530303,default
|
||||||
34,34,qualite,1,0.01,1652379108009382,default
|
34,34,agent,1,0.0,1652439802530303,default
|
||||||
35,35,hesitez,1,0.01,1652379108009382,default
|
35,35,protocole,1,0.0,1652439802530303,default
|
||||||
36,36,web,1,0.01,1652379108009382,default
|
36,36,revocation,1,0.0,1652439802530303,default
|
||||||
37,37,mesure,1,0.01,1652379108009382,default
|
37,37,personaliser,2,0.0,1652439802530303,default
|
||||||
38,38,pause,1,0.01,1652379108009382,default
|
38,38,recherche,1,0.0,1652439802530303,default
|
||||||
39,39,notee,1,0.01,1652379108009382,default
|
39,39,server,1,0.0,1652439802530303,default
|
||||||
40,40,testlink,1,0.01,1652379108009382,default
|
40,40,uni,1,0.0,1652439802530303,default
|
||||||
41,41,cour,1,0.01,1652379108009382,default
|
41,41,ligne,1,0.0,1652439802530303,default
|
||||||
42,42,support,1,0.01,1652379108009382,default
|
42,42,locau,2,0.0,1652439802530303,default
|
||||||
43,43,boisson,1,0.01,1652379108009382,default
|
43,43,tort,1,0.0,1652439802530303,default
|
||||||
44,44,learning,1,0.01,1652379108009382,default
|
44,44,icmp,1,0.0,1652439802530303,default
|
||||||
45,45,entreprise,1,0.01,1652379108009382,default
|
45,45,sgid,1,0.0,1652439802530303,default
|
||||||
46,46,referenthandicap,1,0.01,1652379108009382,default
|
46,46,definir,6,0.01,1652439802530303,default
|
||||||
47,47,selenium,2,0.01,1652379108009382,default
|
47,47,sed,1,0.0,1652439802530303,default
|
||||||
48,48,minimum,1,0.01,1652379108009382,default
|
48,48,determiner,1,0.0,1652439802530303,default
|
||||||
49,49,exercice,1,0.01,1652379108009382,default
|
49,49,transfert,1,0.0,1652439802530303,default
|
||||||
50,50,istqb,2,0.01,1652379108009382,default
|
50,50,carte,2,0.0,1652439802530303,default
|
||||||
51,51,fr,1,0.01,1652379108009382,default
|
51,51,date,2,0.0,1652439802530303,default
|
||||||
52,52,realiser,2,0.01,1652379108009382,default
|
52,52,creer,2,0.0,1652439802530303,default
|
||||||
53,53,assurance,1,0.01,1652379108009382,default
|
53,53,ecrire,2,0.0,1652439802530303,default
|
||||||
54,54,gerer,1,0.01,1652379108009382,default
|
54,54,bureau,1,0.0,1652439802530303,default
|
||||||
55,55,suivi,1,0.01,1652379108009382,default
|
55,55,emplacement,1,0.0,1652439802530303,default
|
||||||
56,56,expert,1,0.01,1652379108009382,default
|
56,56,parametrage,3,0.0,1652439802530303,default
|
||||||
57,57,ensemble,1,0.01,1652379108009382,default
|
57,57,proprietaire,1,0.0,1652439802530303,default
|
||||||
58,58,certification,2,0.01,1652379108009382,default
|
58,58,pare,1,0.0,1652439802530303,default
|
||||||
59,59,inter,1,0.01,1652379108009382,default
|
59,59,ressource,1,0.0,1652439802530303,default
|
||||||
60,60,pratique,1,0.01,1652379108009382,default
|
60,60,variable,2,0.0,1652439802530303,default
|
||||||
61,61,dawan,1,0.01,1652379108009382,default
|
61,61,donne,5,0.01,1652439802530303,default
|
||||||
62,62,center,1,0.01,1652379108009382,default
|
62,62,linu,1,0.0,1652439802530303,default
|
||||||
63,63,parcour,1,0.01,1652379108009382,default
|
63,63,systeme,11,0.02,1652439802530303,default
|
||||||
64,64,unified,1,0.01,1652379108009382,default
|
64,64,nouveau,1,0.0,1652439802530303,default
|
||||||
65,65,fitnesse,1,0.01,1652379108009382,default
|
65,65,execution,1,0.0,1652439802530303,default
|
||||||
66,66,approfondissement,1,0.01,1652379108009382,default
|
66,66,fichier,5,0.01,1652439802530303,default
|
||||||
67,67,handicap,2,0.01,1652379108009382,default
|
67,67,assistance,1,0.0,1652439802530303,default
|
||||||
68,68,acceptation,1,0.01,1652379108009382,default
|
68,68,qcm,6,0.01,1652439802530303,default
|
||||||
69,69,squash,1,0.01,1652379108009382,default
|
69,69,materielle,1,0.0,1652439802530303,default
|
||||||
70,70,test,13,0.09,1652379108009382,default
|
70,70,manuelle,1,0.0,1652439802530303,default
|
||||||
71,71,materiel,1,0.01,1652379108009382,default
|
71,71,qmail,1,0.0,1652439802530303,default
|
||||||
72,72,facilement,1,0.01,1652379108009382,default
|
72,72,anacron,1,0.0,1652439802530303,default
|
||||||
73,73,agile,2,0.01,1652379108009382,default
|
73,73,protection,1,0.0,1652439802530303,default
|
||||||
74,74,cobol,2,0.01,1652379108009382,default
|
74,74,alia,1,0.0,1652439802530303,default
|
||||||
75,75,active,1,0.01,1652379108009382,default
|
75,75,information,1,0.0,1652439802530303,default
|
||||||
76,76,associe,1,0.01,1652379108009382,default
|
76,76,substitution,1,0.0,1652439802530303,default
|
||||||
77,77,initiation,1,0.01,1652379108009382,default
|
77,77,atelier,11,0.02,1652439802530303,default
|
||||||
78,78,contacter,1,0.01,1652379108009382,default
|
78,78,bash,1,0.0,1652439802530303,default
|
||||||
79,79,stagiaire,1,0.01,1652379108009382,default
|
79,79,actuellement,1,0.0,1652439802530303,default
|
||||||
80,80,testing,1,0.01,1652379108009382,default
|
80,80,code,1,0.0,1652439802530303,default
|
||||||
81,81,cpf,1,0.01,1652379108009382,default
|
81,81,log,3,0.0,1652439802530303,default
|
||||||
82,82,quality,1,0.01,1652379108009382,default
|
82,82,basique,7,0.01,1652439802530303,default
|
||||||
83,83,methodologie,1,0.01,1652379108009382,default
|
83,83,ipv,3,0.0,1652439802530303,default
|
||||||
84,84,testeur,1,0.01,1652379108009382,default
|
84,84,syntaxe,1,0.0,1652439802530303,default
|
||||||
|
85,85,clavier,2,0.0,1652439802530303,default
|
||||||
|
86,86,automatisation,1,0.0,1652439802530303,default
|
||||||
|
87,87,fondamentau,1,0.0,1652439802530303,default
|
||||||
|
88,88,utilise,1,0.0,1652439802530303,default
|
||||||
|
89,89,bashrc,1,0.0,1652439802530303,default
|
||||||
|
90,90,prive,1,0.0,1652439802530303,default
|
||||||
|
91,91,technologie,1,0.0,1652439802530303,default
|
||||||
|
92,92,fuseau,1,0.0,1652439802530303,default
|
||||||
|
93,93,gdm,2,0.0,1652439802530303,default
|
||||||
|
94,94,horaire,1,0.0,1652439802530303,default
|
||||||
|
95,95,depanner,2,0.0,1652439802530303,default
|
||||||
|
96,96,planifie,3,0.0,1652439802530303,default
|
||||||
|
97,97,avance,1,0.0,1652439802530303,default
|
||||||
|
98,98,preparation,1,0.0,1652439802530303,default
|
||||||
|
99,99,mail,3,0.0,1652439802530303,default
|
||||||
|
100,100,concept,2,0.0,1652439802530303,default
|
||||||
|
101,101,chiffrement,1,0.0,1652439802530303,default
|
||||||
|
102,102,service,6,0.01,1652439802530303,default
|
||||||
|
103,103,suid,2,0.0,1652439802530303,default
|
||||||
|
104,104,probleme,2,0.0,1652439802530303,default
|
||||||
|
105,105,bit,1,0.0,1652439802530303,default
|
||||||
|
106,106,syslog,4,0.01,1652439802530303,default
|
||||||
|
107,107,shell,5,0.01,1652439802530303,default
|
||||||
|
108,108,securiser,2,0.0,1652439802530303,default
|
||||||
|
109,109,demon,2,0.0,1652439802530303,default
|
||||||
|
110,110,client,2,0.0,1652439802530303,default
|
||||||
|
111,111,interface,6,0.01,1652439802530303,default
|
||||||
|
112,112,fonctionnement,1,0.0,1652439802530303,default
|
||||||
|
113,113,rsyslog,1,0.0,1652439802530303,default
|
||||||
|
114,114,droit,4,0.01,1652439802530303,default
|
||||||
|
115,115,auditer,3,0.0,1652439802530303,default
|
||||||
|
116,116,sequence,1,0.0,1652439802530303,default
|
||||||
|
117,117,planifier,1,0.0,1652439802530303,default
|
||||||
|
118,118,activer,1,0.0,1652439802530303,default
|
||||||
|
119,119,feu,1,0.0,1652439802530303,default
|
||||||
|
120,120,theme,1,0.0,1652439802530303,default
|
||||||
|
121,121,g,1,0.0,1652439802530303,default
|
||||||
|
122,122,public,1,0.0,1652439802530303,default
|
||||||
|
123,123,gnupg,1,0.0,1652439802530303,default
|
||||||
|
124,124,limite,2,0.0,1652439802530303,default
|
||||||
|
125,125,accueil,1,0.0,1652439802530303,default
|
||||||
|
126,126,speciau,1,0.0,1652439802530303,default
|
||||||
|
127,127,tunnel,2,0.0,1652439802530303,default
|
||||||
|
128,128,dns,3,0.0,1652439802530303,default
|
||||||
|
129,129,simple,1,0.0,1652439802530303,default
|
||||||
|
130,130,ntp,3,0.0,1652439802530303,default
|
||||||
|
131,131,exim,1,0.0,1652439802530303,default
|
||||||
|
132,132,imprimante,2,0.0,1652439802530303,default
|
||||||
|
133,133,comprendre,5,0.01,1652439802530303,default
|
||||||
|
134,134,financement,1,0.0,1652439802530303,default
|
||||||
|
135,135,transfer,1,0.0,1652439802530303,default
|
||||||
|
136,136,configuration,21,0.03,1652439802530303,default
|
||||||
|
137,137,utc,1,0.0,1652439802530303,default
|
||||||
|
138,138,password,2,0.0,1652439802530303,default
|
||||||
|
139,139,commenter,6,0.01,1652439802530303,default
|
||||||
|
140,140,loop,1,0.0,1652439802530303,default
|
||||||
|
141,141,associe,2,0.0,1652439802530303,default
|
||||||
|
142,142,affichage,3,0.0,1652439802530303,default
|
||||||
|
143,143,reseau,9,0.01,1652439802530303,default
|
||||||
|
144,144,awk,1,0.0,1652439802530303,default
|
||||||
|
145,145,notamment,1,0.0,1652439802530303,default
|
||||||
|
146,146,routage,1,0.0,1652439802530303,default
|
||||||
|
147,147,regionau,1,0.0,1652439802530303,default
|
||||||
|
148,148,mot,2,0.0,1652439802530303,default
|
||||||
|
149,149,tester,1,0.0,1652439802530303,default
|
||||||
|
150,150,org,1,0.0,1652439802530303,default
|
||||||
|
151,151,analyser,1,0.0,1652439802530303,default
|
||||||
|
152,152,file,2,0.0,1652439802530303,default
|
||||||
|
153,153,connaissance,8,0.01,1652439802530303,default
|
||||||
|
154,154,administrative,2,0.0,1652439802530303,default
|
||||||
|
155,155,passe,2,0.0,1652439802530303,default
|
||||||
|
156,156,sql,3,0.0,1652439802530303,default
|
||||||
|
157,157,role,2,0.0,1652439802530303,default
|
||||||
|
158,158,sendmail,1,0.0,1652439802530303,default
|
||||||
|
159,159,ats,1,0.0,1652439802530303,default
|
||||||
|
160,160,securite,3,0.0,1652439802530303,default
|
||||||
|
161,161,commande,9,0.01,1652439802530303,default
|
||||||
|
162,162,superuser,1,0.0,1652439802530303,default
|
||||||
|
163,163,route,1,0.0,1652439802530303,default
|
||||||
|
164,164,mta,3,0.0,1652439802530303,default
|
||||||
|
165,165,principale,1,0.0,1652439802530303,default
|
||||||
|
166,166,path,2,0.0,1652439802530303,default
|
||||||
|
167,167,conditionnel,1,0.0,1652439802530303,default
|
||||||
|
168,168,prevue,1,0.0,1652439802530303,default
|
||||||
|
169,169,cle,1,0.0,1652439802530303,default
|
||||||
|
170,170,courant,1,0.0,1652439802530303,default
|
||||||
|
171,171,authentification,2,0.0,1652439802530303,default
|
||||||
|
172,172,architecture,1,0.0,1652439802530303,default
|
||||||
|
173,173,internationalisation,1,0.0,1652439802530303,default
|
||||||
|
174,174,principe,1,0.0,1652439802530303,default
|
||||||
|
175,175,cup,1,0.0,1652439802530303,default
|
||||||
|
176,176,nmap,1,0.0,1652439802530303,default
|
||||||
|
177,177,supprimer,2,0.0,1652439802530303,default
|
||||||
|
178,178,executable,1,0.0,1652439802530303,default
|
||||||
|
179,179,kdm,2,0.0,1652439802530303,default
|
||||||
|
180,180,bash_profile,1,0.0,1652439802530303,default
|
||||||
|
181,181,wrapper,1,0.0,1652439802530303,default
|
||||||
|
182,182,audit,2,0.0,1652439802530303,default
|
||||||
|
183,183,installation,1,0.0,1652439802530303,default
|
||||||
|
184,184,principau,4,0.01,1652439802530303,default
|
||||||
|
185,185,arret,1,0.0,1652439802530303,default
|
||||||
|
186,186,modifier,5,0.01,1652439802530303,default
|
||||||
|
187,187,ordre,1,0.0,1652439802530303,default
|
||||||
|
188,188,shebang,1,0.0,1652439802530303,default
|
||||||
|
189,189,demarrage,1,0.0,1652439802530303,default
|
||||||
|
190,190,inutilise,1,0.0,1652439802530303,default
|
||||||
|
191,191,passage,1,0.0,1652439802530303,default
|
||||||
|
192,192,installer,1,0.0,1652439802530303,default
|
||||||
|
193,193,action,1,0.0,1652439802530303,default
|
||||||
|
194,194,propre,4,0.01,1652439802530303,default
|
||||||
|
195,195,visuel,1,0.0,1652439802530303,default
|
||||||
|
196,196,essentiel,1,0.0,1652439802530303,default
|
||||||
|
197,197,graphique,4,0.01,1652439802530303,default
|
||||||
|
198,198,script,6,0.01,1652439802530303,default
|
||||||
|
199,199,sortie,1,0.0,1652439802530303,default
|
||||||
|
200,200,resolution,2,0.0,1652439802530303,default
|
||||||
|
201,201,groupe,3,0.0,1652439802530303,default
|
||||||
|
202,202,pool,1,0.0,1652439802530303,default
|
||||||
|
203,203,postfi,1,0.0,1652439802530303,default
|
||||||
|
204,204,netstat,1,0.0,1652439802530303,default
|
||||||
|
205,205,processu,1,0.0,1652439802530303,default
|
||||||
|
206,206,acce,2,0.0,1652439802530303,default
|
||||||
|
207,207,reconfiguration,1,0.0,1652439802530303,default
|
||||||
|
208,208,openssh,2,0.0,1652439802530303,default
|
||||||
|
209,209,redemarrage,1,0.0,1652439802530303,default
|
||||||
|
210,210,configurer,11,0.02,1652439802530303,default
|
||||||
|
211,211,logrotate,2,0.0,1652439802530303,default
|
||||||
|
212,212,effectuer,2,0.0,1652439802530303,default
|
||||||
|
213,213,heure,4,0.01,1652439802530303,default
|
||||||
|
214,214,connexion,3,0.0,1652439802530303,default
|
||||||
|
215,215,fourni,1,0.0,1652439802530303,default
|
||||||
|
216,216,udp,2,0.0,1652439802530303,default
|
||||||
|
217,217,difference,2,0.0,1652439802530303,default
|
||||||
|
218,218,xdm,1,0.0,1652439802530303,default
|
||||||
|
219,219,cidr,1,0.0,1652439802530303,default
|
||||||
|
220,220,e,3,0.0,1652439802530303,default
|
||||||
|
221,221,internet,1,0.0,1652439802530303,default
|
||||||
|
222,222,requeter,1,0.0,1652439802530303,default
|
||||||
|
223,223,test,2,0.0,1652439802530303,default
|
||||||
|
224,224,utilisation,5,0.01,1652439802530303,default
|
||||||
|
225,225,ouverture,1,0.0,1652439802530303,default
|
||||||
|
226,226,table,1,0.0,1652439802530303,default
|
||||||
|
227,227,memoire,1,0.0,1652439802530303,default
|
||||||
|
228,228,accorde,2,0.0,1652439802530303,default
|
||||||
|
229,229,fonction,1,0.0,1652439802530303,default
|
||||||
|
230,230,vulnerabilite,1,0.0,1652439802530303,default
|
||||||
|
231,231,connecte,2,0.0,1652439802530303,default
|
||||||
|
232,232,pam,1,0.0,1652439802530303,default
|
||||||
|
233,233,ntpq,1,0.0,1652439802530303,default
|
||||||
|
234,234,verifier,1,0.0,1652439802530303,default
|
||||||
|
235,235,programmer,1,0.0,1652439802530303,default
|
||||||
|
236,236,serveur,9,0.01,1652439802530303,default
|
||||||
|
237,237,impression,4,0.01,1652439802530303,default
|
||||||
|
238,238,selectionner,1,0.0,1652439802530303,default
|
||||||
|
239,239,strategie,1,0.0,1652439802530303,default
|
||||||
|
240,240,parametre,4,0.01,1652439802530303,default
|
||||||
|
241,241,gerer,10,0.02,1652439802530303,default
|
||||||
|
242,242,depannage,1,0.0,1652439802530303,default
|
||||||
|
243,243,fonctionnalite,1,0.0,1652439802530303,default
|
||||||
|
244,244,administration,3,0.0,1652439802530303,default
|
||||||
|
245,245,sujet,12,0.02,1652439802530303,default
|
||||||
|
246,246,distante,1,0.0,1652439802530303,default
|
||||||
|
247,247,dossier,1,0.0,1652439802530303,default
|
||||||
|
248,248,maintenir,2,0.0,1652439802530303,default
|
||||||
|
249,249,environnement,4,0.01,1652439802530303,default
|
||||||
|
250,250,fixer,1,0.0,1652439802530303,default
|
||||||
|
251,251,frequemment,1,0.0,1652439802530303,default
|
||||||
|
252,252,boucle,1,0.0,1652439802530303,default
|
||||||
|
253,253,accessibilite,2,0.0,1652439802530303,default
|
||||||
|
254,254,port,3,0.0,1652439802530303,default
|
||||||
|
255,255,window,1,0.0,1652439802530303,default
|
||||||
|
256,256,automatiser,1,0.0,1652439802530303,default
|
||||||
|
257,257,gestionnaire,3,0.0,1652439802530303,default
|
||||||
|
258,258,utilisateur,13,0.02,1652439802530303,default
|
||||||
|
259,259,sudo,2,0.0,1652439802530303,default
|
||||||
|
260,260,ajouter,2,0.0,1652439802530303,default
|
||||||
|
261,261,trouver,1,0.0,1652439802530303,default
|
||||||
|
262,262,correctement,1,0.0,1652439802530303,default
|
||||||
|
263,263,certification,1,0.0,1652439802530303,default
|
||||||
|
264,264,messagerie,1,0.0,1652439802530303,default
|
||||||
|
265,265,entrepot,1,0.0,1652439802530303,default
|
||||||
|
266,266,compatibilite,1,0.0,1652439802530303,default
|
||||||
|
267,267,timezone,1,0.0,1652439802530303,default
|
||||||
|
268,268,organiser,1,0.0,1652439802530303,default
|
||||||
|
269,269,shadow,1,0.0,1652439802530303,default
|
||||||
|
270,270,masque,1,0.0,1652439802530303,default
|
||||||
|
271,271,arreter,1,0.0,1652439802530303,default
|
||||||
|
272,272,connaitre,6,0.01,1652439802530303,default
|
||||||
|
273,273,ajout,1,0.0,1652439802530303,default
|
||||||
|
274,274,base,10,0.02,1652439802530303,default
|
||||||
|
275,275,compte,4,0.01,1652439802530303,default
|
||||||
|
276,276,ssh,1,0.0,1652439802530303,default
|
||||||
|
|
|
|
@ -1,14 +1,14 @@
|
||||||
mots occurence moyenne id_formation source_field
|
mots occurence moyenne id_formation source_field
|
||||||
0 lumineuse 1 0.01 1652379108009382 default
|
0 envoi 1 0.0 1652439802530303 default
|
||||||
1 evaluation 1 0.01 1652379108009382 default
|
1 lpi 1 0.0 1652439802530303 default
|
||||||
2 automatiser 2 0.01 1652379108009382 default
|
2 automatique 1 0.0 1652439802530303 default
|
||||||
3 informatique 1 0.01 1652379108009382 default
|
3 visualiser 1 0.0 1652439802530303 default
|
||||||
4 basee 1 0.01 1652379108009382 default
|
4 gestion 11 0.02 1652439802530303 default
|
||||||
.. ... ... ... ... ...
|
.. ... ... ... ... ...
|
||||||
80 testing 1 0.01 1652379108009382 default
|
272 connaitre 6 0.01 1652439802530303 default
|
||||||
81 cpf 1 0.01 1652379108009382 default
|
273 ajout 1 0.0 1652439802530303 default
|
||||||
82 quality 1 0.01 1652379108009382 default
|
274 base 10 0.02 1652439802530303 default
|
||||||
83 methodologie 1 0.01 1652379108009382 default
|
275 compte 4 0.01 1652439802530303 default
|
||||||
84 testeur 1 0.01 1652379108009382 default
|
276 ssh 1 0.0 1652439802530303 default
|
||||||
|
|
||||||
[85 rows x 5 columns]
|
[277 rows x 5 columns]
|
|
@ -624,3 +624,17 @@ def GetMasculinSingulier(word=None):
|
||||||
exc_type, exc_obj, exc_tb = sys.exc_info()
|
exc_type, exc_obj, exc_tb = sys.exc_info()
|
||||||
mycommon.myprint(str(e) + " - Line : " + str(exc_tb.tb_lineno))
|
mycommon.myprint(str(e) + " - Line : " + str(exc_tb.tb_lineno))
|
||||||
return False, ""
|
return False, ""
|
||||||
|
|
||||||
|
|
||||||
|
'''
|
||||||
|
cette fonction créer un code_externe unique basé sur le timestemp actuel
|
||||||
|
'''
|
||||||
|
def CreateMyCode():
|
||||||
|
try:
|
||||||
|
mycode = str(datetime.now().timestamp()).replace(".", '').replace(',', '')
|
||||||
|
return True, mycode
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
exc_type, exc_obj, exc_tb = sys.exc_info()
|
||||||
|
print(str(inspect.stack()[0][3]) + " -" + str(e) + " - Line : " + str(exc_tb.tb_lineno))
|
||||||
|
return False, '-1'
|
||||||
|
|
|
@ -27,6 +27,9 @@ dbname = client['cherifdb']
|
||||||
|
|
||||||
'''
|
'''
|
||||||
Ajout du message d'un utilisateur
|
Ajout du message d'un utilisateur
|
||||||
|
|
||||||
|
- la valeur du champs type renseigne si le message doit etre
|
||||||
|
envoyer par "mail, sms, whatsapp", etc
|
||||||
'''
|
'''
|
||||||
def add_user_message(diction):
|
def add_user_message(diction):
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in New Issue