✨ feat(mocodo_notebook.ipynb): add functions to generate types and MLD from a domain expressed in MCD mocodo for enhanced functionality
131 lines
4.1 KiB
Python
131 lines
4.1 KiB
Python
"""
|
|
Domaines de l'application exprimés en MCD mocodo
|
|
"""
|
|
|
|
apprenant = "apprenant:id_apprenant,nom,prenom,date_de_naissance,classe,reponses_questionnaire\n"
|
|
compte = "compte:login,email,password,état,date_de_derniere_co,nom,prenom,mobile,date_de_création,moyen_paiement,est_connecté\n"
|
|
|
|
auth = f"""
|
|
{compte}
|
|
{apprenant}
|
|
licence:clé,date_utilisation
|
|
promotion:code, date_de_création,durée_reduction,reduction,conditions
|
|
abonnement:nom_abonnement,prix,date_de_début,date_de_fin
|
|
droit:id_droit,niveau_d_access,nb_profil_crée,nb_user_invite,peut_modifier_profil,peut_supprimer_profil, peut_faire_activité, peut_faire_test, peut_consulter_hist_activité, peut_consulter_hist_test
|
|
questionnaire: id_questionnaire,forme_rappel, disponibilité,reponses_questionnaire
|
|
probleme_signalé:id_prob,version de l'application,support,date du signalement,commentaire
|
|
question_posée:id_quest,question
|
|
anonyme:id,email
|
|
|
|
inviter,0N compte,0N compte,0N apprenant,0N droit,0N licence: date invitation,
|
|
utiliser,01 compte,0N licence
|
|
repondre, 01 compte, 0N questionnaire
|
|
créer, 0N compte,0N apprenant
|
|
acheter, 0N compte, 0N promotion, 0N licence, 0N abonnement : date d'achat
|
|
assigner, 11 abonnement, 0N droit
|
|
poser, 11 question_posée, 0N anonyme
|
|
poser1, 11 question_posée, 0N compte
|
|
signaler, 11 probleme_signalé, 0N anonyme
|
|
signaler1, 11 probleme_signalé, 0N compte
|
|
"""
|
|
|
|
fiche_activite = "fiche_activité:id_fiche,comp_travaillé,pourquoi_travailler_comp,variantes\n"
|
|
activite = "activité: id_activité, caracteristiques ia\n"
|
|
|
|
activites = f"""
|
|
{apprenant}
|
|
{compte}
|
|
{activite}
|
|
{fiche_activite}
|
|
activité_ajoutee: titre, caracteristiques ia
|
|
historique_activité: id, durée, date de réalisation, note difficulté,note plaisir,note concentration, note durée, activité proposée par algo
|
|
|
|
réaliser, 0N compte, 0N activité, 11 historique_activite, 0N apprenant : points accordés
|
|
ajouter, 0N compte,0N activité_ajoutee, 11 historique_activité , 0N apprenant
|
|
posséser, 11 historique_activité, 0N apprenant
|
|
decrire, 0N fiche_activite, 11 activité
|
|
"""
|
|
|
|
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
|
|
réaliser, 0N compte, 0N activité, 0N apprenant : points accordés
|
|
réaliser3, 0N apprenant, 0N defi
|
|
debloquer, 0N defi, 11 badge
|
|
debloquer1, 0N palier, 11 badge
|
|
"""
|
|
|
|
#la relation réaliser est dupliquée 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
|
|
réaliser3, 0N apprenant, 0N defi
|
|
debloquer, 0N defi, 11 badge
|
|
debloquer1, 0N palier, 11 badge
|
|
"""
|
|
|
|
ressources = f"""
|
|
mot_clé: mot
|
|
Ressource:id_ress,titre,description,date_de_publication,type,niveau_d_access
|
|
vidéo:id_video,lien_vers_site_externe
|
|
article:id_article,lien_vers_site_externe
|
|
{fiche_activite}
|
|
|
|
contenir,0N mot_clé,0N Ressource
|
|
etre1, 0N Ressource, 11 vidéo
|
|
etre2, 0N Ressource, 11 article
|
|
etre3, 0N Ressource, 11 fiche_activité
|
|
"""
|
|
|
|
test =f"""
|
|
test_de_positionnement: id_testpos, consigne, caracteristiques ia
|
|
test_de_progression: id_testpro, consigne
|
|
historique_test: id_entree, durée, score, temps de réaction moyen, date de réalisation
|
|
{apprenant}
|
|
{compte}
|
|
|
|
réaliser1, 0N compte,0N test_de_progression, 11 historique_test, 0N apprenant
|
|
réaliser2, 0N compte,0N test_de_positionnement, 11 historique test, 0N apprenant
|
|
posséser1, 11 historique_test, 0N apprenant
|
|
"""
|
|
|
|
entités = [
|
|
apprenant,
|
|
compte,
|
|
fiche_activite,
|
|
activite,
|
|
]
|
|
|
|
domaines = [
|
|
auth,
|
|
activites,
|
|
recompenses_nr,
|
|
ressources,
|
|
test,
|
|
]
|
|
|
|
def generer_texte_complet(domaines, entités):
|
|
texte_complet = ""
|
|
for domaine in domaines:
|
|
for entite in entités:
|
|
if entite in domaine:
|
|
domaine = domaine.replace(entite, "")
|
|
texte_complet += domaine
|
|
|
|
for entite in entités:
|
|
texte_complet += entite
|
|
return texte_complet
|
|
|
|
texte_complet = generer_texte_complet(domaines, entités) |