MocodoScripts/mcd_mocodo.py
Djalim Simaila 07a86e94dc 🔤 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-17 16:20:39 +02:00

134 lines
5.1 KiB
Python

"""
Domaines de l'application exprimes en MCD mocodo
"""
apprenant = "apprenant:id_apprenant [TEXT],nom [TEXT],prenom [TEXT],date_de_naissance [DATE],classe [TEXT],est_actif [BOOL],peut_faire_test [BOOL],reponses_questionnaire [TODO]\n"
compte = "compte:login [TEXT],email [TEXT],password [TEXT],etat [TEXT],date_de_derniere_co [DATE],nom [TEXT],prenom [TEXT],mobile [NUMBER],date_de_creation [DATE],moyen_paiement [TODO],est_connecte [BOOL]\n"
auth = f"""
{compte}
{apprenant}
licence:cle [TEXT],date_utilisation [DATE]
licence_medicale:cle_medicale [TEXT],date_utilisation [DATE],
promotion:code [TEXT],date_de_creation [DATE],duree_reduction [NUMBER],reduction [NUMBER],conditions [TEXT]
abonnement:nom_abonnement [TEXT],prix [NUMBER],
droit:id_droit [TEXT],nb_profil_cree [NUMBER],nb_user_invite [NUMBER],peut_modifier_profil [BOOL],peut_supprimer_profil [BOOL], peut_faire_activite [BOOL], peut_faire_test [BOOL], peut_consulter_hist_activite [BOOL], peut_consulter_hist_test [BOOL]
questionnaire: id_questionnaire [TEXT],forme_rappel [TEXT], disponibilite [TODO],reponses_questionnaire [TODO]
probleme_signale:id_prob [TEXT],version_de_l_application [TEXT],support [TEXT],date du_signalement [DATE],commentaire [TODO]
question_posee:id_quest [TEXT],question [TEXT]
anonyme:id [TEXT],email [TEXT]
posseder2,01 licence_medicale,0N apprenant,0N droit
inviter,0N compte,0N compte,0N apprenant,0N droit,0N licence: date_invitation [DATE],
utiliser,01 compte,0N licence : date_utilisation [DATE]
repondre, 01 compte, 0N questionnaire
creer, 0N compte,0N apprenant : date_creation [DATE]
acheter, 0N compte, 0N promotion, 0N licence, 0N abonnement : date_d_achat [DATE], date_de_fin [DATE]
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 [TEXT], duree [NUMBER], date_de_realisation [DATE], note_difficulte [NUMBER],note_plaisir [NUMBER],note_concentration [NUMBER], note_duree [NUMBER], activite_proposee_par_algo [BOOL]
realiser, 0N compte, 0N activite, 11 historique_activite, 0N apprenant : points_accordes [NUMBER]
debloquer3, 0N activite, 0N apprenant : date_debloquement [DATE]
posseder, 11 historique_activite, 0N apprenant
decrire, 0N fiche_pedagogique, 11 activite
"""
recompenses = f"""
{apprenant}
{compte}
palier:id_palier [TEXT],nombre_de_points [TEXT]
defi:id_defi [TEXT],nom [TEXT],objectif [TEXT],date_limite [DATE]
badge: id_badge [NUMBER],nom [TEXT],description [TEXT],image [BLOB]
{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 [TEXT],nombre_de_points [TEXT]
defi:id_defi [TEXT],nom [TEXT],objectif [TEXT],date_limite [DATE]
badge: id_badge [NUMBER],nom [TEXT],description [TEXT],image [BLOB]
{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 [TEXT]
Ressource:id_ress [TEXT],titre [TEXT],description [TEXT],date_de_publication [DATE],type [TEXT]
video:id_video [TEXT],lien_vers_site_externe [TEXT]
article:id_article [TEXT],lien_vers_site_externe [TEXT]
{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 [TEXT], consigne [TEXT], caracteristiques_ia [TEST]
historique_test_pos: id_entree [TEST], duree [NUMBER], score [NUMBER], temps_de_reaction_moyen [NUMBER], date_de_realisation [DATE], font_utilisée [TEXT]
historique_test_medical: id_entree_medical [TEXT], date_realisation [DATE], Deficit_phonologique [BOOL], Deficit_lexical [BOOL], Deficit_articulatoire [BOOL], Deficit_ortho_optique [BOOL], Deficit_visio_attentionnel [TEXT], Deficit_visio_spacial [BOOL], Deficit_visio motrice [BOOL], Deficit_attention/concentration [BOOL]
{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)