MocodoScripts/mcd_mocodo.py
Djalim Simaila 48addc9fa6 🔤 refactor(mcd_mocodo.py): replace French accentuated characters with non-accentuated ones for better compatibility
🔧 fix(mcd_mocodo.py): rename 'fiche_activite' to 'fiche_pedagogique' and update its attributes for better clarity
🔧 fix(mcd_mocodo.py): update 'activite' attributes to include 'consigne' and 'duree'
🔧 fix(mcd_mocodo.py): update 'historique_activite' attributes to include 'note_difficulte', 'note_plaisir', 'note_concentration', 'note_duree'
🔧 fix(mcd_mocodo.py): add 'date_debloquement' attribute to 'debloquer' relation
🔧 fix(mcd_mocodo.py): update 'test_de_positionnement' and 'historique_test' attributes to include more detailed information
🔧 fix(mcd_mocodo.py): add 'historique_test_medical' entity with detailed attributes
🔧 fix(mcd_mocodo.py): add 'posseder3' relation to link 'historique_test_medical' with 'apprenant'
🔧 fix(mcd_mocodo.py): rename 'entités' to 'entites' for consistency with non-accentuated naming
2024-04-10 16:28:57 +02:00

132 lines
4.3 KiB
Python

"""
Domaines de l'application exprimes en MCD mocodo
"""
apprenant = "apprenant:id_apprenant,nom,prenom,date_de_naissance,classe,est_actif,peut_faire_test,reponses_questionnaire\n"
compte = "compte:login,email,password,etat,date_de_derniere_co,nom,prenom,mobile,date_de_creation,moyen_paiement,est_connecte\n"
auth = f"""
{compte}
{apprenant}
licence:cle,date_utilisation
licence_medicale:cle_medicale,date_utilisation,
promotion:code,date_de_creation,duree_reduction,reduction,conditions
abonnement:nom_abonnement,prix,date_de_debut,date_de_fin
droit:id_droit,niveau_d_access,nb_profil_cree,nb_user_invite,peut_modifier_profil,peut_supprimer_profil, peut_faire_activite, peut_faire_test, peut_consulter_hist_activite, peut_consulter_hist_test
questionnaire: id_questionnaire,forme_rappel, disponibilite,reponses_questionnaire
probleme_signale:id_prob,version_de_l_application,support,date du_signalement,commentaire
question_posee:id_quest,question
anonyme:id,email
posseder2,01 licence_medicale,0N apprenant,0N droit
inviter,0N compte,0N compte,0N apprenant,0N droit,0N licence: date_invitation,
utiliser,01 compte,0N licence : date_utilisation
repondre, 01 compte, 0N questionnaire
creer, 0N compte,0N apprenant : date_creation
acheter, 0N compte, 0N promotion, 0N licence, 0N abonnement : date_d_achat
assigner, 11 abonnement, 0N droit
poser, 11 question_posee, 0N anonyme
poser1, 11 question_posee, 0N compte
signaler, 11 probleme_signale, 0N anonyme
signaler1, 11 probleme_signale, 0N compte
"""
fiche_pedagogique = "fiche_pedagogique:id_fiche,contenu\n"
activite = "activite: id_activite, consigne, durée, caracteristiques ia\n"
activites = f"""
{apprenant}
{compte}
{activite}
{fiche_pedagogique}
historique_activite: id, duree, date_de_realisation, note_difficulte,note_plaisir,note_concentration, note_duree, activite_proposee_par_algo
realiser, 0N compte, 0N activite, 11 historique_activite, 0N apprenant : points_accordes
debloquer, 0N activite, 0N apprenant : date_debloquement
posseder, 11 historique_activite, 0N apprenant
decrire, 0N fiche_pedagogique, 11 activite
"""
recompenses = f"""
{apprenant}
{compte}
palier:id_palier,nombre_de_points
defi:id_defi,nom,objectif,date_limite
badge: id_badge,nom,description,image
{activite}
atteindre, 0N apprenant, 0N palier
realiser, 0N compte, 0N activite, 0N apprenant : points_accordes
realiser3, 0N apprenant, 0N defi
debloquer, 0N defi, 11 badge
debloquer1, 0N palier, 11 badge
"""
#la relation realiser est dupliquee entre des deux domaines, je garde un version sans pour la concatenation finale
recompenses_nr = f"""
{apprenant}
{compte}
palier:id_palier,nombre_de_points
defi:id_defi,nom,objectif,date_limite
badge: id_badge,nom,description,image
{activite}
atteindre, 0N apprenant, 0N palier
realiser3, 0N apprenant, 0N defi
debloquer, 0N defi, 11 badge
debloquer1, 0N palier, 11 badge
"""
ressources = f"""
mot_cle: mot
Ressource:id_ress,titre,description,date_de_publication,type,niveau_d_access
video:id_video,lien_vers_site_externe
article:id_article,lien_vers_site_externe
{fiche_pedagogique}
contenir,0N mot_cle,0N Ressource
etre1, 0N Ressource, 11 video
etre2, 0N Ressource, 11 article
etre3, 0N Ressource, 11 fiche_pédagogique
"""
test =f"""
test_de_positionnement: id_testpos, consigne, caracteristiques_ia
historique_test_pos: id_entree, duree, score, temps_de_reaction_moyen, date_de_realisation, font_utilisée
historique_test_medical: id_entree_medical, date_realisation, Deficit_phonologique, Deficit_lexical, Deficit_articulatoire, Deficit_ortho_optique, Deficit_visio_attentionnel, Deficit_visio_spacial, Deficit_visio motrice, Deficit_attention/concentration
{apprenant}
{compte}
realiser2, 0N compte,0N test_de_positionnement, 11 historique_test_pos, 0N apprenant
posseder1, 11 historique_test_pos, 0N apprenant
posseder3, 11 historique_test_medical, 0N apprenant
"""
entites = [
apprenant,
compte,
fiche_pedagogique,
activite,
]
domaines = [
auth,
activites,
recompenses_nr,
ressources,
test,
]
def generer_texte_complet(domaines, entites):
texte_complet = ""
for domaine in domaines:
for entite in entites:
if entite in domaine:
domaine = domaine.replace(entite, "")
texte_complet += domaine
for entite in entites:
texte_complet += entite
return texte_complet
texte_complet = generer_texte_complet(domaines, entites)